
CPHPLC的指令系统实用实用教案.ppt
222页- DT”,, “>=DT”等等 C:控制通道:控制通道 S1 :当前时刻:当前时刻(shíkè)首通道首通道 S2 :比较时刻:比较时刻(shíkè)首首通道通道符号LD型CS1符号AND型S1S2符号OR型S1S2S2CC操作数操作数第131页/共221页第一百三十一页,共222页控制数据控制数据C“秒秒”数据数据(shùjù)比较设比较设定定“日日”数据数据(shùjù)比较比较设定设定“小时小时(xiǎoshí)”数据数据比较设定比较设定0位位3位位2位位1位位5位位4位位“分分”数据比较设定数据比较设定“月月”数据比较设定数据比较设定“年年”数据比较设定数据比较设定“0”:比较有效;:比较有效;“1”:不比较:不比较第132页/共221页第一百三十二页,共222页。
当前当前(dāngqián)时刻数据通道时刻数据通道S1~S1+20位位S17位位8位位15位位0位位S1+17位位8位位15位位0位位S1+27位位8位位15位位秒:秒:00~59((BCD))分:分:00~59((BCD))小时小时(xiǎoshí)::00~23((BCD))日:日:01~31((BCD))月:月:01~12((BCD))年:年:00~99((BCD))第133页/共221页第一百三十三页,共222页 (1) 数据比较指令数据比较指令(zhǐlìng)是常用的指令是常用的指令(zhǐlìng),要牢记其,要牢记其格式、梯形图、操作数范围和使用方法格式、梯形图、操作数范围和使用方法使用数据比较指令影响标志位使用数据比较指令影响标志位P_GT、、 P_EQ、、P_ LT①① 在需要保存标志位状态时,要编写在需要保存标志位状态时,要编写(biānxiě)相应程相应程序②②注意触点注意触点P_GT、、 P_EQ、、P_ LT的使用方法的使用方法 (2) 注意块比较注意块比较(bǐjiào)和表比较和表比较(bǐjiào)指令执行结果的表示指令执行结果的表示方法数据比较指令小结数据比较指令小结 (3) 注意符号比较和时刻比较指令操作数格式,参与比较的注意符号比较和时刻比较指令操作数格式,参与比较的比较数据的数据类型:二进制、带符号二进制、双字、时刻、比较数据的数据类型:二进制、带符号二进制、双字、时刻、双精度、浮点数、等。
双精度、浮点数、等第134页/共221页第一百三十四页,共222页 3.8 数据数据(shùjù)转换指转换指令令 BCD→二进制转换二进制转换(zhuǎnhuàn)二进制二进制→ BCD转换转换(zhuǎnhuàn)4→16 译码指令译码指令16→4编码指令编码指令 七段译码指令七段译码指令ASCII码转换指令码转换指令第135页/共221页第一百三十五页,共222页BCD /@BCD与与 BIN/@BIN指令类似,下面指令类似,下面(xià mian)以以BIN/@BIN为例说明其使用方法为例说明其使用方法BIN(23) S DBIN(23) S DS: 源通道源通道(tōngdào)D: 结果通道结果通道(tōngdào)功能:当执行功能:当执行(zhíxíng)条件为条件为ON时时,将将S中的中的BCD码转换成二进制数,并将结果存入码转换成二进制数,并将结果存入D中 1. BCD码码→二进制数转换指令二进制数转换指令BIN/@BIN第136页/共221页第一百三十六页,共222页4321转换转换(zhuǎnhuàn)为为二进制数是二进制数是 0001000011100001LD 0.00@ MOV (21) # 4321 W000@ BIN (23) W000 D000000.00@BIND00000200 # 4321 @ MOV W000 第第3位位 第第2位位 第第1位位 第第0位位 0 0 1 1 0 1 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 0 0 1 00 0 0 1 W000 源通道源通道D00000结果通道结果通道 第第3位位 第第2位位 第第1位位 第第0位位 0 0 0 0 0 0 0 1215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 1 1 1 00 0 0 1源通道源通道(tōngdào)W000中中为为BCD数数4321。
转换转换(zhuǎnhuàn)后结果通后结果通道内容道内容 写出图示语程序的句表、并分析功能写出图示语程序的句表、并分析功能 本例只在本例只在0.00 OFF→ON时转换一次时转换一次第137页/共221页第一百三十七页,共222页 2. 4→16 译码指令译码指令(zhǐlìng)MLPX/@ MLPX S:源首通道:源首通道(tōngdào) C:控制数据:控制数据 D :结果首通:结果首通道道(tōngdào)C的含义的含义(hányì)S中第一个要译码的数字位位号中第一个要译码的数字位位号固定为固定为0C 数字数字3数字数字2数字数字1数字数字0 S中要译码的数字位数中要译码的数字位数0→ 1位位 1→2位位 2→ 3位位 3→4位位MLPX (76) S C D@ MLPX(76) S C D MLPX (76) S D @MLPX(76) S C DC第138页/共221页第一百三十八页,共222页。
当执行条件为当执行条件为ON时,根据时,根据C的内容的内容(nèiróng)对对S进行译进行译码,并将结果存放中码,并将结果存放中D中指令指令(zhǐlìng)功能功能译码方法译码方法(fāngfǎ)①① 由由C确定被译码的起始数字位及译码的位数;确定被译码的起始数字位及译码的位数;②② 将该位数字将该位数字(十六进制十六进制)转换为转换为0~~15的十进制数;的十进制数;③③ 再将结果通道中与该十进制数对应的位置为再将结果通道中与该十进制数对应的位置为ON,其余,其余位为位为OFF④④被译码的数字位不能大于被译码的数字位不能大于4第139页/共221页第一百三十九页,共222页 D D+1 D+2 D+3D 0 1 2 3S第第1个个第第2个个第第3个个C= # 0030第第4个个第第1个个 D D+1 D+2 D+3D 0 1 2 3SC= # 0023 结果通道的存放结果通道的存放(cúnfàng)顺序顺序被译码的数被译码的数字字(shùzì)(shùzì)位位要连续要连续如:如:1 →→ 2 →→3 →→0 3 → →0 →→1 →→2 2 → →3 →→0 →→1 等等从从0 0位开位开始始(kāishǐ)(kāishǐ)译码译码对对4 4位数位数字译码字译码从从3 3位开位开始译码始译码对对3 3位数位数字译码字译码第140页/共221页第一百四十页,共222页。
使用使用(shǐyòng)译码指令译码指令MLPX举例举例@MOV # 78F5W0000.00@MLPX W000 # 0013 H000LD 0.00@ MOV (21) # 78F5 W000@ MLPX (76) W000 # 0013 H000写语句写语句(yǔjù)表、分析程序功表、分析程序功能能源源 通通 道道 W000控制字控制字C=#0013结果首通道结果首通道H000C=#0013从第三位数字从第三位数字(shùzì)开始开始译码译码对对2个数字译码个数字译码H000和和H001(第(第3位位→第第0位)位)译译2个数字,存放结果需要个数字,存放结果需要2个通道个通道 W000::78F5第141页/共221页第一百四十一页,共222页 (续)译码的原理(续)译码的原理(yuánlǐ)源通道源通道(tōngdào)((78F5)第)第3位数字是位数字是0111——十进制十进制数数7则以则以7为位号,将结果为位号,将结果(jiē guǒ)首通道首通道H000中的中的bit07置为置为1源通道第源通道第0位数字是位数字是0101——十进制数十进制数5则以则以5为位号,将结果末通道为位号,将结果末通道H001的的bit 05置为置为1 第第3位位 第第2位位 第第1位位 第第0位位 1 0 0 00 1 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 1 1 1 10 1 0 1 W000 源通道源通道 H000结果通道结果通道 0 0 0 0 0 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 1 0 0 00 0 0 0 H001结果通道结果通道 0 0 0 0 0 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 0 0 1 00 0 0 0第142页/共221页第一百四十二页,共222页。
对本例,如果对本例,如果C=#0023,即对,即对3个数字个数字(shùzì)译码,译码,第第3个被译码的是源通道的第个被译码的是源通道的第1位数字位数字(shùzì)第3个个译码结果存放在结果通道译码结果存放在结果通道H002中 H002结果通道结果通道 0 0 0 01 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 0 0 1 00 0 0 0 第第3位位 第第2位位 第第1位位 第第0位位 1 0 0 1 0 1 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 1 1 1 10 1 0 1 W000 源通道源通道 H000结果通道结果通道 0 0 0 0 0 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 1 0 0 00 0 0 0 H001结果通道结果通道 0 0 0 0 0 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 0 0 1 00 0 0 0第143页/共221页第一百四十三页,共222页。
①① 执行执行(zhíxíng)一次指令,最多只能对一次指令,最多只能对4个数字个数字译码例如例如(lìrú)设设C=#0023时,结果首通道设为时,结果首通道设为H510;; 设设C=#0042 等,都是错误的等,都是错误的 使用使用(shǐyòng)译码指令译码指令MLPX 时需注时需注意意②② 结果通道不能超过其所在区域结果通道不能超过其所在区域第144页/共221页第一百四十四页,共222页 3. 16 → 4 编码编码(biān mǎ)指令指令DMPX/@ DMPXDMPX (77) S D C@ DMPX(77) S D C DMPX (77) S D C @DMPX(77) S D C S:源首通道:源首通道(tōngdào) C:控制数据:控制数据 D :结果通:结果通道道(tōngdào)C的含义的含义(hányì)D中接收编码的第一个数字位中接收编码的第一个数字位固定为固定为0C 数字数字3数字数字2数字数字1数字数字0 被编码的源通道数被编码的源通道数0→ 1个个 1→2个个2→ 3个个 3→4个个第145页/共221页第一百四十五页,共222页。
当执行条件为当执行条件为ON时,根据时,根据C的内容,对以的内容,对以S为首为首(wéishǒu)通通道的几个通道进行编码,并将结果存放在道的几个通道进行编码,并将结果存放在D中指令指令(zhǐlìng)功功能能编码方法编码方法①① 由由C确定被编码确定被编码(biān mǎ)的通的通道数;道数;②② 将被编码通道中为将被编码通道中为ON的最高位的位号编为一个十六进的最高位的位号编为一个十六进制数;制数;③③ 将该十六进制数送到将该十六进制数送到D指定(由指定(由C指定)的数字位指定)的数字位第146页/共221页第一百四十六页,共222页使用编码使用编码(biān mǎ)指令指令DMPX举例举例@MOV # 0013 W0000.00@DMPX H000 D00000 W000LD 0.00@ MOV (21) # 0013 220@ DMPX (77) H000 D00000 220写语句写语句(yǔjù)表、分析程序功表、分析程序功能能源首通道源首通道H000控制字控制字 C=#0013结果通道结果通道D00000C=#0013从从D的数字位的数字位3 开始存放开始存放(cúnfàng)结果结果对对2个通道进行编码个通道进行编码H000和和H001对两个通道编码,源通道对两个通道编码,源通道 应为应为第147页/共221页第一百四十七页,共222页。
设源通道设源通道(tōngdào)H000中内容中内容为为A8E7((1010 1000 1110 0111))H000中为中为1的最高位的位号是的最高位的位号是15——十六进制十六进制(shí liù jìn zhì)编码编码F将编码将编码F放在结果通道放在结果通道(tōngdào)D00000的第的第3位数字位上位数字位上设源通道设源通道H001中内容为中内容为01BF((0000 0001 1011 1111))H001中为中为1的最高位的位号是的最高位的位号是8——十六进制编码十六进制编码8将编码将编码8 放在结果通道放在结果通道D00000的第的第0 位数字位上位数字位上 (续)编码的原理(续)编码的原理源首通道源首通道 H000控制字控制字 C=#0013结果通道结果通道D00000第148页/共221页第一百四十八页,共222页第第1个个第第2个个第第3个个C= # 0030第第4个个第第1个个 0 1 2 3D S S+1 S+2 S+3SC= # 0031 结果的存放结果的存放(cúnfàng)顺序顺序存放存放(cúnfàng)(cúnfàng)编码结果的位号编码结果的位号要连续要连续如:如:1 →→ 2 →→3 →→0 3 → →0 →→1 →→2 2 → →3 →→0 →→1 等等第第4个个 0 1 2 3D S S+1 S+2 S+3S第149页/共221页第一百四十九页,共222页。
第第3位位 第第2位位 第第1位位 第第0位位 1 0 0 0 1 0 1 0215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 1 1 1 00 1 1 1 H000 源通道源通道 H001 源通道源通道 0 0 0 1 0 0 0 0215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 1 0 1 11 1 1 1D00000结果通道结果通道 1 1 1 1215 214 213 212 211 210 29 2823 22 21 20 27 26 25 24 1 0 0 0 原通道与编码原通道与编码(biān mǎ)结果的对应关系结果的对应关系若若C=#0023(对对3个源通道个源通道(tōngdào)编码编码),第,第3个被编码的源通道个被编码的源通道(tōngdào)应是应是H002,第,第3个编码结果应放在个编码结果应放在D00000的数字位的数字位1上。
上 第150页/共221页第一百五十页,共222页①① 源通道源通道(tōngdào)不能超过其所在区域不能超过其所在区域例如例如(lìrú)设设C=#0023时,源首通道设为时,源首通道设为H510;; 设设C=#0042 等,都是错误的等,都是错误的 使用使用(shǐyòng)编码指令编码指令DMPX时需时需注意注意②② 源通道不能超过源通道不能超过4个第151页/共221页第一百五十一页,共222页 4. 七段译码指令七段译码指令(zhǐlìng)SDEC/@ SDECSDEC (78) S C D@ SDEC(78) S C D SDEC (78) S C D @SDEC(78) S C D S:源通道:源通道(tōngdào)((BCD)) C:控制数据:控制数据 D :结果:结果首通道首通道(tōngdào)C的含义的含义(hányì)S中第一个要译码的数字位中第一个要译码的数字位固定固定为为0C 数字数字3数字数字2数字数字1数字数字0 被译码的数字位的位数被译码的数字位的位数0→ 1位位 1→2位位2→ 3位位 3→4位位从从D的高的高8位还是低位还是低8位开始存放第一个结果位开始存放第一个结果 0:低:低8位位 1;高;高8位位第152页/共221页第一百五十二页,共222页。
D 低低8 8位位 高高8 8位位 0 1 2 3S 转换后结果转换后结果(jiē guǒ)存放存放顺序顺序D+1 低低8 8位位 高高8 8位位C= # 0 0 3 0从数字从数字(shùzì)位位0开始译码开始译码译码译码4位位数字数字(shùzì)从从D低低8位开位开始存放始存放固定固定为为0第153页/共221页第一百五十三页,共222页D 低低8 8位位 高高8 8位位 0 1 2 3SD+1 低低8 8位位 高高8 8位位C= # 0 1 3 3从数字从数字(shùzì)位位3开开始译码始译码译码译码4位位数字数字(shùzì)从从D高高8位开位开始始(kāishǐ)存放存放固定固定为为0D+2 低低8 8位位 高高8 8位位注意:注意: 对对4个数字译码占用了三个通道!个数字译码占用了三个通道!第154页/共221页第一百五十四页,共222页当执行条件为当执行条件为ON时,根据时,根据C的内容,对的内容,对S进行进行(jìnxíng)译码,并将结果存放中译码,并将结果存放中D中 指令指令(zhǐlìng)SDEC的的功能功能 译译 码码 方方 法法④④译码结果译码结果(jiē guǒ)存放在以存放在以D为首的几个连续通道中(由为首的几个连续通道中(由C确定是从确定是从D的低的低8位还是高位还是高8位开始存放)。
位开始存放) ①① D中的中的bit00~~06及及bit08~~14分别对应数码管的分别对应数码管的a、、b、、c、、d、、e、、f、、g段 bit07和和bit15不用②② bit00~~06及及bit08~~14若为若为1,对应数码管的段发光对应数码管的段发光③③ 根据被译码数字位的数值,确定根据被译码数字位的数值,确定 bit00~~06及及bit08~~14哪个位为哪个位为1第155页/共221页第一百五十五页,共222页使用使用(shǐyòng)译码指令译码指令SDEC举例举例@MOV # 1673 H0000.00@SDEC H000 #0013 H001LD 0.00@ MOV (21) # 1673 HR00@ SDEC(78) HR00 # 0013 HR01写语句写语句(yǔjù)表、分析程序功表、分析程序功能能源源 通通 道道 H000控制字控制字 C=#0013结果首通道结果首通道 H001C=#0013D中第一个要译码的数字中第一个要译码的数字(shùzì)位位对对2个数字位进行译码个数字位进行译码从从D的低的低8位开始存放结果位开始存放结果译码数字位译码数字位3→0需占用一个结果通道需占用一个结果通道 H000::1673第156页/共221页第一百五十六页,共222页。
设源通道设源通道(tōngdào)H000中内容为中内容为1673((BCD))源通道源通道(tōngdào)中第中第3位数字是位数字是1→对应对应 b、、c 段应该是段应该是1;; (续)译码的原理(续)译码的原理(yuánlǐ)第一个译码结果要存放在结果通道的低第一个译码结果要存放在结果通道的低8位,所以位,所以H001的低的低8位是位是0000 0110((bit7固定为固定为0););源通道中第源通道中第0位数字是位数字是3→对应对应 a、、 b、、 c、、d、、g段是段是1;;第第二二个个译译码码结结果果要要存存放放在在结结果果通通道道的的高高8位位,,所所以以H001的的高高8位是位是0100 1111((bit15固定为固定为0)源通道数字与译码结果通道的对应关系如下页图源通道数字与译码结果通道的对应关系如下页图abcdefgabcdg b c第157页/共221页第一百五十七页,共222页 (续)源通道数字与译码结果(续)源通道数字与译码结果(jiē guǒ)通道的对通道的对应关系应关系abcdefg 0 1 1 00 0 0 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 1 1 10 0 1 1 H000 源通道源通道 d g ×b a ef c d g ×b a ef c 1 1 1 10 1 0 0215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 0 00 1 1 0 H001 结果通道结果通道 b cabcdg 1 6 7 3第158页/共221页第一百五十八页,共222页。
本本例例中中,,若若C=#0113时时,,也也是是对对2个个数数字字译译码码,,若若第第一一个个结结果果从从高高8位位开开始始存存放放,,则则需需要要两两个个(liǎnɡ ɡè)结结果果通道第第一一个个译译码码结结果果(jiē guǒ)存存在在H001的的高高8位位,,第第二二个个译译码码结结果果(jiē guǒ)存在存在H002的低的低8位①① 执行一次指令执行一次指令(zhǐlìng),最多只能对,最多只能对4个数字译码;个数字译码;例如:设例如:设 C=#0023时,结果首通道设为时,结果首通道设为H510;; 设设 C=#0042 等,都是错误的等,都是错误的 注意注意②② 结果通道不能超过其所在区域结果通道不能超过其所在区域第159页/共221页第一百五十九页,共222页 5. ASCII码转换码转换(zhuǎnhuàn)指令指令ASC/@ ASCASII (86) S C D@ ASC (86) S C D ASC (86) S C D @ASC(86) S C D S:源通道:源通道(tōngdào) C:控制数据:控制数据 D :结果首:结果首通道通道(tōngdào)C的含义的含义(hányì)S中第一个被转换的数字位中第一个被转换的数字位校验校验0:无校验:无校验1:偶校验:偶校验2:奇校验:奇校验C 数字数字3数字数字2数字数字1数字数字0 被转换的数字位的位数被转换的数字位的位数0→ 1位位 1→2位位2→ 3位位 3→4位位从从D的高的高8位还是低位还是低8位开始存放第一个结果位开始存放第一个结果 0:低:低8位位 1;高;高8位位第160页/共221页第一百六十页,共222页。
当执行条件为当执行条件为ON时,根据时,根据C的内容,将的内容,将S中指定的数字转中指定的数字转换成换成ASCII码,并将结果码,并将结果(jiē guǒ)存放在存放在D中 指令指令(zhǐlìng)功能功能 关于关于(guānyú)校校验位验位④④ 若设置偶校验,则校验位与若设置偶校验,则校验位与ASCII码中的码中的1的总数应为偶的总数应为偶数,否则数,否则bit07和和bit15为为1①① 结果通道的结果通道的bit00~~06及及bit08~~14存放结果存放结果bit07和和bit15是校验位是校验位②② 若设置不校验,则若设置不校验,则bit07和和bit15为为0③③ 若设置奇校验,则校验位与若设置奇校验,则校验位与ASCII码中的码中的1的总数应为的总数应为奇数,否则奇数,否则bit07和和bit15为为1;;第161页/共221页第一百六十一页,共222页 转换方法转换方法 由由C来确定,是从来确定,是从D的低的低8位、还是位、还是(hái shi)高高8位开始存放位开始存放 ①① 确定源通道确定源通道(tōngdào)中欲转换的第一个数字及数字个中欲转换的第一个数字及数字个数数 。
③③ 根据根据C中中bit08~~11的规定,按顺序的规定,按顺序(shùnxù)存放结果存放结果④④ 根据根据C中校验的规定,确定中校验的规定,确定 bit07和和bit15的状态②②查查ASCII码表,对源通道中欲转换的数字进行转换码表,对源通道中欲转换的数字进行转换 第162页/共221页第一百六十二页,共222页 执行执行ASC指令指令(zhǐlìng)的几种情况的几种情况 0 0 0 10 1 0 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 1 11 1 0 1 S 源通道源通道C= # 0 0 1 13331从数字从数字(shùzì)位位1开始转换开始转换转换转换(zhuǎnhuàn)2位位数字数字从从D低低8位位开始存放开始存放无校验无校验 0 0 0 10 0 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 1 10 0 1 1 D 结果通道结果通道第163页/共221页第一百六十三页,共222页。
0 1 0 10 1 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 0 10 0 1 1 S 源通道源通道C= # 1 0 1 03331从数字从数字(shùzì)位位0开始转换开始转换转换转换(zhuǎnhuàn)2位数字位数字从从D低低8位开位开始始(kāishǐ)存放存放偶校验偶校验 0 0 0 11 0 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 1 10 0 1 1 D 结果通道结果通道第164页/共221页第一百六十四页,共222页 0 1 0 10 1 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 0 10 0 1 1 S 源通道源通道C= # 2 0 1 03331从数字位从数字位0开开始始(kāishǐ)转换转换转换转换(zhuǎnhuàn)2位位数字数字从从D低低8位位开始开始(kāishǐ)存存放放奇校验奇校验 0 0 0 10 0 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 1 0 1 10 0 1 1 D 结果通道结果通道第165页/共221页第一百六十五页,共222页。
0 1 0 10 1 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 0 10 0 1 1 S 源通道源通道C= # 2 1 1 03331从数字从数字(shùzì)位位0开始转换开始转换转换转换(zhuǎnhuàn)2位数字位数字从从D高高8位位开始开始(kāishǐ)存放存放奇校验奇校验 0 0 1 11 0 1 1215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 D 结果通道结果通道 215 214 213 212 211 210 29 2823 22 21 2027 26 25 24 0 0 1 10 0 0 1 D+1 结果通道结果通道第166页/共221页第一百六十六页,共222页 6. ASCII转换转换(zhuǎnhuàn)HEX指令指令HEX(162)HEX (162) S C D@ HEX (163) S C D HEX (162) S C D @HEX(162) S C D S:源通道:源通道(tōngdào) C:控制数据:控制数据 D :结果首通道:结果首通道(tōngdào)C的含义的含义(hányì)S中第一个被转换的数字位中第一个被转换的数字位校验校验0:无校验:无校验1:偶校验:偶校验2:奇校验:奇校验C 数字数字3数字数字2数字数字1数字数字0 被转换的数字位的位数被转换的数字位的位数0→ 1位位 1→2位位2→ 3位位 3→4位位ASCII码转换的开始位置码转换的开始位置 0:低:低8位位 1;高;高8位位第167页/共221页第一百六十七页,共222页。
数据转换数据转换(zhuǎnhuàn)指令小结指令小结1. 根据所作的操作(数制转换、编根据所作的操作(数制转换、编/译码),正确译码),正确(zhèngquè)选择指令选择指令2. 编码编码(DMPX)与译码与译码(MLPX)是互为逆操作是互为逆操作(cāozuò)的指令其操作的指令其操作(cāozuò)数较烦琐,要抓住数较烦琐,要抓住它们的对偶关系来记忆指令的操作它们的对偶关系来记忆指令的操作(cāozuò)数要确保操作保操作(cāozuò)数设置正确数设置正确3. 七段译码指令七段译码指令(ASC)的执行结果对应数码管的的执行结果对应数码管的a~g段注意其结果的存放方法注意其结果的存放方法5. 注意执行各种指令对标志位的影响注意执行各种指令对标志位的影响4. 注意注意ASCII码转换指令码转换指令(ASC)执行结果的存放方法执行结果的存放方法及不同校验方式时及不同校验方式时bit07和和bit15的状态第168页/共221页第一百六十八页,共222页 3.9 数据运算数据运算(yùn suàn)指令指令十进制运算十进制运算(yùn suàn)指令指令二进制运算二进制运算(yùn suàn)指令指令逻辑运算指令逻辑运算指令递增递减运算指令递增递减运算指令第169页/共221页第一百六十九页,共222页。
递增递减运算递增递减运算(yùn suàn)指指令令INC/DEC二进制递增二进制递增(dìzēng)递减运算指令递减运算指令双字递增双字递增(dìzēng)递减运算指令递减运算指令BCD递增递减运算指令递增递减运算指令第170页/共221页第一百七十页,共222页 INC/DEC 递增递增(dìzēng)/递减指令:递减指令: INC(38) @ INC(38)执行一次指令,将通道数据递增执行一次指令,将通道数据递增1 DEC(39) @ DEC(39)执行一次指令,将通道数据递减执行一次指令,将通道数据递减1 单字单字BCD码码 递增递增/递减递减(dìjiǎn)指令第171页/共221页第一百七十一页,共222页•++B:BCD码递增指令(zhǐlìng)•++BL:双字BCD码递增指令(zhǐlìng)•--B:BCD码减增指令(zhǐlìng)•--BL:双字BCD码递减指令(zhǐlìng)•++:二进制递增指令(zhǐlìng)•++L:双字二进制递增指令(zhǐlìng)•--:二进制递减指令(zhǐlìng)。
•--L:双字二进制递减指令(zhǐlìng)第172页/共221页第一百七十二页,共222页十进制运算十进制运算(yùn suàn)类指类指令令十进制加法运算十进制加法运算(yùn suàn)指令指令十进制乘法运算十进制乘法运算(yùn suàn)指令指令十进制除法运算指令十进制除法运算指令十进制减法运算指令十进制减法运算指令第173页/共221页第一百七十三页,共222页使用运算指令时涉及使用运算指令时涉及(shèjí)CY,关于,关于CY的指的指令:令: STC(40) @ STC(40)当执行条件当执行条件ON时,将时,将25504(CY)置置1 CLC(41) @CLC(41)当执行条件当执行条件ON时,将时,将25504(CY)置置0第174页/共221页第一百七十四页,共222页 几种几种(jǐ zhǒnɡ)十进制运算指令十进制运算指令-BS1S2 D-BC S1 S2 D当执行条件当执行条件ON时,将时,将S1 减去减去 S2 ((-BC指令减指令减CY),结果存入),结果存入D。
BS1S2 D*BLS1S2D当执行条件当执行条件ON时,将时,将S1与与S2相乘,相乘,((*BL双字乘)结果存入从双字乘)结果存入从D开始的开始的结果通道中结果通道中/BS1S2 D /BL S1 S2 D当执行条件当执行条件ON时,时, 用用S1除以除以S2,,((/BL双字除)结果商和余数存入双字除)结果商和余数存入D开始的结果通道中开始的结果通道中B S1 S2D当执行条件当执行条件ON时,将时,将S1、、 S2相加相加((+BC指令加指令加CY),结果存入),结果存入DBC S1 S2D第175页/共221页第一百七十五页,共222页 1. 十进制加法运算指令十进制加法运算指令(zhǐlìng)举例举例 TIM0000 D0010TIM0001 # 0600100.00.00 T0001T0000 CLC (41) 0.00 T0001 +B D0010 # 0300 D0010CMP(20) # 0900D0010MOV(21) # 0300 D0010P_GT 分析程序功能分析程序功能(gōngnéng)当当0.00及及T0001 ON(一个一个(yī ɡè)扫描周期扫描周期)时时:①① 执行指令执行指令CLC将将CY清零清零;②② 执行指令执行指令+B将将D0010 (已预先写已预先写入入0300)加上加上#0300; ③③ 执行指令执行指令CMP将将#0900与与D0010比较比较 ; D0010中的数据每加中的数据每加#0300,,T0000的设定值增加的设定值增加30秒。
秒第176页/共221页第一百七十六页,共222页再次将再次将#0300传送传送(chuán sònɡ)到到D0010,,TIM0000设定值恢复为设定值恢复为30秒④④若若D0010 大于大于#0900,执行,执行(zhíxíng)指令指令MOV ,再将,再将#0300传传送到送到D0010中⑤⑤TIM0000设定值是变化设定值是变化(biànhuà)的,的, TIM0001的设定的设定值是固定的值是固定的TIM0001控制控制100.0ON时间、时间、 TIM0000控制控制100.0 OFF时间时间 100.0 ON的时间总是的时间总是60秒;秒;100.0 OFF的时间从的时间从 30秒起依次增秒起依次增加加30秒秒(不超过不超过90秒秒) TIM0000 D0010TIM0001 # 0600100.00.00 T0001T0000 CLC (41) 0.00 T0001 +B D0010 # 0300 D0010CMP(20) # 0900D0010MOV(21) # 0300 D0010P_GT第177页/共221页第一百七十七页,共222页。
100.0 ON 60秒← 100.0 OFF 90秒←100.0 ON 60秒0.00 ON→100.0 OFF 30秒→100.0 ON 60秒→100.0 OFF 60秒↑ ↓该该段段程程序序对对100.0实实现现了了循循环环间间歇歇(jiàn xiē)OFF、、ON的控制程序实现的控制如下:的控制程序实现的控制如下:TIM0定定时时(dìnɡ shí)30sTIM1定定时时(dìnɡ shí)60sTIM0定定时时60sTIM1定定时时60sTIM0定定时时90sTIM1定定时时60s第178页/共221页第一百七十八页,共222页 二进制运算二进制运算(yùn suàn)指令指令二进制加法二进制加法(jiāfǎ)运算指令运算指令二进制乘法运算二进制乘法运算(yùn suàn)指令指令二进制除法运算指令二进制除法运算指令二进制减法运算指令二进制减法运算指令第179页/共221页第一百七十九页,共222页 几种几种(jǐ zhǒnɡ)二进制运算指令二进制运算指令-S1S2 D-C S1 S2 D当执行条件当执行条件ON时,将时,将S1 减去减去 S2 ((-C指令减指令减CY),结果存入),结果存入D。
S1S2 D*LS1S2D当执行条件当执行条件ON时,将时,将S1与与S2相乘,相乘,((*L双字乘)结果存入从双字乘)结果存入从D开始的结开始的结果通道中果通道中/S1S2 D /L S1 S2 D当执行条件当执行条件ON时,时, 用用S1除以除以S2,,((/L双字除)结果商和余数存入双字除)结果商和余数存入D开开始的结果通道中始的结果通道中 S1 S2D当执行条件当执行条件ON时,将时,将S1、、 S2相加相加((+C指令加指令加CY),结果存入),结果存入DC S1 S2D第180页/共221页第一百八十页,共222页 逻辑运算类指令逻辑运算类指令(zhǐlìng)逻辑与逻辑与/或运算或运算(yùn suàn)指令指令逻逻 辑辑 求求 反反 指指 令令逻辑同或运算逻辑同或运算(yùn suàn)指令指令逻辑异或运算指令逻辑异或运算指令第181页/共221页第一百八十一页,共222页 几种几种(jǐ zhǒnɡ)逻辑运算指令逻辑运算指令的功能的功能 ANDW(34) S1 S2 D @ ANDW (34) S1 S2 D当执行条件当执行条件ON时,将输入数据时,将输入数据S1 和和 S2进行逻辑与,结果存入进行逻辑与,结果存入D中。
中 ODW (35) S1 S2 D @ ORW (35) S1 S2 D当执行条件当执行条件ON时,将输入数据时,将输入数据S1 和和 S2进行逻辑或,结果存入进行逻辑或,结果存入D中 COM(29) D @COM(29) D当执行条件当执行条件ON时,将时,将D通道内的数通道内的数据取逻辑反,结果存入据取逻辑反,结果存入D中第182页/共221页第一百八十二页,共222页 几种几种(jǐ zhǒnɡ)逻辑运算指令逻辑运算指令的功能的功能 XORW(36) S1 S2 D @ XORW(36) S1 S2 D当执行条件当执行条件ON时,将输入数据时,将输入数据S1 和和 S2进行逻辑异或,结果存入进行逻辑异或,结果存入D中 XNRW(37) S1 S2 D @ XNRW(37) S1 S2 D当执行条件当执行条件ON时,将输入数据时,将输入数据S1 和和 S2进行逻辑同或,结果存入进行逻辑同或,结果存入D中。
中第183页/共221页第一百八十三页,共222页 分分析析执执行行(zhíxíng)逻逻辑辑运运算的结果算的结果 @ORW D00000 # 0073 D00001 @BSET # 0000 D00000 D00004 @ANDW # 008F # 0081 D000000.00 0.010.01 0.00@XORW D00000 D00001 D00002清零清零(qīnɡ línɡ)逻辑逻辑(luó jí)与与逻辑或逻辑或逻辑异或逻辑异或 逻辑运算指令举例逻辑运算指令举例#008F 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1#0081D00000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1字逻辑与字逻辑与D00000D00001D00002 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0字逻辑异或字逻辑异或D00001 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1D00000#0073 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1字逻辑或字逻辑或第184页/共221页第一百八十四页,共222页。
逻辑运算指令逻辑运算指令(zhǐlìng)的的用途用途((1)用逻辑)用逻辑(luó jí)指令完成逻辑指令完成逻辑(luó jí)运算运算((2)用逻辑指令进行通道)用逻辑指令进行通道(tōngdào)清零清零((3)用逻辑指令将通道中的某些位屏蔽)用逻辑指令将通道中的某些位屏蔽例如,欲保留例如,欲保留H000中的中的bit0、、bit3、、bit4、、bit7、、bit10的状态而屏蔽其余位的状态的状态而屏蔽其余位的状态可用可用#0499与与H000进行逻辑与运算来实现进行逻辑与运算来实现 (( #0499::0000 0100 1001 1001))第185页/共221页第一百八十五页,共222页 3.10 过程过程(guòchéng)控控制类指令制类指令限位指令限位指令(zhǐlìng)LMT标度标度(biāo dù)指令指令SCL平均值指令平均值指令AVGPID运算指令运算指令PID第186页/共221页第一百八十六页,共222页 1. PID运算运算(yùn suàn)指令指令PID(190)PID (190) S C D测量输入测量输入(shūrù)通道通道PID(190) S C D功能功能(gōngnéng)当执行条件为当执行条件为ON时,时, 按采样周期间隔执行,将按采样周期间隔执行,将S通道的二通道的二进制数据按照进制数据按照C设定参数进行设定参数进行PID运算,将运算结果存运算,将运算结果存放到输出通道中。
放到输出通道中PID指令修改标志位:指令修改标志位:P_CY,,P_GT,,P_LTPID参数首通道参数首通道操作量输出通道操作量输出通道第187页/共221页第一百八十七页,共222页通道通道15~12位位11~8位位7~4位位3~0位位C设定值(设定值(SV ))C+1比例带(比例带(P))C+2积分常数(积分常数(TiK),), TiK=积分时间(积分时间(Ti))/采样周期采样周期C+3微分常数(微分常数(TdK),), TdK=微分时间(微分时间(Td))/采样周期采样周期C+4采样周期采样周期C+52-PID参数参数ααC+6是否操作量是否操作量限值限值输入范围输入范围微分微分/积分常积分常数单位数单位输出范围输出范围C+7操作量下限值操作量下限值C+8操作量上限值操作量上限值C+9~C+38工作区域(工作区域(30个通道不能被用户使用)个通道不能被用户使用)PID指令指令(zhǐlìng)参数表参数表第188页/共221页第一百八十八页,共222页•源数据位于上下(shàngxià)限值之间时,输出源数据;•源数据<下限值,输出下限值;•源数据>上限值,输出上限值 2. 限位指令限位指令(zhǐlìng)LMT(680)D上限下限S0第189页/共221页第一百八十九页,共222页。
2. 限位指令限位指令(zhǐlìng)LMT(680)LMT (680) S C D源数据源数据(shùjù)LMT(680) S C DC:下限值数据:下限值数据(shùjù) C+1:上限值数据:上限值数据(shùjù) C+1
C+1时,时,P_GT置位S 出到指定通道参数首通道参数首通道结果通道结果通道第191页/共221页第一百九十一页,共222页转换转换(zhuǎnhuàn)公式:公式:D=Bd-((Bd-Ad))/ ((Bs-As))×((Bs-Cs))由A、B确定(quèdìng)的一次函数S(无符号二进制数)0ASBSAdBdABCCsCs就是输入通道就是输入通道(tōngdào)的数据的数据DD(无符号BCD码)第192页/共221页第一百九十二页,共222页参数参数(cānshù)通道:通道:C::Ad值(值(BCD码码0~9999))C+1::As值(十六进制值(十六进制(shí liù jìn zhì)0~FFFF))C+2::Bd值(值(BCD码码0~9999))C+1::Bs值(十六进制值(十六进制(shí liù jìn zhì)0~FFFF))第193页/共221页第一百九十三页,共222页 4. 标度标度(biāo dù)2指令指令SCL2 (486)SCL2 (486) S C D源通道源通道(tōngdào)SCL2 S C D功能功能(gōngnéng)当执行条件为当执行条件为ON时,时, 将带符号的二进制数按照控制数据将带符号的二进制数按照控制数据设定的一次函数转换为对应的带符号设定的一次函数转换为对应的带符号BCD码,并将结果输码,并将结果输出到指定通道。
出到指定通道参数首通道参数首通道结果通道结果通道第194页/共221页第一百九十四页,共222页公式公式(gōngshì):偏移量:偏移量=((Ad ×Bs - As ×Bd))/ (( Ad - Bd))CCs参数参数(cānshù)通道:通道:C:偏移量;:偏移量;C+1::△△X;;C+2::△△YS(有符号二进制数)0A(As,Ad)BS偏移BdB△ △X△ △YD(有符号BCD码)第195页/共221页第一百九十五页,共222页 5. 标度标度(biāo dù)3指令指令SCL3(487)SCL3 (487) S C D源通道源通道(tōngdào)SCL3 S C D功能功能(gōngnéng)当执行条件为当执行条件为ON时,时, 将带符号的将带符号的BCD码按照设定参数码按照设定参数(斜率和偏移量)所确定的一次函数转换为对应的带符(斜率和偏移量)所确定的一次函数转换为对应的带符号二进制数,并将结果输出到指定通道号二进制数,并将结果输出到指定通道参数首通道参数首通道结果通道结果通道第196页/共221页第一百九十六页,共222页。
公式公式(gōngshì):偏移量:偏移量=((Ad ×Bs - As ×Bd))/ (( Bs - As))S(有符号(fúhào)BCD码)0A(As,Ad)BS偏移(piān yí)BdBCCs参数通道:参数通道:C:偏移量;:偏移量;C+1::△△X;;C+2::△△Y;;C+3转换转换最大值;最大值;C+4:转换最小值转换最小值△ △X△ △YD(有符号二进制数)第197页/共221页第一百九十七页,共222页 6. 平均值指令平均值指令(zhǐlìng)AVG(195)AVG (195) S N D源通道源通道(tōngdào)AVG(195) S C D功能功能(gōngnéng)当执行条件为当执行条件为ON时,开始时,开始N-1次循环,将次循环,将S的数据写入的数据写入D每次执行一次每次执行一次AVG指令,它就将指令,它就将S的先前值依次存入到的先前值依次存入到D+2~D+N-1的连续通道中,最后求取平均值的连续通道中,最后求取平均值循环数通道循环数通道目标首通道目标首通道N::1~0040H((1~64));D+1:作业数据,系统占用。
作业数据,系统占用D+2~D+N-1:求平均值的数据暂存区求平均值的数据暂存区第198页/共221页第一百九十八页,共222页 3.11 高速计数高速计数/脉冲输出脉冲输出(shūchū)指令指令脉冲量设置脉冲量设置(shèzhì)指令指令PULS动作动作(dòngzuò)模式控制指令模式控制指令INI读取脉冲数指令读取脉冲数指令PRV频率设定指令频率设定指令SPED比较表登陆指令比较表登陆指令CTBL第199页/共221页第一百九十九页,共222页CP1H系列系列(xìliè)PLC(晶体管输出)的集成脉冲输出(晶体管输出)的集成脉冲输出功能 输出的脉冲输出的脉冲(màichōng)可设置成两类:独立模式和连续可设置成两类:独立模式和连续模式 输出脉冲的模式输出脉冲的模式(móshì)和频率要用控制指令来设定和频率要用控制指令来设定脉冲输出功能概述脉冲输出功能概述 输出脉冲的模式有:输出脉冲的模式有:100kHz脉冲脉冲2轴;轴;30kHz脉冲两轴;脉冲两轴;PWM脉冲输出脉冲输出2点第200页/共221页第二百页,共222页 脉冲输出脉冲输出(shūchū)功能的应用功能的应用第201页/共221页第二百零一页,共222页。
CP1H系列系列PLC设置了高频脉冲输入点,配合设置了高频脉冲输入点,配合(pèihé)相关指令及必要的设定,可以对高频相关指令及必要的设定,可以对高频脉冲进行处理脉冲进行处理 可以用高速计数器对高频脉冲可以用高速计数器对高频脉冲(màichōng)进进行计数 可以用高速计数器实现中断可以用高速计数器实现中断(zhōngduàn)处理高速计数器概述高速计数器概述 CP1HX/XA系列系列PLC内部集成内部集成4个高速计数个高速计数器,占用输入点是器,占用输入点是0.00~0.12第202页/共221页第二百零二页,共222页高频脉冲高频脉冲(màichōng)可来源于控制现场,也可由旋转编码可来源于控制现场,也可由旋转编码器提供 旋旋 转转 编编 码码 器器 一一种种旋旋转转(xuánzhuǎn)编编码码器器与与PLC的的连连接接示示意图意图0.100.110.12CP1H PLCCOM- -DC24V +A相相B相相Z相相COM旋旋转转(xuánzhuǎn)编码器编码器第203页/共221页第二百零三页,共222页两两 相相脉脉 冲冲(màichōng)单单 相相(dān xiānɡ)脉冲脉冲计数脉冲计数脉冲 1 2 3 4递增计数脉冲递增计数脉冲递减计数脉冲递减计数脉冲A相相B相相 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 各各种种脉脉冲冲信信号号(xìnhào)的的波波形形A超前超前BA滞后滞后B第204页/共221页第二百零四页,共222页。
高频脉冲由高频脉冲由PLC的高速计数输入的高速计数输入(shūrù)点输入点输入(shūrù),,在输入在输入(shūrù)计数脉冲的前沿,高速计数器的当前值加计数脉冲的前沿,高速计数器的当前值加1 (1) 递增递增(dìzēng)计数模计数模式式 (2) 增减计数增减计数(jì shù)模式模式在增减计数时可使用旋转编码器旋转编码器在增减计数时可使用旋转编码器旋转编码器A 相脉冲输相脉冲输入,入,B 相脉冲输入,复位相脉冲输入,复位Z信号对应接信号对应接PLC相关输入点相关输入点当当A相超前相超前B相相90°时,在时,在A、、B相脉冲的前沿,计数器的相脉冲的前沿,计数器的当前值加当前值加1当B相超前相超前A相相90°时,在时,在A、、B相脉冲的前相脉冲的前沿,计数器的当前值减沿,计数器的当前值减1第205页/共221页第二百零五页,共222页功能:在执行条件为功能:在执行条件为ON时,设定时,设定(shè dìnɡ)脉冲的输出脉冲的输出点、输出模式及脉冲频率点、输出模式及脉冲频率 C1:端口设定::端口设定:0000~0003→ 对应对应0#~3#脉冲脉冲(màichōng)输出输出 C2:模式设定:模式设定(shè dìnɡ):独立模式:独立模式/连续模式;方向设定连续模式;方向设定(shè dìnɡ) S:频率设定:取值范围:频率设定:取值范围0~100kHz ((0~186A0H)) 1. 频率设定指令频率设定指令SPED(885) C1 C2 S@SPED(885) C1 C2 S SPED(885) C1 C2 S@SPED(885) C1 C2 S第206页/共221页第二百零六页,共222页。
0:连续:连续(liánxù)模式;模式;1:独:独立模式立模式固定固定(gùdìng)C2 数字数字3数字数字2数字数字1数字数字0 0:顺时针方向:顺时针方向(fāngxiàng);;1逆时针方向逆时针方向(fāngxiàng)脉冲脉冲+方向输出方向输出 0::CW/CCW方式方式 1;脉冲输出方式;脉冲输出方式 C2:模式设定:独立模式:模式设定:独立模式/连续模式;方向设定连续模式;方向设定 CW/CCW方式:两个脉冲输出端分别为顺时针脉冲方式:两个脉冲输出端分别为顺时针脉冲和逆时针脉冲和逆时针脉冲 脉冲输出方式:两个脉冲输出端分别为脉冲输出端和确定脉冲输出方式:两个脉冲输出端分别为脉冲输出端和确定方向端第207页/共221页第二百零七页,共222页S:输出脉冲:输出脉冲(màichōng)数量的首通道数量的首通道(S低低4位、位、S+1高高4位位)功能:在执行条件为功能:在执行条件为ON时,设定时,设定(shè dìnɡ)独立模式脉独立模式脉冲输出的脉冲个数冲输出的脉冲个数2. 脉冲量设置脉冲量设置(shèzhì)指令指令PULS(886)PULS(886) C1 C2 S@PULS(886) C1 C2 S PULS C1 C2 S @PULS C1 C2 SC1:端口指定(功能同:端口指定(功能同SPED))C2:模式设定:模式设定( 相对脉冲、绝对脉冲相对脉冲、绝对脉冲)第208页/共221页第二百零八页,共222页。
C2:模式设定:模式设定0000H:相对脉冲:相对脉冲0001H :绝对:绝对(juéduì)脉冲脉冲相对脉冲:移动脉冲量相对脉冲:移动脉冲量=脉冲输出量的设定值脉冲输出量的设定值绝对绝对(juéduì)脉冲:移动脉冲量脉冲:移动脉冲量=脉冲输出量的设定值脉冲输出量的设定值-当前值当前值S:输出脉冲数量的首通道:输出脉冲数量的首通道(tōngdào)相对脉冲:设定值相对脉冲:设定值0~7FFFFFFFH(0~2147483647)绝对脉冲:设定值绝对脉冲:设定值80000000~7FFFFFFFH(-2147483648~2147483647) 第209页/共221页第二百零九页,共222页 使用脉冲输出使用脉冲输出(shūchū)指令举例指令举例 @SPED#0001#0000# 0500 @PULS#0000DM100#00000.05 独独立立输输出出(shūchū)模式模式脉冲脉冲(màichōng)个数个数独立模式、独立模式、CW方向方向脉冲频率脉冲频率500Hz当当0.05 OFF→ON时,执行时,执行@PULS指令设置输出脉冲的指令设置输出脉冲的个数,执行个数,执行@SPED指令启动脉冲输出,从指令启动脉冲输出,从0#脉冲输出脉冲输出500Hz的脉冲信号。
的脉冲信号 程序功能程序功能对独立模式,对独立模式,当输出脉冲当输出脉冲达到设定个达到设定个数时,能自数时,能自动停止脉冲动停止脉冲输出0#脉冲输出脉冲输出相对脉冲相对脉冲0#脉冲输出脉冲输出第210页/共221页第二百一十页,共222页 INI (880) C1 C2 S@ INI (880) C1 C2 S INI(880) C1 C2 S @INI(880) C1 C2 SC1:端口指定:端口指定(zhǐdìng) C2:控制数据:控制数据 S :设定值首通道:设定值首通道功能功能(gōngnéng):: 3.操作操作(cāozuò)模式控制模式控制指令指令1)开始与高速计数器比较表的比较开始与高速计数器比较表的比较2)停止与高速计数器比较表的比较停止与高速计数器比较表的比较3)更新高速计数器的当前值更新高速计数器的当前值4)改变中断输入(计数模式)的当前值改变中断输入(计数模式)的当前值。
5)改变脉冲输出当前值(由)改变脉冲输出当前值(由0确定原点)确定原点)6)停止脉冲输出停止脉冲输出第211页/共221页第二百一十一页,共222页C1:端口设置:端口设置(shèzhì)值值1)0000H~0001H :指定0#~3#脉冲输出2)0010H~0013H:指定0#~3#高速计数器输入3)0100H~ 0107H :0#~7#中断(zhōngduàn)输入(计数模式)4)1000H~1001H:指定0#~1#PWM输出C2:控制数据:控制数据1)0000H:开始比较2)0001H:停止(tíngzhǐ)比较3)0002H:改变当前值4)0003H:停止(tíngzhǐ)脉冲输出输出第212页/共221页第二百一十二页,共222页 使用脉冲输出指令使用脉冲输出指令(zhǐlìng)举例举例 连连续续输输出出(shūchū)模式模式0.060.07 @SPED #0000 #0000 D100 @INI #0000 #0003 0000#0脉冲脉冲(màichōng)输出输出连续模式连续模式500Hz当当0.00 OFF→ON时,执行时,执行@SPED指令,从指令,从0#脉冲输出脉冲输出500 Hz的连续脉冲信号。
的连续脉冲信号当当0.07OFF→ON时,执行时,执行@INI指令停止指令停止0#脉冲输出脉冲输出 停止脉冲输出停止脉冲输出 程序功能程序功能当当SPED指指令的频率设令的频率设为为0000,也,也可以停止脉可以停止脉冲输出0脉冲输出脉冲输出第213页/共221页第二百一十三页,共222页PRV (881) C1 C2 D@ PRV (881) C1 C2 D PRV (881) C1 C2 D @PRV(881) C1 C2 DC1:端口指定:端口指定(zhǐdìng) C2:控制数据:控制数据 D:目的首通道:目的首通道4.读取脉冲数当前读取脉冲数当前(dāngqián)值指令值指令PRV((881))读出的读出的PLC的内置输入输出的数据(高速计数器、脉冲的内置输入输出的数据(高速计数器、脉冲输出和中断输入的当前值;脉冲输出、高速计数器输入输出和中断输入的当前值;脉冲输出、高速计数器输入PWM输出状态信息;区域比较结果输出状态信息;区域比较结果(jiē guǒ);脉冲输;脉冲输出及高速计数的频率),低出及高速计数的频率),低4位放在位放在D,, 高高4位放在位放在D+1中。
中第214页/共221页第二百一十四页,共222页C1:端口设置:端口设置(shèzhì)值值1)0000H~0001H :指定0#~3#脉冲输出2)0010H~0013H:指定0#~3#高速计数器输入(shūrù)3)0100H~ 0107H :0#~7#中断输入(shūrù)(计数模式)4)1000H~1001H:指定0#~1#PWM输出C2:控制数据:控制数据1)0000H:读取当前值2)0001H:读取状态3)0002H:读取区域(qūyù)比较结果4)0003H:读取频率第215页/共221页第二百一十五页,共222页CTBL (882) C1 C2 S@ CTBL (882) C1 C2 S CTBL (882) C1 C2 S @CTBL(882) C1 C2 SC1:端口指定:端口指定 C2:控制数据:控制数据 S :比较:比较(bǐjiào)表首通道表首通道C1的含义的含义(hányì)5.比较比较(bǐjiào)表登录指令表登录指令CTBL(882)0000:0#高速计数器输入。
高速计数器输入0001::1#高速计数器输入高速计数器输入0002::2#高速计数器输入高速计数器输入0003::3#高速计数器输入高速计数器输入第216页/共221页第二百一十六页,共222页C2的含义的含义(hányì)0000:登录一个目标值比较表,并启动比较0001:登录一个区域(qūyù)比较表,并启动比较0002:登录一个目标值比较表,用指令INI启动比较0003:登录一个区域(qūyù)比较表, 用指令INI启动比较S:比较:比较(bǐjiào)表表首通道首通道 高速计数器中断功能有两种模式高速计数器中断功能有两种模式 区域比较中断模式(区域比较表)区域比较中断模式(区域比较表) 目标值比较中断模式(目标值一致比较表)目标值比较中断模式(目标值一致比较表)第217页/共221页第二百一十七页,共222页((1)高速)高速(ɡāo sù)计数器的目标值比较中断计数器的目标值比较中断最多放最多放48个目标个目标(mùbiāo) 采取采取(cǎiqǔ)目标值比较中断时,要建立一个目标值比较表目标值比较中断时,要建立一个目标值比较表目标目标1 1S SS+1S+1S+2S+2S+3S+3S+4S+4S+5S+5S+6S+6目标值的个数目标值的个数目标值目标值1 1低低4 4位位目标值目标值1 1高高4 4位位中断任务号中断任务号目标值目标值2 2低低4 4位位目标值目标值2 2高高4 4位位中断任务号中断任务号目目标标值值比较表比较表…………目标目标2 2在高速计数器计数过程中,若其当前值与比较表中某个在高速计数器计数过程中,若其当前值与比较表中某个目标值相同时,则停止执行主程序而转去执行与该目标目标值相同时,则停止执行主程序而转去执行与该目标值对应的中断任务(值对应的中断任务(0~255;中断子程序)。
中断子程序)表中数据可表中数据可预先写入预先写入中断任务执行完毕,返回到断点处继续执行主程序中断任务执行完毕,返回到断点处继续执行主程序第218页/共221页第二百一十八页,共222页 (2)高速计数器的区域比较高速计数器的区域比较(bǐjiào)中断中断 采取采取(cǎiqǔ)区域比较中断时要建立一个区域比较区域比较中断时要建立一个区域比较表表S SS+1S+1S+2S+2S+3S+3S+4S+4S+5S+5S+6S+6下限值下限值1 1低低4 4位位下限值下限值1 1高高4 4位位上限值上限值1 1低低4 4位位上限值上限值1 1高高4 4位位中断任务号中断任务号下限值下限值2 2低低4 4位位中断任务号中断任务号区区 域域比较表比较表…………下限值下限值2 2高高4 4位位S+7S+7S+8S+8S+9S+9上限值上限值2 2高高4 4位位上限值上限值2 2低低4 4位位区域区域1 1区域区域2 2每个区占每个区占5个通道个通道比较表分比较表分8个区域个区域表中数据表中数据(shùjù)可可预先写入预先写入当实际使用的区域不满当实际使用的区域不满8个时,要把其余存放上、下限个时,要把其余存放上、下限值的通道都置为值的通道都置为0,将存放中断任务号的通道都置为,将存放中断任务号的通道都置为FFFF。
第219页/共221页第二百一十九页,共222页 区域区域(qūyù)比较中断的执行过程比较中断的执行过程若高速计数器的当前值落在比较表中某个区域时(下若高速计数器的当前值落在比较表中某个区域时(下限值限值 ≤计数器计数器PV值值≤上限值)上限值) ,则停止执行主程序而,则停止执行主程序而转去执行与该区域对应的中断转去执行与该区域对应的中断(zhōngduàn)任务中断断(zhōngduàn)任务执行完毕,返回到断点处继续执任务执行完毕,返回到断点处继续执行主程序行主程序第220页/共221页第二百二十页,共222页感谢您的欣赏(xīnshǎng)!第221页/共221页第二百二十一页,共222页内容(nèiróng)总结PLC所使用的各种指令的集合称为PLC的指令系统RESET——将某继电器置为OFF定时器级联使用——SV= SV1+SV2★ 关于接通(jiē tōnɡ)延时ON和接通(jiē tōnɡ)延时OFF的控制CNT0000完成计数100所经历的时间是100秒联锁和联锁清除指令1. BCD码→二进制数转换指令BIN/@BIN源通道(78F5)第3位数字是0111——十进制数7。
源通道第0位数字是0101——十进制数5感谢您的欣赏第二百二十二页,共222页。
•PLC所使用的各种指令的集合称为(chēnɡwéi)PLC的指令系统•各个厂家PLC的编程语言互不兼容•学习的时候要举一反三、触类旁通•本章以CP1H为例,介绍PLC的指令系统•重点介绍梯形图和指令表两种编程语言第1页/共221页第一页,共222页•CP1HPLC的指令系统由基本指令和高级指令组成•基本指令包括(bāokuò):输入、输出、定时、计数•高级指令包括(bāokuò):比较类指令、传送类指令、移位类指令、转换类指令、运算类指令、通信类指令等第2页/共221页第二页,共222页•3.1PLC的编程语言•梯形图语言,简单、形象•IEC1131-3定义了5种PLC编程语言:•梯形图LD•指令表IL•功能块图FBD•结构文本(wénběn)ST•顺序功能图SFC第3页/共221页第三页,共222页•1.梯形图•传统的电气(diànqì)控制系统电路的基础上演变而来的•PLC的第一用户语言•图形符号:常开触点、常闭触点、线圈•常开、常闭条件•执行条件•操作数•逻辑块第4页/共221页第四页,共222页•2.指令(zhǐlìng)表•用助记符表示指令(zhǐlìng)的功能•格式:语句步、操作码、操作数LD 00000OR 10000 AND NOT 00001OUT 1000000000100001000000001梯形图程序梯形图程序(chéngxù) 语句表程语句表程序序(chéngxù) 第5页/共221页第五页,共222页。
•关于操作数的讨论•操作数可以是通道号、继电器号或常数•操作数的个数,取决于各种指令的需要(xūyào)•操作数设为常数时,在数据前面要加#号•操作数采用哪种进制,取决于指令的需要(xūyào)•例如,计数器指令的格式为CNT000•SV•SV:#200、200、@DM200、*DM200等区别第6页/共221页第六页,共222页•指令的微分、非微分形式•微分型:要在指令的助记符前加标记@•如:@MOV#100DM0001•两种指令的区别(qūbié)•非微分型指令:只要其执行条件为ON,每个扫描周期都执行该指令•微分型指令:仅在指令的执行条件由OFF变为ON时才执行一次第7页/共221页第七页,共222页•3.2基本指令系统•基本指令是最常用(chánɡyònɡ)的指令•要牢记:指令的功能、格式、符号和代码;指令操作数的范围第8页/共221页第八页,共222页•一、常用的基本指令•1.LDLDNOTANDANDNOT•ORORNOTOUTOUTNOT•LD(取指令)常开触点与母线相连的指令•AND(与指令)常开触点相与(串联)的指令•OR(或指令)常开触点相或(并联)的指令•OUT(输出(shūchū)指令)将执行结果输出(shūchū)到某位的指令第9页/共221页第九页,共222页。
•操作数说明:•00000~01915(OUT不用)、10000~11915、W0000~25507、H0000~1915、TIM/CNT0000~4095、TR00~15(仅能使用于LD指令);•AR区部分位、标志位等可以(kěyǐ)作为触点操作数;•基本逻辑指令不影响标志位第10页/共221页第十页,共222页•例:LD 00000OR 10000 AND NOT 00001OUT 1000000000100001000000001第11页/共221页第十一页,共222页LD 00000OR 10000AND NOT 00001OUT 10000LD NOT 00002OR NOT 00003AND 10000OUT NOT 10001 00000 0000110000 00002 10000100001000100003 梯形图程序梯形图程序(chéngxù) 语句语句(yǔjù)表表程序程序使用指令使用指令(zhǐlìng)举例举例与与或或与与或或与与与与输出输出第12页/共221页第十二页,共222页。
•2.END指令•程序的结尾一定(yīdìng)要安排END指令,否则程序不执行•FUNNo.功能号是在用编程器编程时,除了基本逻辑指令外,绝大多数指令都赋予一个功能号,若要使用某个指令时,只按相应的功能号即可•执行END指令时,ER、CY、GR、EQ、LE等标志位被置OFF第13页/共221页第十三页,共222页•3.NOP指令•NOP是空操作指令,用NOP代替(dàitì)ANDN,可把AND语句中的触点N短接,用NOP代替(dàitì)ORN,可把OR语句中的触点N断掉第14页/共221页第十四页,共222页•二、块与指令ANDLD和块或指令ORLD•1.ANDLD是将并联触点(chùdiǎn)组相串联的指令 方法方法(fāngfǎ)1LD 00000AND 00001OR NOT 00002LD 00003OR 00004AND LDLD 00005OR NOT 00006AND LDOUT 10000 方法方法(fāngfǎ)2LD 00000AND 00001OR NOT 00002LD 00003OR 00004LD 00005OR NOT 00006AND LDAND LDOUT 1000010000000050000600000 00001000020000300004在方法在方法2中,中,AND LD之前的触点组个数应小于等于之前的触点组个数应小于等于8 使用指令举例使用指令举例第15页/共221页第十五页,共222页。
•2.ORLD是串联触点组相并联(bìnglián)连接的指令 方法方法(fāngfǎ)1LD 00000AND NOT 00001LD NOT 00002AND 00005OR LD LD 00004AND 00003OR LDOUT 10100 方方法法(fāngfǎ)2LD 00000AND NOT 00001LD NOT 00002AND 00005LD 00004AND 00003OR LDOR LDOUT 1010000000000010000200003000040000510100在方法在方法2中,中,OR LD之前的触点组个数应小于等于之前的触点组个数应小于等于8使用指令举例使用指令举例第16页/共221页第十六页,共222页。
•微分指令与即时刷新(shuāxīn)指令•普通指令输入输出执行在I/O刷新(shuāxīn)阶段•微分指令:上微分@、下微分%•微分指令在执行条件变化(上微分、下微分)时执行•即时刷新(shuāxīn)指令:!•即时刷新(shuāxīn)指令不等I/O刷新(shuāxīn)阶段立即执行第17页/共221页第十七页,共222页I/O刷新(shuā xīn)2.00100.00执行(zhíxíng)指令点2.00100.002.00100.002.00100.00!2.00100.00!2.00100.00100.00100.00100.00100.00第18页/共221页第十八页,共222页•三、微分(wēifēn)指令DIFU和DIFD•DIFU上升沿微分(wēifēn)指令和DIFD下降沿微分(wēifēn)指令DIFU和和DIFD指令指令(zhǐlìng)的操作位只的操作位只ON一个扫描周一个扫描周期开机时就开机时就OFF的执行条件的执行条件(tiáojiàn),,DIFD指令指令不执行 DIFU 10000DIFD H0000000005TSTS0000510000H00000 LD 00005DIFU 10000DIFD H00000扫描周期扫描周期执行条件执行条件开机时就开机时就ON的执行条件,的执行条件,DIFU指令不执行。
指令不执行第19页/共221页第十九页,共222页•四、置位指令(zhǐlìng)SET和复位指令(zhǐlìng)RESET•SET——将某继电器置为ON•RESET——将某继电器置为OFFLD 00000SET 10000LD 00003RESET 10000 00000 00003 100000000000003SET 10000RESET 10000SET、、RESET指令的执行条件指令的执行条件(tiáojiàn)常为短信号(脉常为短信号(脉冲信号)冲信号)SET和和RESET指令可以指令可以(kěyǐ)单独使用(不一定成对使单独使用(不一定成对使用)用)第20页/共221页第二十页,共222页•五、保持(bǎochí)KEEP指令 当当S端端ON时,时,N为为ON且保持且保持(bǎochí)★★ 当当 N为保持为保持(bǎochí)继电器继电器HR时,有保持时,有保持(bǎochí)功能KEEPNSR符号符号格式:格式:KEEP N 当当R端端ON时,时, N复位 当当S与与R端同时为端同时为ON时,时, N复位优先。
复位优先继电继电器位器位第21页/共221页第二十一页,共222页LD 00002LD 00003KEEP 100000000200003KEEP 10000 00002 00003 10000 KEEP 指令的工作(gōngzuò)时序置位条件置位条件置位条件置位条件置位条件置位条件复位条件复位条件置位和复位条件都可以是短信号(脉冲置位和复位条件都可以是短信号(脉冲(màichōng)信号)信号)注意!注意!注意!注意!第22页/共221页第二十二页,共222页语语句句(yǔjù)表表KEEP100000000000001KEEPH000000000201000 画出图示程序的工作画出图示程序的工作(gōngzuò)时序,写出语句表时序,写出语句表000000000100002HR000010000LD 00000LD 00001KEEP 10000LD 00002LD 10000KEEP H00000 使用使用(shǐyòng)KEEP指指令举例令举例 第23页/共221页第二十三页,共222页。
★★ 比较几个相同比较几个相同(xiānɡ tónɡ)具有功能程序具有功能程序之区别之区别 00002 00003 10000相同相同(xiānɡ tónɡ)都可以实现都可以实现(shíxiàn)启、保、停启、保、停的控制的控制不同不同KEEP编程需编程需3条语句(最少)条语句(最少)KEEP编程用编程用HR作输出时,具有保持功能作输出时,具有保持功能SET和和RESET编程时,指令间可插别的指令编程时,指令间可插别的指令SET和和RESET编程编程HR作输出时,有保持功能作输出时,有保持功能0000200003KEEP 10000010001000000002000030000200003SET 10000RESET 10000(a)(b)(c)第24页/共221页第二十四页,共222页六、基本编程规则六、基本编程规则(guīzé)和基本编程方法和基本编程方法指令指令P_ONP_ON1.基本.基本(jīběn)编程规编程规则则(1)每梯级都起始于左母线,线圈或指令每梯级都起始于左母线,线圈或指令(zhǐlìng)应画在最右边应画在最右边(2)必须与左母线相连的线圈或指令,可通过必须与左母线相连的线圈或指令,可通过P_ONP_ON连接连接(3)用用OUT指令输出时,要避免双线圈输出的现象。
指令输出时,要避免双线圈输出的现象a)000000000510000 10000(b)000001000000001100001000110000当当00000 ON00005 OFF输出无效输出无效当当00000 ON00001 OFFONOFF双线圈输出引起逻辑混乱双线圈输出引起逻辑混乱第25页/共221页第二十五页,共222页(4) 梯形图必须遵循从左到右、从上到下的顺序梯形图必须遵循从左到右、从上到下的顺序(shùnxù),,不允不允 许两行之间垂直连接触点许两行之间垂直连接触点5) 程程序序结结束束一一定定要要安安排排(ānpái)END指指令令,,否否则则程程序序不不被被执行执行(b)3 5 211 5 43N(a)1 2345N没没END指指令令的的程程序序(chéngxù),,检检查查时时显显示示信信息息“NO END INST”第26页/共221页第二十六页,共222页2.基本.基本(jīběn)编程方编程方法法 (1) (1) 两个两个(liǎnɡ ɡè)(liǎnɡ ɡè)或两个或两个(liǎnɡ ɡè)(liǎnɡ ɡè)以上的线圈或指以上的线圈或指令可以并联输出。
令可以并联输出 1000010001 SET 1000200000LD 00000OUT 10000OUT 10001SET 10002第27页/共221页第二十七页,共222页(2) (2) 触点组与单个触点并联触点组与单个触点并联(bìnglián)(bìnglián),单个触点应放在,单个触点应放在下面0000000001 0000210100LD 00000LD 00001AND NOT 00002OR LDOUT 101001010000001 0000200000LD 00001AND NOT 00002OR 00000OUT 10100不必用不必用OR LD第28页/共221页第二十八页,共222页(3)(3)并联触点组与几个并联触点组与几个(jǐ ɡè)(jǐ ɡè)触点串联时,并联触点组触点串联时,并联触点组应放应放 在最左边。
在最左边 LD 00002 AND 00000 LD 00006 AND 00001 OR 00003 AND LD OUT 10001LD 00006 AND 00001OR 00003 AND 00002AND 00000OUT 1000100000 00006 0000110001000030000200006 00001 00002 000000000310001不必用不必用 AND LD第29页/共221页第二十九页,共222页此此后后,,如如果果00001 ON使使10000复复位位,,则则在在PLC本本次次上上电电期间,期间,10000不会再被置位(即不会再被置位(即KEEP不再不再(bù zài)执行)4)(4)如果一条如果一条(yī tiáo)(yī tiáo)指令只需在指令只需在PLCPLC上电之初执行一次,上电之初执行一次,可以可以 用用P_first_cycleP_first_cycle作为其执行条件。
作为其执行条件PLC上电后的第一个扫描上电后的第一个扫描(sǎomiáo)周期,周期,10000被置为被置为ONP_first_cycle00001KEEP10000第30页/共221页第三十页,共222页1 2 34 5 67 8N1 2 3 1 4 5 6 1 4 5 7 8N(5) (5) 结构复杂的梯形图程序结构复杂的梯形图程序(chéngxù)(chéngxù),重新安排顺序,重新安排顺序后,可方便编写语句表后,可方便编写语句表6)(6)当某梯级有两个分支时,若其中一条分支从分支当某梯级有两个分支时,若其中一条分支从分支 点到输出线圈点到输出线圈(xiànquān)(xiànquān)之间无触点,该分支应放之间无触点,该分支应放在上方N1N212N1N212(7)(7)尽量使用尽量使用(shǐyòng)(shǐyòng)那些操作数少、执行时间短的指令那些操作数少、执行时间短的指令编程第31页/共221页第三十一页,共222页。
基本指令基本指令(zhǐlìng)小结小结 1. 本节介绍的全部本节介绍的全部(quánbù)指令都要牢记其格式、梯形指令都要牢记其格式、梯形 图、操作数范围及功能图、操作数范围及功能 2. 学会将梯形图程序转换为语句学会将梯形图程序转换为语句(yǔjù)表的方法表的方法 4. 牢记基本编程规则和基本编程方法牢记基本编程规则和基本编程方法 3. 学会用工作时序图描述程序执行过程的方法学会用工作时序图描述程序执行过程的方法第32页/共221页第三十二页,共222页3.3 定时器计数定时器计数(jì shù)类指令类指令使用使用(shǐyòng)TIM/CNT注意注意事项事项 ①① TIM/CNT使使用用(shǐyòng)编编号号T0000~~4095/ C0000~~4095 ②② TIM/CNT的操作数可以是常数,也可以是通道,但常的操作数可以是常数,也可以是通道,但常数或通道内容必须是数或通道内容必须是BCD数④ ④ 计数器有保持功能,而定时器没有此功能计数器有保持功能,而定时器没有此功能 ③③ TIM/CNT的设定值是通道时,通道内容改变、设定值的设定值是通道时,通道内容改变、设定值即改变。
但必须在即改变但必须在TIM的输入条件断开、的输入条件断开、 CNT复位复位后,下一次定时后,下一次定时/计数才执行新设定值计数才执行新设定值第33页/共221页第三十三页,共222页 1. 定时器定时器TIM/ TIMH TIM——普通普通(pǔtōng)定时器定时器 定时时间为定时时间为0~999.9 sTIMH ——高速定时高速定时(dìnɡ shí)器器 定时定时(dìnɡ shí)时间时间 为为0~99. 99 s 格式:格式: TIM NSV N::000~4095 (( TIM与与TIMH共用这些共用这些(zhèxiē)编号编号 ))TIM N SV符号符号SV ::0~9999 单位:单位:TIM 为为0.1 s;;TIMH 为为0.01 s第34页/共221页第三十四页,共222页④④定时器定时器ON后,若执行后,若执行(zhíxíng)条件条件OFF,定时器,定时器复位③③ 当扫描时间当扫描时间Ts >0.1秒时,秒时,TIM会不准确会不准确(zhǔnquè);; 当当Ts > 0.01秒时,秒时,TIMH会不准确会不准确(zhǔnquè)。
★★ 定时器的功能定时器的功能(gōngnéng)①①当执行条件当执行条件ON时开始定时,定时过程中执行条件要时开始定时,定时过程中执行条件要保持保持ON②②定时时间到,定时器定时时间到,定时器ON、其所属触点动作此后只、其所属触点动作此后只 要执行条件保持要执行条件保持ON ,, 其其ON状态保持状态保持⑤⑤ 定时器定时器ON后,若后,若PLC断电,定时器复位断电,定时器复位 当定时器复位时,其当前值为设定值当定时器复位时,其当前值为设定值第35页/共221页第三十五页,共222页★★定时器定时器TIM 、、TIMH的用法的用法(yònɡ fǎ)LD 00000TIM 0 # 0050LD T0OUT 1000000000TIM 0100005 STIM 0 #005000000 T010000TIM定时定时(dìnɡ shí)时间:时间:50×0.1 = 5s开始开始(kāishǐ)定定时时定时定时 到到定时器定时器复位复位 对对TIMH计算:计算: 50×0.01 = 0.5s第36页/共221页第三十六页,共222页。
分析程序对线圈分析程序对线圈(xiànquān)10000的控制的控制00000对应启动对应启动(qǐdòng)按钮、按钮、00001对应停车按钮对应停车按钮 按下启动按下启动(qǐdòng)按钮按钮 → 线圈线圈00000ON→ 线圈线圈W00000ON→闭合闭合闭合闭合闭合闭合W00000T00011000000000 00001W00000TIM0001#0050W00000触点触点W00000闭合闭合→TIM0001开始定时开始定时→经过经过 5s→TIM0001 ON →触点触点T0001闭合闭合→线圈线圈10000 ON触点触点00000闭合闭合→ 定时器定时功能例定时器定时功能例(1)自按下启动按钮自按下启动按钮5s后线圈后线圈10000 ON第37页/共221页第三十七页,共222页线圈线圈(xiànquān)10000 ON期间按下停期间按下停车按钮车按钮 →线圈线圈(xiànquān)00001通电通电→线圈线圈(xiànquān)W00000断断电电→断开断开TIM0001 复位复位 →断开断开断开断开只要只要TIM0001 ON线圈线圈10000 一直一直ON触点触点00001断开断开→触点触点W00000断开断开→触点触点T0001断开断开→线圈线圈10000 OFF按下停车按钮,线圈按下停车按钮,线圈10000 OFF自按下启动按钮自按下启动按钮 5s后线圈后线圈10000 ONW00000T00011000000000 00001W00000TIM0001#0050W00000第38页/共221页第三十八页,共222页。
分析程序对分析程序对10000的控制的控制(kòngzhì)作用00000闭合闭合(bì hé)→W00000接接通通10秒到秒到→TIM0001 ON→TIM0001 自复位自复位(fù wèi) !!设设H0000中数据为中数据为0100,,TIM0001的定时值为的定时值为10 秒TIM0001开始定时开始定时→闭合闭合 线圈线圈10000 ON闭合闭合断开断开欲保持欲保持10000 ON——需加自锁需加自锁自锁自锁定时器定时功能例定时器定时功能例(2)W00000T0001W00000100000000000001TIM 0001 H0000W00000T000110000常开触点常开触点T0001 ON→ 常闭触点常闭触点T0001 OFF断开断开第39页/共221页第三十九页,共222页TIM0001自复位后,即开始下一轮自复位后,即开始下一轮(yī lún)定定时当改变当改变(gǎibiàn)通道通道H0000中中的内容时,的内容时,TIM的设定值即改变的设定值即改变(gǎibiàn)!!在在10000 ON期间期间(qījiān),若线圈,若线圈00001 ON→线圈线圈W00000断电断电→TIM0001 复位复位→线圈线圈10000 OFF断开断开断开断开断开断开触点触点00001断开断开→但需但需TIM复位后、下一次定时才执行新设定值复位后、下一次定时才执行新设定值W00000T0001W00000100000000000001TIM 0001 H0000W00000T000110000第40页/共221页第四十页,共222页。
分析程序对分析程序对10000的控制的控制(kòngzhì)作用自自00000 ON→线圈线圈(xiànquān)W00000 ON 900秒到秒到→ TIM0001 ON → 900秒到秒到→ TIM0002 ON → 定时器级联使用定时器级联使用(shǐyòng)——SV= SV1+SV2 TIM0002开始定时开始定时→ 线圈线圈10000 ON TIM0001开始定时开始定时→★★ 定时器定时时间的扩展定时器定时时间的扩展W00000T0002W00000100000000000001TIM 0001 #9000W00000T0001TIM 0002 #9000闭合闭合闭合闭合闭合闭合第41页/共221页第四十一页,共222页练习练习(liànxí):写出梯形图的语:写出梯形图的语句表 LD 00000 OR W00000 AND NOT 00001 OUT W00000 LD W00000 TIM 0001 #9000 LD T0001 TIM 0002 # 9000 LD T0002 OUT 10000W00000T0002W00000100000000000001TIM 0001 #9000W00000T0001TIM 0002 #9000第42页/共221页第四十二页,共222页。
★★ 关关于于接接通通(jiē tōnɡ)延延时时ON和和接接通通(jiē tōnɡ)延延时时OFF的控制的控制LD 00000IL(02) TIM 0000 #0600LD T0000OUT 10000LD NOT T0000OUT 10001ILC(03)TIM 0000 #0600100000000010001T0000IL(02) ILC (03) T0000自自00000 为为ON开始开始→ 10000经过经过(jīngguò)60秒接通秒接通自自00000 为为ON开始开始→ 10001经过经过(jīngguò)60秒断开秒断开接通延时接通延时ON接通延时接通延时OFF第43页/共221页第四十三页,共222页根据根据00000和和00001的波形,画出程序的波形,画出程序(chéngxù)的工作的工作时序TIM00010000H0000000000100000H000000TIM0000#0050KEEP000015S10S00000H0000005S10000使使用用KEEP、、TIM指指令令(zhǐlìng)举例举例第44页/共221页第四十四页,共222页。
2. 计数器指令计数器指令(zhǐlìng)CNT N::0000~4095 SV ::BCD 0 ~ 9999 格式:格式: CNT NSV CNT N SVCPR符号符号CP:计数:计数(jì shù)输入端(每输入一个脉冲,输入端(每输入一个脉冲,CNT计一计一个数)个数) R:复位:复位(fù wèi)端端 (( R端端ON 时计数器复位时计数器复位(fù wèi),即,即CNT清零)清零)第45页/共221页第四十五页,共222页⑤⑤ CNT ON后,若输入后,若输入(shūrù)条件条件OFF,或,或PLC断电,断电, 计数器当前值能保持计数器当前值能保持③③ CNT ON 后,此后输入后,此后输入(shūrù)的计数脉冲无效的计数脉冲无效★★ 计数器的用法计数器的用法(yònɡ fǎ)①①计数器的计数器的SV值可以是常数,也可以是通道号值可以是常数,也可以是通道号②②计数达到设定值时计数达到设定值时CNT ON、其所属接点动作其所属接点动作④④ 计数器计数器ON后,只要不清零后,只要不清零 ,,CNT将保持将保持ON。
当计数器复位时,其当前值为设定值当计数器复位时,其当前值为设定值第46页/共221页第四十六页,共222页PV=10PV=10((停停止止(tíngzhǐ)计数)计数)计计 数数(jì shù)计计数数(jì shù)(停止计数)(停止计数)CNT是减计数器,每输入一个计数脉冲,由是减计数器,每输入一个计数脉冲,由SV值减值减1 ★★ 计数器的工作计数器的工作时序时序9 8 2 1 0ON保持保持9 8 2 1 0ON保持保持 CPCNT R SV=10 时时 CNT的工作波形的工作波形清零清零清零清零脉冲无效脉冲无效脉冲无效脉冲无效第47页/共221页第四十七页,共222页CPC0000100000000000001CNT0000 #0003R ★★ CNT的计数功能的计数功能(gōngnéng)举例举例分析程序对分析程序对10000的控制的控制(kòngzhì)作作用00000每通断一次,向每通断一次,向CNT000输入一个输入一个(yī ɡè)计数脉冲计数脉冲00000通断通断3次次→CNT0000 ON→线圈线圈10000 ON闭合闭合闭合闭合断开断开此后若触点此后若触点00001 ON→CNT0000 复位复位→线圈线圈10000 OFF CNT0000 断电再复电时,断电再复电时, 能保持断电前的当前值。
能保持断电前的当前值若将若将#0003换成换成200,则计数值是通道,则计数值是通道200中的数据中的数据第48页/共221页第四十八页,共222页CPC0000100000000000001 CNT000 #0003R 写出梯形图程序写出梯形图程序(chéngxù)的语的语句表句表LD 00000LD 00001CNT 0000 #0003LD C0000OUT 10000SV为为常数常数(chángshù)CNT0000计数器的工作计数器的工作(gōngzuò)时序时序 2 1 0ON保持保持 000001000000001第49页/共221页第四十九页,共222页 CNT0000采用采用(cǎiyòng)自清零每当每当(měi dānɡ) CNT0000计数设定计数设定值到:值到:当当 CNT0001计数计数(jì shù)到,到,10000 ON00000 通断了通断了10000 次时次时10000 ON★★计数器级联计数器级联SV= SV1×SV2 a. 向向CNT0001输入一个计数脉冲。
输入一个计数脉冲b. 自清零、并开始下一轮计数自清零、并开始下一轮计数 ★★ 计数器容量的扩展计数器容量的扩展 上电之初上电之初P_First_Cycle为两个计数器为两个计数器清零初始清零初始清零初始清零初始清零自清零自清零C000000000CNT0000#0100 C000110000C0000CNT0001#0100P_First_CycleP_First_Cycle第50页/共221页第五十页,共222页分析程序对分析程序对10000的控制的控制(kòngzhì)作用P_1s能产生周期能产生周期(zhōuqī)为为1秒的脉秒的脉冲冲CNT0000完成计数完成计数(jì shù)100所所经历的时间是经历的时间是100秒 计数器作为定时器使用计数器作为定时器使用用计数器作定时器时,该定时器具有保持功能用计数器作定时器时,该定时器具有保持功能经历经历10000秒后秒后10000 ON ★★计数器的定时器功能计数器的定时器功能CNT0001完成计数完成计数100所经历的时所经历的时间是间是10000秒C0000P_1sCNT0000#0100 C000110000C0000CNT0001#0100P_First_CycleP_First_Cycle第51页/共221页第五十一页,共222页。
3.可逆计数器指令可逆计数器指令(zhǐlìng)CNTRCNTR N SVACPSCPRCNTR(012) N SV格式:格式:SV:设定值(设定值(BCD 0 ~9999))加计数加计数(jì shù)输入输入复位复位(fù wèi)端端减计数输入减计数输入 N:编号(与编号(与CNT共用共用0000~4095))第52页/共221页第五十二页,共222页④④ 加加/减减计计数数有有进进/借借位位时时,,输输出出ON一一个个计计数数脉脉冲冲(màichōng)周周期③③ 计数器复位时,不论是加还是计数器复位时,不论是加还是(hái shi)减计数,其减计数,其PV均为均为0①① 从从ACP或或SCP输入输入(shūrù)计数脉冲,可组成加或减计数器计数脉冲,可组成加或减计数器⑤⑤ 可逆计数器可作为循环计数器可逆计数器可作为循环计数器★★ 可逆计数器的功能可逆计数器的功能CNTR N SVACPSCPR计数器达到设定值计数器达到设定值ON时,若再来一时,若再来一个计数脉冲,个计数脉冲,CNTR OFF、且开始下、且开始下一个循环的计数。
一个循环的计数②② 从从ACP和和SCP端同时输入计数脉冲,计数器不计数端同时输入计数脉冲,计数器不计数第53页/共221页第五十三页,共222页★★ 可逆计数器的工作可逆计数器的工作(gōngzuò)时序时序SCP=0 SV=10 加法计数时序加法计数时序PV=0PV=0 1 2 9 10 0 1 2 9 10 0 1 2 9ON不计数不计数不计数不计数计数计数计数计数计数计数ON ACP RCNTR ACP=0 SV=10 减法计数时序减法计数时序SCP RPV=0PV=0 9 8 1 0 10 9 8 1 0 10 9 8 1CNTR ONON不计数不计数不计数不计数计数计数计数计数计数计数第54页/共221页第五十四页,共222页000010000200003 CNTR 046 #0200ACPSCPRLD 00001 LD 00002 LD 00003CNTR(12) 046 #0200 ★★ 可逆计数器的计数功能可逆计数器的计数功能(gōngnéng)举例举例设设00003 OFF 、、00002 OFF ,,00001输入输入(shūrù)计数脉冲。
计数脉冲加加计计数数器器00001每输入一个每输入一个(yī ɡè)计数脉冲,计数脉冲,CNTR 046的当前值加的当前值加1当当PV=0200时,再输入一个计数脉冲,时,再输入一个计数脉冲,PV值变为值变为0000(进位),同时(进位),同时CNTR 046变为变为ON此后再来一个计数脉冲时,此后再来一个计数脉冲时, PV值变为值变为0001,, CNTR 046为为OFF,且开始下一个循环的计数且开始下一个循环的计数第55页/共221页第五十五页,共222页000010000200003 CNTR 046 #0200ACPSCPRLD 00001 LD 00002 LD 00003CNTR(12) 046 #0200减减计计数数器器设设00003 OFF 、、00001 OFF ,,00002输入计数输入计数(jì shù)脉冲00002每输入一个计数每输入一个计数(jì shù)脉冲,脉冲,CNTR 046的当前值减的当前值减1。
当当PV=0000时,再输入一个计数脉冲时,再输入一个计数脉冲(màichōng),,PV值变为值变为0200(借位),同时(借位),同时CNTR 046变为变为ON此后再来一个计数脉冲时,此后再来一个计数脉冲时, PV=0199,, CNTR 046为为OFF,且开始下一个循环的计数且开始下一个循环的计数第56页/共221页第五十六页,共222页 ★★ 可逆计数器的定时器功能可逆计数器的定时器功能(gōngnéng)举例举例 LD 00000OR W00000OUT W00000LD P_1sAND W00000LD P_Off LD 00001OR P_First_CycleCNTR 0000 H0000LD C0000OUT 1000000000W00000W00000P_1s W00000P_Off00001P_First_CycleC000010000 CNTR 0000 H0000CNTR000 是加计数器是加计数器控制控制(kòngzhì)位位秒脉冲秒脉冲(màichōng)常常OFF上电复位上电复位CNTR0000的触点的触点由于计数脉冲是秒脉冲,所以可作定时器。
由于计数脉冲是秒脉冲,所以可作定时器第57页/共221页第五十七页,共222页设设00001为为OFF ,,H0000中数据中数据(shùjù)是是500,分析功,分析功能自自00000 ON 开始开始(kāishǐ),,CNTR0000开始开始(kāishǐ)计数计数→计数计数(jì shù)达达500 CNTR0000 ON →闭合闭合即经过即经过500秒线圈秒线圈10000 ONPLC上电,计数器即复位上电,计数器即复位CNTR0000 的触点的触点ON →线圈线圈10000 ON 再过再过1秒,线圈秒,线圈10000 又又OFFCNTR0000开始下一循环计数开始下一循环计数线圈线圈10000每过每过 500 秒秒 ON 1秒秒00000W00000W00000P_1s W00000P_Off00001P_First_CycleC000010000 CNTR 0000 H0000第58页/共221页第五十八页,共222页 4.定时器定时器/计数器复位计数器复位(fù wèi)指令指令CNRCNR D1 D2CNR D1 D2格式:格式:D1:定时器/计数器首编号(biān hào)(T/C0000~4095)D2:定时器/计数器首编号(biān hào)(T/C0000~4095)D1、、D2 必须在同一区域,并且必须在同一区域,并且D1≤D2 功能:功能:D1到到D2的定时器的定时器/计数器完成标志复位,当前值计数器完成标志复位,当前值置置PV为最大值为最大值9999。
第59页/共221页第五十九页,共222页 定时计数定时计数(jì shù)类指令小类指令小结结 1. 本节介绍的应用指令都经常使用,要牢记其格式、本节介绍的应用指令都经常使用,要牢记其格式、梯形图、操作数范围梯形图、操作数范围(fànwéi)及功能 2.注意定时计数类指令注意定时计数类指令(zhǐlìng)的编号方法、量的编号方法、量程和定时精度程和定时精度 3.注意使用定时计数类指令的起始时间点、到时注意使用定时计数类指令的起始时间点、到时时间点、复位时间点时间点、复位时间点 4. 学会用时序图描述定时器、计数器工作状态的方学会用时序图描述定时器、计数器工作状态的方法 5. 学会定时器和计数器容量扩展的编程方法学会定时器和计数器容量扩展的编程方法第60页/共221页第六十页,共222页联锁和联锁清除联锁和联锁清除(qīngchú)指令指令暂存继电器暂存继电器跳转和跳转结束跳转和跳转结束(jiéshù)指令指令3.4 程序控制程序控制(chéngxùkòngzhì)类指令类指令 结束和空操作指令结束和空操作指令第61页/共221页第六十一页,共222页1. 暂存继电器暂存继电器TR 暂存继电器用于暂时暂存继电器用于暂时(zànshí)存储指令执行的结果。
存储指令执行的结果 暂存继电器编号暂存继电器编号(biān hào)TR0~~TR15 对暂存继电器作如下对暂存继电器作如下(rúxià)说明:说明: 1. 在同一分支程序段中,在同一分支程序段中,TR号不能重复使用号不能重复使用 2. TR不是编程指令,要与其他指令配合使用不是编程指令,要与其他指令配合使用 用暂存继电器可以处理梯形图的分支用暂存继电器可以处理梯形图的分支第62页/共221页第六十二页,共222页LD 00000 OUT TR0 AND 00001 OUT 10000LD TR0AND 00002OUT 100010000000001000021000010001TR0 说明说明(shuōmíng):: 编写梯形图程序时出现分支时,系统自动分配编写梯形图程序时出现分支时,系统自动分配(fēnpèi)TR0~~15作为分支点状态暂存继电器作为分支点状态暂存继电器使用使用(shǐyòng)暂存继电暂存继电器举例器举例使用时配合使用时配合OUT、、LD等基本指令使用。
等基本指令使用第63页/共221页第六十三页,共222页2. 联锁和联锁清除联锁和联锁清除(qīngchú)指令指令IL/ILCIL/ILC的用法的用法(yònɡ fǎ)(1)不论不论IL的输入条件是的输入条件是ON还是还是OFF,, CPU都要对都要对 IL/ILC之间的程序段进行之间的程序段进行(jìnxíng)扫描2)只有只有当当IL的执行条件为的执行条件为ON时,时,IL和和ILC之间的程序之间的程序执行执行(否则不执行否则不执行)此时IL和和ILC间各器件的状态为:所间各器件的状态为:所有有OUT指令的输出位为指令的输出位为OFF;所有定时器都复位所有定时器都复位3) IL和和ILC指令可以成对使用,也可以多个指令可以成对使用,也可以多个IL指令配一指令配一个个ILC指令,但不准嵌套使用指令,但不准嵌套使用第64页/共221页第六十四页,共222页LD 00000IL (02)LD 00001OUT 10000LD 00002AND NOT 00003OUT 10001ILC (03)LD 00004OUT 100021000010002A00000 0000400002 000031000100001IL(02) ILC(03) 000000000110000000041000200002 0000310001 IL(02) ILC(03) 当当00000为为ON时,时,IL(02)与与ILC之之(03)间的程序执行间的程序执行:10000和和10001 的状态的状态(zhuàngtài),取决于,取决于A右侧各触点右侧各触点的状态的状态(zhuàngtài)。
使用联锁使用联锁(lián suǒ)指令指令举例举例第65页/共221页第六十五页,共222页LD 00000IL (02)LD 00001OUT 10000LD 00002IL (02)LD 00003OUT 10001LD 00004OUT 10002ILC (03)LD 00005OUT 10003100001000300000 0000400002 000031000100001IL(02) ILC(03) IL(02) 1000200005 IL(02) IL(02) ILC(03) 00000000010000200003000041000010001100020000510003 连续分支连续分支(fēnzhī)的的例子例子功能相同功能相同第66页/共221页第六十六页,共222页LD 00000 OUT TR0 AND 00001 OUT 10000LD TR0AND 00002OUT 10001LD 00000IL(02)LD 00001OUT 10000LD 00002OUT 10001ILC(03) 用用TR处理处理(chǔlǐ)分支分支0000000001000021000010001TR0用用IL/ILC处理处理(chǔlǐ)分支分支 两种处理分支两种处理分支(fēnzhī)方法的方法的区别区别用用 TR 时:用时:用AND指令连接下一个分支的触点指令连接下一个分支的触点在分支多时,用在分支多时,用TR处理分支程序要烦琐一些。
处理分支程序要烦琐一些用用IL/ILC时:用时:用LD指令连接下一个分支的触点指令连接下一个分支的触点第67页/共221页第六十七页,共222页3. 跳转和跳转结束跳转和跳转结束(jiéshù)指令指令JMP/JMEJMP (04) /JME (05) N(跳转编号(跳转编号(biān hào)0~~FF))JMP /JME的用法的用法(yònɡ fǎ)(1) 发生跳转时,发生跳转时,JMP N和和JME N之间的程序不执行,且之间的程序不执行,且不占用扫描时间不占用扫描时间2) 发生跳转时所有继电器、定时器、计数器均保持跳转发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变前的状态不变3) 同一个跳转号同一个跳转号N只能在程序中使用一次但当只能在程序中使用一次但当N取取00时,时,JMP 00/JME 00可以在程序中多次使用可以在程序中多次使用第68页/共221页第六十八页,共222页 LD 00000JMP (04) 00LD 00001OUT 10000AND 00002OUT 10100JME (05) 00LD 00003OUT 10004(4)以以00作为作为(zuòwéi)跳转号时,比其他跳转号的执行时间跳转号时,比其他跳转号的执行时间长。
长5)不同不同(bù tónɡ)跳转号时可以嵌套使用跳转号时可以嵌套使用例如例如(lìrú): JMP 00--JMP 01--JME 01--JME 00 JMP(04) 00 JME (05) 00000011000000002 10004000000000310100当当00000为为ON时,时,JMP与与JME之间之间的程序执的程序执行10000和和10100 的状态,取决于其输入条件的状态的状态,取决于其输入条件的状态使用跳转指令举例使用跳转指令举例第69页/共221页第六十九页,共222页((6)多个)多个JMP 可以共用可以共用(ɡònɡ yònɡ)一个一个JME 00000程序程序 A程序程序 B00001JMP(04) 00JME(05) 00程序程序 CJMP(04) 0000000 OFF、、00001 OFF时:时: 只执行程序只执行程序C00000 ON、、00001 OFF时:时: 执行程序执行程序(chéngxù)A→程序程序(chéngxù)C00000 ON、、00001 ON时:时: 执行程序执行程序(chéngxù)A→程序程序(chéngxù)B →程序程序(chéngxù)C第70页/共221页第七十页,共222页。
JMP /JME 指令指令(zhǐlìng)的用途举例的用途举例00000手动程序手动程序自动程序自动程序00000JMP(04) 00JME(05) 01JMP(04) 01JME(05) 0000000 对应一操作对应一操作(cāozuò)开关开关 执行执行(zhíxíng)手动操作程手动操作程序序 当当00000 为为OFF时时 执行自动操作程序执行自动操作程序 当当00000 为为ON时时 用一个开关,实现对系统自动和手动操作的控制用一个开关,实现对系统自动和手动操作的控制第71页/共221页第七十一页,共222页TIM0000#40ILC0.00IL100.1P_On0.02T0000100.3TIM0001#40JME50.00JMP5100.2P_On0.02T0001100.40.000.02100. 1100. 2100. 3100. 43s4s1s第72页/共221页第七十二页,共222页 IL/ILC与与JMP /JME 指令指令(zhǐlìng)的共性的共性 1. 对对IL/ILC与与JMP /JME 指令指令(zhǐlìng)之间的程之间的程序段:序段:不论不论IL的执行条件的执行条件OFF还是还是(hái shi)ON,, CPU都对都对IL和和ILC之间的程序段扫描。
之间的程序段扫描 当当发生跳转时,发生跳转时,JMP N和和JME N之间的程序不之间的程序不执行,且执行,且CPU不对其不对其扫描 IL/ILC与与JMP /JME 指令的区别指令的区别 它们都具有控制程序执行流向的作用它们都具有控制程序执行流向的作用第73页/共221页第七十三页,共222页对对IL/ILC之间的程序段:之间的程序段:所有所有OUT指令的输出位为指令的输出位为OFF;所有定时器都;所有定时器都复位复位(fù wèi);;KEEP指令的操作位、计数器、移位寄存器以指令的操作位、计数器、移位寄存器以及及SET和和RSET指令的操作位,都保持指令的操作位,都保持IL为为OFF以前的状态以前的状态 对对JMP/JME之间的程序段:之间的程序段:发生发生(fāshēng)跳转时所有继电器、定时器、跳转时所有继电器、定时器、计数器计数器均保持跳转前的状态不变均保持跳转前的状态不变 2. 当当IL和和JMP 的执行的执行(zhíxíng)条件不满足条件不满足时:时:第74页/共221页第七十四页,共222页 程序程序(chéngxù)指指令小结令小结 1. 注意分支梯形注意分支梯形(tīxíng)程序转化成指令表的方程序转化成指令表的方法。
法 2. IL/ILC和和JMP/JME是控制程序执行流向的指是控制程序执行流向的指令,要注意令,要注意(zhù yì)区别两种指令的用法区别两种指令的用法第75页/共221页第七十五页,共222页3.5 数据移位指令数据移位指令移位移位(yí wèi)寄存器指令寄存器指令可逆移位可逆移位(yí wèi)寄存器指令寄存器指令数字左、右移数字左、右移(yòu yí)指令指令 算术左、右移指令算术左、右移指令循环左、右移指令循环左、右移指令 字字 移移 位位 指指 令令异步移位寄存器指令异步移位寄存器指令第76页/共221页第七十六页,共222页 1. 移位移位(yí wèi)寄存器指令寄存器指令SFT (10)功功能能 当复位端当复位端R为为OFF时,时, 在在CP端移位脉冲端移位脉冲(màichōng)的作用下,的作用下,IN端的数据被移入移位端的数据被移入移位寄存器 D1:移位开始(kāishǐ)通道 D2:移位结束通道:移位结束通道SFT(10) D1 D2 SFT(10) D1 D2INCPRIN:数据输入端数据输入端R:复位端复位端CP:移位脉冲输入端移位脉冲输入端 在移位脉冲的作用下,移位寄存器中的数在移位脉冲的作用下,移位寄存器中的数据以位为单位依次向左移一位。
据以位为单位依次向左移一位第77页/共221页第七十七页,共222页 移位寄存器指令移位寄存器指令(zhǐlìng)SFT 的用法的用法SFT(10) D1 D2INCPR●在移位脉冲作用下,在移位脉冲作用下,D1到到D2中的数据中的数据(shùjù)左移过程左移过程●复位复位(fù wèi)端端R为为ON时,时,D1到到D2所有所有通道均复位通道均复位(fù wèi)为零,且移位指令不为零,且移位指令不执行★★ 没有移位脉冲时不执行移位没有移位脉冲时不执行移位★★ 移位寄存器具有保持功能移位寄存器具有保持功能 IN端端 数据数据…丢失丢失D1D2第78页/共221页第七十八页,共222页 移位移位(yí wèi)寄存器指令寄存器指令SFT 的语句表的语句表 LD 0.00 LD P_1s LD 0.01 OR P_First_Cycle SFT(10) W0 W0 LD W0.03 OUT 100.0INCPR 0.00 P_1s W0.03 0.01SFT(10)W0W0100.0 P_First_Cycle 图示梯形图的语句图示梯形图的语句(yǔjù)表表如下如下 SFT 的两个操作数都是的两个操作数都是W0,表示,表示(biǎoshì)只由只由W0通道组成通道组成16位移位寄存器。
位移位寄存器第79页/共221页第七十九页,共222页P_1s0000000001W0.04W0.03W0.00W0.01W0.02 移位寄存器移位寄存器 的工作的工作(gōngzuò)时序时序 W0.00的的ON状态,在状态,在W0通道通道(tōngdào)内依次向内依次向左移动 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0W0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1W0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0W0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0W0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0W0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0W0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0W0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0W0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0W0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0W0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0W0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0W0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0W0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0W0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0W0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0W0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0W0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0W01 2 3 4 5 6 7INCPR 0.00 P_1s W0.03 0.01SFT(10)W0W0100.0 P_First_Cycle第80页/共221页第八十页,共222页。
分析程序的功能分析程序的功能(gōngnéng) P_First_Cycle 上电复位上电复位(fù wèi) 0.00 的状态作为的状态作为(zuòwéi)输入数输入数据据P_1s的秒脉冲作为移位脉冲的秒脉冲作为移位脉冲第一个移位脉冲输入后,第一个移位脉冲输入后,0.00的的ON状态移入状态移入W0.000.01 ON 可使寄存器可使寄存器W0复位复位经过经过4个移位脉冲个移位脉冲W0.03 ON,于是,于是100.0 ON移位过程中,只要移位过程中,只要0.01为为ON,移位寄存器即复位移位寄存器即复位第第5个移位脉冲时个移位脉冲时W0.03 OFF,于是,于是100.0 也也OFFINCPR 0.00 P_1s W0.03 0.01SFT(10)W0W0100.0 P_First_Cycle第81页/共221页第八十一页,共222页 2. 可逆移位可逆移位(yí wèi)寄存器指令寄存器指令SFTR(84)SFTR (84) C D1 D2@ SFTR (84) C D1 D2 SFTR (84) C D1 D2 @SFTR(84) C D1 D2 C:控制通道控制通道(tōngdào) D1 :移位开始通道移位开始通道(tōngdào) D2 :结束通道结束通道(tōngdào)功能功能(gōngnéng)当执行条件为当执行条件为ON时,时, 根据控制通道根据控制通道C的内容,在的内容,在D1~D2通道内,执行左移或右移位操作。
通道内,执行左移或右移位操作第82页/共221页第八十二页,共222页 可逆移位可逆移位(yí wèi)寄存器的用寄存器的用法法 SFTR (84) C D1 D2①① 控制通道控制通道(tōngdào)C的含义的含义不使用不使用15141312移移位位(yí wèi)方方向向 1:左移:左移(低低→高高) 0:右移:右移(高高→低低)数据输入数据输入移位脉冲输入移位脉冲输入复位复位1:: D1~D2及及CY清零清零0:根据:根据C的状态移位的状态移位第83页/共221页第八十三页,共222页②② 左、右移位左、右移位(yí wèi)的的控制控制●在在执执行行条条件件(tiáojiàn)为为OFF时时停停止止工工作作此此时时若若C之之bit15为为1,,D1到到D2及及CY仍仍保保持持原原状状态态不不变●通道通道C之之bit 15为为0时,在移位脉冲的作用时,在移位脉冲的作用(zuòyòng)下,根据下,根据C之之bit 12的状态进行左移的状态进行左移或右移○ C之之bit 12为为1 左移:左移:每个扫描周期,从每个扫描周期,从D1到到D2按位依次左移一位,按位依次左移一位,C之之bit13的数据移入的数据移入St之之bit 0中,中,E之之bit15的数据的数据 移入移入CY中。
中○ C之之bit 12为为0右移:右移:每个扫描周期,从每个扫描周期,从D2到到D1按按位依次右移一位,位依次右移一位,C之之bit13的数据移入的数据移入D2之之bit15中,中,D1之之bit0的数据移入的数据移入CY中 SFTR (84) C D1 D2D1 开始通道开始通道D2 结束通道结束通道第84页/共221页第八十四页,共222页LD 00000OUT 20012LD 00001OUT 20013LD 00002DIFU (13) 20100LD 20100OUT 20014LD 00003OUT 20015LD 00004SFTR (84) 200 W10 W11 使用可逆移位使用可逆移位(yí wèi)寄存器举寄存器举例例 DIFU(13) 20100移位方向移位方向数据输入数据输入移位脉冲移位脉冲200132001220100000020000100000 SFTR(84) 200 W10 W11复位复位0000400003 2001520014第85页/共221页第八十五页,共222页。
程序程序(chéngxù)功能功能分析分析执行执行(zhíxíng)条件条件控制控制(kòngzhì)通道通道开始开始通道通道结束通道结束通道当当00004为为ON时,开始执行时,开始执行移位操作移位操作200的的bit12~~bit15的状态是的状态是由由00000~~00003控制的若若00001ON,则,则20013为为1,,即输入数据为即输入数据为1;;若若00001OFF,则,则20013为为0,即输入数据为,即输入数据为0每当每当00002 OFF→ON时,时,20014都会都会ON一个扫描周期,一个扫描周期,形成移位脉冲形成移位脉冲 DIFU(13) 20100移位方向移位方向数据输入数据输入移位脉冲移位脉冲200132001220100000020000100000 SFTR(84) 200 W10 W11复位复位0000400003 2001520014第86页/共221页第八十六页,共222页若直接以若直接以00002作为作为(zuòwéi)移移位脉冲因为当位脉冲因为当00002为为ON时,时,每个扫描周期都要执行一次移每个扫描周期都要执行一次移位,这将造成移位失控。
位,这将造成移位失控若若00003ON,则,则20015ON,,W10~~W11及及CY位清位清0若若00003OFF →20015 OFF,此,此时根据时根据(gēnjù)20012的状态执的状态执行移位操作行移位操作续)(续) DIFU(13) 20100移位方向移位方向数据输入数据输入移位脉冲移位脉冲200132001220100000020000100000 SFTR(84) 200 W10 W11复位复位0000400003 2001520014第87页/共221页第八十七页,共222页若若20012 ON执行执行(zhíxíng)左左移位:移位:每当每当00002OFF→ON时,时, W10~~W11中的数据按位依次左移中的数据按位依次左移一位20013的状态的状态(zhuàngtài)进入进入LR10.00,, LR11.15的数据进入的数据进入CY续)(续) W11.15~W11.00 W10.15~W10.00 CY←←20013← DIFU(13) 20100移位方向移位方向数据输入数据输入移位脉冲移位脉冲200132001220100000020000100000 SFTR(84) 200 W10 W11复位复位0000400003 2001520014第88页/共221页第八十八页,共222页。
若若20012 OFF执行执行(zhíxíng)右移位:右移位:每当每当00002OFF →ON时,时,W10~~W11中的数据按位依中的数据按位依次右移次右移(yòu yí)一位20013的状态进入的状态进入W11.15,, W10.00的数据进入的数据进入CY续)(续) W11.15~W11.00 W10.15~W10.00 CY→→20013→ DIFU(13) 20100移位方向移位方向数据输入数据输入移位脉冲移位脉冲200132001220100000020000100000 SFTR(84) 200 W10 W11复位复位0000400003 2001520014第89页/共221页第八十九页,共222页 3. 算术算术(suànshù)左左/右移位指令右移位指令ASL (25)/ ASR(26) 算术左算术左/右移位指令的功能和使用方法右移位指令的功能和使用方法(fāngfǎ)相相似似 ASL(25) D以算术左移指令为例,介绍它们的功能以算术左移指令为例,介绍它们的功能(gōngnéng)和使用方和使用方法法ASL(25) D D是移位通道号是移位通道号功能功能当执行条件为当执行条件为ON时,执行指令将时,执行指令将Ch中的数据以位为单依次中的数据以位为单依次左移左移1位。
最高位移入位最高位移入CY,最低位补,最低位补0如图: CYD← 0第90页/共221页第九十页,共222页 4. 循环循环(xúnhuán)左左/右移位指令右移位指令ROL(27)/ROR(28) 循环左循环左/右移位指令的功能右移位指令的功能(gōngnéng)和使用方和使用方法相似法相似 ROL(27) D以循环左移指令为例,介绍它们的功能以循环左移指令为例,介绍它们的功能(gōngnéng)和使用方和使用方法法ROL(27) DD是移位通道号是移位通道号功能功能当执行条件为当执行条件为ON时,将时,将D及及CY中的数据以位为单依次中的数据以位为单依次循环左移位循环左移位1位如下图:位如下图: CYD第91页/共221页第九十一页,共222页 5. 数字数字(shùzì)左左/右移指令右移指令SLD (74)/ SRD(75) 数字数字(shùzì)左左/右移位指令的功能和使用方法相右移位指令的功能和使用方法相似似 以数字左移指令为例,介绍以数字左移指令为例,介绍(jièshào)它们的功能和使它们的功能和使用方法用方法 D1:移位首通道:移位首通道 D2:移位结束通道:移位结束通道功能:当执行条件为功能:当执行条件为ON时,执行指令将时,执行指令将D1~D2中的数据中的数据以数字为单位依次左移位以数字为单位依次左移位1位。
如下图:位如下图: SLD(74) D1 D2 SLD(74) D1 D2 D1…← 0溢出溢出← D2第92页/共221页第九十二页,共222页 6. 字移位指令字移位指令WSFT(16)/ @WSFT(16) S:移位数据 D1:移位开始通道(tōngdào)号 D2:结束通道(tōngdào)功能:当执行条件功能:当执行条件(tiáojiàn)为为ON时,将时,将S通道移入通道移入D1通道,将通道,将D1~D2中的内容以字为单位依次左移如中的内容以字为单位依次左移如下图:下图:WSFT(16) S D1 D2@WSFT(16) S D1 D2 WSFT(16)SD1D2 D1…丢失丢失←D2←←SD1+1← @WSFT(16)SD1D2第93页/共221页第九十三页,共222页 数据数据(shùjù)移位指令小结移位指令小结 1. 要根据需要要根据需要(xūyào),选择合适的数据移位指令。
选择合适的数据移位指令 ①① 是需要建立移位寄存器、还是是需要建立移位寄存器、还是(hái shi)要按位移要按位移位、按数字移位或按字移位位、按数字移位或按字移位 ②② 是需要作单向移位、可逆移位、还是循环移位是需要作单向移位、可逆移位、还是循环移位 ③③ 是需要作左移位还是右移位是需要作左移位还是右移位 2. 当需要标志位当需要标志位CY参与移位时,有时需要编程保存参与移位时,有时需要编程保存CY的状态 3. 注意执行各种指令后对标志位的影响注意执行各种指令后对标志位的影响第94页/共221页第九十四页,共222页 3.6 数据传送数据传送(chuán sònɡ)类指令类指令传送传送(chuán sònɡ)指令指令MOV/MVN数字传送数字传送(chuán sònɡ)指令指令MOVD位位传送指令传送指令MOVB块块设置指令设置指令BSET块块传送指令传送指令XFER单字单字分配指令分配指令DIST数据交换数据交换指令指令XCHG数据调用数据调用指令指令COLL第95页/共221页第九十五页,共222页S:源数据:源数据(shùjù)(通道或十六进制数(通道或十六进制数 )) D:目的通:目的通道号道号功功能能MOV (21) S DMVN S DMOV S D MVN (22) S D传送指令:在执行条件传送指令:在执行条件(tiáojiàn)为为ON时,将源通时,将源通道道S数据传送到目的通道数据传送到目的通道D中。
中求反传送指令:在执行条件求反传送指令:在执行条件(tiáojiàn)为为ON时,将时,将源通道源通道S数据求反后再传送到目的通道数据求反后再传送到目的通道D中1. 传送指令传送指令MOV(21)/求反传送指令求反传送指令MVN (22)第96页/共221页第九十六页,共222页LD P_First_CycleMOV (21) #0198 H000在在PLC上电的第一个扫描周期上电的第一个扫描周期(zhōuqī),把,把0198传送到传送到H000中中P_First_CycleMOV # 0198 H000分析程序的功能分析程序的功能(gōngnéng),并写出语,并写出语句表句表. 使用使用MOV指令指令(zhǐlìng)举例举例在此后的各扫描周期,不再执行在此后的各扫描周期,不再执行MOV指令第97页/共221页第九十七页,共222页使用使用DIFU指指令令(zhǐlìng)有何作用?有何作用?只要只要0.00 OFF→ON,就执,就执行行(zhíxíng)一次一次MOV 指指令W0.000.00DIFU(13) W0.00MOV W001 H000 分析程序的功能分析程序的功能(gōngnéng):: 使用使用MOV指令举例指令举例把把W001中的内容传送到中的内容传送到H000中。
中W001的内容在变化,的内容在变化,必要时将其传送到必要时将其传送到H000中第98页/共221页第九十八页,共222页0.00@MOV W001 H000分析程序的功能分析程序的功能(gōngnéng)使用使用MOV指令指令(zhǐlìng)举举例例只要只要(zhǐyào)0.00 OFF→ON,就执行一次,就执行一次MOV 指令把把W001中的内容传送到中的内容传送到H000中与举例(与举例(2 )功能相同功能相同W0.000.00DIFU(13) W0.00MOV W001 H000第99页/共221页第九十九页,共222页 指令指令(zhǐlìng)MOV几种使用方法的区别几种使用方法的区别(a)与(c)相同,指令(zhǐlìng)MOV都只在00000 OFF→ON时执行一次b ) 指令MOV只在PLC上电后的第一个扫描周期(zhōuqī)执行一次P_First_CycleMOV # 0198 H0000.00@MOV W001 H000W0.000.00DIFU(13) W0.00MOV W001 H000(a)(b)(c)第100页/共221页第一百页,共222页。
2. 数据交换指令数据交换指令(zhǐlìng)XCHG(73)/ @ XCHG (73)XCHG D1 D2 @XCHG D1 D2 XCHG D1 D2@ XCHG D1 D2 D1、、D2:通道:通道(tōngdào)号号功能功能(gōngnéng)在执行条件为在执行条件为ON时,将时,将D1、、D2通道中的数据进通道中的数据进行交换D1D2第101页/共221页第一百零一页,共222页 3. 块传送块传送(chuán sònɡ)指令指令XFER (70 )/ @ XFER(70 ) W :通道:通道(tōngdào)数(数(BCD数数 ))功能功能(gōngnéng)在执行条件为在执行条件为ON时,将几个连续通道中的数据传送时,将几个连续通道中的数据传送到另外几个连续通道中到另外几个连续通道中 S :源数据块首通道:源数据块首通道 D:目的通道首通道:目的通道首通道 XFER(70 ) W S D@ XFER(70 ) W S D XFER(70) W S D @XFER(70) W S D第102页/共221页第一百零二页,共222页。
执行块传送指令时数据执行块传送指令时数据(shùjù)传送如下所示:传送如下所示: S 1 2 3 4S+1 8 2 A CS+2 9 0 B 6…S+W-1 0 D F E D 1 2 3 4D+1 8 2 A CD+2 9 0 B 6…D+W-1 0 D F E…第103页/共221页第一百零三页,共222页 4. 块设置块设置(shèzhì)指令指令BSET(71)/ @ BSET(71) S :源数据:源数据(shùjù)(通道或十六进制数(通道或十六进制数 ))功能功能(gōngnéng)执行条件为执行条件为ON时,将时,将S传送到从传送到从D1到到D2的各通道中的各通道中 D1:开始通道:开始通道 D2:结束通道号:结束通道号BSET(71 ) S D1 D2@ BSET(71) S D1 D2 BSET(71) S D1 D2 @BSET(71) S D1 D2第104页/共221页第一百零四页,共222页。
LD 0.00 @MOV(21) #0100 H000 TIM 0000 H000 AND T0000 OUT 100.00LD 0.01@BSET(71) #0050 T0000 T00000.01 @BSET(71)# 0050 T0000 T0000T0000100.0 @MOV(21) # 0100 H0000.00TIM0000 H000分析程序的功能,写语句表分析程序的功能,写语句表使用使用BSET指令举例指令举例第105页/共221页第一百零五页,共222页。
①① @BSET指令的第二、第三指令的第二、第三(dì sān)操作数都是操作数都是T0000,即执行,即执行@BSET指令,只把数据传送到指令,只把数据传送到T0000中 功能功能(gōngnéng)②②在在0.01OFF、、0.00 OFF→ON 时,执行时,执行(zhíxíng)一次一次MOV指令,指令,将将 #0100传送到通道传送到通道H000中③③自此自此TIM 0000以设定值以设定值10秒定时④④ 经过经过10秒,定时器秒,定时器TIM0000 ON,, 线圈线圈100.00 ON 0.01 @BSET(71)# 0050 T0000 T0000T0000100.0 @MOV(21) # 0100 H0000.00TIM0000 H000第106页/共221页第一百零六页,共222页⑤⑤当需要改变定时器当需要改变定时器T0000的当的当前值时,可通过前值时,可通过(tōngguò)执行执行BSET指令来实现指令来实现 执行执行@BSET指令将指令将0050传送传送(chuán sònɡ)到到T0000中,中,T0000的当前值立即变为的当前值立即变为0050。
例如例如(lìrú),在,在TIM0000的当的当前值为前值为0089时,令时,令0.01 ON一次:一次:自此,自此,T0000的当前值从的当前值从0050开始,每隔开始,每隔0.1秒减秒减1,一直减,一直减到为到为0000为止0.01 @BSET(71)# 0050 T0000 T0000T0000100.0 @MOV(21) # 0100 H0000.00TIM0000 H000第107页/共221页第一百零七页,共222页⑥⑥由于由于H000中的数据没有改变,中的数据没有改变,在下一次定时器在下一次定时器T0000工作时,其工作时,其定时值定时值(shí zhí)仍然是仍然是0100★★ 以上以上(yǐshàng)是用是用BSET指令改指令改变定时器的当前值变定时器的当前值★★ 用用BSET指令也可以指令也可以(kěyǐ)改变定改变定时器的设定值方法为:时器的设定值方法为:本例中,令本例中,令BSET指令的第指令的第2、、3操作操作数为数为H0000,执行,执行BSET指令后,指令后,T0000的设定值就为的设定值就为0050了0.01 @BSET(71)# 0050 T0000 T0000T0000100.0 @MOV(21) # 0100 H0000.00TIM0000 H000第108页/共221页第一百零八页,共222页。
MOV与与BSET指令指令(zhǐlìng)的异同的异同①① 执执行行一一次次MOV指指令令,,只只能能(zhī nénɡ)向向一一个个通通道道传传送送一一个个字字;;而而执执行行一一次次BSET指指令令,,可可以以向向多多个通道传送同一个字个通道传送同一个字 ②② TIM / CNT的的操操作作数数是是通通道道(tōngdào)时时,,用用MOV 和和BSET指令都可以改变指令都可以改变TIM / CNT的设定值的设定值③③ 用用BSET指指令令既既可可改改变变TIM/CNT的的设设定定值值、、也也可以改变可以改变TIM/CNT的当前值的当前值 因为因为MOV指令不能向指令不能向T/C区传送数据,区传送数据, 所以不能用所以不能用MOV指令改变指令改变 TIM/CNT的当前值的当前值 !!第109页/共221页第一百零九页,共222页 5. 位传送位传送(chuán sònɡ)指令指令MOVB (82)/ @ MOVB (82)bit00~bit07指定指定(zhǐdìng)S中的位中的位号号bit08~bit15指定指定(zhǐdìng)D中的位中的位号号MOVB (82) S C D@ MOVB (82) S C DMOVB (82) S C D @ MOVB(82) S C DS:源数据:源数据 D:目的:目的(mùdì)通道通道 C (BCD) :控制数:控制数据据在执行条件为在执行条件为ON时,根据时,根据C的内容,将的内容,将S传送到传送到D中。
中 C内容的含义内容的含义 指令的功能指令的功能第110页/共221页第一百一十页,共222页分析程序的功能,写语句表分析程序的功能,写语句表使用使用MOVB指令举例指令举例 @MOVB (82) # 1500 H000 W0000.05LD 0.05 @MOV B (82) H000 #1500 W000 程序程序(chéngxù)功功能能 C的含义的含义(hányì)例:设例:设 H000 的内容的内容(nèiróng)为为 1000 1000 1000 0101执行指令之后执行指令之后——W0.15为为ON( 1 )bit00~bit07::S中的位中的位bit08~bit15::D中的位中的位0.05由由OFF→ON时,根据时,根据C的内容,将的内容,将H000指定位的内指定位的内容传送到容传送到 W000的指定位中的指定位中 第111页/共221页第一百一十一页,共222页。
6. 数字传送数字传送(chuán sònɡ)指令指令MOVD (83)/ @ MOVD (83)MOVD (83) S C D@ MOVD (83) S C DMOVD (83) S C D @ MOVD(83) S C D在执行条件为在执行条件为ON时,根据时,根据C的内容的内容(nèiróng),,将将S中指定的数字传送到中指定的数字传送到D中指定的数字位中中指定的数字位中 指令指令(zhǐlìng)的的功能功能第112页/共221页第一百一十二页,共222页S:源数据:源数据(shùjù) D:目的通道:目的通道 C:控:控制数据制数据(shùjù) C (BCD数数)的含义的含义(hányì) 指令指令(zhǐlìng)各操作数的各操作数的含义含义MOVD (83) S C DS中第一个要传送的数字位位号中第一个要传送的数字位位号不用不用C数字数字3 数字数字2 数字数字1 数字数字0 S中要传送的数字位数中要传送的数字位数0→ 1位位 1→2位位 2→ 3位位 3→4位位指定指定D中接收第一个数字的位号中接收第一个数字的位号第113页/共221页第一百一十三页,共222页。
C=#0030使用使用MOVD指令指令(zhǐlìng)举例举例(1)根据根据C、确定指令、确定指令(zhǐlìng)执执行结果行结果S中第中第0位数字开始位数字开始(kāishǐ)传传送送 传传 送送 4 位位 数数 字字D中从第中从第0位开始接收第一个数字位开始接收第一个数字MOVD (83) S#0030 D 0 1 2 3D 0 1 2 3S 被传送的数字位要连续被传送的数字位要连续例如:例如:1 →→ 2 →→3 →→0例如:例如:3 → →0 →→1 →→2例如:例如:2 → →3 →→0 →→1等等第114页/共221页第一百一十四页,共222页C=#0023使用使用(shǐyòng)MOVD指令举例指令举例(2)根据根据C、确定指令执行、确定指令执行(zhíxíng)结果结果S中第中第3位数字开始位数字开始(kāishǐ)传送传送 传传 送送 3 位位 数数 字字D中从第中从第0位开始接收第一个数字位开始接收第一个数字MOVD (83) S#0023 D 0 1 2 3D 0 1 2 3S第一个被传第一个被传送的数字送的数字第二个被传第二个被传送的数字送的数字第三个被传第三个被传送的数字送的数字第一个接收数第一个接收数字的位字的位第115页/共221页第一百一十五页,共222页。
C=#0123使用使用(shǐyòng)MOVD指令举例指令举例(3)根据根据(gēnjù)C、确定指令执行、确定指令执行结果结果S中第中第3位数字位数字(shùzì)开始开始传送传送 传传 送送 3 位位 数数 字字D中从第中从第1位开始接收第一个数字位开始接收第一个数字MOVD (83) S#0123 D 0 1 2 3D 0 1 2 3S第一个被传送第一个被传送的数字的数字第二个被传第二个被传送的数字送的数字第三个被传第三个被传送的数字送的数字第一个接收第一个接收数字的位数字的位第116页/共221页第一百一十六页,共222页 7. 数据分配数据分配(fēnpèi)指令指令DIST(80)/ @ DIST (80)S1:源数据:源数据 D:目标:目标(mùbiāo)基准通道基准通道 S2:偏移数:偏移数 DIST(80) S1 D S2@ COLL (81) S1 D S2 DIST(80) S1 D S2 @ DIST(80) S1 D S2在执行条件为在执行条件为ON时,将源数据传送到以目标通道时,将源数据传送到以目标通道(tōngdào)为为基址加偏移数后所制定的通道基址加偏移数后所制定的通道(tōngdào)中。
中 指令的功能指令的功能第117页/共221页第一百一十七页,共222页S1是基准通道是基准通道 D是目的是目的(mùdì)通道通道 S2偏移数偏移数 8. 数据数据(shùjù)抽取指令抽取指令COLL (81)/ @ COLL (81)COLL (81) S1 S2 D@ COLL (81) S1 S2 DCOLL (81) S1 S2 D @ COLL(81) S1 S2 D在执行在执行(zhíxíng)条件为条件为ON时,将源通道为基址加偏移数时,将源通道为基址加偏移数后所制定的通道值传送到目标通道中后所制定的通道值传送到目标通道中 指令的功能指令的功能第118页/共221页第一百一十八页,共222页 (2) 注意块传送和块设置指令功能注意块传送和块设置指令功能(gōngnéng)的区别 (3)注意数据分配、数据抽取和数据交换指令注意数据分配、数据抽取和数据交换指令(zhǐlìng)的区的区别。
别区别区别(qūbié)位传送和数字传送指令目的通道内容存放的方法位传送和数字传送指令目的通道内容存放的方法 (1) 注意各种传送指令的区别注意各种传送指令的区别单字传送单字传送MOV是常用的指令,要牢记其使用方法是常用的指令,要牢记其使用方法块设置指令块设置指令BSET可以向可以向T/C区传送数据,用该指令可区传送数据,用该指令可以改变定时器的当前值以改变定时器的当前值数据传送指令小结数据传送指令小结 第119页/共221页第一百一十九页,共222页无符号比较无符号比较(bǐjiào)指令指令CMP表比较表比较(bǐjiào)指令指令TCMP时刻时刻(shíkè)比较指令比较指令块块比较指令比较指令BCMP 3.7 数据比较指令数据比较指令区域比较区域比较指令指令ZCP符号比较指令符号比较指令第120页/共221页第一百二十页,共222页1.无符号无符号(fúhào)比较指令比较指令CMP S1 :比较(bǐjiào)数1 S2 : 比较(bǐjiào)数2在执行条件在执行条件(tiáojiàn)为为ON时,将时,将S1 和和S2进行比进行比较。
较 当当 S1 > S2时,标志位时,标志位P_GT ON 当当 S1 = S2时,标志位时,标志位P_EQ ON 当当 S1 < S2时,标志位时,标志位P_LT ON功能功能 CMP S1 S2CMP(20) S1 S2 !CMP S1 S2第121页/共221页第一百二十一页,共222页使用使用CMP指令指令(zhǐlìng)举例举例写语句写语句(yǔjù)表、分析程序表、分析程序功能功能LD 0.00TIM 0000 #0300CMP(20) T0000 #0200LD P_GTOUT W0.00LD P_EQOUT W0.01LD P_LTOUT W0.02LD T0000OUT W0.03P_EQW0.1T0000P_LTW0.3W0.2CMP(20) T0000 # 0200TIM0000 #03000.00P_GTW0.0第122页/共221页第一百二十二页,共222页。
分析程序功能分析程序功能(gōngnéng)执行指令执行指令(zhǐlìng)CMP时,将时,将TIM0000的当前值与的当前值与 #0200进行进行比较当当0.00为为ON时,时,TIM0000开始定开始定时时(dìnɡ shí)、且开始执行、且开始执行CMP指令TIM0000的当前值由的当前值由0300每隔每隔0.1秒减秒减1P_EQW0.1T0000P_LTW0.3W0.2CMP(20) T0000 # 0200TIM0000 #03000.00P_GTW0.0第123页/共221页第一百二十三页,共222页可见:配合指令可见:配合指令CMP,用一个定时器可以,用一个定时器可以(kěyǐ)控制控制 多个输出位多个输出位 若若TIM0000当前当前(dāngqián)值大值大于于#0200时,时, P_GT ON →W0.00 ON若若TIM0000的当前的当前(dāngqián)值等值等于于# 0200时,时, P_EQ ON → W0.01 ON若若TIM0000的当前值小于的当前值小于# 0200时,时, P_LT ON → W0.02 ON。
当当TIM0000 定时到定时到 时,时,W0.02和和 W0.03 ON 续续P_EQW0.1T0000P_LTW0.3W0.2CMP(20) T0000 # 0200TIM0000 #03000.00P_GTW0.0第124页/共221页第一百二十四页,共222页 2. 块比较块比较(bǐjiào)指令指令BCMPBCMP (68) S T D@ BCMP(68) S T D BCMP (68) S T D @ BCMP(68) S T DS:比较数据比较数据 T:数据块的起始数据块的起始(qǐ shǐ)通道通道 D:存结果通存结果通道道功能功能(gōngnéng)当执行条件为当执行条件为ON时,将时,将S与每个数据区域比较与每个数据区域比较当当S处于某个区域时,与该区域对应的处于某个区域时,与该区域对应的D的位的位ON第125页/共221页第一百二十五页,共222页使用块比较指令使用块比较指令(zhǐlìng)BCMP举例举例@MOV(21) # 1450 200 @BCMP 200 D00000 H00500000 下限下限 上限上限D00000 0000 D00001 0100 H005.00D00002 0101 D00003 0200 H005.01D00004 0201 D00005 0300 H005.02D00006 0301 D00007 0400 H005.03D00008 0401 D00009 0500 H005.04D00010 0501 D00011 0600 H005.05D00012 0601 D00013 0700 H005.06D00014 0701 D00015 0800 H005.07D00016 0801 D00017 0900 H005.08D00018 0901 D00019 1000 H005.09D00020 1001 D00021 1100 H005.10D00022 1101 D00023 1200 H005.11D00024 1201 D00025 1300 H005.12D00026 1301 D00027 1400 H005.13D00028 1401 D00029 1500 H005.14D00030 1501 D00031 1600 H005.15 H005比较比较(bǐjiào)指令执行结果:指令执行结果:H005.14为为 ON数据块内容数据块内容(nèiróng)可可预先写入预先写入数据块数据块存结果存结果比较数据比较数据块首通道块首通道结果通道结果通道第126页/共221页第一百二十六页,共222页。
3. 表比较表比较(bǐjiào)指令指令TCMPTCMP (85) S T D@ TCMP(85) S T DTCMP (85) S T D @ TCMP(85) S T DS:比较数据比较数据 T:数据表的起始通道数据表的起始通道(tōngdào) D: 结果通道结果通道(tōngdào)功能功能(gōngnéng)当执行条件为当执行条件为ON时,将时,将S与数据表中的数据比较与数据表中的数据比较当当S与表中某个通道的数据相同时,与该通道对应的与表中某个通道的数据相同时,与该通道对应的D的位的位为为ON第127页/共221页第一百二十七页,共222页 使用使用(shǐyòng)表比较指令表比较指令TCMP举例举例@MOV(21) # 0005 200 @TCMP 200 H000 H01900000数据表内容数据表内容(nèiróng)可可预先写入预先写入存结果存结果(jiē guǒ)比较数据比较数据 数数据据表表 结结果果通通道道 对对应应位位状状态态 H000 0101 H01900 0 H001 0151 H01901 0 H002 0005 H01902 1 H015 0605 H01915 0………表首通道表首通道结果通道结果通道该程序执行结果:该程序执行结果:H01902为为 ON。
第128页/共221页第一百二十八页,共222页 4. 区域比较区域比较(bǐjiào)指令指令ZCP(88)ZCP (88) S T1 T2比较比较(bǐjiào)数数据据ZCP S T1 T2功能功能(gōngnéng)当执行条件为当执行条件为ON时,将时,将S与设定的上、下限值进行比较,与设定的上、下限值进行比较,将比较结果反映在标志位上将比较结果反映在标志位上标志位:大于标志位:大于P_GT,大等于,大等于P_GE,等于,等于P_EQ ,小等,小等于于P_LE ,小于,小于P_LT,不等于,不等于 P_NE下限值下限值上限值上限值第129页/共221页第一百二十九页,共222页 5. 符号比较符号比较(bǐjiào)指令指令符号符号(fúhào)“=”,,“<>”,, “<”,, “<=”,, “>”,, “>=”等等 执行条件为执行条件为ON时,按照符号和选项设定方式时,按照符号和选项设定方式(fāngshì)比较比较S1和和S2比较数的值,满足条件输出为比较数的值,满足条件输出为ON(能流导通)。
能流导通)符号 选项LD型S1S2符号 选项AND型S1S2符号 选项OR型S1S2S1 :比较数:比较数1 S2 ::比较数比较数2功能功能选项选项包括包括S(带符号)(带符号) 和和L(双字)(双字)第130页/共221页第一百三十页,共222页 6. 时刻比较时刻比较(bǐjiào)类指类指令令符号符号(fúhào)“=DT”,,“<>DT”,, “












