比较和算术运算指令的应用案例
前面两篇文章介绍了FX5U PLC比较和算术运算指令的使用,就给大家举几个简单的应用案例吧。学习PLC指令的时候,通过案例的应用更加能够快速掌握指令的功能哦。
案例1、触点比较指令做电动机正反转控制程序。 按下启动按钮,电动机正转5秒,再停止5秒,然后反转5秒,再停止5秒,如此循环,按下停止按钮,电动机停止。
该案例利用了启保停程序、定时器的使用和触点比较指令做比较输出,只使用了一个定时器T0,设定值设为K200,是因为正反转10秒还要加上停止的10秒时间,当T0<=K50时,即5秒内输出Y0进行正转,当K100
案例2、比较运算指令在模拟量温度控制程序中的应用。 用FX3U 4AD模块采集温度传感器的温度,传感器的温度范围是0~150℃,当温度小于30℃时,闪烁Y0提示低温报警,当温度处于30~120℃之间时,Y1正常亮代表正常温度,当温度大于120℃时,闪烁Y2提示高温报警。
先读模拟量模块的识别码,模块识别码的缓冲区是BFM#30,CMP指令比较识别码是否等于2080,相等则M1接通,代表确认使用的模块是FX3U 4AD,继续取读取模块错误状态,模块错误状态的缓冲区是BFM#29,看模块是否有错误,无错误则输出M2用于驱动传送指令,做各通道的输入模式设置、平均值、数字滤波,并读取各通道的当前值。这段程序的功能是数字输入模式H0,表示各个通道都是-10V~10V对应-32000~32000,只启用了平均值功能,数值为K300,并将个通道当前值读取到D10~D13中。
应用了浮点数运算指令和转换指令,将读取的数字量转换成实际的温度,我们如果只使用了第1通道的话,只需要看D40的温度值即可。
ZCP K30 K120 D40 M10,就是当D40<30℃时,使Y0闪烁提示低温异常,当30℃<=D40<=150℃时,Y1点亮表示温度正常,当D40>150℃时,使Y2闪烁提示高温异常。
案例3、变频器中的频率递增递减功能(仅截图讲解部分程序) 变频器的频率范围是0~50HZ,PLC中写入时是0~5000,K0为频率最低数值,K5000为频率最高数据,X5为频率递增按钮,X6为频率递减按钮。
按下X5频率递增按钮,比较D40和K5000的大小,X5常开串联M12常开,是因为只有当频率值小于K5000时,才需要递增,小于则M12接通,才去驱动ADD D40 K1 D40进行加1递增。按下X6频率递减按钮,比较D40和K0的大小,X6常开串联M20常开,是因为只有当频率值大于K0时,才需要递减,大于则M20接通,才去驱动SUB D40 K1 D40进行减1递减,最后再做个递增递减的互锁功能即可。
案例4、算术运算指令在运动控制中脉冲数与距离的转换的应用(仅截图讲解部分程序) 假设步进电机转一圈800个脉冲,螺距即丝杆转一圈移动的距离0.2mm,M1是正转定位启动按钮,D20指定正转定位需要走的距离,D32是当前走的距离。
因为定位指令只能接收脉冲数,需要将正转定位要走的距离转换成脉冲数,通过浮点数运算指令D20除于E0.2求出需要转多少转,而已知转一圈800个脉冲,转数乘以E800即可算出对应的脉冲数,因为指令只支持整数数据,通过转换指令将浮点数转换成整数,再用于定位指令中。
M10是原点回归完成标志,原点回归完成M10为ON,当正转定位按钮M1接通时,M107正转定位标志位接通并保持,驱动绝对定位指令DDRVA,即可按指定频率、指定脉冲数进行正转定位。当脉冲输出完成,M108线圈接通,M108常闭断开即停止,如果按下急停按钮或者出现异常结束,也会停止。
SD8340是当前值脉冲寄存器,通过传送指令传送到D30 D31,用转换指令将双整数转换成浮点数,再通过浮点数运算指令,先除于E800算出需要转多少转,再乘以E0.2即可算出当前距离。 |