Mitsubishi 三菱FXPLC实例(通用函数的实际应用)

发布时间 2023-08-07 11:25:35作者: 一杯清酒邀明月

比较功能函数

  比较功能函数包括GT、GE、EQ、LE、LT、NE,它们都有两个输入IN,这些函数是进行输入值的比较运算后,将运算结果以BOOL型进行输出。我们以GT函数为例讲一下吧,GT函数就是进行多个输入的逐一比较。当全部s(n-1)>s(n)时,输出TRUE。

  只要有某个为s(n-1)≤s(n)时,输出FALSE。像下图的第一段程序D0>D2>D4>D6满足逐次比较关系,所以可以使M0输出为ON,而下一段D0>D2>D4<D6,其中D4不满足大于的比较关系,所以M0输出为OFF。

 比较NE函数是进行s1是否不等于s2的比较。下图程序的第一段D10≠D12,使M10输出为ON,第二段程序的D10=D12,使M10输出为OFF。

我们下面以一个简单的例子来学习下比较函数的使用。

【案例】仓库货物计数

仓库有进货和出货两个感应开关,当进货感应开关感应后,仓库中的货物件数加1,当出货感应开关感应后,仓库中的货物件数减1,如果货物件数达到100件时触发满仓报警信号,当货物件数小于5件时,触发缺货报警信号。

时间数据类型功能

  时间数据类型功能包括加法运算ADD_TIME、减法运算SUB_TIME、乘法运算MUL_TIME、除法运算DIV_TIME,与普通的算术运算功能差不多,区别在于这几个是对时间数据的运算。 ADD_TIME是对输入的TIME型数据进行加法运算(s1)+(s2)后,将运算结果从(d)以TIME型进行输出。

MUL_TIME和DIV_TIME:对输入的数据进行乘/除法运算(s1)×(s2)/(s1)÷(s2),将运算结果从(d)以TIME型进行输出。其中(s1)的输入值为TIME型,(s2)的输入值为INT型/DINT型/REAL型。

 我们在使用的使用要注意一下时间的输入方式哦,是以T#后面带时间的方式,其中d代表天、h代表小时、m代表分钟、s代表秒、ms代表毫秒,我们可以以下图这样的程序去监控执行一下就清楚啦。

位移位功能

位移位指令包括n位左移SHL、n位右移SHR、n位循环左移ROL、n位循环右移ROR。我们就以n位左移SHL和n位循环左移ROL为例讲解一下。

 n位左移SHL:将s中输入的16位数据/32位数据左移n位后,从d以与s相同的数据类型进行输出。下图是n的输入值为8的情况。

 n位循环左移ROL:将s中输入的16位数据/32位数据向左n位旋转后,从d以与s相同的数据类型进行输出。下图是n的输入值为3的情况,向左旋转3位。

我们下面以一个简单的例子来学习下位移位函数的使用。

【案例】编写流水灯控制程序

有8盏灯,分别接Y0~Y7,要求按下启动按钮,从Y0开始每隔1s点亮下一盏熄灭上一盏,当最后一盏灯点亮后延时2s,然后以反方向以同样的方式进行点亮,当回到第一盏时,延时2后重新开始新的一个轮回,按下停止按钮指示灯熄灭。

 以上就是比较、时间数据类型、位移位等功能函数的介绍,你学会了吗?