前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

通过实例玩转三菱PLC之数学运算指令的应用

qiguaw 2024-09-27 14:43:37 资源文章 67 ℃ 0 评论

通过实例玩转三菱PLC之数学运算指令的应用

一、四则运算指令

四则运算指令包括ADD、SUB、MUL、DIV(二进制的加减乘除)指令和INC、DEC(加1、减1)指令,每个数据的最高位为符号位,正数的最高位为0,负数的最高位为1。所有运算均为代数运算。

在32位运算中被指定的字软元件为低位字,下一个字软元件为高位字,建议采用偶数软元件号。

四则运算对标志位的影响

1)如果运算结果为0,则零标志位M8020为1,

2)16位运算结果超过32767,32位运算结果超过2147483647,则进位标志M8022为1.

3)16位运算结果小于-32768,32位运算结果小于-2147483648,则借位标志M8021为1。

上图中程序中第一行的意思就是当X0为1时D0+5运算后的值送到D0中去。

上图程序中第二行的意思就是当X1为1时,执行32位减法指令,即(D2、D3)-(D4、D5)运算结果送到D6、D7中去

上图程序中第三行的意思就是当X2为1时,D8*D9的运算结果送到D10、D11,乘积的低字送到D10,高字送到D11。注:16位的乘法,结果为32位,32位乘法的结果为64位,若目标位软元件的位数小于运算结果的位数,则只能保存结果的低位。

上图程序中第四行的意思就是当X3为1时,D12/D13,运算结果的商送D14,余数送到D15,若目标软元件为位软元件时,得不到余数,商和余数的最高位为符号位,若除数为0则出错,不执行该命令

上图中程序的意思就是当X4为1时,每个周期D15加1,当X4由0变1时D16加1,D17减1。

启动仿真器,看下运算错误的诊断,如下图来操作,

点击详细,如下图所示故障信息:错误步是31步

在PLC软件中执行菜单命令【查找/替换】-【步号查找】,输入31,可以找到出错的指令。如下图所示:

举个例子来再体会下四则运算指令的应用:

模拟量计算

假设压力变送器的量程为0~180Kpa,输出信号为4~20mA,模拟量输入模块的量程为4~20mA,转换后的数字量为0~4000,假设反馈的值转换后的数值为N,则反馈的压力P如下公式:

P=(180*N)/4000 (kPa)=(1800*N)/4000(0.1kPa)

这里主要考虑计算出的0~180KPa对应0~4000,分辨率丢失太多,是反馈结果误差太大,所以考虑用0.1KPa。

根据公式我们编程如下:

在上图程序中要注意的是MULP之后的值是32位,也就是说乘积存放到D24、D25中,在除法运算就要使用32为除法指令DDIVP,我们来仿真如下:设定D22的值为2000,看输出的压力是否为90KPa。

大家可以实际操作下,D24存低16位,D25存高16位。

感谢大家看本文,也希望本文能给大家带来一些启发,喜欢本文的朋友别忘记关注,我也在做一些结合我的文章的视频讲解,希望大家持续关注。

帮小编点赞、评论和转发,你们的支持是我继续下去的动力。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表