520 likes | 675 Views
第三节 应用类指令. 一、互锁( IL )和清除互锁( ICL ) 二、暂存继电器( TR ) 三、跳转( JMP )和跳转结束( JME ) 四、锁存器( KEEP ) 五、前沿微分( DIFU )和后沿微分( DIFD ) 六、位移指令( SFT ) 和通道位移指令( WSFT ). 一、互锁( IL )和清除锁存( ILC ). 符号:. 互锁起点. IL ( 02 ). ILC ( 03 ). 互锁程序段结束. 功能: IL 与 ILC 配合使用, 当 IL 未接通时, IL 与 ILC 之间所有输出线圈
E N D
第三节 应用类指令 一、互锁(IL)和清除互锁(ICL) 二、暂存继电器(TR) 三、跳转(JMP)和跳转结束(JME) 四、锁存器(KEEP) 五、前沿微分(DIFU)和后沿微分(DIFD) 六、位移指令(SFT) 和通道位移指令(WSFT)
一、互锁(IL)和清除锁存(ILC) 符号: 互锁起点 IL(02) ILC(03) 互锁程序段结束 功能:IL与ILC配合使用, 当IL未接通时,IL与ILC之间所有输出线圈 均为OFF; 当IL接通时,IL与ILC之间所有输出线圈 正常操作;
例: 0002 IL(02) 0003 0004 0504 0500 0505 0006 0506 ILC(03)
二、暂存继电器TR 功能:用于程序中的分支点。 编号范围:0~7 TR 1 TR 0 00002 00004 例: 1000 00003 00005 1001 00006 1002 00007 1003
三、跳转(JMP)和跳转结束(JME) 符号: JMP(04) 跳转段的起点 跳转段的结束 JME(05) 功能:JMP未接通时,JMP与JME之间所有输出线圈 保持原状,即跳过这段程序不执行。 JMP接通时,JMP与JME之间所有输出线圈 正常操作。
例: 00002 JMP(04) 00003 00004 1004 1000 1005 00006 1006 JME(05)
四、锁存(KEEP) KEEP(FUN11) S:置位端 R:复位端 B:位地址 S KEEP B R 功能:相当于一个锁存器, 当S为ON时,输出为ON; 当R为ON时,输出为OFF。
00002 00003 例1: 1000 1000 00002 S KEEP 1000 00003 R 00005 00004 S KEEP 1001 00006 R 00007
五、前沿微分和后沿微分指令 2、后沿微分指令 DIFD(FUN14) 1、前沿微分指令 DIFU(FUN13) DIFD(14) DIFU(13) B:位地址 B B 输入信号由ON变为OFF 状态时,输出继电器产生 一个扫描周期的脉冲。 输入信号由OFF变为ON 状态时,输出继电器产生 一个扫描周期的脉冲。
例: 0002 DIFU(13)1000 DIFD(14) 1001 LD 0002 DIFU(13)0500 DIFD(14)0501 当0002变为ON时,1000接通 1个扫描周期; 当0002变为OFF时,1001接通 1个扫描周期。
00000 DIFU 20000 20000 TIM00 1000 1000 TIM 00 例2 按钮操作叫响提示: 有按钮操作时,无论时间长短,蜂鸣器 发出1秒声响。 按钮 00000 蜂鸣器 01000 #10
DIFD 20001 00000 DIFU 20000 20000 TIM00 1000 1000 20001 TIM 00 #10 例3 开关操作叫响提示: 有开关操作时,无论时间长短,蜂鸣器 发出1秒声响。 00000 自锁按钮(开关) 蜂鸣器 01000
例4:单按钮单路输出控制 一只按钮控制一盏灯,第一次按下时灯亮, 第2次按下时灯灭······奇数次灯亮,偶数次灯灭。 00000 按钮 00000 DIFU 20000 灯 01000 20000 1000 KEEP 1000 20000 1000
六、位移指令和通道位移指令 1、通道位移指令SFT(FUN10) 符号: IN B:起始通道 E:结束通道 SFT CP B R E 功能:将指定通道内的数据按位移位。
例1:利用1S钟时钟脉冲25502作为移位脉冲, 实现每秒移位一次的操作。参加移位的数据为 由202 ~ 202三个通道组成的48位二进制数。 00001 IN SFT 25502 200 CP 00002 R 202
0000 IN SFT TIM00 CP 10 0001 10 R TIM00 TIM 00 #50 例2:8盏灯,用两个按钮控制,一个为位移按钮, 一个为复位按钮,实现8盏信号灯按顺序逐个亮 或灭。当位移按钮按下时,信号灯依次从第一个 灯开始逐个亮;按钮松开时,信号灯从第一个开 始逐个灭,位移间隔0.5秒;复位按钮按下时,灯 全灭。
2、SFTR指令(FUN84) 功能:可逆移位寄存器。当执行条件满足时, 根据控制字C的规定进行二进制数据的左移 或右移操作。 SFTR(84) C ST E
3、通道位移WSFT(FUN16) 符号: WSFT(16) B:起始通道 E:结束通道 B E 功能:以通道为单位进行位移。最低位置0000, 最高位移出丢失。
辅助继电器AR00=1234,AR01=4567, AR02=789A,执行: 例: WSFT(16) 00000 AR00 AR02 执行后,AR00= 0000,AR01=1234,AR02=4567。
4、ASL和ASR指令 ASL(25) CH ASR(26) CH 功能:算术左移指令 将CH中的16位 二进制数顺序 左移一位,最 高位移入进位 标志,最低位 补0。 算术右移指令, 将CH中的16位 二进制数顺序 右移一位,最 低位移入进位 标志,最高位 补0。
5、ROL和ROR指令 循环左移指令 循环右移指令 6、SLD和SRD指令 十六进制数左(右)移指令 7、ASFT指令(17) 异步移位寄存器指令。
实例:PLC在产品分选装置中的应用 一、系统说明: 3号站 4号站 5号站 1号站 2号站 步进 0502 排除站 光洁度 检查 几何尺寸 检查
三、控制程序 二、I/O分配表 0001 IN SFT HR0 输入 0000 CP 步进脉冲 几何检验 光洁度检验 系统复位 0000 0001 0002 0003 0003 R HR0 0002 IN SFT HR1 0000 CP 输出 0003 R HR1 排除设备 0502 HR004 0502 HR102
第四节 数据处理指令 一、数据比较类指令(CMP) 二、数据传送类指令 三、数据运算类指令 四、数据转换类指令 五、子程序和中断控制类指令 六、其它特殊应用指令
一、数据比较类指令(4-6节) 1、CMP(FUN20) 符号: CMP(20) C1:比较数据1 C2:比较数据2 C1 C2 功能:将1个通道的内容与另外一个通道的 内容或1个4位16进制常数相比较, 若C1 > C2, 25505接通; 若C1 = C2, 25506接通; 若C1 < C2, 25507接通.
例1: TR 0 CMP(20) 0002 10 HR9 25505(>) 0500 25506(=) 0501 25507(<) 0502
例2:利用比较指令监视定时器或计数器的当前值,当前值为某个数时,进行某种操作。使一个定时器起到多个定时器/计数器的作用。(P167)例2:利用比较指令监视定时器或计数器的当前值,当前值为某个数时,进行某种操作。使一个定时器起到多个定时器/计数器的作用。(P167) 见168页图5-103,当0002闭合时,0500、0501、0502怎样动作?
CMPL指令(FUN60): CMP为单字比较指令,完成C1和C2两个字 的比较。 CMPL为双字比较指令,完成C1、C1+1和 C2、C2+1的比较。
2、BCMP指令(FUN68) 格式:BCMP(68) CD CB R 比较数据 比较数据块起始通道 比较结果通道 功能:块比较指令。P101页。 配置相应的硬件设备,BCMP指令 可以用来实现运动部件的位置控制。
3、TCMP指令(FUN85) 格式:TCMP(85) CD CB R 比较数据 比较数据块起始通道 比较结果通道 功能:表比较指令。P102页。
4、ZCP和ZCPL指令 格式:ZCP CD LL UL 比较字 数据范围下限 数据范围上限 功能:CD< LL,25507为ON LL<CD<UL,25506为ON CD>UL,25505为ON。
二、数据传送类指令(4-9节,116页) 2、MVN(FUN22) 1、MOV(FUN21) 符号: 符号: MVN(22) MOV(21) S S D D S:源通道或数据 D:目的通道 S:源通道或数据 D:目的通道 功能:传送1个指定(源) 通道的内容或1个4位16进制 数到另一个(目的)通道中。 功能:将源通道的内容 求反后传送到目的通道中。
例1:P121例15 0002 MOV(21) 10 HR9 MVN(21) HR9 05
例2:如果希望在输入条件变化时只执行一次 传送指令,可以采用微分指令。 0002 DIFU(13)1000 1000 MOV(21) #F8C2 HR2 0002 @MOV(21) #F8C2 HR2
3、XFER指令(FUN70) 格式: XFER(70) N S D 4位BCD码的传送通道数 源数据块开始通道 目的数据块开始通道 功能:块传送指令。将由S通道开始的N个连续 数据传送到D开始的对应通道中去。
例:传送20个数据。 LD 00001 OR 00002 AND 00003 XFER(70) #20 200 HR00
4、BSET指令(FUN71) 格式:BSET(71) S ST E 源数据 开始通道地址 结束通道地址 功能:块置数指令。由ST开始到E结束的 所有通道都置为数据S。
例: LD 00000 AND 00001 @BSET(71) # FFFF HR00 HR11
5、XCHG指令(FUN73) 格式:XCHG(73) E1 E2 功能:数据交换指令 例:LD 00000 OR 00001 @XCHG(73) 200 210
6、MOVB和MOVD指令 MOVD(83) S C D MOVB(82) S C D 控制字 功能:将S中指定的 二进制位传送到D的 指定位上。 功能:将S中指定的十六进制数传送到D中。
三、数据运算类指令 1、置进位和清进位指令 功能:将进位标志 (25504)置 为ON; 符号:STC(FUN40) STC(FUN40) CLC(FUN41) 将进位标志 ( 25504)清 为OFF; CLC(FUN41) 常用于ADD和SUB指令之前。
2、加法(ADD) 3、减法(SUB) 符号: 符号: SUB(31) ADD(30) 被减数 Mi 被加数 Au 减数 加数 Su Ad 结果 R 结果 R 功能: 被减数:1个通道的数据 减数:另一个通道的数据 或4位常数的BCD码 的带借位减法。 功能: 被加数:1个通道的数据 加数:另一个通道的数据 或4位常数的BCD码 的带进位加法。
例1:将通道10的内容加1234,再加上进位(1904)例1:将通道10的内容加1234,再加上进位(1904) 结果存放在保持继电器HR9通道。 0002 CLC(41) ADD(30) 10 #1234 HR9
内部辅助继电器CH10 9 9 7 5 + 1234 = 11029 1000 1 1001 0 *100 1002 1 1003 0 1004 1 HR CH 9 *101 1005 0 1006 0 1 1007 1008 1 *102 1009 1 1 1010 1011 0 1012 1 1013 0 *103 1014 0 1 1015 相加过程:
例2:将CH02中的内容减去HR0通道的内容, 差存放在HR1通道。 0002 DIFU(13)1000 1000 CLC(14) SUB(31) 02 HR0 HR1 1904 CLC(14) SUB(31) #0000 HR1 HR1
4、ADDL(54)和SUBL(55)指令 双字BCD码加(减)法指令 5、MUL(32)和DIV(33)指令 6、MULL(56)和DIVL(57)指令 7、INC(38)和DEC(39)指令 8、ADB、SBB、MLB和指令
四、数码转换指令 1、BIN(FUN23) 1、BCD(FUN24) 符号: 符号: BIN(23) BCD(24) S S D D S:源通道 D:目的通道 S:源通道 D:目的通道 功能:将源通道内的 4位BCD码转换为16位 2进制数存入目的通道。 功能:将源通道内的 2进制数转换为4位BCD 码存入目的通道。
五、译码和编码指令 1、译码 MLPX(FUN76) 符号: MLPX(76) S 源通道 数据指定标志 Di 结果起始通道 Rb 功能:将源通道中的最多4个16进制数转换为 从0 ~ 15 的十进制数,根据此值将结果 通道中与该值对应的为置为ON。
2、编码 DMPX(FUN77) 符号: DMPX(77) Sb 源开始通道 R 结果通道 数据指定标志 Di 功能:16到4编码指令,测定指定源通道中ON 的最高位的位置,将其变为4位2进制数, 传送到结果通道的指定位上。