好文档 - 专业文书写作范文服务资料分享网站

PLC编程入门 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

环途中对指定的输入输出继电器实行刷新,以缩短输出滞后输入的时间,提高I/O响应速度 67 位计数指令 BCNT @BCNT BCNT/@BCNT(67) 通道数N 源开始通道S 目的通道D 计算在S和S+N-1之间所有通道中为1的bit的总数,结果以BCD码送入D通道 当通道数N非BCD码、N为0、S+N-1超出数据区、计算总数超出错标志25503ON;当计算结果N:000~019、200~255、HR00~19、AR00~15、LR00~15、T/C000~127 DM0000~1023、6144~6655 *DM0000~1023、6144~6655 #0000~9999 AR00~15、LR00~15、T/C000~127 过9999、间接寻址DM不存在时,S:000~019、200~255、HR00~19、为0000时,相等标志位25506ON DM0000~1023、6144~6655 *DM0000~1023、6144~6655 D:000~019、200~252、HR00~19、AR00~15、LR00~15、T/C000~127 DM0000~1023 *DM0000~1023、6144~6655

十四、子程序控制指令

FUN NO 指令 符号 助记符 操作数 功 能/相关标志 操作数 91 子程序调用指令 SBS @SBS SBS/@SBS(91) 编号NO 在主程序中调用子程序,主程序可以无数次地调用子程序。子程序的嵌套级数不能超过16级 当子程序不存在、从自己子程序中调用自己子程序、嵌套超过16级时,出错标志25503ON NO:000~049 92 93 99 子程序定义指令 子程序返回指令 宏指令 SBN SBN(92) NO 表示子程序的开始并定义子程序的编号为NO NO:000~049 RET RET(93) 表示指定的子程序终了 MCRO MCRO(99) 第一个输入字S 第一个输出字D 用一个单一子程序代替数个具有首先将S~S+3通道的内容复制到宏指令输入区(4个字)232~235CH,再将D~D+3CH的内容复制到达宏指令输出区(4个字)236~239CH,再调用N号子程序,当子程序完成时,将236~239CH的内容复制到D~D+3CH中例见P103页图3。157 当指定的子程序不存在、操作数超N:子程序编号000~049 S:000~016、200~252、HR00~16、AR00~12LR00~12、T/C000~124、 DM0000~1020、6144~6652 *DM0000~1023、6144~6655 D:000~016、200~249 HR00~16、AR00~12LR00~12、T/C000~124、DM0000~1020 *DM0000~1023、6144~6655 子程序号N 相同结构但操作数不同的子程序。 41

出数据区范围、间接寻址DM不存在、子程序自己调用时,出错标志位25503ON,该指令不执行 *高速计数器

1、 高速计数器计数功能

要使用高速计数器,必须用编程器先对DM6642的内容进行设置 通道地址 位 DM6642 功 能 00~03 计数模式设定:0—增减计数模式 4—递增计数模式 04~07 复位方式设定:0—Z相输入信号+软件复位 1—软件复位 08~15 是否使用高速计数器设定:00—不使用 01—使用 (1) 计数模式

1递增模式——当DM6642的高位为01(使用高速计数器设定)○,低位为X4(复位方式略,采用递增计数

模式)时

编码器输入单相输入脉冲信号接00000端,复位信号接00002端,对单相脉冲进行递增计数,计数

范围为0~65535(十六进制为00000000~0000FFFF),最高频率5KHZ

2增减模式——当DM6642高位为01(使用高速计数器设定)○,低位为X0(复位方式略,采用增减计

数模式)时

编码器输入两路相位差90°的脉冲,A相接00000,B相接00001,复位Z相接00002端,进行递增递减计数,范围—32767~+32767(十六进制为F0007FFF~00007FFF),最高频率为2.5KHZ。若A超前则递增,若B超前则递减。 (2)高速计数器复位模式

1Z相信号和软件复位(DM6642数据为010X时)○,当高速计数器的复位标志25200ON时,Z相复位

信号由OFF变ON时,高速计数器当前值复位(0)

2纯软件复位(DM6642数据为011X时)○:当高速计数器的复位标志25200ON时,高速计数器当前

值复位(0)

(3)计数器的上溢和下溢

高速计数器当前值存于特殊辅助继电器249CH(存当前值高4位)、248CH(存当前值低4位)中,

当计数器从上限值(0000FFFF递增计数或00007FFF 增减计数)开始加计数时,则上溢,此时249、248CH的内容为0FFF FFFF并保持,高速计数器停止计数;从下限值(00000000递增或F0007FFF增减)开始减计数时则下溢,此时249、248CH的内容为FFFF FFFF并保持,高速计数器停止计数。只有当高速计数器复位时,才会清除249CH、248CH的上溢或下溢状态。 2、 高速计数器中断方式

(1) 目标值比较中断:最多有16个比较目标值及中断子程序号组合(存于比较表中),当高速计

42

数器当前值等于目标值时,执行比较表中指定的中断子程序。

(2) 区域比较中断:比较表中保存了8个比较(上限和下限)条件和中断子程序号组合,当下限

值≤计数器当前值≤下限值 时,执行区域比较表中指定的中断子程序。

十五、高速计数器控制指令 FUN 指令 符号 NO 63 比较表登录指令 CTBL @CTBL 目标值比较表 区域比较表 S 比较的次数 S S+1 S+2 1下限值低4位 1下限值高4位 1上限值低4位 1上限值高4位 比较1中断子程序号 2下限值低4位 2下限值高4位 2上限值低4位 2上限值高4位 比较2中断子程序号 · · · 助记符 操作数 CTBL/@CTBL(63) 功 能/相关标志 操作数 根据控制数据C的值登记一个用于高速计数器的比较表,并可立即启动也可用INI指令启动。 C:000——登记一个目标值比较表,并启动比较 001——登记一个区域比较表,并启动比较 002——登记一个目标值比较表,用INI(操作模式控制指令)指令方始启动比较 003——登记一个区域比较表,用INI指令方始启动比较 P:000 C:000~003 S(值比较1+3): 000~016、、200~249 HR00~16、AR00~12 LR00~12 DM0000~1020 6144~6152 *DM0000~1023 6144~6155 S(域比较5*8) 200~213 DM0000~0984、 6144~6166 *DM0000~1023 6144~6155 端口定义符P 控制数据C 比较表开始通道S S+1 1目标值低4位 S+2 1目标值高4位 S+3 比较1中断子程序号 S+3 S+4 2目标值低4位 S+5 2目标值高4位 S+4 S+5 S+6 比较2中断子程序号 S+6 S+7 3目标值低4位 S+8 3目标值高4位 S+7 S+8 S+9 比较3中断子程序号 S+9 · · · · · · · · · *当区域比较条件不满八个时,余下的子程序号全部 置为FFFF。例见P106、107页3。161及3。162 *当DM642设置错误、间接寻址DM不存在、比较表 超出数据区域、程序执行高速计数器指令,中断子程序中执行了INI指令时,出错标志25503ON 61 操作模式控制INI INI/@INI(61) 端口定义符P 控制数据C 设定值开始通道S 控制高速计数器的启动及停止.。 C:000——启动表比较 001——停止表比较 002——改变高速计数器当前值, S+1、S 249、248CH P;000 C:000~003 S:000~018、200~251 HR00~18、AR00~14 LR00~14 指令 @INI 43

高 低 高 低 003——停止脉冲输出 DM0000~10226144~6654 *DM0000~10236144~6655 、、 62 当前值读出指令 PRV @PRV PRV/@PRV(62) 端口定义符P 控制数据C 目的开始通道D 将高速计数器的当前值249、248CH送到目的通道D+1、P:000 D中(也可用传送指令执行) 当D+1超出数据区域、间接寻址DM不存在、控制数据错误、执行高速计数器指令时中断子程序执行了INI指令时,出错标志25503ON C:000 S:000~018、200~251 HR00~18、AR00~14 LR00~14 DM0000~1022 *DM0000~10236144~6655 、1、 连续输出模式:输出端以指定的频率输出脉冲直到停止输出脉冲的指令输出时为止。

2、 独立输出模式:当输出脉冲达到指定的数目(1~16777215)时,脉冲输出停止。

十六、脉冲输出控制指令

FUN NO 65 设置脉冲PULS PULS/@PULS(65) 000 000 输出的脉冲数目通道N 指令 符号 助记符 操作数 功 能/相关标志 操作数 当脉冲输出以独立模式输出时,先设置脉冲数(连续模式输出脉冲不需此设置)8位BCD码(范围1~16777215),N+1、N通道分别存放高4位和低4位 当指令设置错误、间接寻址DM不存在、操作数超出数据区域或主程序执行脉冲输出指令时,中断子程序中执行了设置脉冲指令时,出错标志位25503ON,该指令不执行。 N:000~018、200~251 HR00~18、AR00~14 LR00~14 DM0000~1022、6144~6654 *DM0000~102461244~6655 、指令 @PULS 64 速度输出SPED SPED/@SPED(64) 输出位区分符P000或010 输出方式M000或001 指定脉冲输出位、输出模式并设定脉冲输出频率来启动脉冲输出 输出位P:000——输出位为01000 010——输出位为01001 输出方式F:000~019、200~252 HR00~19、AR00~15 LR00~15 DM0000~1023`6144~6655 *DM0000~1023、指令 @SPED 脉冲频率F M:000——独立模式(输出脉冲数到达设定数目时,自动停止输出) 6144~6655 001—连续模式(用SPED指令设定F为0000来停止输出或用INI指令停止脉冲输出) #0002~0200 脉冲输出指令的应用例见P110页图3。168及3。169 频率F(4位BCD码):值为0002~0200(对应20~2000HZ) 44

*当脉冲正在输出时,无法用设置脉冲指令PULS改变指定的输出脉冲数目,但可以用速度输出指令SPED来改变输出脉冲的频率 当指令设置错误、间接寻址DM不存在、主程序再执行脉冲输出指令或高速计数器指令时,中断子程序中执行了SPED指令时,出错标志位25503ON,该指令不执行 *中断 控制 CPM1A机型具有外部输入中断、间隔定时器中断、高速计数器中断功能,中断的处理顺序:外部中断0 外部中断1 外部中断2 外部中断3 >间隔 定时器中断 高速计数器中断 外部中断输入端子为00003~00006,分别对应调用子程序000~003。外部输入中断有以下两种模式: 1、 输入中断模式——一旦中断输入端子被接通(由DM6628设定相应输入端为中断输入

端,并直接执行控制数据C1=000,控制数据C2设置相应中断输入端的输入不屏蔽的中断控制指令INT),立即产生中断

2、 计数器中断模式——当中断输入端子被接通一定次数时才产生中断(由DM6628设定

相应输入端为中断输入端,并先执行MOV指令,将输入计数器中断模式的输入中断计数器设定值传送到指定区域即240~243CH,计数器中断模式就开始减1计数,计数中断的当前值—1存放在244~247CH中,当前值为0时产生中断,计数器停止计数,中断被屏蔽,若想再次产生中断,必须执行更新计数器设定值的中断控制指令INT) DM6628的内容

15 12 11 08 07 04 03 00

输入端子0003设定(当为1时,输入中断0) 输入端子0004设定(当为1时,输入中断1) 输入端子0005设定(当为1时,输入中断2) 输入端子0006设定(当为1时,输入中断3)

当DM6628中的4位数中任一位为0时,表示与“0”对应的输入端子为普通输入用;为1时,表示与“1”对应的输入端子为中断输入用。为2时,表示与2相对对应的输入端子为快速输入(最小脉宽0。2ms)

45

PLC编程入门 - 图文

环途中对指定的输入输出继电器实行刷新,以缩短输出滞后输入的时间,提高I/O响应速度67位计数指令BCNT@BCNTBCNT/@BCNT(67)通道数N源开始通道S目的通道D计算在S和S+N-1之间所有通道中为1的bit的总数,结果以BCD码送入D通道当通道数N非BCD码、N为0、S+N-1超出数据区、计算总数超出错标志25503ON;当计算结果N:000~019、2
推荐度:
点击下载文档文档为doc格式
04p590his62cg5h8iub3
领取福利

微信扫码领取福利

微信扫码分享