上升沿微分指令DIFU(13):当输入信号的上升沿(由OFF ON)时,DIFU指令所 指定的继电器在一个扫描周期内ON;下降沿微分指令当输入信号的下降沿(由ON OFF)时,DIFD指令所指定的继电器在一个扫描周期内ON。 00000 DIFU(13) 20000
DIFD(14) 20001
20000 MOV(21)
#FFFF DM0100
20001 OUT 01000
输入点00000 内继20000 内继20001
当输入点00000的上升沿(OFF ON)时,内部辅助继电器20000在一个扫描周期内ON,MOV指令在一个扫描周期内执行。
当输入点00000的下降沿(ON OFF)时,内部辅助继电器20001在一个扫描周期内ON,输出指令执行一个扫描周期。
注意:MOV等应用指令尚有微分型,此时不需用DIFU、DIFD指令构成输入电路而可直接采用微分型指令即可。
5、
置位SET与复位(RESET)指令
当SET指令的执行条件ON时,使指定继电器置位为ON;当执行条件OFFSET指令仍不能改变指定继电器的状态。当RESET指令的执行条件ON时,使指定继电器复位为OFF;当执行条件OFF后,RESET指令仍不能改变指定继电器的状态。 四、基本顺序控制指令 FUN NO 00 指令 符号 空操 助记符 操 功 能 作数 NOP(00) 操作码相关的标志 —— 21
作 01 02 结束 END END(01) 程序结束 联锁 IL IL(02) —— 至ILC指令为止的继电器线圈,定时器根 据本指令前面的条件OFF的时候OFF —— 03 04 解锁 ILC ILC(03) 表示IL指令范围的结束 跳转 JMP JMP(04) 至JME指令为止的程序由本指令前面的条号: 号 件决定时否执行 00~49 05 跳转JME JME(05) 解除跳转指令 结束 号 ⑴在程序的最后,必须写入END指令。如果在程序无END指令状态下运行,则CPU单元前面的“EPROR”LED灯亮,而不执行程序;如果在程序中有复数个END指令时,则程序执行到最前面的END指令为止。 00000 ⑵IL—ILC指令的应用 IL(02)
00005 00001 00002 01000
当IL条件(右图中00000 ) ON时,各输出动作与没有 00003 01001 IL—ILC指令的程序一样。
当IL条件OFF时,IL 至ILC间的各个输出状态 00004 01002 如下示:
ILC(03)
输出继电器、内部辅助继电器、链接继电器 辅助记忆继电器 OFF 计时器 复位 计数器、移位寄存器、保持继电器 状态保持 ①IL—ILC指令与TR指令的比较
使用TR指令时,在分支点的前面要有;LD TR,而使用IL/ILC指令时,即可不编入LD TR,就程序步数而言,仅可减少这一点。 ②IL与ILC非成对使用时的动作
22
在IL与ILC程序之间另有IL指令时,因IL—ILC指令不成对使用,所以程序检查时会有“IL—ILC ERROR”出现,而动作还按程序正常进行。但是,请注意:ILC指令会解除它前面所有的IL指令。例IL—IL—ILC嵌套的程序。 ⑶跳转(JMP04)/跳转终了(JME05)
JMP条件ON时,程序按没有JMP—JME指令一样动作;而当JMP条件OFF时,不执行从JMP至JME指令间的程序,并且输出线圈(输出继电器、计数器、计时器、移位寄存器、保持继电器等)均保持各自的状态。
①
JMP指定号数为00时,没有JMP00—JME00的使用次数限制;当不成对地使用JMP00—JME00时,程序检查时会有“JMP—JME ERROR”出现,但动作还按程序进行。在JMP00—JME00之间,即使JMP条件OFF时,还需要指令执行时间(指CPU花时间找下一个JME00指令)。 ②
JMP指定号数为01~49时
把JMP01~99至同一号数的JME01~99的区间作为跳转对象;每个跳转号只能使用一次;在使用JMP01~99时,当JMP条件OFF时,直接跳转到JME,所以没有JMP—JME间指令的执行时间。
五、定时器/计数器指令
FUN NO 指令 符号 助记符 操作数 TIM 计时器号 设定值 功能 接能延时定时器(减算) 设定时间0~999.9秒 (0.1秒为单位) 操作码相关标志 1定时器号、计数器号NO TIM/CNT000~127 在使用高速定时器指令 中作中断处理的定时器 请指定TIMH000~003 2、设定值 000~019、200~255CH HR00~19、LR00~15 DM0000~1023.6144~6655 *DM0000~1023、 6144~6655 #0000~9999(BCD码) 定时器 计数器 CNT 计数器号 设定值 减法计数器, 设定值0~99999次 执行加、减算计数, 设定值0~9999次 执行高速减算定时, 设定时间:0~99.99 秒(0.01秒为单位) 12 可逆计数器 CNTR(12)计时器号 设定值 15 高速定时器 TIMH(15)计时器号 设定值 1、 在同一程序中以上四种指令所使用的计时器号、计数器号000~127不能重复。 2、 设定值可以是常数,也可以是通道号。当是常数时,必须是BCD码,前面要加#;是通道
23
号时,该通道内的数字也须是BCD码。
3、 当计数器、高速计时器、计时器工作(复位时)前,先将设定值送入相应的计数器/计时器内(由程序中的计时器号/计数器号指定)(可逆计数器例外,当可逆计数器复位时,其内 4、
5、 的当前值复位为0000),然后根据指令要求进行计数/计时,因而,在复位时,相应的计数器/计时器内有它的当前值,计数器/计时器可作为其它指令的操作数(如LD TIM000等)。
6、 当设定值为*DM时,在该DM区域中存放的是设定值的DM地址而非设定值。
7、 出错标志位25503, 当设定值不是BCD码时、*DM间接寻址的DM通道不存在时为ON。 各程序说明见讲义62、63、64之1、2、3、4。 六、数据比较指令
FUN 指令 符号 CMP 助记符 操作数 功 能 操作码 S1、S2 000~019、200~255 HR00~19、AR00~15 LR00~15、C/T000~127 DM(及*DM)0000~1023、 6144~6655、#0000~FFFF NO 20 比较 CMP(20) S1 S1CH数据、常数,与S2CH数据、 S2 常数进行比较根据比较结果分别设 置比较标志。25505(S1>S2)、25506(S1=S2)、 25507(S1
68 块比较 BCPM BCPM/@BCPM S SCH的数据如下图那样从T通道开始分16个比较区域,每个区域第一个为下限,第二个为上限,分16次对下限.上限数据(比较表)比较在其之间将结果存入DCH. 0不在上下限之间;1在上下限之间 下限值 比较 数据 S.000~019、200~255 HR00~19、AR00~15 LR00~15、T/C000~127 DM0000~1023、6144~6655 *DM0000~1023.6144~6655 #0000~FFFF @BCPM T D 上限值 结果 DCH T T+2 T+4 T+6 ≦ ≦ ≦ ≦ SCH数据 SCH数据 SCH数据 SCH数据 SCH数据 SCH数据 ≦ ≦ ≦ ≦ T+1 T+3 T+5 T+7 T+29 T+31 0或1 00 01 02 03 14 15 T.200~224、T/C000~096、DM0000~0992、6144~6623 *DM0000~1023、6144~6655 0或1 0或1 0或1 D.000~019、200~252 HR00~19、AR00~15 LR00~15、DM0000~1023、 *DM0000~1023、6144~6655 ≦ ≦ 0或1 0或1 T+28 T+30 ≦ ≦ 位 85 表比较 TCMP @TCMP TCMP/@TCMP(85) S T D SCH的数据如下图那样从TCH开始的16个(至T+15)比较数据(比较表)作比较。在一致的场合下将“1”输出到DCH的相应位(00~15),0—不一致;1—一致 比较表 T T+1 T+2 T+3 T+14 T+15 比较数 S S S S S S DCH 0或1 0或1 0或1 0或1 0或1 0或1 位 00 01 02 03 14 15 S.000~019、200~255 HR00~19、AR00~15 LR00~15、/C000~127 DM(及*DM)0000~1023、6144~6655 #0000~FFFF T、000~004、200~240 HR00~04、HR00、LR00 T/C000~112 DM0000~1008、6144~6640 *DM0000~1023、6144~6655 D、000~019、200~255 HR00~19、LR00~15 AR00~15、DM0000~1023 *DM0000~1023、6144~6655 比较结果为00(16位全部一致)时,比较标志25506(=)为ON 标志位25503(ER)ON:当比较块或比较表超出所在数据区的范围,或比较指令间接寻址DM通道不存在(其内非BCD码),此时,比较指令不执行。详见P65、66、67、68的四个比较指令。
七、数据移位指令
FUN 指符号 助记符 操作数 功能/相关标志 操作数 NO 令 移SFT(10) D1 移位脉冲(SP)ON时,从D1CH到D2CH的数据朝开始D1,结束D2CH 10 位高位移一位,D2的最高位溢出。复位端ON时,000~019、200~252 寄HR00~19、AR00~15 DD2~D1区域全部OFF。 存LR00~15。D1、D2必须用2 15 00 15 00 IN(0或1) 器 D2 D1 同一个继电器区域D1CH必须≤D2CH 25