SAP智能制造,为企业带来的无限机遇
410
2023-12-06
基于高速计数器的比较输出功能可实现计数值到达设定值后,输出口打开/关闭指定的时间或输出指定的电平信号高速比较输出功能的优势在于响应比普通输出快的多,能够快速满足对实时性要求更高的应用场景,如飞拍技术 本文以雷赛中型PLC MC532控制器(LC,SC系列使用方法类似)为例介绍比较输出功能的使用方法。
固件版本:20230801及以上 FPGA版本:16777216及以上 库版本:MC_HSIO1.0.2.3、LS_BasicModule1.0.0.5 及以上 01、比较输出硬件端口配置 ①双击High_Speed_IO_Module打开IO配置界面; ②点击高速输入设置; ③选择计数器,勾选启用; ④选择比较输出信号硬件端口,可用OUT0-OUT11作为比较输出口。
如图1所示 注:采用计数器的用处是,使用计数器的值作为比较参考位置图1 计数器比较输出功能配置步骤 02、比较输出指令介绍 比较输出相关指令如表1所示,MC500比较输出指令共有3个,一个计数器同一时间只能使用其中一个比较输出指令,若执行了多个比较输出指令仅最先执行的指令有效,后执行的指令报错。
表1 比较输出指令表 使用这些指令前,须在High_Speed_IO_Module中配置对应的硬件端口功能及参数,而且要避免使用%MW50000-%MW59999系统专用地址,避免因为地址冲突造成功能异常。
高速比较输出口的输出状态由硬件层控制,软件层不会监控到该位状态,不会反应在输出口映射地址上(与高速脉冲输出一致),也就是说比较输出指令控制OUT2输出高电平,软件监控中,OUT2对应映射地址%QX0.2的值不会变为TRUE。
▇ 2.1 单点模式高速比较指令LS_Compare 该指令用于设置单点模式高速一维比较输出的参数,可在计数值与比较值相等时打开/关闭指定输出口设定的时间打开输出口表示输出高电平;关闭输出口表示输出低电平,即没有输出。
输入变量说明 输出变量说明 如图2所示LS_Compare指令设置计数器0的比较值为10000,比较值相等时,打开比较输出口2s如图3所示为该指令执行时的计数值、输出口电平与时间的关系曲线 图2 LS_Compare指令 图3 计数值、输出口电平与时间的关系曲线 图3显示:计数器0的计数值等于10000时,比较输出口打开,开始输出高电平,2s后变为低电平,输出口关闭。
▆ 2.2 FIFO模式高速比较指令LS_CompareFIFO 该指令用于设置FIFO模式的一维比较输出的参数,FIFO最多可存放1000比较点,并且可以动态压入比较点,当计数值与比较值相等时根据指令设置的输出方式改变指定输出口的输出状态。
触发指令时,会先将指定输出口输出状态反转;即指令触发前,输出口关闭(低电平),触发指令后,输出口打开(高电平) 输入变量说明 输出变量说明 FIFO内最多可装1000个点,每次比较开始前,从FIFO中取出一个点,即FIFO内的点数uiFIFOSize减1。
xPush触发上升沿后会将uiCmpNum个fCmpPos存放的点压入到FIFO,必须注意压入FIFO的数量,若FIFO内的点数uiFIFOSize超过1000,指令将出错中止 输出模式0、1——时间输出模式:当计数值与比较值相等,打开/关闭指定输出口udiOutPara设定的时间,输出时间结束后,输出口状态恢复,最短输出时间1us,最长输出时间20s。
输出模式4——输出电平模式:当计数值与第n个比较点相等时,数组参数axInvert第n个成员为TRUE则打开输出口,为FALSE则关闭输出口 如图4所示LS_CompareFIFO指令设置输出电平模式,比较值与输出电平如表2所示关系。
如图5所示为该指令执行时的计数值、输出口电平与时间的关系曲线 图4 LS_CompareFIFO指令 表2 比较值与输出电平关系 图5 计数值、输出口电平与时间的关系曲线 图5显示: ①LS_CompareFIFO.xExecute触发上升沿时,比较输出口状态反转,输出高电平,初始压入比较点数为10,位置比较开始,FIFO存放点数减1,即变为9; ②计数值等于第1个比较值1000时,比较输出口输出高电平,同时下一个位置点比较开始,FIFO内点数减1;计数值等于第2个比较值2000时,比较输出口输出低电平,同时下一个位置点比较开始,FIFO内点数减1,以此类推; ③LS_CompareFIFO.xPush触发上升沿时,压入10个比较点到FIFO,即FIFO内点数加10。
▆ 2.3 线性模式高速比较指令LS_CompareStep 该指令用于设置线性模式的一维比较输出的参数,当计数值与起始比较值相等时改变输出口指定时间的输出状态,此后每当计数值与上一次比较值加比较步长的值相等,再次改变输出口指定时间的输出状态,比较输出的次数可在指令中设定,最多可输出65535次。
输入变量说明 输出变量说明 如图6所示LS_CompareStep指令设置计数器0的起始比较值为5000,之后每次比较值为上一次比较值加10000;每次比较相等时,打开输出口0.1s,时间结束则输出口状态恢复,设置10个比较点。
如图7所示为该指令执行时的计数值、输出口电平与时间的关系曲线 图6 LS_Compare指令 图7 计数值、输出口电平与时间的关系曲线 图7显示:计数器0的计数值等于5000、15000、25000、35000、45000、55000、65000、75000、85000、95000时,比较输出口各输出0.1s高电平,共输出了10次。
03、比较输出例程 本例程实现计数器0计数值依次等于10000,15000,25000,30000时,比较输出口OUT2依次由高电平变为低电平0.5s,0.5S后输出口恢复高电平计数器0配置如图8所示。
图8 计数器0配置 程序代码如下: 图9 程序示例 图10为以上程序的运行结果当FIFO模式高速比较指令的启动信号xExecute由FASLE变为TRUE时,比较输出口OUT2状态反转,变为高电平。
当计数器0的计数值分别等于10000,15000,25000,30000时,比较输出口OUT2依次由高电平状态变为低电平状态0.5s,0.5S后输出口恢复高电平状态 图10 比较输出例程运行结果免责声明:本文来源:[中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~