第4章 S7-200的功能指令 4.1 功能指令概述 4.2 数据处理指令 4.3 数学运算指令 4.4 程序控制指令 4.5 局部变量表与子程序 4.6 中断程序与中断指令 4.7 高速计数器与高速脉冲输出指令 4.8 数据块应用与字符串指令 2019/7/6
4.1 功能指令概述 4.1.1 怎样学习功能指令 初学功能指令时,首先可以按指令的分类浏览所有的指令。初学者没有必要花大量的时间去熟悉功能指令使用中的细节,应重点了解指令的基本功能和有关的基本概念。应通过读程序、编程序和调试程序来学习功能指令。 2019/7/6
4.1.2 S7-200的指令规约 1.使能输入与使能输出 在梯形图中,有两种基本类型的输入输出,一种是能量流,另一种是数据。 在梯形图中,除了线圈和触点以外,还有一类功能性指令——“功能块”。功能块在梯形图中用方框表示。 EN为功能块的能流输入端,为布尔类型。有能流流入,则执行该指令。 ENO为功能块的能流输出端,为布尔类型。如果ENO为1,而且正确执行了本指令,则ENO能把能流传到下一个单元,否则,指令运行错误,能流在此终止。 2019/7/6
输出和功能指令一般必须通过触点电路连接到左侧母线上。这些指令被称为条件输入指令。若要无条件地执行这些指令可利用SM0.0触点。 2. 梯形图中的指令 触点指令可以直接和左母线相连。 输出和功能指令一般必须通过触点电路连接到左侧母线上。这些指令被称为条件输入指令。若要无条件地执行这些指令可利用SM0.0触点。 与能流无关的指令必须直接连接在左侧母线上。如LBL、SCR指令。 2019/7/6
3.能流指示器 梯形图提供两种能流指示器,它们由编辑器自动添加和移除。 必须解决开路问题,网络才能成功编译。ENO端的可选能流指示器表示可将其他梯形图元件附加到该位置。它不影响编译。 可选能流指示器 开路能流指示器 2019/7/6
4.2 数据处理指令 4.2.1 比较指令 可以进行两个字节(B)、整数(I)、双整数(D)、实数(R)和字符串(S)的比较。 可以进行==、<>、>=、<=、>、<六种比较操作。 梯形图符号如下 常量字符串应放在触点上方 2019/7/6
指令分别以LD、A、O开头,依次表示加载一比较触点,与一比较触点,或一比较触点。 语句表 指令分别以LD、A、O开头,依次表示加载一比较触点,与一比较触点,或一比较触点。 字节比较 整数比较 双字整数比较 实数比较 字符串比较 LDB= IN1,IN2 AB= IN1,IN2 OB= IN1,IN2 LDB<> IN1,IN2 AB<> IN1,IN2 OB<> IN1,IN2 …… LDW= IN1,IN2 AW= IN1,IN2 OW= IN1,IN2 LDW<>IN1,IN2 AW<> IN1,IN2 OW<> IN1,IN2 LDD= IN1,IN2 AD= IN1,IN2 OD= IN1,IN2 LDD<> IN1,IN2 AD<> IN1,IN2 OD<> IN1,IN2 LDR= IN1,IN2 AR= IN1,IN2 OR= IN1,IN2 LDR<> N1,IN2 AR<> IN1,IN2 OR<> IN1,IN2 LDS= IN1,IN2 AS= IN1,IN2 OS= IN1,IN2 LDS<> N1,IN2 AS<> IN1,IN2 OS<> IN1,IN2 注意二:在英文输入法下输入。 注意一:字母与比较符号间无空格。 2019/7/6
注意:中间变量M0.2的作用!比较触点的作用! 【例4-1】 用接通延时定时器和比较指令组成占空比可调的脉冲发生器。 注意:中间变量M0.2的作用!比较触点的作用! 2019/7/6
3.字节、字、双字和实数的传送指令 1~255 传送过程不改变源存储单元的数据值! 2019/7/6
6.4.2 数据传送指令——语句表 MOVB IN, OUT MOVW IN, OUT MOVD IN, OUT MOVR IN, OUT BMB IN, OUT, N BMW IN, OUT, N BMD IN, OUT,N SWAP IN BIR IN, OUT BIW IN, OUT 2019/7/6
4.2.2 移位与循环移位指令 左移 右移 循环左移 循环右移 移位寄存器 2019/7/6
移位指令/循环移位指令的共同点: 不同点 符号位一同移位; 每次移出位的值被复制到SM1.1; 移位结果为0,则SM1.0被置位。 移位指令 移位指令是单向的,一端移出值将被丢弃,另一端空出位补0; N大于允许值时,实际移位的位数为最大允许值; 循环移位指令 循环移位是环形的,一端移出值将被送至另一端空出位; N的有效值为0~7/15/31; 2019/7/6
脉冲执行方式。否则每个扫描周期均执行移位操作。 2019/7/6
移位寄存器指令 将DATA位值移入移位寄存器。 S_BIT指定移位寄存器的最低位。 上升沿有效 SHRB DATA, S_BIT,N 布尔量(位地址) 字节量 (-64~+64) 将DATA位值移入移位寄存器。 S_BIT指定移位寄存器的最低位。 N指定移位寄存器的长度和移位方向(正:左移;负:右移)。并不表示移位次数。 SHRB指令移出的位被放置在溢出位SM1.1中。 使用该指令时,一般用脉冲驱动,一个扫描周期移动一位。 2019/7/6
移位寄存器例题 1.移位寄存器共14位,由V30.0 ~V31.5组成。 2.I0.4从最低位V30.0移入,每位依次左移一位,最高位V31.5移出。 3.若N=-14,则I0.4从V31.5移入,每位依次右移一位,最低位V30.0移出。 2019/7/6
4.2.3 数据转换指令 Round:四舍五入 Trunc:截尾取整。R→DI。 短变长符号扩展; 长变短注意范围。 B: Byte I:Int DI:Double Int R:Real S:String BCD:BCD码 A: ASCII码 H:Hex DI:Double Int DECO:Decoder ENCO:Encode SEG:七段码 2019/7/6 Round:四舍五入 Trunc:截尾取整。R→DI。
实质:将二进制数变为BCD码表示的十进制数。 实质:将BCD码表示的十进制数变为二进制数(用16进制表示)。 只译码输入字节的低4位。 QB0:gfedcba 2019/7/6
(单位换算:1 inch = 2.54 CM ,要求转换不保留小数) 3.计算程序中的数据转换 例题 将101 in转换为cm。 (单位换算:1 inch = 2.54 CM ,要求转换不保留小数) 2019/7/6
4.译码指令DECO 5.编码指令ENCO 根据输入字节的低4位表示的位号,将输出字中相应的位置1,其他位为0. 4-16线译码器 16-4线优先编码器 4.译码指令DECO 根据输入字节的低4位表示的位号,将输出字中相应的位置1,其他位为0. 5.编码指令ENCO 将输入字IN中最低有效位(值为1)的位号写入输出字节的低4位。(低位优先级高) 2019/7/6
4.2.4 表格指令 表的存储格式 (以字为存储单位) 表格最多可包含100个条目:0-99 2019/7/6
FILL_N指令 整数 整数 字节 将整数IN连续写入从地址OUT开始的N个字单元, N的范围是1至255。 图 填充指令 2019/7/6
4.2.5 读写实时时钟指令 用菜单命令“PLC”→“实时时钟”可以读取PC、PLC的时钟,修改和下载日期、时间。 1.用编程软件读取与设置实时时钟的日期和时间 用菜单命令“PLC”→“实时时钟”可以读取PC、PLC的时钟,修改和下载日期、时间。 2.读取实时时钟指令READ_RTC 从CPU的实时时钟读取当前日期和时间,并把它们装入以T为起始地址的8字节缓冲区,依次存放年、月、日、时、分、秒、0和星期。 星期日为1, 1为星期日,2~7为星期1~6。 日期和时间的数据类型为字节型BCD码,以16进制格式显示。 2019/7/6
3.设置实时时钟指令SET_RTC 将8字节时间日期值写入CPU的实时时钟。 13年05月15日18点 15分43秒星期3 2019/7/6
补充例题 编写程序控制灯的定时接通和断开。要求18:00时开灯,06:00时关灯。时钟缓冲区从VB0开始。 2019/7/6
4.3 数学运算指令 6.5.1 数学运算指令 语句表 +I/D/R IN1, OUT -I/D/R IN1, OUT 4.3 数学运算指令 语句表 +I/D/R IN1, OUT -I/D/R IN1, OUT *I/D/R IN1, OUT /I/D/R IN1, OUT MUL IN1,OUT DIV IN1, OUT INCB/W/D IN DECB/W/D IN SQRT IN, OUT …… EXP IN, OUT 6.5.1 数学运算指令 2019/7/6
1.加减指令 语句表 +I/D/R IN1, OUT -I/D/R IN1, OUT IN/OUT:整数 IN/OUT:双整数 功能: IN1±IN2=OUT 影响特殊存储位: SM1.0(零)、SM1.1(溢出)、SM1.2(负) 2019/7/6
2. 乘除指令(1) 语句表 *I/D/R IN1, OUT /I/D/R IN1, OUT IN/OUT:整数 IN/OUT:双整数 影响特殊存储位: SM1.0(零)、SM1.1(溢出) SM1.2(负)、SM1.3(除数为0) 功能: IN1*/IN2=OUT 2019/7/6
2. 乘除指令(2) 语句表 MUL IN1,OUT DIV IN1, OUT OUT*/IN1=OUT IN:整数 OUT:双整数 功能: IN1*/IN2=OUT 除法结果:一个16位余数(高位)和一个16位商(低位) 影响特殊存储位: SM1.0(零)、SM1.1(溢出) SM1.2(负)、SM1.3(除数为0) 2019/7/6
【例4-3】 在输入信号I0.4的上升沿,用模拟电位器0来设置定时器T37的设定值(5~20s),即从SMB28读出的数字0~255对应于5~20s。设读出的数字为N,100ms定时器的设定值为 (200–50)×N / 255+50 =150×N / 255+50 (0.1s) 试设计求设定值的运算程序。 2019/7/6
CPU提供4个32累加器AC0~AC3。它们可按字节、字、双字进行存取,从低位开始,存取的数据长度由所用指定决定,故累加器你常用于存放操作数及中间运算结果。 2019/7/6
3.递增递减指令/加1减1指令 语句表 INCB/W/D OUT DECB/W/D OUT IN/OUT:字节 IN/OUT:整数 功能: IN±1=OUT 影响特殊存储位: SM1.0(零)、SM1.1(溢出)、SM1.2(负) 2019/7/6
4.3.2 浮点数函数运算指令 三角函数指令(SIN、COS、TAN) IN:实数(弧度);OUT:实数(函数值)。 影响特殊存储位: 4.3.2 浮点数函数运算指令 三角函数指令(SIN、COS、TAN) IN:实数(弧度);OUT:实数(函数值)。 影响特殊存储位: SM1.0(零)、SM1.1(溢出)、SM1.2(负) 语句表 SIN IN, OUT COS IN, OUT TAN IN, OUT 2019/7/6
补充例题 求45°的正弦值。 2019/7/6
4.3.3 逻辑运算指令 语句表 INVB OUT ANDB IN1, OUT ORB IN1, OUT XORB IN1, OUT 影响特殊存储位: SM1.0(零) 按位进行逻辑运算! 2019/7/6
【例4-5】求VW10中的整数的绝对值,结果存放在VW10中。 2019/7/6
逻辑运算指令应用举例 1. 将QB0的第2~4位置为1,其余各位保持不变。 2.IW2的低12位用来读取3位拨码开关的BCD码,IW2的高4位另作他用。 试将IW2的低12位读至VW2。 3.利用异或运算比较两个扫描周期IB0中是否有变化。 2019/7/6
4.4 程序控制指令 用于控制用户程序的执行。 扫描周期超过该时间则CPU进入STOP 2019/7/6
JMP指令举例 该网络被跳过不执行,故I0.3不影响Q0.0的值。 2019/7/6
2.跳转指令对定时器的影响 在各定时器正在定时时跳转,100ms定时器停止定时,当前值保持不变。10ms和1ms定时器继续定时,定时时间到时跳转区外的触点也会动作。停止跳转时100ms定时器继续定时。 功能指令不执行。 T=1s 图4-27 跳转与定时器 2019/7/6
例4-6 用跳转指令实现4-28中的流程图。 2019/7/6
整数 字节 2019/7/6
1.单重循环 【例4-7】在I0.5的上升沿,求VB10 ~ VB13这4个字节的异或值,用VB14保存。 2019/7/6
2.多重循环 循环最多可以嵌套8层。 在I0.1的上升沿,执行10次外层循环,如果I0.2为ON,每执行一次外层循环,将执行8次内层循环。执行完后,VW6的值增加80。 2019/7/6
4.5 局部变量表与子程序 4.5.1 局部变量表 全局变量(除L区以外的量) 在主程序、子程序和中断程序中均有效的变量 在符号表中定义 4.5 局部变量表与子程序 4.5.1 局部变量表 全局变量(除L区以外的量) 在主程序、子程序和中断程序中均有效的变量 在符号表中定义 符号表 重叠列 未使用列 错误 2019/7/6
局部变量(L区变量) 仅在定义它的POU中有效的变量 每个POU界面上部均是定义局部变量的地方 2019/7/6
局部变量优点及用途 局部变量的类型——按数据的传递方向划分 当全局变量和局部变量重名时,局部变量优先级高 只使用局部变量的子程序便于移植。 同一临时变量存储区可在不同程序中重复使用。 在子程序调用时用局部变量进行参数传递。 局部变量的类型——按数据的传递方向划分 主程序 中断程序 子程序 TEMP IN OUT IN_OUT TEMP 2019/7/6
局部变量的地址分配 局部变量定义在L区。 定义局部变量时无需指定存储地址,程序编辑器自动地给变量分配地址,起始地址为LB0。 按变量类型的顺序定义变量。使用快捷菜单进行插入或删除某一类型的行。 地址栏 子程序中的变量表 主程序/中断程序中的变量表 2019/7/6
4.5.2 子程序的编写与调用 Step7程序编辑器窗口为每个POU提供一个独立页,主程序总是第一页,子程序和中断程序依次排在后面。 编程器会自动在子程序和中断程序结束的地方添加无条件返回指令。 1.子程序的作用 可缩短程序长度、减少扫描时间 子程序可使程序结构简单清晰,易于调试、查错和维护 方便移植 2019/7/6
2.子程序的创建 2019/7/6
2019/7/6 3. 子程序举例 局部变量表与模拟量计算子程序
4.子程序的调用 调用子程序——梯形图 调用子程序——语句表 LD I0.4 CALL 模拟量计算, AIW2, VW20, +2356, VD40 参数顺序:IN→INOUT→OUT 2019/7/6
注意事项 编程软件会自动生成子程序对应的图标; 所有POU均可调用子程序; CPU226的项目中最多可创建128个子程序,其他CPU可创建64个子程序; 子程序可调用别的子程序,一共可嵌套8层; 在中断程序中调用的子程序不能再调用别的子程序; 修改了局部变量表的子程序,需重新调用。 2019/7/6
7.子程序的有条件返回 梯形图: 语句表:CRET 功能:根据前一逻辑终止子程序。 示例: 2019/7/6
8. 有保持功能的电路的处理 如果参数“电机”的数据类型为输出(OUT),两次调用子程序SBR_0,因为保存参数“电机”(L0.2)的存储器是共用的,接通I0.0外接的小开关,Q0.0和Q0.1同时变为ON。 将输出参数“电机”的变量类型改为IN_OUT,参数“电机”返回的运算结果分别用Q0.0和Q0.1保存,解决了上述问题。 2019/7/6
4.6 中断程序与中断指令 4.6.1 中断的基本概念和中断事件 中断功能是用中断程序及时处理中断事件。 4.6 中断程序与中断指令 4.6.1 中断的基本概念和中断事件 中断功能是用中断程序及时处理中断事件。 中断程序不是由用户程序调用,而是在中断事件发生时由操作系统调用。 中断程序由用户编写,越短越好。中断程序与中断事件的联系由用户建立。 中断程序只可调用一级子程序;中断程序不能嵌套。 中断事件如下 2019/7/6
中断事件(表4-12) 通信口中断(优先级最高)(6种) I/O(离散)中断(中)(24种) 定时中断(低)(4种) 中断事件编号 中断事件说明 优先级别群组 组内优先级别 CPU支持 221 222 224 224XP/226 2019/7/6
2019/7/6
4.6.2 中断指令 ENI(Enable Interrupt):允许处理所有中断 DISI(Disable Interrupt):禁止处理所有中断 (允许中断排队等候,但不允许执行中断程序) ATCH(Attach Interrupt):连接中断事件和中断程序,该事件被自动地允许处理。 DTCH(Detach Interrupt):与ATCH相反。进入RUN模式时自动禁止中断。 2019/7/6
中断执行 进入RUN模式时自动禁止中断,在主程序里进行中断初始化(赋初值、中断连接、允许中断);在中断程序里完成中断发生时需执行的操作。 多个中断事件可调用同一中断程序,但一个中断事件只能执行一个中断程序。 CPU自动调用中断程序时需要满足下列条件: 1)执行了全局中断允许指令ENI。 2)执行了中断事件对应的ATCH指令。 3)出现对应的中断事件。 在中断程序中不能出现DISI,ENI、END等指令。 2019/7/6
中断优先级与中断队列溢出 中断优先级分组:通信(最高优先级)、I/O中断和定时中断。在优先级范围内,CPU按照先来先服务的原则处理中断。 任何时刻只能执行一个中断程序,高优先级的中断也不能终止正在执行的中断程序。 多个中断同时发生时,先响应高优先级中断。 2019/7/6
4.6.3 中断程序举例 1.IO中断 【例4-9】出现事故时,I0.0的上升沿产生中断,使Q0.0立即置位。同时将事故发生的日期和时间保存在VB10~VB17中。事故消失时,I0.0的下降沿产生中断,使Q0.0立即复位,同时将事故消失的日期和时间保存在VB20~VB27中。 主程序用来完成中断初始化,常用SM0.1驱动: 赋初值 中断连接 中断允许 中断程序用来完成发生中断时进行的操作,常用SM0.0驱动: 控制Q0.0 保存时间 2019/7/6
中断程序:INT_0 主程序 中断程序:INT_1 2019/7/6
2.定时中断:定时中断0/1、1~255ms 、SMB34/35 【补充例题】每10ms对模拟量AIW0采集一次存于VW100. 中断程序:INT_0 主程序 2019/7/6
3. 定时器T32和T96中断 当前值=预设值时产生中断 最大定时时间32.767s 【例4-11】使用T32中断控制8位节日彩灯,起始低4位灯被点亮,之后每2.5s左移一位。1ms定时器T32定时时间的中断事件号为21。 2019/7/6 主程序
定时中断0/1只需设定好定时时间,系统会自动循环定时; 中断程序:INT_0 小结: 定时中断0/1只需设定好定时时间,系统会自动循环定时; 而定时器T32/T96的中断,不仅需设定时间,还需用户编程实现循环定时! 2019/7/6
4.7 高速计数器与高速脉冲输出指令 普通计数器C0~C255的计数过程与扫描周期有关,只能用于低频信号的计数。 4.7 高速计数器与高速脉冲输出指令 普通计数器C0~C255的计数过程与扫描周期有关,只能用于低频信号的计数。 S7-200有6个高速计数器HSC0~HSC5,可设置13种工作模式。 (High Speed counter) 高速计数器一般与增量式编码器一起使用,可实现高速运动的精确控制。 2019/7/6
4.7.1 高速计数器的工作模式与外部输入信号 编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。 按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移最终转换成计数脉冲,用脉冲的个数表示位移的大小。 绝对式编码器通过输出一个N位二进制数来反映运动物体的绝对位置。 根据输出信号的个数,增量式编码器可分为 单通道:产生一个脉冲序列,可用于单方向测速。 双通道:产生A相B相两独立脉冲序列,可用于判别旋转方向和测速 。 三通道:除A相B相外,还有Z相(码盘每转一圈产生一个脉冲)称为零位脉冲,用作系统清零信号。 2019/7/6
高速计数器的工作模式 模式12:只有HSC0和HSC3支持。HSC0计Q0.0输出的脉冲数,HSC3计Q0.1输出的脉冲数。 1:加;0:减。 1:加;0:减。 <0.3us,等同未出现。 正转,加;反转,减。 1倍速计数;4倍速计数。 2019/7/6
A相上升沿触发计数 A相下降沿触发计数 图4-42 1倍速A/B相正交计数器 2019/7/6
在A、B相的正负边沿均触发计数 图4-43 4倍速A/B相正交计数器 2019/7/6
4.7.2 高速计数器的程序设计 1.高速计数器指令 指令 描述 HDEF HSC, MODE 定义高速计数器的工作模式 HSC N 4.7.2 高速计数器的程序设计 1.高速计数器指令 指令 描述 HDEF HSC, MODE 定义高速计数器的工作模式 HSC N 激活高速计数器(根据特殊内存单元的值配置和控制高速计数器) HSC,N:高速计数器编号(0~5) MODE:工作方式(0~12) 可以用地址HCx读取当前值。 2019/7/6
与高速计数器所对应的特殊寄存器 2019/7/6
2019/7/6
【例4-12】要求高速计数器HSC0用模式0的计数来周期性地控制Q0.1和Q0.2,计数脉冲的周期为1ms。 2. 使用指令向导生成高速计数器的应用程序 【例4-12】要求高速计数器HSC0用模式0的计数来周期性地控制Q0.1和Q0.2,计数脉冲的周期为1ms。 编程思路: 主程序:HSC预设值、HSC工作模式、中断连接、中断允许; 中断程序:有三个,负责中断事件发生时需进行的操作。 2019/7/6
①向导/高速计数器 ②工具/指令向导 HSC指令向导的调用 2019/7/6
HSC指令向导第一步:选高速计数器和工作模式 2019/7/6
HSC指令向导第二步:命名初始化子程序、设置预设值和当前值、设置计数方向 2019/7/6
HSC指令向导第三步:设置中断事件、命名中断程序名 2019/7/6
HSC指令向导第四步—1:设置中断发生时的参数变动 2019/7/6
HSC指令向导第四步—2:设置中断发生时的参数变动 2019/7/6
HSC指令向导第四步—3:设置中断发生时的参数变动 周期计数周期中断:输出值改变几次就有几步中断 2019/7/6
HSC指令向导第五步:结束向导 2019/7/6
初始化子程序只需调用一次,常用SM0.1或边沿指令 2019/7/6
注意:向导只解决有关高速计数器的相关操作,对Q0.1和Q0.2的操作不论是初始化程序还是中断程序中都需要自己添加!!! 向导提供的初始化子程序HSC_INIT 注意:向导只解决有关高速计数器的相关操作,对Q0.1和Q0.2的操作不论是初始化程序还是中断程序中都需要自己添加!!! 2019/7/6
中断程序1: COUNT_EQ 2019/7/6
中断程序2: HSC0_STEP1 2019/7/6
中断程序3: HSC0_STEP2 2019/7/6
4.7.3 高速脉冲输出与开环位置控制 脉冲列PTO(Pulse Train Output) 4.7.3 高速脉冲输出与开环位置控制 脉冲列PTO(Pulse Train Output) 提供周期与脉冲数目可由用户控制的方波脉冲输出。 脉宽调制PWM(Pulse Width Modulation ) 提供连续的、周期与脉冲宽度可由用户控制的输出。 每个CPU由两个PTO/PWM发生器,分别从Q0.0和Q0.1输出脉冲。 Q0.0和Q0.1在用于PTO/PWM功能时,不要再做他用。 在执行PTO/PWM指令前,可用普通的位操作指令进行设置,以控制高速脉冲的起始位置。 2019/7/6
PWM可以us或ms为时间基准指定周期和脉宽。 2019/7/6
PTO可提供单段脉冲串或多段脉冲串(包络)。用户可以us或ms为时间基准指定周期和脉冲个数。 脉宽时间/周期 反应 脉宽时间 >= 周期值 占空比为100%:输出连续运行。 脉宽时间 = 0 占空比为0%:输出关闭。 周期 < 2个时间单位 周期的默认值为两个时间单位。 PTO可提供单段脉冲串或多段脉冲串(包络)。用户可以us或ms为时间基准指定周期和脉冲个数。 周期范围:10~65,535us,或2~65,535ms。 脉冲数范围:1~4,294,967,295个脉冲。 脉冲计数/周期 反应 周期< 2个时间单位 周期的默认值为2个时间单位。 脉冲计数 = 0 脉冲计数的默认值为1次脉冲。 2019/7/6
PWM/PTO的使用 思路:给SM区赋初值,用PLS指令(PLS X)启动PWM/PTO输出。 方法: 用户编程 用“工具/位置控制向导” 0/1 使能位 向导生产的 PWMx子程序 2019/7/6
关于位置控制向导中PTO的设置请参考STEP7-Micro/Win软件的帮助文件: 1.脉冲输出 2.位置控制向导(PTO/PWM配置) 3.其他以PTO开头的文件 2019/7/6
作业 P119(梯形图程序) 6 8 12 16 20 22 24 2019/7/6