电气控制与PLC应用 第5章 编程元件及指令第5节.ppt_第1页
电气控制与PLC应用 第5章 编程元件及指令第5节.ppt_第2页
电气控制与PLC应用 第5章 编程元件及指令第5节.ppt_第3页
电气控制与PLC应用 第5章 编程元件及指令第5节.ppt_第4页
电气控制与PLC应用 第5章 编程元件及指令第5节.ppt_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 X0 1 MEAN D0 D10 K3 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。 为更精确地进行运算,可采

5、用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算 。,5.2 程序流向控制功能指令,一、条件跳转指令 FNC00 CJ 二、子程序指令 FNC 01 CALL FNC 02 SRET 三、中断指令 FNC 03 IRET FNC 04 EI FNC 05 DI 四、主程序结束指令 FNC 06 FEND 五、警戒时钟定时器指令 FNC 07 WDT 六、循环指令 FNC 08 FOX FNC 09 NEXT,一、条件跳转指令 FNC00 CJ,操作数:指针 P0P127 梯形图,指令表 步序 操作码 操作数 0 LD X10 1 CJ P0 。 10 LD X11 11 C

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

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

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

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

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

11、FNC07 WDT,如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入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有效。如果指定为-32768

12、0,则作n=1处理。 循环指令最多可以嵌套5级。 程序中FOR-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 五、取反传送指令 FN

13、C 14 CML 六、块传送指令 FNC 15 BMOV 七、多点传送指令 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才能清除比较

14、结果。 CMP是进行二进制代数比较。 可以32位二进制数比较和脉冲执行方式。 如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。,操作数 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状态保持不变,需要用复位

15、指令才能清除比较结果。 该指令可以进行16/32位数据处理和连续/脉冲执行方式。,传送指令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:Kn

16、Y、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),梯形图,从D1右起第四位(m1 = K4)开始的2位 (m2 = K2) 数, 移到D2 的右起第 3位 (n = K3) 和第 2位, D2中的第 1 位和第 4位保 持不变 , 最后 D

17、2 中的数自动变成二进制数 .,操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z 说明 该指令把源操作数S中的数据各位取反(10,01)后传送到目标操作数D中去。 该指令可以16/32位数据处理和连续/脉冲执行方式,五、取反传送指令 FNC14 CML (Complement Move),梯形图,若源操作数中的数为十进制常数时,将自动转换成二进制 .,操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z n:K、H 梯形图,六、块传送指令 FNC15 BMOV

18、 (Block Move),说明 S为存放被传送的数据块的首地址;D为存放传送来的数据块的首地址;n为数据块的长度。 位元件进行传送时,源和目标操作数要有相同的位数。 当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用的顺序自动传送。 该指令可以连续/脉冲执行方式。,操作数 S:K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D n: K、H 梯形图,X0为ON时把常数10传送到D0D9中去,七、多点传送指令 FNC16 FMOV (Fill Move),操作数 D1、D2:Kn

19、Y、KnM、KnS、T、C、D、V,Z 梯形图,八、数据交换指令 FNC17 XCH (Exchange),注意 交换指令一般要在脉冲方式执行,否则不能正常工作。,操作数 S:KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z 梯形图,九、数据变换指令,FNC18 BCD (Binary Code to Decimal)二进制数转换成BCD码并传送到指定目标元件中。 FNC19 BIN (Binary) BCD码转换为二进制数并传送到指定目标元件中。,5.4 算术与逻辑运算指令,一、二进制加减运算指令 加法 FNC20 ADD (Addition

20、) 减法 FNC21 SUB (Subtraction) 操作数 S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z 梯形图,说明 指令是代数加减运算,数据的最高位为符号位。 进行16位加减运算时,数据范围为3276832767;32位运算时,数据范围为21474836482147483647。 运算结果为0时,零标志置位(M8020=1);运算结果大于32767(或2147483647)时,进位标志置位(M8022=1);运算结果小于32768(或2147483648)时,借位标志置位(M8021=1)。 该指令可以进行连续

21、/脉冲执行方式。,乘法 FNC22 MUL (Multiplication) 除法 FNC23 DIV (Division) 操作数 S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z D:KnY、KnM、KnS、T、C、D、V,Z 梯形图,二、二进制乘除运算指令,操作数 指令进行二进制运算,数据最高位为符号位。 可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,积为64位数据,商和余数为32位数据。 0作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。 位元件作为32位乘法运算的目标元件时

22、,只能得到积的低32位数据。 可以进行连续/脉冲执行方式。,加1 FNC24 INC (Increment) 减1 FNC25 DEC (Decrement) 操作数 D:KnY、KnM、KnS、T、C、D、V,Z 梯形图,三、二进制加1减1指令,说明 上述指令可以连续/脉冲执行方式,应用中要特别注意。 可以进行16/32位运算,并且为二进制运算。 如果从+32767(或+2147483647)再加1,则变成-32768(或-2147483648);如果从-32768(或-2147483648)再减1,则变成+32767(或+2147483647),为循环计数。 以上变化时标志位不动作,也就是

23、说这两条指令和零标志、借位标志、进位标志无关。,逻辑与 FNC26 WAND (Word AND) 逻辑或 FNC27 WOR (Word OR) 逻辑异或 FNC28 WXOR (Word Exclusive OR) 操作数 S1、S2:K、H、KnX、KnY、KnM、KnS、T、C、D、 V,Z D:KnY、KnM、KnS、T、C、D、V,Z,四、逻辑运算指令,(D0) (D2) (D4),(D10)(D12) (D14),异或非运算的梯形图,梯形图,说明 各数据的对应位进行二进制与、或、异或运算。 32位数据运算时,助记符为DAND、DOR、DXOR。 指令运算规则如下:,逻辑与 1 1

24、= 1 1 0= 0 0 1= 0 0 0= 0,逻辑或 1 1= 1 1 0= 0 0 1= 0 0 0= 0,操作数 D:KnY、KnM、KnS、T、C、D、V,Z,说明 求补指令是把二进制数各位取反再加1后,送入目标操作数D中。实际是绝对值不变的变号操作。 PLC的负数以二进制的补码形式表示,其绝对值可以通过求补指令求得。,五、求补指令 FNC19 NEG (Negation),5.5循环与移位功能指令,使位数据或字数据向指定方向循环、位移的指令,一、循环移位指令,左、右循环移位指令,循环右移FNC30 ROR(Rotation Right) 循环左移FNC31 ROL (Rotatio

25、n Left),操作数 D:KnY、KnM、KnS、T、C、D、V、Z,说明 执行这两条指令时,各位的数据向右(或向左)循环移动n位(n为常数),16位指令和32位指令中n应分别小于16和32。 每次移出来的那一位同时存入进位标志M8022中。,循环位移指令使用说明,带进位左、右循环移位指令,带进位循环右移FNC32 RCR(Rotation Right with Carry) 带进位循环左移FNC33 RCL(Rotation Left with Carry),执行这两条指令时,各位的数据与进位位M8022一起(16位指令时一共17位)向右(或向左)循环移动n位(见图)。,位右移和位左移指令

26、,实现位元件中的状态成组地向右或向左移动,图中X010由OFF变为ON时,位右移指令(3位1组)按以下顺序移位:M2M0中的数溢出,M5M3M2M0,M8M6M5M3,X002X0000M8M6。 图b中的X010由OFF变为ON时,位左移指令按图中所示的顺序移位。,位右移FNC34 SFTR(Shift Right) 位左移FNC35 SFTL(Shift Left),指令使用说明 位移位,操作数 S: X、Y、M、S D:Y、M、S 梯形图,说明: 位元件组的长度由n1指定,n2指定移动的位数。,字右移和字左移指令,字右移FNC36 WSFR(Word Shift Right)、字左移FN

27、C37 WSFL(Word Shift Left),图a中的X000由OFF变为ON时,字右移指令按图中所示的顺序移位。 图b中的X010由OFF变为ON时,字左移指令按图中所示的顺序移位。,字移位指令使用说明,操作数 S: KnX、KnY、KnM、KnS、T、C、D D: KnY、KnM、KnS、T、C、D 梯形图,移位寄存器写入与读出指令,移位寄存器又称为先入先出FIFO(First in First out)堆栈,堆栈的长 度范围为2512个字。 写入指令FNC38 SFWR(Shift Register Write) 移位寄存器读出指令FNC39 SFRD(Shift Register

28、 Read) 用于FIFO堆栈的读写,先写入的数据先读出。,SFWR操作数 S: K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z D: KnY、KnM、KnS、T、C、D,SFRD操作数 S: KnX、KnY、KnM、KnS、T、C、D D: KnY、KnM、KnS、T、C、D,如果X000再次由OFF变为ON,D1中的数变为2,D0中的数据写入D3。依此 类推,源操作数D0中的数据依次写入堆栈。 当D1中的数据等于n-1(n为堆栈的长度)时,不再执行上述处理,进位标 志M8022置1。,FIFO指令使用说明,图a中: 目标元件D1是FIFO堆栈的首地址,也是堆栈的指针,移位寄存器

29、未装入 数据时应将D1清0。 在X000由OFF变为ON时,指针的值加1后写入数据。第一次写入时,源操 作数D0中的数据写入D2。,图b中 X000由OFF变为ON时,D2中的数据送到D20,同时指针D1的值减1,D3到 D9的数据向右移一个字。 数据总是从D2读出,指针D1为0时,FIFO堆栈被读空,不再执行上述处 理,零标志M8020为ON。 执行本指令的过程中,D9的数据保持不变。,5.6 数据处理指令,一、区间复位指令,区间复位指令ZRST(Zone Reset)将D1D2指定的元件号范围内的 同类元件成批复位。 如果D1的元件号大于D2的元件号,则只有D1指定的元件被复位。 单个位元

30、件和字元件可以用RST指令复位。,如图中: 当M8002由OFFON 时,执行区间复位指令。 位元件M500M599成批复位,字元件C235 C255成批复位,状态元件S0S127成批复位。 虽然ZRST指令是16位指令,D1和D2也可以指定 32位计数器。,区间复位指令,操作数 D1:Y、M、S、T、C、D D2:Y、M、S、T、C、D,二、解码与编码指令,解码(译码)指令FNC40 DECO (Decode) 编码指令FNC41 ENCO(Encode),解码/编码指令在n=0时不作处理。当执行条件OFF时,指令不执行,输出保持不变。,DECO操作数 S:K、H、X、Y、M、S、T、C、D

31、、V、Z D:Y、M、S、T、C、D,ENCO操作数 S:X、Y、M、S、T、C、D、V、 D:T、C、D、V、Z,说明 解码指令是将目标元件的某一位置“1”,其它位置“0”,置“1”位的位置由源操作数S1为首址的n位连续位元件或数据寄存器所示的十进制码决定。 编码指令是把源元件中为“1”的最高位的位置转化为二进制数并送到目标元件的低n位中。,图a中:X002X000组成的3位(n3)二进制数为011,相当于十进制数3,由目标操作数M7M0组成的8位二进制数的第3位(M0为第0位)M3被置1,其余各位为0。如源数据全零,则M0置1。 图b中:n=3,编码指令将源元件M7M0中为“1”的M3的位

32、数3编码为二进制数011,并送到目标元件D10的低3位。,编码与解码指令使用说明,三、求置ON位总和与ON位判别指令,位元件的值为1时称为ON,求置ON位总和指令FNC43 SUM 统计源操作数中为ON的位的个数,并将它送入目标操作数。,ON位判别指令FNC44 BON(Bit ON Check) 用来检测指定元件中的指定位是否为ON,若为ON,则位目标操作数变为 ON,目标元件是源操作数中指定位的状态的镜像。,SUM操作数 S:K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z D:KnY、KnM、KnS、T、C、D、V、Z,BON操作数 S:K、H、KnX、KnY、KnM、KnS、

33、T、C、D、V、Z D:Y、M、S,如图所示, 当X000为ON时,将D0中置1的总和存入目标元 件D2中,若D0为0,则0标志M8020动作。 当X003为ON时,判别D10中第15位,若为1, 则M0为ON,反之为OFF。 X000变为OFF时,M0状态不变化。,求ON位总和与ON位判别指令,四、平均值指令,平均值指令FNC45 MEAN是将S中指定的n个源操作数据的平均值存入目 标操作数D中,舍去余数。,如图所示: 如n超出元件规定地址号范围 时,n值自动减小。 n在164以外时,会发生错误。,平均值指令使用说明,操作数 S:KnX、KnY、KnM、KnS、T、C、D D:KnY、KnM

34、、KnS、T、C、D、V、Z,五、报警器置位复位指令,报警器置位指令FNC46 ANS(Annunciator Set)。 用于启动定时器,时间到n100ms时指定目标元件状态置ON。 报警器复位指令FNC47 ANR(Annunciator Reset),无操作数。 用于将S900S999之间被置ON的报警器依次复位。,图中: M8000的常开触点一直接通,使M8049的线圈通电, 特殊数据寄存器D8049的监视功能有效,D8049用来 存放S900S999中处于活动状态且元件号最小的状 态继电器的元件号。 Y000变为ON后,100ms定时器T0开始定时,如果 X000在10s内未动作(n

35、=100),S900变为ON。 X003为ON后,100ms定时器T1开始定时,如果在20s 内X004未动作,S901将会动作。 故障复位按钮X005和ANR指令将用于故障诊断的状 态继电器复位。,报警器置位复位指令,操作数 S:T0T199 D:S900S999,六、其他数据处理指令,二进制平方根指令FNC48 SQR(Square Root) 浮点数转换指令FNC49 FLT(Floating Piont) 高低字节交换指令FNC147 SWAP,二进制平方根指令、浮点数转换指令、高低字节交换指令使用要素,图中: X002为ON时,将存放在D45中的数开方,结果存放在D123内。计算 结

36、果舍去小数,只取整数。M8023为ON将对32位浮点数开方,结果为 浮点数。 X003为ON,且M8023(浮点数标志)为OFF 时,该指令将存放在源 操作数D10中的数据转换为浮点数,并将结果存放在目的寄存器D13 和D12中。,M8023为ON时,将把浮点数转换为整数。用于存放浮点数的目的操作 数应为双整数,源操作数可以是整数或双整数。 X004为ON时,16位指令将D10中的高8位与低8位字节交换,二进制平方根指令、浮点 数转换指令、高低字节交换指令,5.7高速处理指令,一、与输入输出有关的指令,输入输出刷新指令 输入输出刷新指令FNC50 REF(Refresh)可用于对指定的输入输出

37、口立 即刷新。,图中: 当X000为ON时,X010X017这8点输入(n=8) 被立即刷新。 当X001为ON时,Y000Y027共24点输(n=24) 被立即刷新。,输入输出刷新、滤波时间调整指令,刷新和滤波时间常数调整指令,刷新和滤波时间常数调整指令FNC51 REFF(Refresh and Filter Adjust)用来刷新输入口X000X017,并指定它们的输入滤波时间常数n。,操作数 D:X、Y n为8的倍数,图中当X010为ON时,X000X017的输入映像寄存器被刷新,它们的输入滤波时间常数被设定为1ms(n=1)。,矩阵输入指令 MTR(Matrix),可以将8点输入与n

38、点输出构成8行n列的输入矩阵,从输入端快速、批 量接收数据。 矩阵输入占用由S指定的输入号开始的8个输入点,并占用由D1指定的 输出号开始的n个晶体管输出点。,矩阵输入指令使用要素,矩阵输入指令使用说明,如图所示: n3,是一个8点输入、3点输 出,可以存储24点输入的矩阵电 路。 3个输出点(Y020Y022)依次 反复顺序接通。 Y020为ON时读入第一行输入的 状态,存于M30M37, Y021为ON时读入第二行输入的 状态,存于M40M47, 余类推,如此反复执行。,二、高速计数器指令,高速计数器比较置位HSCS(Set by High Speed Counter) 高速计数器比较复位

39、HSCR(Reset by High Speed Counter) 高速计数器区间比较HSZ(Zone compare for High Speed Counter) 它们均为32位指令。,高速计数器指令使用要素,高速计数器区间比较指令有三种工作模式:标准模式、多段比较模式 和频率控制模式。 若在同一程序中多处使用高速计数器控制指令,其被控对象输出继电 器的编号的高2位应相同,以便在同一中断处理过程中完成控制。 例如:使用Y000时,应为Y000Y007。使用Y010时,应为Y010Y017。,图中: C255的设定值为100(S1=100),其当前值由99 变位100或由101变为100时,

40、Y010立即置1,不 受扫描时间的影响。 C254的设定值为200(S1=200),其当前值由 199变为200或由201变为200时,Y020立即复位。 C251的当前值小于1000时,Y010置1;大于1000 小于1200时,Y011置1;大于1200时,Y012置1。,高速计数器指令使用说明,三、脉冲指令,速度检测指令,脉冲速度检测指令FNC56 SPD(Speed Detect)用来检测给定时间内从编码器输入的脉冲个数,并计算出速度。,操作数 S1 :X000X005 S2:K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z D:T、C、D、V、Z,图中:用D1对X000输入

41、的脉冲个数计数,100ms后计数结果送到D0、D1中的当前值复位,重新开始对脉冲计数。计数结束后D2用来测量剩余时间。,转速n用下式表示: 式中,n为转速,(D0)为D0中的数;t为S2指定的计数时间(ms);n0 为每转的脉冲数。,脉冲输出与脉宽调制指令,脉冲输出指令PLSY(Pulse Output)用于产生指定数量和频率的脉冲。 脉宽调制指令PWM(Pulse Width Modulation)用于产生指定脉冲宽度 和周期的脉冲串。,脉冲输出与脉宽调制指令使用要素,图: X010由ON变为OFF时,M8029复位,脉 冲输出停止。 X010重新变为ON时,重新开始输出脉冲。 在发生脉冲期

42、间X010若变为OFF,Y000也 变为OFF。 D10的值从050变化时,Y001输出的脉冲 的占空比从01变化。 X011变为OFF时,Y001也OFF。,脉冲输出与脉宽调制指令使用说明,带加减速的脉冲输出指令,可调速脉冲输出指令PLSR(Pulse R)的源 操作数和目的操作数的类型与PLSY的指令相同。,可调速脉冲输出指令使用要素,图中:X010为OFF时,输出中断,又变为ON时,从初始值开始输出。输出频率范围为220kHz,最高速度、加减速时的速度超过此范围时,将自动调到允许值内。,可调速脉冲输出指令,S1:最高频率(Hz)10 20000Hz S2:总输出脉冲数:16位(110 3

43、2767);32位(110 2147483647) S3:加减速时间:5000ms以下,5.8方便指令,一、状态初始化指令,状态初始化指令FNC60 IST(Initial State)与步进梯形STL指令一起使用, 用于自动 设置多种工作方式的控制系统的初始状态,以及设置有关的特殊辅助 继电器的状态。指令中S指定运行模式的初始输入。,状态初始化及数据搜索指令使用说明,利用最简单的顺控程序进行复杂控制。有10种,操作数 S: X、Y、M D1 D2 :S20S899 D1D2,(1)IST指令的源操作数可取X、Y和M,用来指定与工作方式有关的首地址,它实际指定了从首址开始的8个连续号的同类元件

44、具有以下意义:,X20:手动 X24:连续运行(全自动) X21:回原点 X25:回原点启动 X22:单步运行 X26:自动运行启动 X23:单周运行(半自动) X27:停止,X20X24对应了系统的5种工作方式,每时每刻只能有一个为ON,故外部接线图中对应的输入端口必须使用选择开关。,S0:手动操作初始状态 M8040:禁止转移 M8047:STL步进指令监控有效 S1:回原点初始状态 M8041:开始转移 S2:自动操作初始状态 M8042:启动脉冲,(2)IST指令的目标操作数D1和D2用来指定在自动操作中用到的状态元件的最低和最高元件号,可取S20S899。,(3)IST指令执行条件满

45、足时,S0、S1、S2和下列特殊辅助继电器被自动设定为以下功能;若以后执行条件变为OFF,这些元件的功能仍然保持不变:,二、数据搜索指令,数据搜索指令SER(Data Search)用于在数据表中查找指定的数据。,数据搜索指令的要素,如图所示:当X001为ON时,将D130D138中的每一个值与D24中的内容相比较,结果存放在以指定的检索结果器件D35开始的5个数据寄存器(D35D39)中。,三、凸轮顺控指令,绝对值式凸轮顺控指令,绝对值式凸轮顺控指令ABSD(Absolute Drum)可以产生一组对应于计数值变化 的输出波形,用来控制最多64个输出变量(Y、M和S)的ON/OFF。,绝对值

46、式凸轮顺控指令的要素,图中:X000为凸轮执行条件。 凸轮平台旋转一周产生每度一个脉冲从X001入。 有4个输出点(n4)用M0M3来控制。 从D300开始的8个(2n=8)数据寄存器用来存放 M0M3的开通点和关断点的位置值。,绝对值式凸轮顺控指令说明,增量式凸轮顺控指令,增量式凸轮顺控指令INCD(Increment Drum)根据计数器对位置脉冲的计数值,实现对最多64个输出变量的循环顺序控制,使它们依次为ON,并且同时只有一个输出变量为ON。 可用来产生一组对应于计数值变化的输出波形。,增量式凸轮顺控指令的要素,图中:有4个输出点(n4)用M0M3来控制。 从D300开始的4个(n=4

47、)数据寄存器用来存放使M0M3处于ON状态的 脉冲个数,可以用MOV指令将它们写入D300D303。,C0的当前值依次达到D300D303中的设定值时 自动复位,然后又开始重新计数,M0-M3按C1的 值依次动作。 由n指定的最后一段完成后,标志M8029置1, 以后又重复上述过程。,增量式式凸轮顺控指令说明,四、定时器指令,示教定时器指令,示教定时器指令TTMR(Teachering Timer)可以通过按钮按下的时间调整定时器的设定值。,示教定时器指令的要素,图中: 示教定时器将按钮X010按下的时间乘以系数10n后 作为定时器的预置值。 按钮按下的时间由D301记录,该时间乘以10n后存

48、 入D300。 X010为OFF时,D301复位,D300保持不变。,示教定时器指令,特殊定时器指令,特殊定时器STMR(Special Timer)指令用来产生延时断开定时器、单脉冲定时器和闪烁定时器。,特殊定时器指令的要素,图中:T10的设定值为10s(m=100)。 目的操作数D中指定起始号为M0的4个器件 作为特殊定时器。 M0是延时断开定时器,M1是X000由ONOFF 后的单脉冲定时器,产生的脉宽为10s; M2是X000由OFFON后的单脉冲定时器,产 生的脉宽也为10s; M3为滞后输入信号10s向相反方向变化的脉 冲定时器。 M2和M3是为闪烁而设的。,特殊定时器指令使用说明

49、及工作波形,五、其他方便指令,交替输出指令ALT(Alternate):可以实现多级分频输出,单个按钮 起/停、闪烁动作等功能。 斜坡信号输出指令RAMP:可以产生不同斜率的斜坡信号。 旋转工作台控制指令ROTC:可以使工作台上指定位置的工件以最短的 路径转到出口位置。 数据排序指令SORT(Sort):将数据编号,按指定的内容重新排列, 该指令只能用一次。,交替输出指令 ALT为交替输出指令,其功能指令编号为FNC66,它的功能是把目标元件的状态取反,D可取Y、M和S,只有16位运算。 图中的X0由OFF变为ON时,Y0的状态就改变一次。使用ALT指令可以实现单按钮控制负载的运行与停止,从而

50、节省一个输入点数。,ALT指令的应用,5.9外围设备I/O指令,一、十键输入指令,十键输入指令TKY(Ten Key)是用10个按键输入十进制数的功能指令。,十键输入指令的要素,图示为十键输入梯形图程序以及与本梯形图配合的输入按键与PLC 的连接情况,其功能为由接在X000 X011端口上的10个按键输入4位十 进制数据,存入数据寄存器D0中。,十键输入指令说明,当使用DTKY指令时,D0与D1成对使用,最大存入的数据为99999999。,通过最小量的程序与外部接线实现从外部设备接受数据或输出控制外部设备,图示为按键输入的动作时序, 若按键的顺序为、时,则D0中 存的数 据为用二进制码表示的十

51、进制数2130。 若输入的数据大于9999,则高位溢出并丢失。 在图中: 给出了与X000X011一一对应的辅助继电器 M10M19以及辅助继电器M20的动作情况。 当X002按下后M12置1并保持至下一键X001 按下,X001按下后M11置1并保持到下一键 X003 按下,X003按下后M13置1并保持到下 一键 X000按下,X000按下后M10置1并保持 到下一键按下。 M20为键输入脉冲,可用于记录键按下的次数。当有两个或更多的键按下 时,首先按下的键有效。 X030变为OFF时,D0中的数据保持不变,但 M10M19全部变为OFF。,十键输入指令动作时序,二、十六键输入指令,十六键

52、输入指令HKY(Hexa Decimal Key):使用十六键键盘输入数字 及功能信号的功能指令。,十六键输入指令的要素,图示为十六键输入梯形图程序以及与本梯 形图配合的十六键键盘与PLC的连接情况。 十六键分为数字键和功能键。 图a所示每次按数字键09,以BIN形式向D0 存入上限值为9999的数值,超出此值则溢出。,使用DHKY指令时,D0与D1成对使用,最大存入的数据为99999999。,十六键输入,十六键输入指令说明,图b所示: 功能键AF与M0M5一一对应, 按下A键时,M0动作保持,按下D键时,M0 OFF,M3动作保持,其余类推。 多个键按下时,首先按下的键有效。 在一个程序中,

53、此指令只能使用一次,而且 只能用于晶体管输出的PLC。 此指令与PLC的扫描定时器同时操作,一系列的键扫描完毕需要8个扫描 周期,为防止键输入的滤波延迟所造成的存储错误,请使用恒定扫描模式 和采用定时器中断处理。,十六键输存储,三、数字开关指令,数字开关指令DSW(Digital Switch)是输入BCD码开关数据的专用指 令,用来读入1组或2组4位数字开关的设置值。,数字开关指令的要素,图示为数字开关梯形图程序与本梯 形图配合的数字开关与PLC的连接情况。 每组开关由4个BCD拨码数字开关组 成,一 组BCD数字开关接到X010 X013,由Y010Y013顺次选通读入,数 据以BIN码形

54、式存在D0中。 若n=K2,则表示有两组BCD码数字开 关,第二组数字开关接到X014X017 上,由Y010Y013顺次选通读入,数据 以BIN码 存放在D1中。 X000为ON时,Y010Y013顺次为ON, 一个周期完成后标志位M8029置1, 其时序如图所示。数字开关指令 DSW在操作中被中止后再重新开始工作 时,是从头开始而不是从中止处开始。 在一个程序中,此指令只能使用两次。,数字开关指令说明,数字开关指令时序,四、七段码译码指令,七段码译码指令SEGD(Seven Segment Decoder)是驱动七段显示器的指令,可以显示1位十六进制数据。,七段码译码指令的要素,七段码译码

55、表,带锁存七段码显示指令,带锁存七段码显示指令SEGL(Seven Segment with Latch)是驱动4 位组成的1组或2组带锁存七段码显示器的指令。,带锁存七段码显示指令的要素,七段码显示器逻辑,参数n的选择,图示:为带锁存七段码显示梯形图程序示例以及带锁存七段码显示器与PLC的连接情况。 4位1组带锁存七段码显示,D0 中按BCD换算的各位向Y000 Y003顺序输出,选通信号脉冲 Y004Y007依次锁存带锁存的 七段码; 4位2组带锁存七段码显示,D0 中按BCD换算的各位向Y000 Y003顺序输出,D1中按BCD换 算的各位向Y010Y013顺序输 出,选通信号脉冲Y00

56、4Y007 依次锁存2组带锁存的七段码.,带锁存七段码显示指令说明,在一个程序中, SEGL指令只能使用两次。,五、方向开关指令,方向开关指令ARWS(Arrow Switch)是使用箭头开关通过位移动与 各位数值增减实现数据输入显示的指令。,方向开关指令的要素,图示:为方向开关梯形图程序以 及与本梯形图配合的带锁存七段码显示 器与PLC的连接和箭头开关确定的情况, 每一位的选通输出上并联一个指示灯 指示当前被选中的位。 驱动输入X000置为ON时,位指定为103 位,每次按退位输入时,位指定按 103102101100103变化; 每次按进位输入时,位指定按 103100101102103变

57、化。 对于被指定的位,每次按增加输入时,D0的内容01890 变化; 每次按减少输入时,D0的内容按098109变化,其内 容用带锁存的七段码显示器显示。,方向开关指令说明,六、ASCII码转换与打印指令,ASCII码转换指令ASC(ASCII Code)是8个以下字母的ASCII码转换存 储的指令。 ASCII码打印命令PR(Print)是存储元件中的8个ASCII码数据输出的 指令。,ASCII码转换与打印指令的要素,BFM读出与写入指令,BFM读出指令FROM是将特殊单元缓冲存储器BFM的内容读出到PLC 的指令。 BFM写入指令TO是由PLC向特殊单元缓冲存储器BFM写入数据 的指令。

58、,BFM读出与写入指令的要素,5.10 外围设备SER指令,一、串行通信传送指令,串行通信传送指令RS(RS-232C)为使用RS-232C、RS-485功能扩展板及特殊 适配器进行发送接收串行数据的指令。,串行通信传送指令的要素,图示:为串行通信梯形图程序。 RS指令的驱动输入X010置于ON时, PLC处于接收等待状态; 在接收等待状态或接收完成状态时, 用脉冲指令置位M8122,就开始发送 从D200开始的D0长度的数据,发送结 束时M8122自动复位。 接收完成标志M8123变为ON后,先将 接收数据传送到其他存储地址后,再 对M8123进行复位; 复位M8123后,再次进入接收等待状

59、态; 用D1=0执行RS指令时,M8123将不动作,也不进入接收等待状态。,串行通信传送指令说明,FX2N版本V2.00以下PLC使用半双工双向通信方式: 接收时将发送标志置为ON,发送待机标志M8121进入ON状态,接收完 成标志由OFFON变化后,开始发送。,无控制线串行通信时序图,控制线为普通模式时仅能单独用于数据发送或接收,仅用于数据发送时序图如图a所示,仅用于数据接收时序图如图b所示,未使用DR(DSR)信号。,无控制线通信的时序图如图 所示。,控制线为普通模式串行通信时序图,控制线为调制解调模式通信的时序图 如图所示。,控制线为调制解调模式串行通信时序图,FX2N版本V2.00以上PLC使用全双工 双向通信方式: 进行半双工双向通信时,接收时不 能使发送标志ON,如果变为ON的 话,因为将开始发送,有可能对方 设备不能接收数据,从而破坏发送 接收数据。另外,全双工双向通信 发送待机标志M8121不为ON。,无控制线通信的时序图如图 所示。 控制线为普通模式时仅能单独用 于数据发送或接收,控制线与传 送顺序与V2.00版本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论