您当前的位置:五五电子网电子知识plc技术PLC入门用984LL语言实现32位数计算 正文
用984LL语言实现32位数计算

用984LL语言实现32位数计算

点击数:7305 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   PLC入门
由于在984LL中没有32位数的运算功能块直接使用,原来考虑使用的“EMTH”块只允许操作数为32位,而结果不能超出65536,所以无法直接应用。

在某项目中,编码器的数值变化范围为126000左右,超出65536,所以考虑分高低位来进行计算,即通过判断编码器实际值与初始值的高位是相等、不等分别进行计算,计算结果可以满足实际需要。

以左油缸行程为例说明计算过程,油缸全收回时,编码器数值为33232271(对应油缸行程为9403mm),全伸出时编码器数值为33106005(对应油缸行程为0mm),即每1mm行程对应13.428个编码器数值,假如计数器的寄存器为%300021(DINT),初始值存在寄存器%400323(DINT)中,那么油缸行程left可以由以下计算获得:

If  %300022=%4000324 then

    Left = (%300021-%400323)/13.428=(%300021-%400323)*1000/13428;

If  %300022>%4000324 then

    Left = [(%300021-%400323)+(%300022-%4000324)*65536]/13.428

        =(%300021-%400323)*1000/13428+(%300022-%4000324)*4880.55

        ≈(%300022-%4000324)*4880+%300021*1000/13428-%400323*1000/13428

这样就可以通过984LL语言中的16位计算命令获得结果。

本文关键字:暂无联系方式PLC入门plc技术 - PLC入门

《用984LL语言实现32位数计算》相关文章>>>