电气控制与plc应用第5章编程元件及指令第5节

上传人:j****9 文档编号:55157310 上传时间:2018-09-25 格式:PPT 页数:115 大小:1.63MB
返回 下载 相关 举报
电气控制与plc应用第5章编程元件及指令第5节_第1页
第1页 / 共115页
电气控制与plc应用第5章编程元件及指令第5节_第2页
第2页 / 共115页
电气控制与plc应用第5章编程元件及指令第5节_第3页
第3页 / 共115页
电气控制与plc应用第5章编程元件及指令第5节_第4页
第4页 / 共115页
电气控制与plc应用第5章编程元件及指令第5节_第5页
第5页 / 共115页
点击查看更多>>
资源描述

《电气控制与plc应用第5章编程元件及指令第5节》由会员分享,可在线阅读,更多相关《电气控制与plc应用第5章编程元件及指令第5节(115页珍藏版)》请在金锄头文库上搜索。

1、第五节 功能指令,5.1 功能指令的基本知识,5.2 程序流控制(FNC00FNC09),5.3 传送和比较指令(FNC10FNC19),5.4 算术和逻辑运算指令(FNC20FNC29),5.5 循环移位指令(FNC30FNC39),5.6 数据处理指令(FNC40FNC49),5.7 高速处理指令(FNC50FNC59),5.8 方便指令(FNC60FNC69),5.9 外围设备I/O指令(FNC70FNC79),5.10 外围设备SER指令(FNC80FNC89),5.11 浮点运算指令(FNC110FNC139),5.12 时钟运算指令(FNC160FNC169),5.13 葛雷码变换

2、指令(FNC170FNC179),5.14 触点比较指令(FNC220FNC249),5.1 功能指令的基本知识,一、基本格式 梯形图格式,指令表格式,步序 操作码 操作数0 LD X01 MEAND0 D10K3 8 。,又称应用指令,用于数据的传送、运算、变换及程序控制等功能。具有128种298条,操作码与操作数 操作码(指令助记符):表示指令的功能 操作数:指明参与操作的对象 源操作数S:执行指令后数据不变的操作数,两个或两个以上时为S1、S2。 目标操作数D:执行指令后数据被刷新的操作数,两个或两个以上时为D1、D2。如果可使用变址功能,用S和D表示。 其它操作数m、n:补充注释的常数

3、,用K(十进制) 和H(十六进制)表示,作为源和目标操作数的补充说明,两个或两个以上时为m1、m2、n1、n2。,指令步数 指令步数为执行该指令所需的程序步数。应用指令的指令编号和指令助记符占一个程序步,每个操作数占2个或4个程序步(16位操作数和32位操作数分别占2个和4个程序步)。因此,一般16位指令为7个程序步,32位指令为13个程序步,数据长度 16位:参与运算的数据默认为16位二进制数据 32位:32位数据时在操作码前面加D(Double),二、数据长度及执行方式,(D0)(D1),(D3D2)(D5D4),对于32位功能指令,其助记符在16位指令助记符上添加符号D。,执行方式 连续

4、执行方式:每个扫描周期都重复执行一次,操作数的内容每个扫描周期都变化。 脉冲执行方式:只在信号OFFON时执行一次,在指令后加P(Pulse)。,三、常用特殊辅助继电器,功能指令执行结果的标志 M8020:零标志 M8021:借位标志 M8022:进位标志 M8029:执行结束标志 M8064:参数出错标志 M8065:语法出错标志 M8066:电路出错标志 M8067:运算出错标志,四、数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。 二进制补码的最高位为符号位,正数符号位为0,负数符号位为1。 为更精确地进行运算,可采用浮点数运算。在F

5、X系列PLC中提供了二进制浮点运算和十进制浮点运算 。,5.2 程序流向控制功能指令,一、条件跳转指令 FNC00 CJ 二、子程序指令 FNC 01 CALLFNC 02 SRET 三、中断指令 FNC 03 IRETFNC 04 EIFNC 05 DI 四、主程序结束指令 FNC 06 FEND 五、警戒时钟定时器指令 FNC 07 WDT 六、循环指令 FNC 08 FOX FNC 09 NEXT,一、条件跳转指令 FNC00 CJ,操作数:指针 P0P127 梯形图,指令表 步序 操作码 操作数0 LD X101 CJP0 。10 LD X1111 CJP0。20 P021 LD X1

6、222 OUT Y1,说明 CJ指令跳过部分程序,可以缩短程序的扫描周期。一个指针只能出现一次。 如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。 该指令可以连续和脉冲执行方式。 被跳过去的程序中各元件的状态为 Y、M、S保持跳转前状态不变。 定时器T和计数器C如果被CJ指令跳过,跳转期间它们的当前值将被保存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停止定时和计数。 T192T199和高速计数器C235C255如果在驱动后跳转,则继续工作,输出触点也会动作。,如图,X000为ON时,程序跳到指针P8处。X000为OFF时,不执行跳转,程

7、序按原顺序执行。 如果用M8000的常开触点驱动CJ指令,相当于无条件跳转指令,因为运行时特殊辅助寄存器M8000总是ON。,二、子程序指令,子程序调用 FNC01 CALL (Sub-Routine Call)操作数:指针P0P127 子程序返回 FND02 SRET (Sub-Routine Return)无操作数 说明 子程序应该在主程序结束之后编程。同一指针只能出现一次 CJ指令的指针与CALL的指针不能重复。 子程序允许嵌套,嵌套级别最多为5级。 子程序只能用T192T199和T246T249作定时器。,梯形图,三、中断指令,中断返回 FNC03 IRET (Interruption

8、 Return)开中断 FNC04 EI (Interruption Enable)关中断 FNC05 DI (Interruption Disable) 均无操作数 梯形图,说明 在执行某个中断子程序时,禁止其它中断请求。用于中断的指针用来指明某一中断源的中断程序的入口。 中断程序允许嵌套,嵌套级别为2级。 中断指针共有15个:输入中断6个,定时器中断3个,计数器中断6个。 中断程序用T192T199和T246T249作定时器。 中断的优先级别 多个中断信号不同时产生时,按先后顺序中断。 多个中断信号同时产生时,按指针大小中断。,输入中断用来接收特定的输入地址号的输入信号,输入中断指针I0。

9、最高位与X000X005的元件号相对应,单元的输入号为05(从X000X005输入)。最低位为0时表示下降沿中断,反之为上升沿中断。 定时器中断指针为I6I8,低两位是以ms为单位定时时间(199ms)。M8056M5058为ON时,将分别禁止定时中断02。 计数器中断指针为I00(16)。计数器中断与HSCS(高速计数器比较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关系来确定是否执行相应的中断服务程序。,无操作数 梯形图,四、主程序结束指令 FNC06 FEND,说明 与END指令的功能一样,执行到该指令时程序返回到0步。 中断服务子程序和子程序应该写在FEND之后,并且用

10、IRET和SRET返回。 如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序,无操作数 警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。 当PLC一上电,则对警戒定时器进行初始化,将K100(设定值为100ms)装入D8000中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使PLC能正常运行。 当扫描周期大于100ms时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。,五、警戒定时器指令 FNC07 WDT,如果正常的扫描周期超过警戒时钟的设定值,可以

11、在适当程序步中加入WDT指令,适时刷新警戒时钟,使程序能顺利执行。 也可以通过MOV指令修改警戒定时器的设定值(D8000的值)。 可以计算出程序扫描周期的最大值作为警戒时钟的设定值。 WDT指令可用在FOR-NEXT之间。,五、警戒定时器指令 FNC07 WDT (WATCHDOG TIMER),警戒定时器指令的应用,循环开始 FNC08 FOR 操作数 S: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 循环结束 FNC09 NEXT 无操作数 说明 n为循环次数,其范围为132767有效。如果指定为-327680,则作n=1处理。 循环指令最多可以嵌套5级。 程序中FOR-

12、NEXT是成对出现的,FOR在前,NEXT在后不可倒置,否则出错。 编程时NEXT应该在FEND或END之前,否则出错。,六、循环指令,循环指令使用说明,图中,外层循环程序A嵌套了内层循环B,循环A执行5次,每执行一次循环A,就要执行10次循环B,因此循环B一共要执行50次。利用循环中的CJ指令可以跳出FORNEXT之间的循环区。,5.3 数据比较和传送指令,一、比较指令 FNC10 CMP 二、区间比较指令 FNC 11 ZCP 三、传送指令 FNC 12 MOV 四、移位传送指令 FNC 13 SMOV 五、取反传送指令 FNC 14 CML 六、块传送指令 FNC 15 BMOV 七、多

13、点传送指令 FNC 16 FMOV 八、数据交换指令 FNC 17 XCH 九、变换指令 FNC 18 BCD FNC 19 BIN,操作数 S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z D:Y、M、S 梯形图,一、比较指令 FNC10 CMP (Compare),说明 该指令是将源操作数S1和S2的中数据进行比较,结果送目标操作数D中去。 D由3个元件组成,指令中D给出首地址,其它两个为后面的相邻元件。 当X0由ONOFF时,不执行CMP指令,M0M2保持断开前的状态,用复位指令RST才能清除比较结果。 CMP是进行二进制代数比较。 可以32位二进制数比较和脉

14、冲执行方式。 如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。,操作数 S1、S1 : K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z D:Y、M、S 梯形图,二、区间比较指令 FNC11 ZCP (Zone Compare),说明 ZCP指令是将源操作数S的数据和两个源操作数S1和S2的数据进行比较,结果送到D中,D为三个相邻元件的首地址。 ZCP指令为二进制代数比较,并且S1S2,如果S1S2,则把S1视为S2处理。 当X0由ONOFF时,不执行ZCP指令, M0M2状态保持不变,需要用复位指令才能清除比较结果。 该指令可以进行16/32位数据处理和连续

15、/脉冲执行方式。,传送指令FNC12 MOV (D)MOV(P) 该指令的功能是将源数据传送到指定的目标。,操作数 S1: 所有数据类型 D:KnY、KnM、KnS、T、C、D、V、Z。梯形图,三、传送指令 FNC12 MOV,说明 该指令将源操作数S中的数据传送到目标操作数D中去。 MOV指令可以进行(D)和(P)操作。 如果S为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。 当X0断开时,不执行MOV指令,数据保持不变。,操作数 S1、S1 :K,H、KnX、KnY、KnM、KnS、T、C、D、 V,Z D:KnY、KnM、KnS、T、C、D、V,Z m1、m2、n:K、H 说明 该指令将源操作数S的16位二进制数自动转换成4位BCD码,然后从右向左第m1位开始向右数m2位,传送到目标操作数(4位BCD码)的从右向左第n位开始向右数m2位的位置上,最后这4位BCD码自动转换成二进制数后送入目标操作数D中去。 传送中BCD码数值超过9999时程序出错。,四、移位传送指令 FNC13 SMOV(Shift Move),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号