好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CPM1A的指令系统课件.ppt

194页
  • 卖家[上传人]:cl****1
  • 文档编号:593505954
  • 上传时间:2024-09-25
  • 文档格式:PPT
  • 文档大小:3.37MB
  • / 194 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器回到回到主目录主目录 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 熟练掌握熟练掌握PLC的基本指令、的基本指令、编制梯形图的注意事项;熟练掌编制梯形图的注意事项;熟练掌握分支程序的处理方法;熟练掌握分支程序的处理方法;熟练掌握定时器握定时器/计数器指令;数据比计数器指令;数据比较较CMP指令;数据移位指令;数据移位SFT指令;指令;数据传送数据传送MOV指令掌握其它应指令掌握其它应用指令的用法能够读懂梯形图用指令的用法能够读懂梯形图程序和语句表程序,并能够互相程序和语句表程序,并能够互相转换;能够编写简单的梯形图程转换;能够编写简单的梯形图程序 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器概概 述述基本指令基本指令连锁连锁/连锁解除指令连锁解除指令暂存继电器暂存继电器跳转跳转/跳转结束指令跳转结束指令定时器和计数器指令定时器和计数器指令数据比较指令数据比较指令数据移位指令数据移位指令数据传送指令数据传送指令数据转换指令数据转换指令十进制运算指令十进制运算指令二进制运算指令二进制运算指令逻辑运算指令逻辑运算指令特殊指令特殊指令子程序控制指令子程序控制指令高速计数器控制指令高速计数器控制指令脉冲输出控制指令脉冲输出控制指令中断控制指令中断控制指令步进指令步进指令 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-1 §3-1 概述概述 1. CPM1A 1. CPM1A指令分类指令分类直接对输入、输出进行操作。

      直接对输入、输出进行操作进行数据处理、运算和程序控制等操作进行数据处理、运算和程序控制等操作基本指令基本指令应用指令应用指令 2. CPM1A 2. CPM1A指令格式指令格式 助记符(指令码)助记符(指令码) [ [操作数操作数1] 1] [ [操作数操作数2] 2] [ [操作数操作数3]3] 助记符:表示指令的功能助记符:表示指令的功能 指令码:是指令的代码指令码:是指令的代码操作数:提供指令执行的对象或数据操作数:提供指令执行的对象或数据 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 操作数可以是通道号、继电器号或常数操作数可以是通道号、继电器号或常数。

      操作数的个数,取决于各种指令的需要操作数的个数,取决于各种指令的需要★★ 关于操作数的讨论关于操作数的讨论 操作数设为常数时,在数据前面要加操作数设为常数时,在数据前面要加#号 操作数采用哪种进制,取决于指令的需要操作数采用哪种进制,取决于指令的需要 间接寻址的操作数用间接寻址的操作数用*DM××××来来表示 间接寻址的操作数,是以间接寻址的操作数,是以DM××××中的数据为地址的中的数据为地址的另一个另一个DM通道中的数据通道中的数据 DM××××中中 的的 内容内容 必须是必须是BCD码,且不得超出码,且不得超出DM区的范围区的范围 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例如,计数器指令的格式为例如,计数器指令的格式为 CNT000 SV 000是计数器的编号是计数器的编号 SV是操作数是操作数若若 SV = 200 表明表明000号计数器的设定值是号计数器的设定值是200通道中的内容通道中的内容 若若SV= # 0200 表明表明000号计数器的设定值是常数号计数器的设定值是常数200。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例如:计数器的指令格式为例如:计数器的指令格式为 CNT000 *DM1000 设设DM1000的内容为的内容为0010 则则 000号计数器的设定值是号计数器的设定值是2500 设设DM0010的内容为的内容为2500 如果设如果设DM1000的内容为的内容为9990 如果设如果设DM1000的内容的内容08FA超出超出DM范围范围非非BCD码码 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 3. 执行指令对标志位的影响执行指令对标志位的影响SR区的区的25503~~25507是指令执行结果的标志位是指令执行结果的标志位某些指令的执行结果影响标志位某些指令的执行结果影响标志位25503~~25507的状态标志位标志位25503 ~~25507的状态表示的意义要牢记的状态表示的意义要牢记ERER((2550325503):): 出错标志位出错标志位 25503 ON 25503 ON时,表示当前执行的程时,表示当前执行的程序出错且停止执行。

      序出错且停止执行CYCY((2550425504):进位标志位):进位标志位GRGR((2550525505):大于标志):大于标志EQEQ((2550625506):等于标志):等于标志LELE((2550725507):小于标志):小于标志当执行指令当执行指令END((01))时,以上标志均置为时,以上标志均置为OFF 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 4. 指令的微分、非微分形式指令的微分、非微分形式微分型:要在指令的助记符前加标记微分型:要在指令的助记符前加标记@ 两种指令的区别两种指令的区别 非微分型指令:非微分型指令:只要其执行条件为只要其执行条件为ON,每个扫描周期都执行该指令每个扫描周期都执行该指令 微分型指令:微分型指令:仅在指令的执行条件由仅在指令的执行条件由OFF变为变为ON时才执行一次时才执行一次返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 基本指令是最常用的指令基本指令是最常用的指令要牢记要牢记: 指令的功能、格式、符号和代码;指令的功能、格式、符号和代码;指令操作数的范围;指令操作数的范围;执行各指令对标志位的影响。

      执行各指令对标志位的影响 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1.LD 和和 LD NOT 指令指令 NNN:继电器编号:继电器编号IR,,SR,,HR,,AR,,LR,,TC,,TRLD:: 常开触点与母线相连常开触点与母线相连LD NOT:常闭触点与母线相连:常闭触点与母线相连不影响标志位不影响标志位LD、、LD NOT只能以位为单位进行操作只能以位为单位进行操作功能功能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. OUT 和和 OUT NOT 指令指令 N:继电器编号:继电器编号IR,,SR,,HR,,AR,,LR,,TRNN功能功能OUT:指令输出逻辑运算结果:指令输出逻辑运算结果OUT NOT:逻辑运算结果取反后输出:逻辑运算结果取反后输出OUT 、、 OUT NOT只能以位为单位进行操作只能以位为单位进行操作不影响标志位不影响标志位 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). 若输出位为若输出位为PC的输出点,则运算结果输出到的输出点,则运算结果输出到PC外部外部 若输出位为若输出位为PC的内部继电器,则运算结果为中间结果,的内部继电器,则运算结果为中间结果, 不输出到不输出到PC外部。

      外部4)).线圈并联输出时,可以连续使用线圈并联输出时,可以连续使用OUT、、OUT NOT2)).IR区已用作输入通道的位,不能作为区已用作输入通道的位,不能作为OUT、、OUT NOT的输出位的输出位说明说明((3)).OUT、、OUT NOT指令常用于一条梯形图支路的最后,但指令常用于一条梯形图支路的最后,但有时也用于分支点(见有时也用于分支点(见TR) 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:0000001000010010000101002LD 00000OUT 01000OUT NOT 01001LD NOT 00001OUT 01002 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. AND 和和 AND NOT 指令指令 NNIR,,SR,,HR,,AR,,LR,,TCN:继电器编号:继电器编号功能功能AND:表示常开触点与前面的触点电路相串联,或者说:表示常开触点与前面的触点电路相串联,或者说AND后后面的位与前面的状态进行逻辑面的位与前面的状态进行逻辑“与与”运算。

      运算AND NOT:表示常闭触点与前面的触点电路相串联,或者说:表示常闭触点与前面的触点电路相串联,或者说AND NOT后面的位取后面的位取“反反”后与前面的状态进行逻辑后与前面的状态进行逻辑“与与”运运算 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:000000100001000000010100100000LD 00000AND 00001OUT 01000LD 00000AND NOT 01000OUT 01001说明说明((1)). AND、、AND NOT只能以位为单位进行操作,且不影响只能以位为单位进行操作,且不影响标志2)). 串联的触点数没有限制串联的触点数没有限制 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:两种输出形式例:两种输出形式0000001000010010000100002((a)连续输出)连续输出0000001000010010000100002((b)连续输出次序颠倒)连续输出次序颠倒以上两图逻辑功能相同,但是(以上两图逻辑功能相同,但是(b)图用语句表编程繁琐,应尽量避免。

      图用语句表编程繁琐,应尽量避免a)连续输出)连续输出 LD 00000 AND 00001 OUT 01000 AND 00002 OUT 01001 ((b)连续输出次序颠倒)连续输出次序颠倒 LD 00000 AND 00001 AND 00002 OUT 01001 LD 00000 AND 00001 OUT 01000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. OR 和和 OR NOT 指令指令 NNIR,,SR,,HR,,AR,,LR,,TCN:继电器编号:继电器编号功能功能OR:表示常开触点与前面的触点电路相并联,或者说:表示常开触点与前面的触点电路相并联,或者说OR后面后面的位与前面的状态进行逻辑的位与前面的状态进行逻辑“或或”运算OR NOT:表示常闭触点与前面的触点电路相并联,或者说:表示常闭触点与前面的触点电路相并联,或者说OR NOT后面的位取后面的位取“反反”后与前面的状态进行逻辑后与前面的状态进行逻辑“或或”运算。

      运算说明说明((1)). OR、、OR NOT只能以位为单只能以位为单位进行操作,且不影响标志位进行操作,且不影响标志2)). 并联的触点数没有限制并联的触点数没有限制 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器LD 00000OR 00001OUT 01000LD 00000OR NOT 00003OUT 01001例:例:000000100000003000010100100000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. AND LD ((1)). 每个逻辑块都以每个逻辑块都以LD或或LD NOT 指令开始指令开始2)). AND LD指令单独使用,后面没有操作数指令单独使用,后面没有操作数3)).使用这条指令有两种方法:分置法和后置法两种方法可使用这条指令有两种方法:分置法和后置法两种方法可以得到相同的运算结果,但使用分置法时触点组数是没有限制的,以得到相同的运算结果,但使用分置法时触点组数是没有限制的,而采用后置法时触点组数不能超过而采用后置法时触点组数不能超过8。

      功能:用于逻辑块串联连接,即对逻辑块进行逻辑功能:用于逻辑块串联连接,即对逻辑块进行逻辑“与与”的操作注注 意意 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:0000020000000020000300001000040000500006方法方法1::分置法分置法方法方法2::后置法后置法LD 00000AND 00001OR NOT 00002LD 00003OR 00004AND LDLD 00005OR NOT 00006AND LDOUT 20000LD 00000AND 00001OR NOT 00002LD 00003OR 00004LD 00005OR NOT 00006AND LDAND LDOUT 20000对逻辑块多对逻辑块多少无限制少无限制AND LD前面的前面的逻辑块数少于逻辑块数少于8 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器6. OR LD 功能:用于逻辑块并联连接,即对逻辑块进行逻辑功能:用于逻辑块并联连接,即对逻辑块进行逻辑“或或”的操作。

      的操作注注 意意((1)). 每个逻辑块都以每个逻辑块都以LD或或LD NOT 指令开始指令开始2)). OR LD指令单独使用,后面没有操作数指令单独使用,后面没有操作数3)).使用这条指令有两种方法:分置法和后置法两种方法使用这条指令有两种方法:分置法和后置法两种方法可以得到相同的运算结果,但使用分置法时触点组数是没有限可以得到相同的运算结果,但使用分置法时触点组数是没有限制的,而采用后置法时触点组数不能超过制的,而采用后置法时触点组数不能超过8 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:000000100100002 00003000010000500004方法方法1:分置法:分置法方法方法2:后置法:后置法LD 00000AND NOT 00001LD 00002AND 00003OR LDLD NOT 00004AND NOT 00005OR LDOUT 01001LD 00000AND NOT 00001LD 00002AND 00003LD NOT 00004AND NOT 00005OR LDOR LDOUT 01001 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:利用以上指令对复杂梯形图编程例:利用以上指令对复杂梯形图编程00000010050000120002000020000600005000080000700004000032000120000先找出逻辑块先找出逻辑块LD 00000OR 00001AND NOT 00002LD 00005AND NOT 00006OR LDLD 00007AND 00008OR LDLD 00003AND 00004OR 20002AND LDLD 20000AND 20001OR LDOUT 01005 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器7. 7. 置位和复位指令置位和复位指令 SET NRESET NIR,,SR,,HR,,AR,,LR,,N:继电器编号:继电器编号SET:当执行条件为:当执行条件为ON时,使指定的继电时,使指定的继电器置位为器置位为ON。

      当执行条件为当执行条件为OFF时,指定的继电器不改时,指定的继电器不改变原状态变原状态RESET:当执行条件为:当执行条件为ON时,使指定的继电器复位为时,使指定的继电器复位为OFF 当执行条件为当执行条件为OFF时,指定的继电器不改变原状态时,指定的继电器不改变原状态功功 能能0000300000SET 20000RESET 20000LD 00000SET 20000LD 00003RESET 20000000000000320000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器8. 8. 保持指令保持指令KEEP((11)) SRKEEP((11)) N 置位输入置位输入复位输入复位输入IR,,SR,,HR,,AR,,LRN:继电器编号:继电器编号0000300002KEEP((11)) HR0000LD 00002LD 00003KEEP((11)) HR000000000200003HE0000功功 能能当当 S=ON,,R=OFF时,保持继电时,保持继电器器N的状态,即使的状态,即使S由由ON变为变为OFF,继电器,继电器N的状态也不变。

      的状态也不变 当当 R=ON时,继电器时,继电器N的状的状态为态为OFF 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). KEEP((11)指令功能和)指令功能和SET、、RESET指令的功能类似,指令的功能类似,但但KEEP指令是一个整体,中间不允许插入任何指令指令是一个整体,中间不允许插入任何指令2)). KEEP((11)指令完成一个起停保电路的功能指令完成一个起停保电路的功能HR00000000200003HR00000000200003HE0000((3)). 当用当用KEEP((11)指令对保持继电器编程时,可实现断)指令对保持继电器编程时,可实现断电保持的功能电保持的功能注注 意意 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器9. 9. 上升沿微分指令上升沿微分指令DIFU((13)) 下降沿微分指令下降沿微分指令DIFD((14)) DIFU((13)) NDIFD((14)) NIR,,SR,,HR,,AR,,LRN:继电器编号:继电器编号DIFD((14):执行条件由):执行条件由ON变为变为OFF时,指定继电器时,指定继电器N在一个在一个扫描周期为扫描周期为ON。

      功功 能能DIFU((13):执行条件由):执行条件由OFF变为变为ON时时 ,指定继电器,指定继电器N在一在一个扫描周期为个扫描周期为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器DIFU((13)和)和 DIFD((14)指令的接通时间只有一个扫描周期指令的接通时间只有一个扫描周期00000DIFU((13)) 20000DIFD((14)) 20001000002000020001TsTs((2)).输入条件在第输入条件在第n次扫描到为次扫描到为OFF,,n+1次扫描到为次扫描到为ON时,时,DIFU指令执行,所以对于开机就为指令执行,所以对于开机就为ON的执行条件,的执行条件,DIFU指令指令不执行同样,对于开机就为不执行同样,对于开机就为OFF的执行条件的执行条件DIFD指令不执行指令不执行说说 明明((1)). IR区中已经用作输入通道的位不能作为微分指令的输出区中已经用作输入通道的位不能作为微分指令的输出位,输出通道的位最好也不要用位,输出通道的位最好也不要用 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器10. 10. 空操作指令空操作指令NOP((00)) 无梯形图符号、无操作数无梯形图符号、无操作数功能:用来取消某一步操作。

      常用于修改梯形图功能:用来取消某一步操作常用于修改梯形图0000000001010000000001000改为:改为:1LD 000002AND 000013OUT 010001LD 000002NOP((00))3OUT 01000使步序号变更更少使步序号变更更少例如:例如: 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器11. 11. 结束指令结束指令END((01)) END((01))无操作数无操作数功功 能能 表示程序结束是程序的最后一条指令表示程序结束是程序的最后一条指令END((01)后面)后面的指令一概不执行的指令一概不执行利用利用END指令插在各程序段之间,可以进行分段调试指令插在各程序段之间,可以进行分段调试 若程序中没有若程序中没有END指令,则指令,则PC不执行程序,并显示出错信不执行程序,并显示出错信息:息:“NO END INST”执行执行END指令时,指令时,ER、、CY、、GR、、EQ、、LE标志置为标志置为OFF 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1. 梯形图中线圈应放在最右边。

      梯形图中线圈应放在最右边000000000101000错误的错误的000000000101000正确的正确的编写梯形图时注意事项编写梯形图时注意事项2. 除少数指令(如除少数指令(如ILE、、JME等)不允许有执行条件外,几乎等)不允许有执行条件外,几乎所有指令都需要执行条件所有指令都需要执行条件 若一条指令在若一条指令在PC上电后需要一直执行,不能直接连在母线上,可以将上电后需要一直执行,不能直接连在母线上,可以将SR区的常区的常ON标志标志25313或常或常OFF标志标志25314取反后作为执行条件取反后作为执行条件 若一条指令在若一条指令在PC上电后只执行一次,则将上电后只执行一次,则将SR区的区的25315作为执行条件作为执行条件 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 触点不能画在垂直路径上触点不能画在垂直路径上120100034545401000522134. 逻辑关系复杂的程序段,按先复杂后简单的原则编程逻辑关系复杂的程序段,按先复杂后简单的原则编程10100023230100013120100012301000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 在同程序中,同一元件线圈使用在同程序中,同一元件线圈使用2次或多次,称为双线圈输出。

      这时前次或多次,称为双线圈输出这时前面的输出无效,最后一次输出才是有效输出面的输出无效,最后一次输出才是有效输出20000000000100001000 双线圈输出易引起逻辑分析双线圈输出易引起逻辑分析上的混乱上的混乱010000000001000010010000101000设:设:00000为为ON,,00001为为OFF第一支路:第一支路:01000得电得电第二支路:第二支路:01001得电得电第三支路:第三支路:01000失电失电I/O刷新刷新01001得电得电01000失电失电从第二支路看,从第二支路看,01001要想得电要想得电01000必须为必须为ON,由此看出上图逻辑混乱,由此看出上图逻辑混乱5. 尽量避免出现双线圈输出尽量避免出现双线圈输出返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-3 §3-3 连锁连锁/ /连锁解除指令(连锁解除指令(IL(02)/ILC(03)))IL((02))ILC((03)) 若若IL的执行条件为的执行条件为 ON,位于,位于IL和和ILC之间之间的程序正常执行的程序正常执行 功能:用来处理梯形图中的分支电路,功能:用来处理梯形图中的分支电路,IL和和ILC一起使用。

      一起使用 若若IL的执行条件为的执行条件为OFF,位于,位于IL和和ILC之间的之间的程序不执行程序不执行IL和和ILC之间的程序输出状态为:之间的程序输出状态为:所有输出位为:所有输出位为:OFF所有定时器:复位所有定时器:复位所有计数器、移位寄存器、有保持功能指令的输出位:保持以前状态所有计数器、移位寄存器、有保持功能指令的输出位:保持以前状态 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). 不论不论IL前面得执行条件为前面得执行条件为OFF或或ON,,PC都要对都要对IL—ILC中间中间 的程序进行处理,要占用扫描时间的程序进行处理,要占用扫描时间2)). IL和和ILC可以成对使用,也可以多个可以成对使用,也可以多个IL指令配一个指令配一个ILC指令,但不允许嵌套指令,但不允许嵌套 IL---IL…..ILC (允许)(允许) IL IL…ILC ILC(不允许)(不允许)说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:分支电路如下:例:分支电路如下:00000000020000101000010010100201003000030000400005A00000000020000101000010010100201003000030000400005IL ((02))ILC((03))LD 00000IL((02))LD 00001OUT 01000LD NOT 00002OUT 01001LD 00003AND NOT 00004OUT 01002ILC((03))LD 00005OUT 01003 从从A点看,点看,00000为后面为后面3个分支的执行条件个分支的执行条件注意区别并联输出、连续输出和复合输出的结构及其编程方法注意区别并联输出、连续输出和复合输出的结构及其编程方法 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器注意区别并联输出、连续输出和复合输出的结构及其编程方法注意区别并联输出、连续输出和复合输出的结构及其编程方法并联输出并联输出复合输出复合输出连续输出连续输出输出线圈并联输出线圈并联上支路无触点;上支路无触点;下之路有触点。

      下之路有触点分支点上下支分支点上下支路均有触点路均有触点00000010000100101002A000000100001001010020000100002A00000010000100101002000010000200003A输出为并列关系,输出为并列关系,执行条件均为执行条件均为0000000000后一个触点支路与前一后一个触点支路与前一个触点为个触点为““与与””关系关系用连锁指令用连锁指令返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-4 §3-4 暂存继电器暂存继电器TR (TR0~TR7) 处理梯形图的另一种方法把一个处理梯形图的另一种方法把一个TR置于一个分支点处,则当前结置于一个分支点处,则当前结果就会存在指定果就会存在指定TR中00000000020000101000010010100200003TR0TR0000030000000001TR001000000020100101002TR0LD 00000OUT TR0AND 00001OUT 01000LD TR0AND 00002OUT 01001LD TR0AND 00003OUT 01002((1)). 同一程序段中,同一个同一程序段中,同一个TR号不能重复使用;在不同程序号不能重复使用;在不同程序段中,段中, 同一个同一个TR号可以重复使用。

      号可以重复使用2)).TR不是编程指令,只能和不是编程指令,只能和LD或或OUT等指令一起使用等指令一起使用说说明明返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-5 §3-5 跳转跳转/ /跳转结束指令(跳转结束指令(JMP(04)/JME(05)))JMP((04)) NJME((05)) NN:跳转号:跳转号 00~49Ø. 当当 JMP N 的执行条件为的执行条件为OFF时,跳过时,跳过JMP N 和和JME N 之间的程序段,之间的程序段,转去执行转去执行JME N 后面的程序后面的程序 JMP N 和和JME N 之间的所有输出、定时器和计数器的状态保持不变,之间的所有输出、定时器和计数器的状态保持不变,JMP 和和JME之间的程序不执行,不占用扫描时间之间的程序不执行,不占用扫描时间Ø. 当当 JMP N 的执行条件为的执行条件为ON时,执行时,执行JMP N 和和JME N 之间的程序段之间的程序段 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器0000401002000000000120000JMP((04)) 00010002000100003TIM000 #0200CNT001 #0100TIM000JME((05)) 0001002当当00000为为OFF时,时,JMP 00到到JME 00之之间的程序段不执行。

      保持跳步前的状态间的程序段不执行保持跳步前的状态例如,例如,TIM000若跳步前未定时,则跳步若跳步前未定时,则跳步期间也不会定时,即使期间也不会定时,即使20001为为ON;若跳;若跳步前已定时,则跳步期间停止定时并保持步前已定时,则跳步期间停止定时并保持当前值不变,即使当前值不变,即使20001为为OFF;一旦;一旦00000变为变为ON,,JMP 00到到JME 00之间的之间的程序被执行,当程序被执行,当20001为为ON时,时,TIM000将从当前值开始恢复定时将从当前值开始恢复定时 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器跳跳转转类类型型N=00N≠00每个跳转号只能在程序中使用一次每个跳转号只能在程序中使用一次可以在程序中使用多次可以在程序中使用多次CPU占时少占时少CPU占时多占时多说 明多个多个JMP N 可以公用一个可以公用一个JME N ,,JMP—JMP—JME跳转指令可以使用嵌套,但必须是不同的跳转号的嵌套跳转指令可以使用嵌套,但必须是不同的跳转号的嵌套 如:如:JMP 00—JMP 01----JME01---JME00.返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-6 §3-6 定时器和计数器指令定时器和计数器指令1. 定时器指令定时器指令--TIMTIM N SVIR,,SR,,HR,,AR,,LR,,DM,,*DM,,#SV:定时器设定值(字,:定时器设定值(字,BCD码)码)000~127N:定时器:定时器TC号号功能:通电延时型功能:通电延时型 当当 定时器的执行条件为定时器的执行条件为OFF时,定时器输出为时,定时器输出为OFF。

      当定时器的执行条件为当定时器的执行条件为ON时,定时器开始定时,定时时,定时器开始定时,定时时间到,定时器输出为时间到,定时器输出为ON当定时器的执行条件变为当定时器的执行条件变为OFF时,定时器输出随之变为时,定时器输出随之变为OFF 定时器最小定时时间单位为定时器最小定时时间单位为0.1秒,定时范围秒,定时范围0~999.9秒,秒,SV取值范围为取值范围为0000~9999 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:定时器例:定时器TIM000,,SV=15秒,定时到秒,定时到01000得电TIM0000000001000TIM 000 #0150TIM0000000001000TIM 000 200例:定时器例:定时器TIM000,,SV=IR200中数据,定时到中数据,定时到01000得电LD 00000TIM 000 #0150LD TIM000OUT 01000LD 00000TIM 000 200LD TIM000OUT 010002550325503置置位为位为ONON注注意意((1 1)). .定时器没有断电保持功能,断电时,定时器复位。

      定时器没有断电保持功能,断电时,定时器复位2 2)). .出错标志出错标志2550325503::①.①.当当SVSV不是不是BCDBCD码时;码时; ②. ②.间接寻址间接寻址DMDM通道不存在时通道不存在时 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 高速定时器指令高速定时器指令--TIMH((15))TIMH N SVIR,,SR,,HR,,AR,,LR,,DM,,*DM,,#SV:定时器设定值(字,:定时器设定值(字,BCD码)码)000~127N:定时器:定时器TC号号v. 定时器最小定时时间单位为定时器最小定时时间单位为0.01秒,定时范围秒,定时范围0~99.99秒,秒,SV取值范围为取值范围为0000~9999,,SV必须是必须是BCD码功能:同功能:同TIM 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 计数器指令计数器指令CNTCNT N SVCPRIR,,SR,,HR,,AR,,LR,,DM,,*DM,,#SV:计数器设定值(字,:计数器设定值(字,BCD码)码)000~127N:计数器:计数器TC号号CP为脉冲输入端;为脉冲输入端;R为复位端为复位端功功 能能 当当R=ONR=ON时,不计数,当前值时,不计数,当前值PV=SVPV=SV;当;当R R由由ON→OFFON→OFF时,开始时,开始计数。

      计数 当当R=OFFR=OFF时,时,CPCP端由端由OFF →ONOFF →ON时,计数器减时,计数器减1 1,计数器减到,计数器减到0 0时,停止计数,计数器输出变为时,停止计数,计数器输出变为ONON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2550325503置位置位为为ONON00001例:例:CNT0040000001005CNT 004 #0150LD 00000LD 00001CNT 004 #0150LD CNT004OUT 01005注注意意(1).(1).计数器编程时,先编写计数器脉冲输入端计数器编程时,先编写计数器脉冲输入端CPCP,再编写,再编写复位端复位端R R,, 最后编最后编CNTCNT指令2).(2).计数器具有断电保持功能,断电时计数器当前值保持计数器具有断电保持功能,断电时计数器当前值保持不变3).ER(3).ER标志标志25503 ①.25503 ①.当当SVSV不是不是BCDBCD码时;码时; ②.②.间接寻址间接寻址DMDM通道不存在时;通道不存在时; 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 3. 可逆计数器指令可逆计数器指令--CNTR--CNTR((1212))IR,,SR,,HR,,AR,,LR,,DM,,*DM,,#SV:计数器设定值(字,:计数器设定值(字,BCD码)码)000~127N:计数器:计数器TC号号CNTR(12) N SVACPSCPRACP加计数脉冲输入端;加计数脉冲输入端; SCP减计数脉冲输入端;减计数脉冲输入端;R为复位端为复位端功功 能能当当R=ONR=ON时,不计数,当前值时,不计数,当前值PV=0000PV=0000;;CNTRCNTR输出为输出为OFFOFF。

      两个计数脉冲输入端同时为两个计数脉冲输入端同时为ONON,即,即ACPACP、、SCPSCP均为均为ONON时,不计数时,不计数当当R=OFFR=OFF时,可以计数时,可以计数ACPACP输入端由输入端由OFFOFF变为变为ONON计数器加计数器加1 1;; SCPSCP输入端由输入端由OFFOFF变为变为ONON计数器减计数器减1 1 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器ü. .对于对于ACPACP,在,在PV=SVPV=SV时,再加时,再加1 1,,PV=0000PV=0000,,CNTRCNTR输出为输出为ONON,再,再来一个脉冲,来一个脉冲,PV=0001PV=0001,,CNTRCNTR输出为输出为OFFOFF,循环加计数循环加计数即产生即产生进位输出一个计数周期的进位输出一个计数周期的ONONü. .对于对于SCPSCP,在,在PV=0000PV=0000时,再减时,再减1 1,,PV=SVPV=SV,,CNTRCNTR输出为输出为ONON,再,再来一个脉冲,来一个脉冲,PV=SV-1PV=SV-1,,CNTRCNTR输出为输出为OFFOFF,循环减计数。

      循环减计数即产生即产生借位输出一个计数周期的借位输出一个计数周期的ONONACPSCP PV= 147 148 149 150 0 1 2 3 PV= 3 2 1 0 150 149 148 147CNTR假如:假如:SV=150,,R=OFF,,ACP、、SCP、、CNTR之间的关系如下:之间的关系如下: 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2550325503置置位为位为ONON注注 意意(1). (1). 可逆计数器编程时,先编写加计数脉冲输入端可逆计数器编程时,先编写加计数脉冲输入端ACPACP,再编,再编写减计数脉冲输入端写减计数脉冲输入端SCPSCP,后编写复位端,后编写复位端R R,, 最后编最后编CNTRCNTR指令2). (2). 可逆计数器具有断电保持功能,断电时计数器当前值保持可逆计数器具有断电保持功能,断电时计数器当前值保持不变3). ER(3). ER标志标志2550325503::①.①.当当SVSV不是不是BCDBCD码时;码时; ②. ②.间接寻址间接寻址DMDM通道不存在时;通道不存在时;返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-7 §3-7 数据比较指令数据比较指令1. 单字比较指令单字比较指令--CMP(20)CMP(20)C1C2IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C2:比较数:比较数2IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C1:比较数:比较数1 当执行条件为当执行条件为ONON时,比较时,比较C1C1、、C2C2的大小,将比较结果送的大小,将比较结果送SRSR区标志位。

      区标志位 . 当当 C1 > C2 C1 > C2 时,大于标志位时,大于标志位 25505 25505 为为ONON . 当当 C1 C1==C2 C2 时,等于标志位时,等于标志位 25506 25506 为为ONON . 当当 C1 < C2 C1 < C2 时,小于标志位时,小于标志位 25507 25507 为为ONON功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:25507255050000001000CMP((20))HR09200010010100225506TR0LD 00000OUT TR0CMP(20) HR09 200LD TR0AND 25505OUT 01000LD TR0AND 25506OUT 01001LD TR0AND 25507OUT 01002(HR09) >(IR200)时时 01000为为ON(HR09) ==(IR200)时时 01001为为ON(HR09) <(IR200)时时 01002为为ON注注意意 当于当于TCTC通道当前值进行比较时,比较数必须是通道当前值进行比较时,比较数必须是BCDBCD码。

      码 间接寻址间接寻址DMDM通道不存在时,通道不存在时,ERER标志标志2550325503为为ONON,此时该,此时该指令不执行指令不执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:利用定时器和比较指令产生如图波形例:利用定时器和比较指令产生如图波形00000接启动按钮接启动按钮0000001000100s100s100s010010100201003500s2550701000CMP((20))TIM010#400000000TIM 010 #5000010002550701001CMP((20))TIM010#30002550701002CMP((20))TIM010#200001001TIM01001003500.0s定时定时100.0s时输出时输出200.0s时输出时输出300.0s时输出时输出500.0s时输出时输出LD 00000TIM 010 #5000CMP(20) TIM010 #4000AND 25507OUT 01000LD 01000CMP(20) TIM010 #3000AND 25507OUT 01001LD 01001CMP(20) TIM010 #2000AND 25507OUT 01002LD TIM010OUT 01003 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 双字比较指令双字比较指令--CMPL(60)CMPL(60)C1C2IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMC2:第二个比较字的起始通道:第二个比较字的起始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMC1:第一个比较字的起始通道:第一个比较字的起始通道Ø. 当当 ((C1++1,,C1)) > ((C2 ++1,,C2))时,大于标志位时,大于标志位 25505 为为ON。

      Ø. 当当 ((C1++1,,C1)) = ((C2 ++1,,C2))时,等于标志位时,等于标志位 25506 为为ONØ. 当当 ((C1++1,,C1)) > ((C2 ++1,,C2))时,小于标志位时,小于标志位 25507 为为ON 当执行条件为当执行条件为ONON时,将通道时,将通道C1C1++1 1、、C1C1中的两个字构成一个中的两个字构成一个双字,将通道双字,将通道C2C2++1 1、、C2C2中的两个字构成一个双字,比较两数的中的两个字构成一个双字,比较两数的大小,将比较结果送大小,将比较结果送SRSR区标志位区标志位功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器注意注意: : ((1 1)). .编程顺序同编程顺序同CMPCMP;; ((2 2)). .出错标志同出错标志同CMPCMP;; ((3 3)). . C1C1++1 1和和C1C1 必须在同一数据区;必须在同一数据区; C2C2++1 1和和C2C2 必必 须在同一数据须在同一数据 ((4 4)).CMPL.CMPL((6060)不能用于带符号数的比较。

      不能用于带符号数的比较 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 3. 块比较指令块比较指令--BCMP (68)/ @BCMP (68)--BCMP (68)/ @BCMP (68)BCMP (68)CDCBR@BCMP (68)CDCBRIR,,SR,,HR,,LR,,TC,,DM,,*DMCB:数据块起始通道:数据块起始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#CD:比较数据:比较数据IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMR:结果通道:结果通道 比较块由比较块由CB,,CB+1,,CB+2,,……,,CB+31组成,分组成,分16个比较区域,个比较区域,每个比较区域由两个通道定义,第一个为下限,第二个为上限,上限值应每个比较区域由两个通道定义,第一个为下限,第二个为上限,上限值应大于等于下限值大于等于下限值 当执行条件为当执行条件为ON时,将比较数据时,将比较数据CD与每一个区域进行比较,如果与每一个区域进行比较,如果CD处在某个区域,比较结果通道处在某个区域,比较结果通道R中的对应位置中的对应位置1,否则该对应位置,否则该对应位置0。

      功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器区域比较和区域比较和R的的 对应关系:对应关系:序号序号下限下限上限上限R中对应的位中对应的位1CBCB+100位位2CB+2CB+301位位3CB+4CB+502位位4CB+6CB+703位位 …… …… …… ……15CB+28CB+2914位位16CB+30CB+3115位位说明:当比较块超出所在数据区的范围或间接寻址说明:当比较块超出所在数据区的范围或间接寻址DM通道不存在,通道不存在,出错标志出错标志25503为为ON,此时该指令不执行此时该指令不执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器比较数据:比较数据:IR2000210DM00100000DM00120101DM00140210DM00160310DM00180410DM00200510DM00220610DM00240710DM00260810DM00280910DM00301001DM00321101DM00341201DM00361301DM00381401DM00401501BCMP (68)200DM0010HR0500000DM00110100DM00130200DM00150300DM00170400DM00190500DM00210600DM00230700DM00250800DM00270900DM00291000DM00311100DM00331200DM00351300DM00371400DM00391500DM00411600HR05000HR05010HR05021HR05030HR05040HR05050HR05060HR05070HR05080HR05090HR05100HR05110HR05120HR05130HR05140HR05150下限下限上限上限比较结果通道比较结果通道例:当执行条件例:当执行条件00000为为ON时,将通道时,将通道200中的数据中的数据0210与与DM0010开始的比开始的比较块通道中的数据进行区域比较,比较结果放在较块通道中的数据进行区域比较,比较结果放在HR05中的对应位上。

      中的对应位上 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 表比较指令表比较指令--TCMP (85)/ @TCMP (85)TCMP (85)CDTBR@TCMP (85)CDTBRIR,,SR,,HR,,LR,,TC,,DM,,*DMTB:比较表起始通道:比较表起始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#CD:比较数据:比较数据IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMR:结果通道:结果通道 当执行条件为当执行条件为ON时,将数据时,将数据CD与与TB,,TB+1,,TB+2,,……,,TB+15中中的数据进行比较,如果的数据进行比较,如果CD与这些通道中某一个数据相同,则结果通道与这些通道中某一个数据相同,则结果通道R中相中相应位置应位置1,否则置,否则置0说明:当比较表说明:当比较表TB~~ TB+15超出所在数据区的范围或间接寻址超出所在数据区的范围或间接寻址DM通道不存通道不存在,出错标志在,出错标志25503为为ON,此时该指令不执行此时该指令不执行功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器TCMP (85)200DM0010HR0500000比较数据:比较数据:0210IR200DM00100100DM00110200DM00120210DM00130400DM00140500DM00150600DM00160210DM00170800DM00180900DM00191000DM00200210DM00211200DM00221300DM00231400DM00240210DM00251600比较表比较表HR05000HR05010HR05021HR05030HR05040HR05050HR05061HR05070HR05080HR05090HR05101HR05110HR05120HR05130HR05141HR05150比较结果通道比较结果通道例:当执行条件例:当执行条件00000为为ON时,将通道时,将通道200中的数据中的数据0210与与DM0010开始的开始的16个通道中的数据进行表比较,比较结果放在个通道中的数据进行表比较,比较结果放在HR05中的对应位上。

      中的对应位上返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-8 §3-8 数据数据移位指令移位指令SFT(10)StE数据输入端数据输入端 IN移位脉冲输入端移位脉冲输入端 SP复位端复位端 RIR,,SR,,HR,,AR,,LRE:结束通道:结束通道IR,,SR,,HR,,AR,,LRSt:起始通道:起始通道1. 移位寄存器指令移位寄存器指令--SFT(10)功功 能能 当当R R端为端为ONON时,从时,从St St 到到 E E 通道中所有位置为通道中所有位置为OFFOFF,此时,此时SPSP和和ININ无效 当当R R端为端为OFFOFF时时, ,在移位脉冲端在移位脉冲端SPSP由由OFF→ONOFF→ON的上升沿时,的上升沿时, St St 到到 E E 通道中的所有位依次左移一位,通道中的所有位依次左移一位,E E通道最高位溢出丢失,通道最高位溢出丢失,StSt通道最低位则移进数据输入端通道最低位则移进数据输入端ININ的数据 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器15E00…溢出溢出15E--100………15St++100…15St…00IN状态状态((1)).只有只有R端为端为OFF时,且时,且SP端具有上升沿时,才产生移位;端具有上升沿时,才产生移位;((2)).编程时先编编程时先编IN,再编,再编SP,再编,再编R,最后编,最后编SFT指令;指令;((3)). SFT指令不影响标志位;指令不影响标志位;((4)). 开始通道号开始通道号St必须小于等于结束通道号必须小于等于结束通道号E,且,且St和和E必须在同一区域。

      必须在同一区域注注 意意 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 可逆移位寄存器指令可逆移位寄存器指令--SFTR(84)/@ SFTR(84)SFTR(84)StEC@SFTR(84)StECIR,,SR,,HR,,AR,,LR,,DM,,*DME:结束通道:结束通道IR,,SR,,HR,,AR,,LR,,DM,,*DMSt:起始通道:起始通道IR,,SR,,HR,,AR,,LR,,DM,,*DMC:控制通道:控制通道控制通道控制通道C各位的含义:各位的含义:------------12131415移位方向移位方向1: 左移左移0: 右移右移数据输入端数据输入端IN移位脉冲端移位脉冲端SP复位端复位端R-- : 不使用不使用 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器功功 能能执行执行条件条件为为ONONCbit15=ON,则从,则从St到到E,,CY所有数据复位,不接收数据所有数据复位,不接收数据Cbit15=OFF,且且Cbit14=ONCbit12=1,则从,则从St到到E、、CY,每个扫描周期左移,每个扫描周期左移1位位Cbit12=0,则从,则从St到到E、、CY,每个扫描周期右移,每个扫描周期右移1位位Cbit1315E00…15E--100………15St++100…15St…00CY左移:左移:Cbit1315E00…15E--100………15St++100…15St…00CY右移:右移: 当执行条件为当执行条件为OFF时,停止工作。

      此时复位信号不起作用既此时复位时,停止工作此时复位信号不起作用既此时复位信号为信号为ON时,从时,从St到到E,,CY保持不变保持不变 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)).SFTR(84)指令,只要执行条件为指令,只要执行条件为ON,,Cbit15==OFF((R=OFF),), Cbit14==ON((SP=OFF)),则每个扫描周期移位一位所以,要想控制移位,则每个扫描周期移位一位所以,要想控制移位,要么用要么用@SFTR(84)形式,要么用其他信号的微分形式控制形式,要么用其他信号的微分形式控制Cbit14 St和和E不在同一区域,不在同一区域,25503为为ON((3)). ER标志标志St > E 25503为为ON*DM通道不存在,通道不存在, 25503为为ON((4)). 进位标志进位标志CY::25504左移:左移:E15→CY右移:右移:St00→CYCY=1,则则25504为为ON((2)).开始通道号开始通道号St必须小于等于结束通道号必须小于等于结束通道号E,且,且St和和E必须在同一区域。

      必须在同一区域 注注 意意 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:00004200120000000001201000000300002DIFU(13) 20100SFTR(84)200LR10LR11200132001420015CStE移位方向移位方向数据输入数据输入移位脉冲移位脉冲复位信号复位信号例:例:000042001200000000010000300002@SFTR(84)200LR10LR11200132001420015移位方向移位方向数据输入数据输入移位脉冲移位脉冲复位信号复位信号CStE 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 字移位指令-字移位指令-WSFT (16)/@ WSFT (16)WSFT(16)StE@WSFT(16)StEIR,,SR,,HR,,AR,,LR,,DM,,*DME:结束通道:结束通道IR,,SR,,HR,,AR,,LR,,DM,,*DMSt:起始通道:起始通道功能:执行条件为功能:执行条件为ON时,时,WSFT每执行一次,从每执行一次,从St到到E中的中的 数据以字为单位数据以字为单位左移一次,左移一次,0000移进移进St,,E中的数据丢失。

      中的数据丢失WSFT(16)LR00LR0200000920125432C0FLR02LR01LR00移位前移位前92010000LR02LR00LR01移位后移位后溢出溢出0000例:例:St和和E不在同一区域,不在同一区域,ER标志标志St > E*DM通道不存在,通道不存在,25503为为ON2543 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 算术左移指令-算术左移指令-ASL (25)/@ ASL (25)ASL(25)Ch@ASL(25)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:移位通道:移位通道功能:功能:执行条件为执行条件为ON时,时,ASL每执行一次,将每执行一次,将Ch中数据左移中数据左移一位,最高位移到一位,最高位移到CY位,位,0移进最低位移进最低位CY15000((1)). 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行此时该指令不执行2)). 进位标志位进位标志位25504:移位溢出的位进入该标志位移位溢出的位进入该标志位3)). 相等标志位相等标志位25506:当移位通道中的内容为:当移位通道中的内容为0000时为时为ON。

      说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. 算术右移指令-算术右移指令-ASR (26)/@ ASR (26)ASR(26)Ch@ASR(26)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:移位通道:移位通道功能功能:执行条件为:执行条件为ON时,时,ASR每执行一次,将每执行一次,将Ch中数据右移中数据右移一位,最低位移到一位,最低位移到CY位,位,0移进最高位移进最高位15000CY((1)). 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行此时该指令不执行2)). 进位标志位进位标志位25504:移位溢出的位进入该标志位移位溢出的位进入该标志位3)). 相等标志位相等标志位25506:当移位通道中的内容为:当移位通道中的内容为0000时为时为ON说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器6. 循环左移指令-循环左移指令-ROL (27)/@ ROL (27)ROL(27)Ch@ROL(27)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:移位通道:移位通道功能:功能:执行条件为执行条件为ON时,时,ROL每执行一次,将每执行一次,将Ch中数据连同中数据连同CY位数据,循环左移一位。

      位数据,循环左移一位CY1500((1)). 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行此时该指令不执行2)). 进位标志位进位标志位25504:移位通道中的第:移位通道中的第15位数据进入该标志位位数据进入该标志位3)). 相等标志位相等标志位25506:当移位通道中的内容为:当移位通道中的内容为0000时为时为ON说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行此时该指令不执行2)). 进位标志位进位标志位25504:移位通道中的第:移位通道中的第00位数据进入该标志位位数据进入该标志位3)). 相等标志位相等标志位25506:当移位通道中的内容为:当移位通道中的内容为0000时为时为ON7. 循环右移指令-循环右移指令-ROR (28)/@ ROR (28)ROR(28)Ch@ROR(28)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:移位通道:移位通道功能:功能:执行条件为执行条件为ON时,时,ROR每执行一次,将每执行一次,将Ch中数据连同中数据连同CY位数据,循环右移一位。

      位数据,循环右移一位CY1500说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器8. 1位数字左移指令-位数字左移指令-SLD (74)/@ SLD (74) SLD(74)StE @SLD(74)StEIR,,SR,,HR,,AR,,LR,,DM,,*DME:结束通道:结束通道IR,,SR,,HR,,AR,,LR,,DM,,*DMSt:起始通道:起始通道功能:功能:执行条件为执行条件为ON时,时,SLD每执行一次,将每执行一次,将St到到E中的中的 数据以数字为单数据以数字为单位左移一次,位左移一次,E中的最高数字位溢出丢失,中的最高数字位溢出丢失, 0数字移进数字移进St最低位2C0F9201……ESt溢出溢出0St和和E不在同一区域,不在同一区域,ER标志标志St > E*DM通道不存在,通道不存在,25503为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器9. 1位数字右移指令-位数字右移指令-SRD (75)/@ SRD (75) SRD(75)StE @SRD(75)StEIR,,SR,,HR,,AR,,LR,,DM,,*DME:结束通道:结束通道IR,,SR,,HR,,AR,,LR,,DM,,*DMSt:起始通道:起始通道功能:功能:执行条件为执行条件为ON时,时,SRD每执行一次,将每执行一次,将St到到E中的中的 数据以数字为单数据以数字为单位右移一次,位右移一次,E中的最高数字位填进中的最高数字位填进0数字,数字, St最低数字位溢出丢失。

      最低数字位溢出丢失2C0F9201……ESt溢出溢出0St和和E不在同一区域,不在同一区域,ER标志标志St > E*DM通道不存在,通道不存在,25503为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器10. 异步移位寄存器指令-异步移位寄存器指令-ASFT(17)/@ ASFT(17)ASFT(17)StEC@ASFT(17)StECIR,,SR,,HR,,AR,,LR,,DM,,*DME:结束通道:结束通道IR,,SR,,HR,,AR,,LR,,DM,,*DMSt:起始通道:起始通道IR,,SR,,HR,,AR,,LR,,DM,,*DM,,#C:控制数据:控制数据--------------131415移位方向移位方向1: 下移(向低地址通道移动)下移(向低地址通道移动)0: 上移(向高地址通道移动)上移(向高地址通道移动)移位允许位移位允许位复位端复位端R-- : 不使用不使用1: 允许移动允许移动0: 不允许移动不允许移动1: 复位复位0: 正常操作正常操作控制数据控制数据C各位的含义各位的含义 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器功功 能能若寄存器中不包含若寄存器中不包含0000字,不发生移动,不出现数据交换。

      字,不发生移动,不出现数据交换 上移时(上移时(Cbit15==OFF,,Cbit14==ON,,Cbit13==OFF),所有内容为),所有内容为0000的通道与相邻的高地址通道之间交换数据若相邻高地址通道内容也为的通道与相邻的高地址通道之间交换数据若相邻高地址通道内容也为0000,则这两个通道不交换数据则这两个通道不交换数据 下移时(下移时(Cbit15==OFF,,Cbit14==ON,,Cbit13==ON),所有内容为),所有内容为0000的通道与相邻的低地址通道之间交换数据若相邻低地址通道内容也为的通道与相邻的低地址通道之间交换数据若相邻低地址通道内容也为0000,则这两个通道不交换数据则这两个通道不交换数据若若Cbit15==ON,则,则St到到E之间的通道复位(全部置为之间的通道复位(全部置为0000)St和和E不在同一区域,不在同一区域,ER标志标志St > E*DM通道不存在,通道不存在,25503为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:00000ASFT(17)#6000DM0100DM0110789ADM01100000DM01096789DM01085678DM01074567DM01060000DM01053456DM01042345DM01030000DM01020000DM01011234DM0100执行前执行前0000DM0110789ADM01096789DM01085678DM01070000DM01064567DM01053456DM01040000DM01032345DM01020000DM01011234DM0100执行一次后执行一次后0000DM01100000DM01090000DM01080000DM0107789ADM01066789DM01055678DM01044567DM01033456DM01022345DM01011234DM0100执行七次后执行七次后控制数据控制数据C=#6000,二进制表示为:二进制表示为:00000故复位位为故复位位为OFF,移位移位允许位为允许位为ON,移位方,移位方向为向为ON(下移)下移)返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-9 §3-9 数据传送指令数据传送指令1. 传送指令-传送指令-MOV(21)/@ MOV(21) MOV(21)SD @MOV(21)SDIR,,SR,,HR,,AR,,LR,,DM,,*DMD:目的通道:目的通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据功能功能:执行条件为:执行条件为ON时,将时,将S中的数据传送到目的通道中的数据传送到目的通道D中。

      中S中数据不变中数据不变00000MOV(21)#0196DM0000例:例:LD 00000MOV(21) #0196 DM00069106910DM000#01961. 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行此时该指令不执行2. 相等标志位相等标志位25506:执行指令后,:执行指令后,D中的数据为中的数据为0000,则,则25506为为ON说说明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 取反传送指令-取反传送指令-MVN(22)/@ MVN(22) MVN(22)SD @MVN(22)SDIR,,SR,,HR,,AR,,LR,,DM,,*DMD:目的通道:目的通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据功能:功能:执行条件为执行条件为ON时,将时,将S中的数据取反后传送到目的通道中的数据取反后传送到目的通道D中 S中数中数据不变00000MVN(22)#0196DM0000例:例:LD 00000MVN(22) #0196 DM000691096EFDM0000#01961. 出错标志位出错标志位25503::*DM通道不存在时为通道不存在时为ON,此时该指令不执行。

      此时该指令不执行2. 相等标志位相等标志位25506:执行指令后,:执行指令后,D中的数据为中的数据为0000,则,则25506为为ON说说明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 块传送指令-块传送指令-XFER(70)/@ XFER(70)XFER(70)SDN@XFER(70)SDNIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMS:源数据块开始通道号:源数据块开始通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#N:通道数(:通道数(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMD:目的数据块开始通道号:目的数据块开始通道号功能:功能:执行条件为执行条件为ON时,将时,将S、、S+1、、…、、S+N中的数据一一对应的传送到中的数据一一对应的传送到D、、D+1、、…、、D+N中 8765S+N6543S+14321S8765 D+N6543 D+14321D……Ø. 通道数通道数N不是不是BCD码,码,25503为为ONØ. S和和S+N或或D和和D+N不在同一区域,不在同一区域,25503为为ONØ. *DM通道不存在,通道不存在, 25503为为ON说明:说明:出错标志出错标志25503为为ON,该指令不执行,该指令不执行。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 块设置指令-块设置指令-BSET(71)/@ BSET(71)BSET(71)StES@BSET(71)StESIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMSt:开始通道号:开始通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DME:结束通道号:结束通道号功能:功能:执行条件为执行条件为ON时,将时,将S中的中的数据传送到从数据传送到从St到到E的所有通道中的所有通道中 4321S4321 E4321 St+14321St… 出错标志出错标志25503为为ON,该指令不执行该指令不执行1)). 开始通道开始通道St和结束通道和结束通道E不在同一数据区;不在同一数据区;25503为为ON((2)). St > E ,,25503为为ON;((3)). *DM通道不存在,通道不存在, 25503为为ON说说 明明BSET指令可以改变定时器指令可以改变定时器/计数器的当前值,而计数器的当前值,而MOV或或MVN指令不能改变定时器指令不能改变定时器/计数器的当前值。

      计数器的当前值 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. 数据交换指令-数据交换指令-XCHG(73)/@ XCHG(73)XCHG(73)E1E2@XCHG(73)E1E2IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DME2:交换数据:交换数据2IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DME1:交换数据:交换数据1功能:功能:执行条件为执行条件为ON时,将时,将E1和和E2中数据交换中数据交换 E1E2说明:说明:*DM通道不存在,通道不存在, 25503为为ON ,该指令不执行该指令不执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器6. 单字分配指令-单字分配指令-DIST(80)/@ DIST(80)DIST(80)DBsCS@DIST(80)DBsCSIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMDBs:目标基准通道:目标基准通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)根据控制数据根据控制数据C的内容,的内容,DIST指令可进行指令可进行 单字数据分配单字数据分配进栈操作进栈操作功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). 单字数据分配单字数据分配 当当C的的bit15~~bit12 ≤ 8 时,时,DIST将将S的内容送到的内容送到DBs++C中。

      即中即DBs++C决定目标通道决定目标通道00000DIST(80)200 DM0000 #0008例:例:LD 00000DIST(80) 200 DM0000 #0008若若IR200的内容为的内容为1234;;00000为为ONC的的bit15~bit12 ≤ 8∴∴ DBs++C为为DM0000+0008=DM0008DM0008123 4123 4 IR200注意:注意:DBs和和DBs+C必须在同一数据区必须在同一数据区 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((2)). 进栈操作进栈操作 当执行条件为当执行条件为ON时,进行入栈操作,将时,进行入栈操作,将S的内容复制到的内容复制到DBs+堆栈指针++堆栈指针+1的通道中,然后的通道中,然后堆栈指针堆栈指针(DBs的内容的内容)++1 当当C的的bit15~~bit12 ==9 时,即时,即C=9000~9999时,时,DIST生成生成一个堆栈一个堆栈。

      C的低的低3位(位(000~~999)指定堆栈的通道数(堆栈深)指定堆栈的通道数(堆栈深度),度),DBs的内容为堆栈指针的内容为堆栈指针操操 作作注注 意意 DIST指令在每个扫描周期执行一次,所以使用微分形式,或和指令在每个扫描周期执行一次,所以使用微分形式,或和DIFU、、DIFD一起使用,以控制执行的次数一起使用,以控制执行的次数 使用使用DIST指令进行堆栈操作前,务必要初始化堆栈指针,即初始化指令进行堆栈操作前,务必要初始化堆栈指针,即初始化DBs的内容 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000@DIST(80)200 DM0000216例:例:LD 00000@DIST(80) 200 DM0000 216 IR216900 5FFF F IR200 DM0000000 0SDBsC C的的bit15~~bit12 ==9 ,进行入栈操作堆栈指针为,进行入栈操作堆栈指针为DM0000的内容的内容(0000),堆栈的通道数为,堆栈的通道数为005,即,即DM0001~DM0005。

      0000DM00050000DM00040000DM00030000DM00020000DM00010000DM00009005IR216FFFFIR200第一次执行第一次执行堆栈指针加堆栈指针加10000DM00050000DM00040000DM00030000DM0002FFFFDM00010001DM0000第第2次执行次执行堆栈指针加堆栈指针加10000DM00050000DM00040000DM0003FFFFDM0002FFFFDM00010002DM0000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器相等标志相等标志25506::S 的内容为的内容为0000时为时为ON说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行ü. 控制数据控制数据C中的偏移(单字数据分配)或堆栈长度(进栈操作)不是中的偏移(单字数据分配)或堆栈长度(进栈操作)不是BCD码码 ;;Cbit15~~Cbit12 ≤ 8 时,时,DBs和和DBs++C不在同一数据区;不在同一数据区; Cbit15~~Cbit12 == 9 时,时,DBs和和DBs+(+(C的低的低3位)不在同一数据区;位)不在同一数据区; 堆栈指针+堆栈指针+1的值超过堆栈长度。

      的值超过堆栈长度DM通道不存在通道不存在 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器7. 数据调用指令-数据调用指令-COLL(81)/@ COLL(81)COLL(81)CDSBs@COLL(81)CDSBsIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMSBs:源基准通道:源基准通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMD:目的通道:目的通道根据控制数据根据控制数据C的内容,的内容,COLL指令可进行指令可进行 数据调用数据调用出栈操作出栈操作功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)). 数据调用数据调用当当C==0000~~6655时,时,COLL指令将指令将SBs++C通道的内容送到通道的内容送到D中D123 41234 SBs++C((2)). 出栈操作出栈操作先入先出先入先出后入先出后入先出 当当C==9000~~9999时,按先入先出原则出栈,时,按先入先出原则出栈,COLL指令将指令将最早存入栈内的数据取出送到最早存入栈内的数据取出送到D中,堆栈指针减中,堆栈指针减1。

      当当C==8000~~8999时,按后入先出原则出栈,时,按后入先出原则出栈,COLL指令将指令将最后存入栈内的数据取出送到最后存入栈内的数据取出送到D中,堆栈指针减中,堆栈指针减1 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器DM0005DM0004DM0003DM0002DM0001DM0000IR200EEEEDM0005DDDDDM0004CCCCDM0003BBBBDM0002AAAADM0001DM00009005IR216000500000DM0000 216200例:例:@COLL(81)LD 00000@COLL(81) M0000 216 200 IR2169005 DM00000005SBsC出栈出栈堆栈指针减堆栈指针减100005-1=000040004先入先出先入先出复制内容复制内容EEEEDDDDCCCCBBBBEEEEAAAA 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000DM0000 216200例:例:@COLL(81)LD 00000@COLL(81) M0000 216 200 IR216800 5 DM0000000 5SBsC堆栈指针减堆栈指针减10005-1=00040004DM0005DM0004DM0003DM0002DM0001DM0000IR2008005IR216后入先出后入先出EEEEDM0005DDDDDM0004CCCCDM0003BBBBDM0002AAAADM0001DM00000005EEEEDDDDCCCCBBBBAAAA复制内容复制内容出栈出栈EEEE注意:注意:后入先出原则出栈,后入先出原则出栈,DM0001~DM0005的内容不移动、不变。

      的内容不移动、不变DM0005的内容复制到的内容复制到IR200中,中,DM0000内容减内容减1 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行 控制数据控制数据C中的偏移(数据调用)或堆栈长度(出栈操中的偏移(数据调用)或堆栈长度(出栈操作)不是作)不是BCD码码 ;;Ø C==0000~~6655 之间时,之间时,SBs和和SBs++C不在同一数据区;不在同一数据区;Ø Cbit15~~Cbit12 ==8或或 9 时,时,SBs和和SBs+(+(C的低的低3位)不位)不在同一数据区;在同一数据区;Ø 堆栈指针超过堆栈长度堆栈指针超过堆栈长度Ø *DM通道不存在通道不存在相等标志相等标志25506::SBs的内容为的内容为0000时为时为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器8. 位传送指令-位传送指令-MOVB(82)/@ MOVB(82)MOVB(82)CDS@MOVB(82)CDSIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据IR,,SR,,HR,,AR,,LR,,DM,,*DMD:目的通道:目的通道功能:功能:执行条件为执行条件为ON时,将时,将S指定的一位送到目的通道指定的一位送到目的通道D的指的指定位上。

      定位上控制数据控制数据C的含义:的含义:S中源位中源位 ((00~~15))D中目的位(中目的位(00~~15))BCD码码 1 2 0 1 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000#00FF#1201LR10例:例:MOVB(82)LD 00000MOVB(82) #00FF #1201 LR10 S:111111110000000015001XXD:1500XXXXXXXXXXXXXX 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器9. 数字传送指令-数字传送指令-MOVD(83)/@ MOVD(83)MOVD(83)CDS@MOVD(83)CDSIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#S:源数据:源数据IR,,SR,,HR,,AR,,LR,,DM,,*DMD:目的通道:目的通道功能:功能:执行条件为执行条件为ON时,将时,将S中指定的数字位(中指定的数字位(4个二进制位)送到目的通个二进制位)送到目的通道道D中的指定数字位。

      一次最多可以传送中的指定数字位一次最多可以传送4个数字位个数字位控控制制数数据据C含含义义D中接收的被传送数字的第一个数字位(中接收的被传送数字的第一个数字位(0~~3))指定指定S中要传送的第一个数字位(中要传送的第一个数字位(0~~3))指定指定S中要传送数字的位数(中要传送数字的位数(0~~3))0:传送:传送1位数字;位数字; 1:: 传送传送2位数字;位数字;2:传送:传送3位数字;位数字; 3:传送:传送4位数字 不用不用 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:当例:当C分别为分别为#0010、、#0030、、#0031、、#0023时,执行时,执行MOVD指令的情况指令的情况0123 0123 01230123C=#0010C=#0031C=#0023C=#0030①①②②③③④④①①②②③③0101230123130说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行C指定的位不存在,指定的位不存在,25503为为ONDM通道不存在,通道不存在,25503为为ON 。

      返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-10 §3-10 数据转换指令数据转换指令1. BCD码码→二进制转换指令二进制转换指令-- BIN(23)/@ BIN(23) BIN(23)SR @BIN(23)SRIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMS:源通道(:源通道(BCD码)码)功能:功能:执行条件为执行条件为ON时,时,BIN将将S中的中的BCD码转换为二进制数,码转换为二进制数,存入存入R中转换过程中,中转换过程中,S的内容不变的内容不变说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行S的内容不是的内容不是BCD码,码,25503为为ONDM通道不存在,通道不存在,25503为为ON 相等标志相等标志25506::当转换结果为当转换结果为0000时为时为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 二进制二进制→ BCD码码转换指令转换指令-- BCD(24)/@ BCD(24) BCD(24)SR @BCD(24)SRIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,DM,,*DMS:源通道(二进制):源通道(二进制)功能功能:执行条件为:执行条件为ON时,时,BCD将将S中的二进制数转换为中的二进制数转换为BCD码,码,存入存入R中。

      转换过程中,中转换过程中,S的内容不变的内容不变说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行转换后的转换后的BCD码大于码大于9999,,*DM通道不存在,通道不存在,相等标志相等标志25506::当转换结果为当转换结果为0000时为时为ON25503为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 4→ 16译码器译码器指令指令--MLPX(76)/@ MLPX(76)MLPX(76)CRS@MLPX(76)CRSIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,S:源通道:源通道IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道控制数据控制数据C的含义:的含义:指定指定S中第一个要译码的数字位(中第一个要译码的数字位(0~~3))指定指定S中要译码的数字位数(中要译码的数字位数(0~~3))0::1位数字;位数字; 1:: 2位数字;位数字;2::3位数字;位数字; 3::4位数字。

      位数字 固定为固定为0 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 当执行条件为当执行条件为ON时,时,MLPX对对S中指定的数字进行中指定的数字进行4--16译译码,译码结果存入码,译码结果存入R开始的通道中最多可对开始的通道中最多可对4位数字译码位数字译码 功功 能能 对对S中某位数字译码时,把这位数字(中某位数字译码时,把这位数字(1位位16进制数)转换进制数)转换为为00~~15的十进制数,然后将指定结果通道中与该位十进制数的十进制数,然后将指定结果通道中与该位十进制数对应的位置为对应的位置为ON,其余各位置为,其余各位置为OFF说说 明明出错标志出错标志25503:有下列情况之一时为:有下列情况之一时为ON,此时该指令不执行此时该指令不执行R+3超出数据区范围,超出数据区范围,*DM通道不存在,通道不存在,25503为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000200#0031216例:例:MLPX(76)LD 00000MLPX(76) 200 #0031 216 IR20023A 1SC=#0031第一个要译码的数第一个要译码的数字位为字位为1((A):):00000000001000001500IR216第二个要译码的数第二个要译码的数字位为字位为2((3):):00010000000000001500IR217第三个要译码的数第三个要译码的数字位为字位为3((2):):00100000000000001500IR218第四个要译码的数第四个要译码的数字位为字位为0((1):):01000000000000001500IR219 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 16→ 4编码器编码器指令指令--DMPX(77)/@ DMPX(77)DMPX(77)RCS@DMPX(77)RCSIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据(:控制数据(BCD码)码)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,S:源开始通道:源开始通道IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道控制数据控制数据C的含义:的含义:指定指定R中接受编码结果的第一个数字位(中接受编码结果的第一个数字位(0~~3))指定被编码的源通道数(指定被编码的源通道数(0~~3))0::1个通道;个通道; 1:: 2个通道;个通道;2::3个通道;个通道; 3::4个通道。

      个通道 固定为固定为0 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 当执行条件为当执行条件为ON时,时,DMPX对源通道进行对源通道进行16--4编码,编编码,编码结果存入码结果存入R中指定的数字位上一次最多可对中指定的数字位上一次最多可对4个源通道进行个源通道进行编码 功功 能能 对源通道编码时,把该通道状态为对源通道编码时,把该通道状态为ON的最高位的位号,编的最高位的位号,编码成相应的一个十六进制数,然后传送到结果通道的指定数字码成相应的一个十六进制数,然后传送到结果通道的指定数字位上说说 明明S+3超出数据区范围,超出数据区范围,*DM通道不存在,通道不存在,25503为为ON ,该指令不执行该指令不执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000216200#0032例:例:DMPX(77)LD 00000DMPX(77) 216 200 #0032 C=#0032 4个通道均转换,个通道均转换,R中结果的第一个数字位为中结果的第一个数字位为20000010000000000100000001000000000010000000000000000001000100000IR216IR217IR218IR2191500SIR200R④④ ①①②② ③③A385 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. ASCⅡ 码转换指令-码转换指令-ASC(86)/@ ASC(86) ASC(86)CRS @ASC(86)CRSIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMS:源通道:源通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据:控制数据控制数据控制数据C的含义:的含义:指定指定S中第一个被转换的数字位(中第一个被转换的数字位(0~~3))指定指定S中被转换的数字个数(中被转换的数字个数(0~~3))0::1个数字;个数字; 1:: 2个数字;个数字;2::3个数字;个数字; 3::4个数字。

      个数字 指定从指定从R的高的高8位还是低位还是低8位开始接收第一个转换结果位开始接收第一个转换结果0:低:低8位;位; 1:: 高高8位;位;校验:校验:0:无校验;:无校验; 1:偶校验;偶校验; 2:奇校验奇校验 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 当执行条件为当执行条件为ON时,时,ASC对对S中指定的数字转换成中指定的数字转换成ASCⅡ 码码,并存入,并存入从从R开始的结果通道中一次最多可对开始的结果通道中一次最多可对S中的中的4个数字进行转换个数字进行转换 010000000000000015000708转换后的转换后的ASCⅡ 码码转换后的转换后的ASCⅡ 码码校验位校验位校验位校验位奇校验:奇校验:ASCⅡ 码中码中1的个数为奇数的个数为奇数偶校验:偶校验: ASCⅡ 码中码中1的个数为偶数的个数为偶数功功 能能若若C指定从指定从R的低的低8位开始接收第一个转换结果,则位开始接收第一个转换结果,则R需要两个通道;需要两个通道;若若C指定从指定从R的高的高8位开始接收第一个转换结果,则位开始接收第一个转换结果,则R需要三个通道。

      需要三个通道一个通道可以存放两个数字的转换结果一个通道可以存放两个数字的转换结果 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000216200DM0000例:例: ASC(86)LD 00000ASC(86) 216 200 DM0000 IR21623A1SC=IR200的内容的内容v .当当IR200的内容为的内容为1030时(第一个转换的数字位为时(第一个转换的数字位为0;转换;转换4位;结果位;结果通道从低通道从低8位开始接收;偶校验)位开始接收;偶校验)DM0000DM0001 IR21623A1S④④①①②②③③1 0 1 1 0 0 0 10 1 0 0 0 0 0 10 0 1 1 0 0 1 11 0 1 1 0 0 1 0 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器v . 当当IR200的内容为的内容为2133时(第一个转换的数字位为时(第一个转换的数字位为3;转换;转换4位;结果位;结果通道从高通道从高8位开始接收;奇校验)。

      位开始接收;奇校验)DM0002 IR21623A1SDM0001DM0000①①②②③③④④1 0 1 1 0 0 1 11 1 0 0 0 0 0 10 0 1 1 0 0 0 10 0 1 1 0 0 1 0说说明明控制字控制字C错误错误*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行结果通道超出数据区范围结果通道超出数据区范围 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器6. 七段译码指令-七段译码指令-SDEC(78)/@ SDEC(78) SDEC(78)CRS @SDEC(78)CRSIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMS:源通道:源通道(二进制)二进制)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#C:控制数据:控制数据控制数据控制数据C的含义:的含义:指定指定S中第一个被译码的数字位(中第一个被译码的数字位(0~~3))指定指定S中被译码的数字个数(中被译码的数字个数(0~~3))0::1个数字;个数字; 1:: 2个数字;个数字;2::3个数字;个数字; 3::4个数字。

      个数字 指定从指定从R的高的高8位还是低位还是低8位开始接收第一个转换结果位开始接收第一个转换结果0:低:低8位;位; 1:: 高高8位;位;固定为固定为0 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 当执行条件为当执行条件为ON时,时,SDEC对源通道中的数字进行七段译码,译码结果对源通道中的数字进行七段译码,译码结果存入从存入从R开始的结果通道中一次最多可对开始的结果通道中一次最多可对S中的中的4个数字进行转换个数字进行转换 功功 能能一个通道可以存放两个数字的转换结果一个通道可以存放两个数字的转换结果bit00~~bit06 对应于对应于a、、b、、c、、d、、e、、f、、g,, bit07 不用不用bit08~~bit14 对应于对应于a、、b、、c、、d、、e、、f、、g,, bit15 不用不用若若C指定从指定从R的低的低8位开始接收第一个转换结果,则位开始接收第一个转换结果,则R需要两个通道;需要两个通道;若若C指定从指定从R的高的高8位开始接收第一个转换结果,则位开始接收第一个转换结果,则R需要三个通道需要三个通道。

      说说明明控制字控制字C错误错误*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行结果通道超出数据区范围结果通道超出数据区范围 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器00000216200DM0000例:例: SDEC(78)LD 00000SDEC(78) 216 200 DM0000 IR2165A30SC=IR200的内容的内容v. 当当IR200的内容为的内容为0030时(第一个转换的数字位为时(第一个转换的数字位为0;转换;转换4位;结果位;结果通道从低通道从低8位开始接收)位开始接收)DM0000DM0001 IR2165A30S④④①①②②③③abcdefgX 1 1 1 0 1 1 1X 1 0 0 1 1 1 1 X 0 1 1 1 1 1 1X 1 1 0 1 1 0 1 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器v. 当当IR200的内容为的内容为0131时(第一个转换的数字位为时(第一个转换的数字位为1;转换;转换4位;结果位;结果通道从高通道从高8位开始接收)。

      位开始接收)DM0002 IR2165A30SDM0001DM0000①①②②③③④④abcdefgX 1 1 1 0 1 1 1X 0 1 1 1 1 1 1X 1 1 0 1 1 0 1X 1 0 0 1 1 1 1返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-11 §3-11 十进制运算指令十进制运算指令1.进位位置进位位置1指令-指令-STC(40)/@ STC(40) 进位位置进位位置0指令-指令-CLC(41)/@ CLC(41)STC(40)@STC(40)进位位置进位位置1::CLC(41)@CLC(41)进位位置进位位置0:: 做加法、减法时,进位位要参与运算,一般要在运算前清进位位做加法、减法时,进位位要参与运算,一般要在运算前清进位位当当CLC的执行条件为的执行条件为ON时,进位标志位时,进位标志位25504被置为被置为0功功 能能当当STC的执行条件为的执行条件为ON时,进位标志位时,进位标志位25504被置为被置为1STC、、CLC在执行条件为在执行条件为ON时,每次扫描都要执行一次时,每次扫描都要执行一次。

      @STC、、@CLC仅在执行条件由仅在执行条件由OFF变变ON时执行一次时执行一次 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. BCD码加法指令-码加法指令-ADD(30)/@ ADD(30) ADD(30)AdRAu @ADD(30)AdRAuIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Au:被加数(:被加数(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Ad:加数(:加数(BCD)) 当执行条件为当执行条件为ON时,时,ADD将将Au、、Ad的内容和的内容和CY相加,相加,结果存入结果存入R中若结果大于中若结果大于9999,把,把CY置为置为ON功功能能说说明明Au或或Ad中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:当和超出:当和超出4为为BCD码时,码时,25504为为ON相等标志相等标志25506:当和为:当和为0000时,时,25506为为ON。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:2550400002CLC(41)ADD(30)LR10#6103DM0100TR0MOV(21)#0001DM0101MOV(21)#0000DM010125504LD 00002OUT TR0CLC(41)ADD(30) LR10 #6103 DM0100LD TR0AND 25504MOV(21) #0001 DM0101LD TR0AND NOT 25504MOV(21) #0000 DM0101功能:功能:当当00002为为ON时,时,先清进位先清进位,然后执行,然后执行((LR10)+)+6103++CY→DM0100;;再把相加产生的进位存入再把相加产生的进位存入DM0101中中。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. BCD码减法指令-码减法指令-SUB(31)/@ SUB(31) SUB(31)SuRMi @SUB(31)SuRMiIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Mi:被减数(:被减数(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Su:减数(:减数(BCD)) 当执行条件为当执行条件为ON时,时,SUB将将Mi的内容减去的内容减去Su的内容和的内容和CY,结果存入,结果存入R中若结果为负,把中若结果为负,把CY置为置为ON,而,而R中的内容为实际结果的十进制补码中的内容为实际结果的十进制补码要将要将R中的内容转换为实际结果,应先清中的内容转换为实际结果,应先清CY,再用,再用0减去减去R中的内容中的内容功功 能能说说明明Mi或或Su中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:当:当Mi < Su时,时,25504为为ON。

      相等标志相等标志25506:当差为:当差为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:2550400002CLC(41)SUB(31)HR00DM0100HR01TR0MOV(21)#0000HR0225504CLC(41)SUB(31)#0000HR01HR01MOV(21)#0001HR02当当00002为为ON时,时,2. (HR10)-DM0100-CY→HR01例:例:功功 能能1. 先清进位先清进位3. 当进位位为当进位位为 0 时表示结果为正,时表示结果为正,结果存入结果存入HR02中中4. 当进位位为当进位位为 1 时表示结果为负当时表示结果为负当结果为负数时,把补码形式转换为实结果为负数时,把补码形式转换为实际结果,存入际结果,存入HR01,,1存入存入HR02中,中,表示负数表示负数 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 双字双字BCD码加法指令-码加法指令-ADDL(54)/@ ADDL(54) ADDL(54)AdRAu @ADDL(54)AdRAuIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMAu:被加数开始通道(:被加数开始通道(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMAd:加数开始通道(:加数开始通道(BCD))Au++1 AuAd++1 AdCY+R++1 RCY功功 能能当执行条件为当执行条件为ON时,完成如图所示运算。

      时,完成如图所示运算说说明明Au或或Ad中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:运算结果大于:运算结果大于99999999时,时,25504为为ON相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. 双字双字BCD码减法指令-码减法指令-SUBL(55)/@ SUBL(55) SUBL(55)SuRMi @SUBL(55)SuRMiIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMMi:被减数开始通道(:被减数开始通道(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMSu:减数开始通道(:减数开始通道(BCD))Mi++1 MiSu++1 SuCY--R++1 RCY功功 能能 当执行条件为当执行条件为ON时,完成如图所示运算时,完成如图所示运算。

      结果为负,结果为负,CY置置1说说明明Mi或或Su中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:被减数小于减数时,:被减数小于减数时,25504为为ON相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器6. BCD码乘法指令-码乘法指令-MUL(32)/@ MUL(32) MUL(32)MrRMd @MUL(32)MrRMdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Md:被乘数(:被乘数(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Mr:乘数(:乘数(BCD))MdMi╳ ╳R++1 R功功 能能当执行条件为当执行条件为ON时,完成如图所示运算时,完成如图所示运算说说明明Md或或Mr中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行。

      该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器7. BCD码除法指令-码除法指令-DIV(33)/@ DIV(33) DIV(33)DrRDd @DIV(33)DrRDdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Dd:被除数(:被除数(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Dr:除数(:除数(BCD))DdDrRR+1….商商余数余数….说说明明Dd或或Dr中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON功功 能能 当执行条件为当执行条件为ON时,完成如时,完成如图所示运算图所示运算 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器8. 双字双字BCD乘除法指令-乘除法指令-MULL(56)/@ MULL(56) MULL(56)MrRMd @MULL(56)MrRMdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMMd:被乘数开始通道(:被乘数开始通道(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMMr:乘数开始通道(:乘数开始通道(BCD))Md++1 MdMr++1 Mr╳ ╳R++1 RR++3 R++2功功 能能 当执行条件为当执行条件为ON时,完成如时,完成如图所示运算。

      图所示运算说说明明Md或或Mr中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器9. 双字双字BCD码除法指令-码除法指令-DIVL(57)/@ DIVL(57) DIVL(57)DrRDd @DIVL(57)DrRDdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMDd:被除数开始通道(:被除数开始通道(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMDr:除数开始通道(:除数开始通道(BCD))Dd++1Dr++1R++1R+2….商商余数余数DdDrRR++3….功功 能能 当执行条件为当执行条件为ON时,时,完成如图所示运算完成如图所示运算说说明明Dd或或Dr中有非中有非BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行。

      相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器10. 递增指令-递增指令-INC(38)/@ INC(38) INC(38)Ch@INC(38)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:递增通道:递增通道 当执行条件为当执行条件为ON时,每执行一次时,每执行一次INC指令,将指令,将ch通道中的通道中的数据按十进制加数据按十进制加1,不影响进位标志不影响进位标志功功 能能说说明明通道中内容不是通道中内容不是BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:不影响该标志不影响该标志相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器11. 递减指令-递减指令-DEC(39)/@ DEC(39) DEC(39)Ch@DEC(39)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:递减通道:递减通道 当执行条件为当执行条件为ON时,每执行一次时,每执行一次DEC指令,将指令,将ch通道中的通道中的数据按十进制减数据按十进制减1,不影响进位标志。

      不影响进位标志功功 能能说说明明通道中内容不是通道中内容不是BCD码码*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行进位标志进位标志25504:不影响该标志不影响该标志相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-12 二进制运算指令二进制运算指令1. 二进制加法指令-二进制加法指令-ADB(50)/@ ADB(50) ADB(50)AdRAu @ADB(50)AdRAuIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Au:被加数(二进制):被加数(二进制)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Ad:加数(二进制):加数(二进制)注意注意:: 进位位参与运算,一般要在运算前用进位位参与运算,一般要在运算前用CLC指令清除进位位指令清除进位位 当执行条件为当执行条件为ON时,时,ADB将将Au、、Ad的内容和的内容和CY进行二进制加法运算,进行二进制加法运算,结果存入结果存入R中。

      若结果大于中若结果大于FFFF,把,把CY置为置为ON功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行进位标志进位标志25504:当和溢出时,:当和溢出时,25504为为ON相等标志相等标志25506:当和为:当和为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 二进制减法指令-二进制减法指令-SBB(51)/@ SBB(51) SBB(51)SuRMi @SBB(51)SuRMiIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道:结果通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Mi:被减数(二进制):被减数(二进制)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Su:减数(二进制):减数(二进制) 当执行条件为当执行条件为ON时,时,SBB将将Mi中内容减去中内容减去Su中内容,再减去中内容,再减去CY中内中内容,结果存入容,结果存入R中若结果为负,把中若结果为负,把CY置为置为ON,而,而R中的内容为实际结果中的内容为实际结果的二进制补码。

      的二进制补码功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行进位标志进位标志25504:当有借位时,:当有借位时,25504为为ON相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 二进制乘法指令-二进制乘法指令-MLB(52)/@ MLB(52) MLB(52)MrRMd @MLB(52)MrRMdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Md:被乘数(二进制):被乘数(二进制)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Mr:乘数(二进制):乘数(二进制)MdMi╳ ╳R++1 R 当执行条件为当执行条件为ON时,时,MLB将将Md、、Mr中内容按二中内容按二进制相乘,结果存入进制相乘,结果存入R、、R+1中 功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 。

      该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 二进制除法指令-二进制除法指令-DVB(53)/@ DVB(53) DVB(53)DrRDd @DVB(53)DrRDdIR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果开始通道:结果开始通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Dd:被除数(二进制):被除数(二进制)IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#Dr:除数(二进制):除数(二进制)DdDrRR+1….商商余数余数 当执行条件为当执行条件为ON时,时,DVB按二进制将按二进制将Dd中内容除以中内容除以Dr中内容,商存入中内容,商存入R中,余数存入中,余数存入R+1中 功功 能能说说明明除数为除数为0*DM通道不存在通道不存在25503为为ON ,,该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-13 逻辑运算指令逻辑运算指令1. 求反指令-求反指令-COM(29)/@ COM(29) COM(29)Ch@COM(29)ChIR,,SR,,HR,,AR,,LR,,DM,,*DMCh:被求反的通道号:被求反的通道号10010001001010011500Ch求反求反01101110110101101500Ch当执行条件为当执行条件为ON时,将时,将Ch中内容按位求反。

      中内容按位求反功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 逻辑与指令-逻辑与指令-ANDW(34)/@ ANDW(34) ANDW(34)I2RI1 @ANDW(34)I2RI1IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道号:结果通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I1:输入:输入1IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I2:输入:输入210011001100110011500I110101010101010101500I2逻逻辑辑与与10001000100010001500R 当执行条件为当执行条件为ON时,将时,将I1、、I2中的数据按位进行逻辑与运算,结果存入中的数据按位进行逻辑与运算,结果存入R中功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 。

      该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 逻辑或指令-逻辑或指令-ORW(35)/@ ORW(35) ORW(35)I2RI1 @ORW(35)I2RI1IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道号:结果通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I1:输入:输入1IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I2:输入:输入210011001100110011500I110101010101010101500I2逻逻辑辑或或10111011101110111500R 当执行条件为当执行条件为ON时,将时,将I1、、I2中的数据按位进行逻辑或运算,结果存入中的数据按位进行逻辑或运算,结果存入R中功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 异或指令-异或指令-XORW(36)/@ XORW(36) XORW(36)I2RI1 @XORW(36)I2RI1IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道号:结果通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I1:输入:输入1IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I2:输入:输入210011001100110011500I110101010101010101500I2逻逻辑辑异异或或00110011001100111500R 当执行条件为当执行条件为ON时,将时,将I1、、I2中的数据按位进行逻辑异或运算,结果存中的数据按位进行逻辑异或运算,结果存入入R中功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器5. 同或指令-同或指令-XNRW(37)/@ XNRW(37) XNRW(37)I2RI1 @XNRW(37)I2RI1IR,,SR,,HR,,AR,,LR,,DM,,*DMR:结果通道号:结果通道号IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I1:输入:输入1IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#I2:输入:输入210011001100110011500I110101010101010101500I2逻逻辑辑同同或或11001100110011001500R 当执行条件为当执行条件为ON时,将时,将I1、、I2中的数据按位进行逻辑同或运算,结果存中的数据按位进行逻辑同或运算,结果存入入R中。

      中功功 能能说说明明出错标志出错标志25503:: *DM通道不存在,通道不存在,25503为为ON 该指令不执行该指令不执行相等标志相等标志25506:当结果为:当结果为0000时,时,25506为为ON返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-14 特殊指令特殊指令1.故障报警指令-故障报警指令-FAL(06)/@ FAL(06) 严重故障报警指令-严重故障报警指令-FALS(07)FAL(06) N1@FAL(06) N1FALS(07) N2N1:故障代码,取值范围:故障代码,取值范围 00~~99;; N2:故障代码,取值范围:故障代码,取值范围 01~~99非严重故障报警非严重故障报警 当执行条件为当执行条件为ON时,时,FAL指令将故障码指令将故障码N1送到送到FAL输出区输出区((SR25300~SR25307),同时),同时CPU面板上面板上ERROR指示灯闪亮,但程序仍可指示灯闪亮,但程序仍可以继续执行以继续执行 当当N1取值为取值为00时,执行时,执行FAL(06) 00 指令将把指令将把FAL输出区清零。

      输出区清零 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器严重故障报警严重故障报警 执行条件为执行条件为ON时,时,FALS指令将故障码指令将故障码N2送到送到FAL输出区输出区((SR25300~SR25307),同时),同时CPU面板上面板上ERROR指示灯常亮,指示灯常亮,RUN灯熄灭,灯熄灭,程序停止执行,所有输出复位程序停止执行,所有输出复位0000000000FAL((06)) 01FAL((06)) 00例:例: 当当00000为为ON时,表示发生某一非严重故时,表示发生某一非严重故障,故障码障,故障码01被送到被送到SR25300~~SR25307,同,同时时CPU面板上的面板上的ERROR灯闪亮程序继续灯闪亮程序继续执行 当当00000为为OFF时,即故障被排除,执行时,即故障被排除,执行FAL(06) 00 将将SR25300~SR25307清零 FAL(06) 00 可以清零可以清零FAL输出区,也可以清除输出区,也可以清除MSG指令显示的信指令显示的信息注注意意 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 信息显示指令-信息显示指令-MSG(46)/@ MSG(46)MSG(46)FM@MSG(46)FMIR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMFM:信息开始通道:信息开始通道 当执行条件为当执行条件为ON时,时,MSG从从FM至至FM+7通道中读出通道中读出16个个ASCⅡ 码,并码,并把对应的字符显示在编程器的屏幕上。

      显示器一次可以显示把对应的字符显示在编程器的屏幕上显示器一次可以显示16个字符功功 能能FMFM+1FM+6FM+7第二个第二个ASCⅡ码码第一个第一个ASCⅡ码码第四个第四个ASCⅡ码码第三个第三个ASCⅡ码码第十三个第十三个ASCⅡ码码第十二个第十二个ASCⅡ码码第十六个第十六个ASCⅡ码码第十五个第十五个ASCⅡ码码显示信息分布情况:显示信息分布情况: 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器在指定的在指定的8个通道中,若有一个不是个通道中,若有一个不是ASCⅡ 码,显示信息在这点上被截断码,显示信息在这点上被截断 若显示信息多于一个,则显示信息存入显示缓冲区,显示缓冲区最多可若显示信息多于一个,则显示信息存入显示缓冲区,显示缓冲区最多可存入三个存入三个MSG信息显示缓冲区中信息按先进先出原则显示,每次只能显示一个显示缓冲区中信息按先进先出原则显示,每次只能显示一个MSG信息 一次扫描循环中可能有多于三个一次扫描循环中可能有多于三个MSG信息要执行,所以就有一个优先级信息要执行,所以就有一个优先级安排优先级高的安排优先级高的MSG信息先存入显示缓冲区。

      信息先存入显示缓冲区MSG信息的优先级是根据存储区域确定的信息的优先级是根据存储区域确定的LR > I/O > IR(非非I/O)) > HR > AR > TC > DM/*DM 在同一个区域,地址最小的信息优先级最高;在间接寻址情况下,最小在同一个区域,地址最小的信息优先级最高;在间接寻址情况下,最小DM地址的信息优先级最高地址的信息优先级最高 要清除正在显示的信息,改为显示下一个要清除正在显示的信息,改为显示下一个MSG信息,可在程序中执行信息,可在程序中执行 FAL(06) 00 指令 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:0000000001MSG((46))DM0010FAL((06)) 00 当当00000为为ON时,时,MSG将将DM0010~DM0017中的字符显示在屏幕上;当中的字符显示在屏幕上;当00001为为ON时,显示时,显示信息被清除信息被清除 PO05E4DM0017NME4D4DM0016LKC4B4DM0015JIA494DM0014HG8474DM0013FE6454DM0012DC4434DM0011BA2414DM0010DM 内容内容ASCⅡ 字符字符MSGABCDEFGHIJKLMNOP 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. I/O刷新指令-刷新指令-IORF(97)/@ IORF(97) I/O刷新指令,在程序执行该指令时,可以对指定的刷新指令,在程序执行该指令时,可以对指定的I/O通道通道进行刷新,缩短了滞后时间,提高了进行刷新,缩短了滞后时间,提高了I/O响应速度。

      响应速度 IORF(97)StE @IORF(97)StEIR000~~IR019E:结束通道:结束通道IR000~~IR019St:开始通道:开始通道St > E时,时,25503为为ON,该指令不执行该指令不执行功功 能能当执行条件为当执行条件为ON时,刷新时,刷新St~~E之间的所有之间的所有I/O通道说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器4. 位计数指令-位计数指令-BCNT(67)/@ BCNT(67) BCNT(67)SDN @BCNT(67)SDNIR,,SR,,HR,,AR,,LR,,DM,,*DMR:目的通道:目的通道IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DM,,#N:通道数(:通道数(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMS:源开始通道:源开始通道 当执行条件为当执行条件为ON时,时,BCNT指令计算从指令计算从S 到到 S++(N--1)之间的之间的N个通道个通道中为中为“1”的位的总数,结果以的位的总数,结果以BCD码形式存入码形式存入D中功功 能能说说明明出错标志出错标志25503::25503为为ON,该指令不执行。

      该指令不执行通道数通道数N不是不是BCD码码通道数通道数N为为0000S+(N-1)超出数据区范围超出数据区范围从从S开始的开始的N个通道中为个通道中为“1”的位数的总数超过的位数的总数超过9999*DM通道不存在通道不存在相等标志相等标志25506:当目的通道:当目的通道D的内容为的内容为0000时,时,25506为为ON返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-15 子程序控制指令子程序控制指令1. 子程序调用指令-子程序调用指令-SBS(91)/@ SBS(91)SBS(91) N@SBS(91) NN:子程序编号,:子程序编号,取值范围:取值范围:000~~049 当执行条件为当执行条件为ON时,调用编号为时,调用编号为N的子程序即调用的子程序即调用SBN(92) N和和RET(93)指令之间的程序执行完毕后返回到指令之间的程序执行完毕后返回到SBS(91)指令的下一条指令继续指令的下一条指令继续执行主程序执行主程序 功功 能能主程序可以无限次调用子程序,子程序也可以嵌套,但不能超过主程序可以无限次调用子程序,子程序也可以嵌套,但不能超过16级。

      级注注意意出错标志出错标志25503::25503为为ON,该指令不执行该指令不执行子程序自调用子程序自调用被调用的子程序不存在被调用的子程序不存在嵌套调用超过嵌套调用超过16级级 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 子程序定义和子程序返回指令-子程序定义和子程序返回指令-SBN(92)/ RET(93)SBN(92) NRET(93)N:子程序编号,:子程序编号,取值范围:取值范围:000~~049 两指令都不需要执行条件两指令都不需要执行条件SBN(92)用于每段子程序开始,定义子程序用于每段子程序开始,定义子程序的编号的编号NRET(93)用于子程序的结束用于子程序的结束SBN(92)和和RET(93)必须一起使用必须一起使用 若将若将SBN放在主程序中,它将屏蔽此点之后的程序,即在主程序中遇到放在主程序中,它将屏蔽此点之后的程序,即在主程序中遇到SBN指令时,程序将返回到起始点指令时,程序将返回到起始点功功 能能注注 意意 所有子程序必须放在主程序之后,所有子程序必须放在主程序之后,END之前。

      之前END必须置于最后一个必须置于最后一个子程序的后面,即在最后一个子程序的后面,即在最后一个RET之后 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:0000000001SBS(91) 001@SBS(91) 002……SBN(92) 001RET(93)…SBN(92) 002RET(93)…END(01)当当00000为为ON时,执行时,执行001号子程序,号子程序,当当00001由由OFF→ ON时,执行时,执行002号子程序号子程序 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 宏指令-宏指令-MCRO(99)/ @MCRO(99) MCRO(99)I1O1N @MCRO(99)I1O1NIR,,SR,,HR,,AR,,LR,,DM,,*DMO1:第一个输出字:第一个输出字000~~049N:子程序编号(:子程序编号(BCD))IR,,SR,,HR,,AR,,LR,,TC,,DM,,*DMI1:第一个输入字:第一个输入字 当执行条件为当执行条件为ON时,时,MCRO将将 I1~I1+3 的内容复制到的内容复制到SR232~SR235中;中;将将O1~O1+3的内容复制到的内容复制到SR236~SR239中,然后调用并执行编号为中,然后调用并执行编号为N的子程的子程序。

      子程序中输入点用序子程序中输入点用I1中的状态代替(中的状态代替(64点);输出点用点);输出点用O1中的状态代中的状态代替(替(64点)当子程序执行完毕后,点)当子程序执行完毕后,SR236~SR239中的内容传送回中的内容传送回O1~O1+3中功功 能能 宏指令允许用一个单一子程序代替数个具有相同结构但不同操作数的子宏指令允许用一个单一子程序代替数个具有相同结构但不同操作数的子程序 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:25313(常通标志)(常通标志)MCRO(99)040200210MCRO(99)040202215MCRO(99)040205220SBN(92) 040RET(93)23200236012360023201232022360023601210002100120000210012100020001200022020021501215002020120202205002200122000205012050222001220002150121500 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器注注 意意指定的子程序编号不存在指定的子程序编号不存在操作数超出数据区范围操作数超出数据区范围*DM通道不存在通道不存在子程序自调用。

      子程序自调用有下列情况之一,出错标志有下列情况之一,出错标志25503为为ON ,该指令不执行该指令不执行返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-16 高速计数器控制指令高速计数器控制指令一一. 高速计数器的计数功能高速计数器的计数功能 计数脉冲输入端子为计数脉冲输入端子为00000,复位信号输入端子为,复位信号输入端子为00002对单项脉冲进行递增计数计数范围为对单项脉冲进行递增计数计数范围为0~~65535,最高计数频,最高计数频率为率为5KHz12345递增模式递增模式 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器Ø . A相信号超前相信号超前B相信号相信号1/4周期周期 ,则进行递增计数,则进行递增计数Ø. B相信号超前相信号超前A相信号相信号1/4周期周期 ,则进行递减计数,则进行递减计数计数范围计数范围:-:-32767~+32768 ,,计数频率计数频率::2.5KHz1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 –1 -2A相:相:B相:相:递增递增递减递减增减模式增减模式 A相信号输入端子为相信号输入端子为00000,,B相信号输入端子为相信号输入端子为00001,,Z相信号接输入端子相信号接输入端子00002。

      根据根据A相信号和相信号和B相信号的相位关系相信号的相位关系进行递增或递减计数进行递增或递减计数 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器二二. 高速计数器的复位功能高速计数器的复位功能 用用SR25200作为高速计数器的复位标志在作为高速计数器的复位标志在SR25200为为ON的条件下,的条件下,Z相信号为相信号为ON时,高速计数器当前值复位为时,高速计数器当前值复位为0只要只要SR25200为为ON时,高速计数器的当前值复位为时,高速计数器的当前值复位为0. 高速计数器使用前必须进行设定,用编程器设置高速计数器使用前必须进行设定,用编程器设置DM6642中的内容,中的内容,PC设置后,高速计数器进行计数动作但在执行设置后,高速计数器进行计数动作但在执行CTBL(63)指令前,并不用比指令前,并不用比较表进行比较,也不会产生中断电源掉电重新上电时,高速计数器复位为较表进行比较,也不会产生中断电源掉电重新上电时,高速计数器复位为0Z相信号+软件复位相信号+软件复位软件复位软件复位三三. 高速计数器的设定高速计数器的设定 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器从计数值上限值进行加计数时,就会发生上溢;从计数值上限值进行加计数时,就会发生上溢;从计数值下限值进行减计数时,就会发生下溢。

      从计数值下限值进行减计数时,就会发生下溢四四. 高速计数器的上溢和下溢高速计数器的上溢和下溢复位时将清除上溢和下溢复位时将清除上溢和下溢发生上溢和发生下溢时停止计数发生上溢和发生下溢时停止计数发生上溢时,发生上溢时,PV← 0FFF,FFFFH;;发生下溢时,发生下溢时,PV← FFFF,FFFFH 高速计数器的当前值高速计数器的当前值PV存放在存放在SR248、、SR249通道中,其中通道中,其中SR248存放低存放低4位,位,SR249存放高存放高4位递增计数递增计数 PV 范围为:范围为:00000000~~0000FFFF(0~65535)递减计数递减计数 PV 范围为:范围为:F0007FFF~~00007FFF (-32767~+32767)(第一位(第一位F表示负数)表示负数) 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器五五. 高速计数器的中断功能高速计数器的中断功能 最多最多16个比较条件(目标值)和中断子程序组合在比较表中个比较条件(目标值)和中断子程序组合在比较表中,当,当PV值与目标值一致时,执行指定的中断程序。

      两个通道值与目标值一致时,执行指定的中断程序两个通道构成一个目标值,中断子程序占一个通道)构成一个目标值,中断子程序占一个通道) 8个比较条件(上限和下限)和中断子程序组合在比较表个比较条件(上限和下限)和中断子程序组合在比较表中,中, 当当 下限值下限值 ≼ ≼ PV ≼ ≼ 上限值时,执行指定的子程序上限值时,执行指定的子程序四个通道构成一个比较区域,中断子程序占一个通道,比较(四个通道构成一个比较区域,中断子程序占一个通道,比较区域不足区域不足8个,设定其余的子程序号为个,设定其余的子程序号为FFFF目标值比较中断目标值比较中断区域比较中断区域比较中断 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1. 比较表登录指令-比较表登录指令-CTBL(63)/@CTBL(63) CTBL(63)CTBP @CTBL(63)CTBPIR,,SR,,HR,,AR,,LR,,DM,,*DMTB:比较表开始通道:比较表开始通道000P:端口定义符:端口定义符000~~003C:控制数据:控制数据 当执行条件为当执行条件为ON时,登记一个用于高速计数器的比较表,时,登记一个用于高速计数器的比较表,根据根据C的值,同高速计数器当前值的比较可以立即启动,也可的值,同高速计数器当前值的比较可以立即启动,也可以用以用INI单独启动。

      单独启动功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((4)). C=003 仅登录区域比较表,不启动比较若要比较,仅登录区域比较表,不启动比较若要比较,需使用需使用INI指令启动指令启动1)). C=000 登录目标值比较表,并启动比较目标值比较登录目标值比较表,并启动比较目标值比较表中包含表中包含16个目标值和与各自目标值对应的中断子程序号个目标值和与各自目标值对应的中断子程序号当当PV=目标值=目标值时,执行对应的子程序时,执行对应的子程序2)). C=001 登录区域比较表,并启动比较区域比较表中登录区域比较表,并启动比较区域比较表中包含包含8个区域和与之对应的中断子程序号个区域和与之对应的中断子程序号当当下限值下限值 ≼ ≼ PV ≼ ≼ 上限值上限值时,执行对应的子程序时,执行对应的子程序3)). C=002 仅登录目标值比较表,不启动比较若要比较,仅登录目标值比较表,不启动比较若要比较,需使用需使用INI指令启动指令启动 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:比较表结构:例:比较表结构:TBTB+1TB+2TB+3TB+4TB+5TB+6目标值目标值比较表比较表比较的次数(比较的次数(BCD))目标值目标值1的低的低 4 位(位(BCD))目标值目标值1的高的高 4 位(位(BCD))比较比较 1的中断子程序号的中断子程序号目标值目标值2的低的低 4 位(位(BCD))目标值目标值2的高的高 4 位(位(BCD))比较比较2的中断子程序号的中断子程序号….….TBTB+1TB+2TB+3TB+4TB+5TB+6TB+7TB+8TB+9区域比区域比较表较表下限值下限值 1 的低的低 4 位(位(BCD))比较比较 1 的中断子程序号的中断子程序号….….下限值下限值 1 的高的高 4 位(位(BCD))上限值上限值 1 的低的低 4 位(位(BCD))上限值上限值 1 的高的高 4 位(位(BCD))下限值下限值 2 的低的低 4 位(位(BCD))比较比较 2 的中断子程序号的中断子程序号下限值下限值 2 的高的高 4 位(位(BCD))上限值上限值 2 的低的低 4 位(位(BCD))上限值上限值 2 的高的高 4 位(位(BCD))出错标志出错标志25503::25503为为ON,该指令不执行。

      该指令不执行高速计数器设置错误高速计数器设置错误*DM通道不存在通道不存在比较表超出数据区边界,或比较表设置有错误比较表超出数据区边界,或比较表设置有错误当主程序中执行脉冲当主程序中执行脉冲I/O或高速计数器指令时,中断子程序执行了或高速计数器指令时,中断子程序执行了INI指令 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:25315CTBL(63) 000000DM0000SBN(92) 030RET(93)…SBN(92) 031RET(93)…END(01)登录目标值比较登录目标值比较表并开始比较表并开始比较中断处理子中断处理子程序:程序:030中断处理子中断处理子程序:程序:031用编程器设置用编程器设置DM6642中的内容中的内容DM6642=0 1 x 4递增计数递增计数根据复位方式选根据复位方式选0或或1使用高速计数器使用高速计数器目标值比较表目标值比较表0002100000000030200000000031DM0000DM0001DM0002DM0003DM0004DM0005DM0006目标值目标值2个个目标值目标值1::00001000比较比较1中断子程序:中断子程序:030目标值目标值2::00002000比较比较2中断子程序:中断子程序:031 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:25315CTBL(63) 000001DM0000SBN(92) 040RET(93)…SBN(92) 041RET(93)…END(01)登录区域比较登录区域比较表并开始比较表并开始比较中断处理子中断处理子程序:程序:040中断处理子中断处理子程序:程序:041DM6642=0 1 x 0递减计数递减计数根据复位方式选根据复位方式选0或或1使用高速计数器使用高速计数器比较比较1中断子程序:中断子程序:040比较比较2中断子程序:中断子程序:041下限值下限值1::1500上限值上限值1::3000下限值下限值2::7500上限值上限值2::10000区域比较表区域比较表15000000300000000040750000000000000100410000000000000000FFFFDM0000DM0001DM0002DM0003DM0004DM0005DM0006DM0007DM0008DM0009DM0010DM0011DM0012DM0013DM0014…… 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 操作模式控制指令-操作模式控制指令-INI(61)/@INI(61) INI(61)CP1P @INI(61)CP1PIR,,SR,,HR,,AR,,LR,,DM,,*DMP1:设定值开始通道:设定值开始通道000P:端口定义符:端口定义符000~~003C:控制数据:控制数据 当执行条件为当执行条件为ON时,时,INI用于控制高速计数器的操作或停止脉冲用于控制高速计数器的操作或停止脉冲输出,输出,INI的功能由控制数据的功能由控制数据C决定。

      决定功功能能C=000 INI启动用启动用CTBL登记的比较表与高速计数器当前值进行比较登记的比较表与高速计数器当前值进行比较C=001 INI停止用停止用CTBL登记的比较表与高速计数器当前值进行比较登记的比较表与高速计数器当前值进行比较C=002 INI将将P1、、P++1通道的内容传送到高速计数器当前值寄存器通道的内容传送到高速计数器当前值寄存器SR248、、SR249中,作为高速计数器新的当前值中,作为高速计数器新的当前值P1的内容为低的内容为低4位,位,P1+1的的内容为高内容为高4位C=003 INI将停止从将停止从01000或或01001的单相脉冲输出(的单相脉冲输出(P1=000) 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器出错标志出错标志25503::25503为为ON,该指令不执行该指令不执行P1+1超出取值区域(超出取值区域(C=002)*DM通道不存在通道不存在操作数设置错误操作数设置错误主程序中执行脉冲主程序中执行脉冲I/O或高速计数器指令时,中断子程序执行了或高速计数器指令时,中断子程序执行了INI指令说说 明明 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器3. 当前值读出指令-当前值读出指令-PRV(62)/@PRV(62) 高速计数器的当前值存放在高速计数器的当前值存放在SR248(低(低4位)、位)、SR249(高(高4位)中,可位)中,可以用数据传送的方法直接读出以用数据传送的方法直接读出SR248、、SR249的内容,也可以用的内容,也可以用PRV(62)指令指令读出当前值。

      读出当前值 PRV(62)CDPCDPIR,,SR,,HR,,AR,,LR,,DM,,*DMD:目的开始通道:目的开始通道000P:端口定义符:端口定义符000C:控制数据:控制数据 @PRV(62) 当执行条件为当执行条件为ON时,将高速计数器的当前值读出并送到目的通道时,将高速计数器的当前值读出并送到目的通道D、、D+1中,低中,低4位存放在位存放在D中,高中,高4位存放在位存放在D+1中功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器出错标志出错标志25503::25503为为ON,该指令不执行该指令不执行D+1超出取值区域超出取值区域*DM通道不存在通道不存在操作数设置错误操作数设置错误主程序中执行脉冲主程序中执行脉冲I/O或高速计数器指令时,中断子程序执行了或高速计数器指令时,中断子程序执行了INI指令说说 明明返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-17 脉冲输出控制指令脉冲输出控制指令 CPM1A中的晶体管输出型具有单相脉冲输出功能,可以从中的晶体管输出型具有单相脉冲输出功能,可以从01000或或01001某一点输出某一点输出20Hz~~2KHz的脉冲。

      脉冲输出可以设的脉冲脉冲输出可以设置成连续模式或独立模式置成连续模式或独立模式脉冲脉冲输出输出模式模式连续模式:以指定的频率输出脉冲,由指令控制脉冲输出停止连续模式:以指定的频率输出脉冲,由指令控制脉冲输出停止独立模式:输出脉冲数达到指定的数目时独立模式:输出脉冲数达到指定的数目时(1~~16777215),脉冲输出脉冲输出停止……独立模式:独立模式:连续模式:连续模式:以指定的频率输出脉冲直到用指令停止脉冲输出以指定的频率输出脉冲直到用指令停止脉冲输出当输出脉冲数达到指定的数目时,脉冲输出停止当输出脉冲数达到指定的数目时,脉冲输出停止 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1. 设置脉冲指令-设置脉冲指令-PLUS(65)/@PLUS(65)PLUS(65)000N000000N000IR,,SR,,HR,,AR,,LR,,DM,,*DMN:脉冲数:脉冲数 @PLUS(65)功功 能能 当执行条件为当执行条件为ON时,时,PLUS设定输出的脉冲数目,设定输出的脉冲数目,8位位BCD码,取值范码,取值范围为围为1~~16777215N、、N+1分别为存放脉冲数的低分别为存放脉冲数的低4位、高位、高4位通道。

      位通道连续模式输出脉冲时,不需要此设置连续模式输出脉冲时,不需要此设置独立模式输出脉冲时,需要使用独立模式输出脉冲时,需要使用PLUS指令设定脉冲数指令设定脉冲数说说 明明出错标志出错标志25503::25503为为ON,该指令不执行该指令不执行指令设置有错误指令设置有错误*DM通道不存在通道不存在操作数超出数据区边界操作数超出数据区边界 主程序中执行脉冲主程序中执行脉冲I/O或高速计数器指令时,中断子程序执行了或高速计数器指令时,中断子程序执行了PLUS指令 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 速度输出指令-速度输出指令-SPED(64)/@SPED(64)SPED(64)MFPMFP @SPED(64)IR,,SR,,HR,,AR,,LR,,DM,,*DM,,#F:脉冲频率:脉冲频率000或或010P:输出位区分符:输出位区分符000或或001M:输出方式:输出方式P:000---01000010---01001M::000---独立模式独立模式001---连续模式连续模式F((4位位BCD码):设定值码):设定值0002~~0200,对应的频率为,对应的频率为20~~2000Hz。

      功功 能能 当执行条件为当执行条件为ON时,时,SPED指令设定脉冲输出位、输出模式和设定脉冲指令设定脉冲输出位、输出模式和设定脉冲输出频率输出频率 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 在连续模式下,有两种在连续模式下,有两种停止脉冲输出的方法停止脉冲输出的方法用用SPED指令指令(设定设定F=0000)用用INI指令(指令(C=003) 在同一时刻只能从一点输出脉冲,在脉冲输出时,不能用在同一时刻只能从一点输出脉冲,在脉冲输出时,不能用PLUS指令改指令改变输出的脉冲数变输出的脉冲数在脉冲输出过程中可以用在脉冲输出过程中可以用SPED指令通过改变指令通过改变F来改变脉冲的频率来改变脉冲的频率 在独立模式下,当输出脉冲数达到在独立模式下,当输出脉冲数达到PLUS指定的数目时,脉冲输出会自指定的数目时,脉冲输出会自动停止说说 明明出错标志出错标志25503::25503为为ON,该指令不执行该指令不执行指令设置有错误指令设置有错误*DM通道不存在通道不存在当间隔定时器运行时执行当间隔定时器运行时执行SPED指令指令主程序中执行脉冲主程序中执行脉冲I/O或高速计数器指令时,中断子程序执行了或高速计数器指令时,中断子程序执行了SPED指令指令 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:0000400005@SPED(64) 000001#0100@INI(61) 000003000启动脉冲输出启动脉冲输出脉冲输出位为:脉冲输出位为:01000输出模式:连续输出输出模式:连续输出脉冲频率:脉冲频率:1KHz停止脉冲输出停止脉冲输出P=000C=003P1=000 当当00004由由OFF变为变为ON时,时,启动脉冲输出。

      从启动脉冲输出从01000连续连续输出输出1KHz的脉冲 当当00005由由OFF变为变为ON时,时,停止脉冲输出停止脉冲输出例:例:0000400004@PLUS(64) 000000DM0100@SPED(64) 000000#0100设置脉冲数设置脉冲数000000脉冲数在脉冲数在DM0100和和DM0101中中启动脉冲输出启动脉冲输出脉冲输出位为:脉冲输出位为:01000输出模式:独立输出输出模式:独立输出脉冲频率:脉冲频率:1KHz 当当00004由由OFF变为变为ON时,时,PLUS指令设置输出脉冲数指令设置输出脉冲数存放在(存放在DM0100和和DM0101中)中)同时同时SPED启动脉冲输出,当启动脉冲输出,当输出脉冲数达到指定数目时,输出脉冲数达到指定数目时,脉冲输出自动停止脉冲输出自动停止返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-18 中断控制指令中断控制指令CPM1A中断中断外部输入外部输入中断中断间隔定时间隔定时器中断器中断高速计数高速计数器中断器中断外部外部输入输入中断中断计数计数器中断器中断单次单次模式模式中断中断重复重复模式模式中断中断目标目标值比值比较表较表中断中断区域区域比较比较表中断表中断中断子程序同一般子程序一样,用中断子程序同一般子程序一样,用SBN(92)和和RET(93)定义。

      定义 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 外部输入中断子程序号是固定的,中断输入外部输入中断子程序号是固定的,中断输入00003~~00006对应于中断子程序号为对应于中断子程序号为000~~003 外部输入中断使用前,应用编程器设定外部输入中断使用前,应用编程器设定DM6628DM6628 3 2 1 0输入中断输入中断0(输入端子(输入端子00003)设定)设定输入中断输入中断1(输入端子(输入端子00004)设定)设定输入中断输入中断2(输入端子(输入端子00005)设定)设定输入中断输入中断3(输入端子(输入端子00006)设定)设定0:普通输入端子:普通输入端子1:中断输入端子:中断输入端子中断优先级中断优先级外部输入中断外部输入中断 > 间隔定时器中断=高速计数器中断间隔定时器中断=高速计数器中断相同优先级中断同时发生,按以下顺序处理相同优先级中断同时发生,按以下顺序处理外部输入中断外部输入中断0 → 外部输入中断外部输入中断1 → 外部输入中断外部输入中断2 → 外部输入中断外部输入中断3间隔定时器中断间隔定时器中断 →高速计数器中断高速计数器中断 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1. 中断控制指令-中断控制指令-INT(89)/@INT(89)INT(89) 000 D CC 000 D CC @INT(89)IR,,SR,,HR,,AR,,LR,,DM,,TC,,*DM,,#D:控制数据:控制数据000~~003、、100、、200CC:控制码:控制码 当执行条件为当执行条件为ON时,时,INT用来控制中断并根据用来控制中断并根据CC的值完成的值完成6种功能中的一种。

      种功能中的一种 解除所有中断屏蔽解除所有中断屏蔽200屏蔽所有中断屏蔽所有中断100更新计数器设定值更新计数器设定值003读出当前屏蔽状态读出当前屏蔽状态002清除清除/不清除输入中断记忆不清除输入中断记忆001屏蔽屏蔽/不屏蔽输入中断不屏蔽输入中断000功能功能CC控制码控制码CC的含义的含义功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 对中断输入对中断输入00003~~00006进行屏蔽或不屏蔽,屏蔽的输入进行屏蔽或不屏蔽,屏蔽的输入被记录,但不响应,一旦屏蔽被解除,对应的中断程序马上被被记录,但不响应,一旦屏蔽被解除,对应的中断程序马上被执行(除非预先执行执行(除非预先执行CC=001 的的INT来清除之)来清除之) 未被屏蔽的中断,马上被响应未被屏蔽的中断,马上被响应1)).CC=000 屏蔽屏蔽/不屏蔽输入中断不屏蔽输入中断用用D的的bit00~bit03分别定义中断输入分别定义中断输入00003~~00006 3 2 1 0中断输入中断输入00003(( 0:不屏蔽;:不屏蔽;1:屏蔽):屏蔽)中断输入中断输入00004(( 0:不屏蔽;:不屏蔽;1:屏蔽):屏蔽)中断输入中断输入00005(( 0:不屏蔽;:不屏蔽;1:屏蔽):屏蔽)中断输入中断输入00006(( 0:不屏蔽;:不屏蔽;1:屏蔽):屏蔽) 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 若中断输入端子在屏蔽状态下被接通,则不能产生中断,若中断输入端子在屏蔽状态下被接通,则不能产生中断,但该信息被存储记录下来,等到屏蔽解除后立即产生中断。

      如但该信息被存储记录下来,等到屏蔽解除后立即产生中断如果在屏蔽解除时,不希望产生先前记忆的中断,则可以用清除果在屏蔽解除时,不希望产生先前记忆的中断,则可以用清除中断记忆的方法实现中断记忆的方法实现 用用D的的bit00~bit03分别定义中断输入分别定义中断输入00003~~00006为清除或为清除或不清除中断记忆不清除中断记忆 3 2 1 0中断输入中断输入00003(( 0:不清除;:不清除;1:清除):清除)中断输入中断输入00004(( 0:不清除;:不清除;1:清除):清除)中断输入中断输入00005(( 0:不清除;:不清除;1:清除):清除)中断输入中断输入00006(( 0:不清除;:不清除;1:清除):清除)((2)).CC=001 清除清除/不清除输入中断记忆不清除输入中断记忆 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((3)).CC=002 读出当前屏蔽状态读出当前屏蔽状态 将中断输入将中断输入00003~~00006的当前屏蔽状态字写到的当前屏蔽状态字写到D的的bit00~~bit03,分别对应于,分别对应于00003~~00006。

      若输入被屏蔽则对应位为若输入被屏蔽则对应位为1,否则为,否则为0 3 2 1 0中断输入中断输入00003(( 0:未屏蔽;:未屏蔽;1:屏蔽):屏蔽)中断输入中断输入00004(( 0:未屏蔽;:未屏蔽;1:屏蔽):屏蔽)中断输入中断输入00005(( 0:未屏蔽;:未屏蔽;1:屏蔽):屏蔽)中断输入中断输入00006(( 0:未屏蔽;:未屏蔽;1:屏蔽):屏蔽)字字D 的位的位 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((4)).CC=003 更新计数器设定值更新计数器设定值 将中断输入将中断输入00003~~00006的计数器设定值更新的计数器设定值更新CPM1A规规定,定,SR240~~SR243为存放计数器设定值的通道,为存放计数器设定值的通道,SR244~SR247 为存放计数器当前值的通道为存放计数器当前值的通道中断输入中断输入计数器设定值计数器设定值计数器当前值-计数器当前值-1输入输入00003(中断输入(中断输入0))SR240SR244输入输入00004(中断输入(中断输入1))SR241SR245输入输入00005(中断输入(中断输入2))SR242SR246输入输入00006(中断输入(中断输入3))SR243SR247 设定值范围为设定值范围为0000~~FFFF((0~~65535)。

      在程序中用数据)在程序中用数据传送指令或其它指令将设定值写入传送指令或其它指令将设定值写入SR240~SR243即可 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 计数方式为减计数方式为减1计数,即中断输入端子接通一次,当前值减计数,即中断输入端子接通一次,当前值减1一次,直到当前值为一次,直到当前值为0000时,产生中断产生中断后,计数器时,产生中断产生中断后,计数器停止计数,同时中断被屏蔽,若想再次中断,需改写设定值,停止计数,同时中断被屏蔽,若想再次中断,需改写设定值,改写或不改写用改写或不改写用D的的00~~03位设定计数器中断模式下,最高计位设定计数器中断模式下,最高计数频率可达数频率可达1KHz 3 2 1 0中断输入中断输入00003的计数器设定值(的计数器设定值( 0:更新;:更新;1:不更新):不更新)中断输入中断输入00004的计数器设定值(的计数器设定值( 0:更新;:更新;1:不更新):不更新)中断输入中断输入00005的计数器设定值(的计数器设定值( 0:更新;:更新;1:不更新):不更新)中断输入中断输入00006的计数器设定值(的计数器设定值( 0:更新;:更新;1:不更新):不更新)字字D 的位的位 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((5)).CC=100 屏蔽所有中断屏蔽所有中断 屏蔽所有中断屏蔽所有中断输入中断输入中断间隔定时器中断间隔定时器中断高速计数器中断高速计数器中断当当CC=100时,时,D固定为固定为0000。

      在屏蔽期间,若发生中断请求,将不会响应,但会将发生的在屏蔽期间,若发生中断请求,将不会响应,但会将发生的输入中断、间隔定时器中断、高速计数器中断记录下来去掉输入中断、间隔定时器中断、高速计数器中断记录下来去掉中断屏蔽后,马上进行中断服务中断屏蔽后,马上进行中断服务6)).CC=200 解除所有中断屏蔽解除所有中断屏蔽 用来解除所有中断屏蔽用来解除所有中断屏蔽当当CC=200时,时,D固定为固定为0000注意:解除所有中断屏蔽并不清除单独中断类型的屏蔽注意:解除所有中断屏蔽并不清除单独中断类型的屏蔽 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:输入中断模式程序举例例:输入中断模式程序举例25315INT(89) 000000#000ESBN(92) 000RET(93)…中断屏蔽的设定中断屏蔽的设定中断处理子程序:中断处理子程序:000中断输入中断输入00003不屏蔽,不屏蔽,D的的bit00~~bit03为为1110用编程器设定用编程器设定DM6628的内容为的内容为0001,表示,表示00003为中断输入端子,为中断输入端子,当输入当输入00003接通时产生接通时产生中断,转去执行中断处中断,转去执行中断处理子程序理子程序000。

      电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:计数器中断模式程序举例例:计数器中断模式程序举例中断送入中断送入00003的计的计数器设定值更新数器设定值更新中断处理子中断处理子程序:程序:000中断输入中断输入00003更新,更新,D的的bit00~~bit03为为111025315MOV(21) #000A240SBN(92) 000RET(93)…INT(89) 003000#000E将将000A((BCD:10)送入)送入00003计数器设定值通道计数器设定值通道SR240用编程器设定用编程器设定DM6628的内容为的内容为0001,表示,表示00003为中断输入端子,为中断输入端子,当输入当输入00003接点闭合接点闭合10次时产生中断,转去次时产生中断,转去执行中断处理子程序执行中断处理子程序000 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 间隔定时器中断指令-间隔定时器中断指令-STIM(69)/@STIM(69)STIM(69) C2 C3 C1 C2 C3 C1@STIM(69)IR,,SR,,HR,,AR,,LR,,DM,,TC,,*DM,,#C2:控制数据:控制数据2000、、003、、006、、010C1:控制数据:控制数据1IR,,SR,,HR,,AR,,LR,,DM,,TC,,*DM,,#C3:控制数据:控制数据3停止定时器停止定时器010读出定时器当前值读出定时器当前值006启动重复中断模式启动重复中断模式003启动单次中断模式启动单次中断模式000功能功能C1控制数据控制数据C1的含义的含义 当执行条件为当执行条件为ON时,时,STIM用来控用来控制间隔定时器根据制间隔定时器根据C1的值完成的值完成4种功能种功能中的一种。

      中的一种间隔定时器间隔定时器的工作模式的工作模式单次模式单次模式重复模式重复模式定时时间到,执行中断,且只执行一次定时时间到,执行中断,且只执行一次每隔一段时间,进行一次中断,是周期性中断每隔一段时间,进行一次中断,是周期性中断功功 能能 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((1)).C1=000 启动单次中断模式启动单次中断模式 C2为间隔定时器定时设定值(为间隔定时器定时设定值(BCD:0000~9999),),C2+1为为时间间隔,时间间隔,C3为中断子程序号定时时间到,发生一次中断,为中断子程序号定时时间到,发生一次中断,且只发生一次且只发生一次C2、、C2+1设定:设定: 当当C2为通道号时,其通道中数据为通道号时,其通道中数据(BCD:0000~~9999)为递减为递减计数器的设定值计数器的设定值SV时间间隔由时间间隔由C2+1中的数据决定中的数据决定C2+1的的数据范围为数据范围为0005~~0320(BCD)表示表示0.5~~32ms,因此实际定时时,因此实际定时时间为间为 C2中的内容中的内容×(C2+1中的内容中的内容)×0.1ms 实际定时范围为实际定时范围为0.5~~319968ms。

      当当C2为常数时,时间间隔固定为为常数时,时间间隔固定为1ms,因此实际定时时间,因此实际定时时间即为该常数即为该常数如:如:C2=0010,实际定时时间为,实际定时时间为10ms 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((2)).C1=003 启动重复中断模式启动重复中断模式 C2为间隔定时器定时设定值(为间隔定时器定时设定值(BCD:0000~9999),),C2+1为为时间间隔,时间间隔,C3为中断子程序号其设定与单次中断模式相同为中断子程序号其设定与单次中断模式相同 C3的设定:的设定:C3为常数时,常数即为子程序编号(为常数时,常数即为子程序编号(BCD))C3为通道时,通道内数据即为子程序编号(为通道时,通道内数据即为子程序编号(BCD))子程序编号范围:子程序编号范围:000~~049 在重复模式下,定时时间到,产生中断,调用中断服务处在重复模式下,定时时间到,产生中断,调用中断服务处理子程序,同时定时器的当前值理子程序,同时定时器的当前值PV再次恢复到设定值再次恢复到设定值SV,并重,并重新开始递减计数。

      每隔一段时间发生一次中断,直到停止定时新开始递减计数每隔一段时间发生一次中断,直到停止定时工作为止工作为止 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器((3)).C1=006 读出定时器当前值读出定时器当前值 可以读出减可以读出减1的次数、时间间隔、从上次减的次数、时间间隔、从上次减1到当前时刻的时到当前时刻的时间从而可以计算出定时开始到当前时刻的时间读出的三个间从而可以计算出定时开始到当前时刻的时间读出的三个参数分别存放在参数分别存放在C2、、C2+1、、C3中C2+1开始时刻开始时刻结束时刻结束时刻C3((4)).C1=010 停止定时停止定时 C1=010间隔定时器停止工作,此时间隔定时器停止工作,此时C2、、C3固定为固定为0000{{C2中的内容中的内容×(C2+1的内容的内容)++C3的内容}的内容}×0.1ms从定时开始到当前时刻的时间为:从定时开始到当前时刻的时间为: 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:单次中断模式程序举例例:单次中断模式程序举例计数器初值设定:计数器初值设定:C2=0004,SV=0004;C2+1=0010,时间间隔为时间间隔为1ms间隔定时器以单次中断模式启动间隔定时器以单次中断模式启动中断处理子中断处理子程序:程序:023子程序编号:子程序编号:023将计数次数将计数次数0004((BCD)送入减)送入减法计数器设定值通道法计数器设定值通道DM0010将时间间隔将时间间隔0010((1ms)送)送入时间间隔通道入时间间隔通道DM001125315MOV(21) #0004DM0010SBN(92) 023RET(93)…STIM(69) 000DM0010#0023MOV(21) #0010DM001100005 输入输入00005接通时,接通时,间隔定时器以单次模间隔定时器以单次模式启动,达到限定时式启动,达到限定时间间(4ms),产生中断,,产生中断,转去执行中断处理程转去执行中断处理程序。

      序 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:重复中断模式程序举例例:重复中断模式程序举例计数器初值设定:计数器初值设定:C2=0004,SV=0004;C2+1=0006,时间间隔为时间间隔为0.6ms间隔定时器以重复中断模式启动间隔定时器以重复中断模式启动中断处理子中断处理子程序:程序:023子程序编号:子程序编号:023将计数次数将计数次数0004((BCD)送入减)送入减法计数器设定值通道法计数器设定值通道DM0010将时间间隔将时间间隔0006((0.6ms))送入时间间隔通道送入时间间隔通道DM001125315MOV(21) #0004DM0010SBN(92) 023RET(93)…STIM(69) 003DM0010#0023MOV(21) #0006DM001100005 输入输入00005接通时,接通时,间隔定时器以重复模间隔定时器以重复模式启动,每次达到限式启动,每次达到限定时间定时间(2.4ms),都产,都产生中断,转去执行中生中断,转去执行中断处理程序断处理程序返 回 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器§3-19 步进指令步进指令 在执行下一段程序之前,在执行下一段程序之前,CPU将通过断点复位上一个程序将通过断点复位上一个程序段使用的定时器和数据区。

      因此,在步进程序段里可以重复使段使用的定时器和数据区因此,在步进程序段里可以重复使用用PLC的内部资源的内部资源 步进指令步进指令STEP和和SNXT总是一起使用,用步进指令可以按总是一起使用,用步进指令可以按照指定的顺序执行各个程序段,上一个程序执行完后再执行下照指定的顺序执行各个程序段,上一个程序执行完后再执行下一个程序段一个程序段 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器1. 单步指令-单步指令-STEP(08) 步进指令-步进指令-SNXT(09)STEP(08) BSTEP(08)B:控制位:控制位IR,,HR,,AR,,LRSNXT(09) B STEP(08) B 用来定义一个程序段的开始无需执行条件,用来定义一个程序段的开始无需执行条件,其执行与否由控制位决定其执行与否由控制位决定 功功 能能 SNXT(09) B 用来启动步号为用来启动步号为B的程序段,的程序段, SNXT(09) B 指令必须写进程序中,并置于指令必须写进程序中,并置于STEP(08) B 之前的位置,用来之前的位置,用来结束前一段程序,启动步号为结束前一段程序,启动步号为B的程序段。

      前一段程序中用过的程序段前一段程序中用过的定时器复位成他们的设定值的定时器复位成他们的设定值SV,,IR、、SR、、HR、、LR均变为均变为OFF,计数器、移位寄存器保持原状态计数器、移位寄存器保持原状态 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器 STEP(08) 无需执行条件,表示一系列程序段结束在它无需执行条件,表示一系列程序段结束在它之前必须有一条之前必须有一条 SNXT(09) B 指令,其中指令,其中B为虚控制位,无任为虚控制位,无任何意义 执行执行STEP(08) B 指令时,单步启动标志指令时,单步启动标志SR25407仅在一仅在一个扫描周期内为个扫描周期内为ON 步可以连续编程,每一步必须以步可以连续编程,每一步必须以 STEP(08) 开始,通常以开始,通常以SNXT(09) 结束说说 明明B的取值必须在同一个字中,并且要连续;的取值必须在同一个字中,并且要连续;如果控制位如果控制位B在在HR或或AR区中,可以掉电保护区中,可以掉电保护步程序段内编程同普通程序一样,但以下指令不能用在步步程序段内编程同普通程序一样,但以下指令不能用在步程序段中。

      程序段中END(01)、、IL(02)/ILC(03)、、JMP(04)/JME(05)、、SBN(92) 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例:例:第一步第一步第二步第二步开始步执行开始步执行结束步执行结束步执行SNXT(09) LR1000STEP(08) LR1000≈SNXT(09) LR1001STEP(08) LR1001≈SNXT(09) LR1002STEP(08)000000000100002由由LR1000控制的步控制的步由由LR1001控制的步控制的步 当当00000为为ON时,执行时,执行SNXT(09) LR1000,由,由LR1000控制的步被启动控制的步被启动 当当00001为为ON时,执行时,执行SNXT(09) LR1001,结束由,结束由LR1000控制的步,启动由控制的步,启动由LR1001控制的步控制的步 当当00002为为ON时,执行时,执行SNXT(09) LR1002,结束由,结束由LR1001控制的步,下一条是不控制的步,下一条是不带操作数的带操作数的STEP(08)指令,步指令,步程序到此结束。

      程序到此结束 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器2. 步进指令的应用步进指令的应用步进控制有三种类型步进控制有三种类型顺序执行顺序执行分支执行分支执行并行执行并行执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例例1:顺序执行过程如图,整个过程分为三步:加载、安装部件和检验:顺序执行过程如图,整个过程分为三步:加载、安装部件和检验/推出具体过程过程为:当传感器具体过程过程为:当传感器SW1接通时,启动第一步加载,把工件装到输接通时,启动第一步加载,把工件装到输送带上;当传感器送带上;当传感器SW2接通时,结束第一步,同时启动第二步安装部件;接通时,结束第一步,同时启动第二步安装部件;当传感器当传感器SW3接通时,结束第二步,同时启动第三步检验接通时,结束第二步,同时启动第三步检验/推出,对工件进推出,对工件进行检验,如有次品就弃掉;当传感器行检验,如有次品就弃掉;当传感器SW4接通时,结束第三步接通时,结束第三步 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器过程过程ASW1SW2SW3SW4过程过程B过程过程C结束结束加载加载安装安装检验检验/推出推出过程过程A清除并复位清除并复位过程过程B启动启动过程过程A启动启动结束步执行结束步执行过程过程B清除并复位清除并复位过程过程C启动启动SNXT(09) 20000STEP(08) 20000≈SNXT(09) 20001STEP(08) 20001≈SNXT(09) 20003STEP(08)00001(SW1)00002(SW2)00003(SW3)过程过程A过程过程BSNXT(09) 20002STEP(08) 2000200004(SW4)过程过程C≈过程过程C清除并复位清除并复位 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例例2:下图为一分支执行过程示意图,过程:下图为一分支执行过程示意图,过程A和过程和过程B只能选择一个,选择哪只能选择一个,选择哪一个取决于工件重量检测的结果。

      而过程一个取决于工件重量检测的结果而过程C(工件印字)不论前面选择过程(工件印字)不论前面选择过程A还是过程还是过程B都要进入过程都要进入过程A和过程和过程B不能同时进行不能同时进行 分析:过程分析:过程A和过程和过程B不能同时执行,所以过程不能同时执行,所以过程A和过程和过程B需要互锁过程需要互锁过程A结束启动过程结束启动过程C,过程,过程B结束也要启动过程结束也要启动过程C则它们的流程图和梯形图如图则它们的流程图和梯形图如图 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器过程过程A过程过程B过程过程C结束结束SW A1SW B1SW A2SW B2SW D过程过程A清除并复位清除并复位过程过程C启动启动结束步执行结束步执行过程过程B清除并复位清除并复位过程过程C启动启动过程过程C清除并复位清除并复位SNXT(09) HR0000STEP(08) HR0000≈SNXT(09) HR0002STEP(08) HR0001≈SNXT(09) HR0003STEP(08)00001(SW A1)00003(SW A2)00004(SW B2)过程过程A过程过程BSNXT(09) HR0002STEP(08) HR000200005(SW D)过程过程C≈SNXT(09) HR000100002(SW B1)00001(SW A1) 00002(SW B1)选择过程选择过程A或或过程过程B,启动,启动其中之一其中之一 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器例例3:下图为一并行执行过程示意图,两个工件同时进行两种不同的加工处:下图为一并行执行过程示意图,两个工件同时进行两种不同的加工处理过程,最后汇合在一起进行组装。

      具体过程如下:当理过程,最后汇合在一起进行组装具体过程如下:当SW1和和SW2都接通时,都接通时,同时进行过程同时进行过程A和过程和过程C;当;当SW3接通时,过程接通时,过程A结束,过程结束,过程B开始,当开始,当SW4接通时,过程接通时,过程C结束,过程结束,过程D开始;当开始;当SW5和和SW6都接通时,过程都接通时,过程B、、D同时同时结束,过程结束,过程E开始当SW7接通时,过程接通时,过程E结束 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器过程过程A过程过程C过程过程E结束结束SW1 和和SW2都接通都接通SW5和和SW6都接通都接通SW3SW4SW7过程过程B过程过程DSNXT(09) LR0000SNXT(09) LR0002STEP(08) LR0000过程过程ASNXT(09) LR0001SNXT(09) LR0003STEP(08) LR0002SNXT(09) LR0004过程过程BSTEP(08) LR000100001(SW1和和SW2)≈00002(SW3)≈00004(SW5和和SW6)LR0003LR0003≈过程过程C00003(SW4)STEP(08) LR0003过程过程D≈STEP(08) LR0004过程过程E00005(SW7)SNXT(09) LR0005STEP(08)过程过程A和和C都启动都启动过程过程A清除并复位清除并复位过程过程B启动启动过程过程B、、D同时清除并复位同时清除并复位过程过程E启动启动过程过程C清除并复位清除并复位过程过程D启动启动过程过程E清除并复位清除并复位结束步执行结束步执行 电气信息与自动化学院电气信息与自动化学院第二篇 可编程序控制器程序说明:程序说明:当过程当过程B和和D都结束时(都结束时(SW5和和SW6都变为都变为ON),在过程),在过程B的结的结束处,过程束处,过程B和和D一起被一起被SNXT指令复位。

      虽然在过程指令复位虽然在过程D结束时没有结束时没有SNXT指指令,但它的控制位通过执行令,但它的控制位通过执行SNXT(09) LR0004而关闭,这是因为在该步中而关闭,这是因为在该步中LR0003的输出是由的输出是由SNXT(09) LR0004 指令进行复位的即当执行指令进行复位的即当执行SNXT(09) LR0004 指令时,指令时,LR0003被关闭,这样过程被关闭,这样过程B被直接复位,而过被直接复位,而过程程D在过程在过程E执行前被间接复位执行前被间接复位返 回 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.