从零开始学PLC之加+减-乘x除÷

大家好,今天讲解PLC的指令是加减乘除,相信看完后大家会有所收获,关注达达老师,每天进步一点点

数字运算指令

加、减、乘、除指令

加法减法

IN1+IN2=OUT IN1--IN2=OUT

整数加法(+I)或者整数减法(--I)指令,将两个16位整数相加或者相减,产生一个16位结果。双整数加法(+D)或者双整数减法(--D)指令,将两个32位整数相加或者相减,产生一个32位结果。实数加法(+R)和实数减法(--R)指令,将两个32位实数相加或相减,产生一个32位实数结果。

乘法除法IN1*IN2=OUT IN1/IN2=OUT LAD和

整数乘法(*I)或者整数除法(/I)指令,将两个16位整数相乘或者相除,产生一个16位结果。(对于除法,余数不被保留。)双整数乘法(*D)或者双整数除法(/D)指令,将两个32位整数相乘或者相除,产生一个32位结果。(对于除法,余数不被保留。)实数乘法(*R)或实数除法(/R)指令,将两个32位实数相乘或相除,产生一个32位实数结果。

SM标志位和ENO

SM1.1表示溢出错误和非法值。如果SM1.1置位,SM1.0和SM1.2的状态不再有效而且原始输入操作数不会发生变化。如果SM1.1和SM1.3没有置位,那么数字运算产生一个有效的结果,同时SM1.0和SM1.2有效。在除法运算中,如果SM1.3置位,其它数学运算标志位不会发生变化。

从零开始学PLC之加+减-乘x除÷

加、减、乘、除指令的有效操作数

下面举例说明整数运算,如图所示

从零开始学PLC之加+减-乘x除÷

整数运算

假设AC0中存入的数值是60,AC1中存入的数值是40,VW100中存入的数值是20,VW200中存入的数值为4000,VW10 中存入的数值为20,那么其运算结果为

从零开始学PLC之加+减-乘x除÷

从零开始学PLC之加+减-乘x除÷

乘法

从零开始学PLC之加+减-乘x除÷

除法

实数运算如图所示

从零开始学PLC之加+减-乘x除÷

实数运算

运算结果如图

从零开始学PLC之加+减-乘x除÷

实数加

从零开始学PLC之加+减-乘x除÷

实数乘

从零开始学PLC之加+减-乘x除÷

实数除

整数乘法产生双整数和带余数的整数除法

整数乘法产生双整数

IN1 * IN2 = OUT

整数乘法产生双整数指令(MUL),将两个16位整数相乘,得到32位结果。在STL的MUL指令中,OUT的低16位被用作一个乘数。

带余数的整数除法

IN1 / IN2 = OUT

带余数的整数除法指令(DIV),将两个16位整数相除,得到32位结果。其中16位为余数(高16位字中),另外16位为商(低16位字中)。

SM标志位和ENO

对于在本页中介绍的两条指令,特殊存储器(SM)标志位表示错误和非法值。如果在除法指令执行时,SM1.3置位,其它数字运算标志位不会发生变化。否则,当数字运算完成时,所有支持的数字运算状态位都包含有效状态。

从零开始学PLC之加+减-乘x除÷

整数乘法产生双整数和带余数的整数除法指令的有效操作数

运算实例如图

从零开始学PLC之加+减-乘x除÷

运算实例

从零开始学PLC之加+减-乘x除÷

运算结果

PS:VD100包含:VW100和VW102,而VD200包含:VW200和VW202。

递增和递减指令

递增

IN+1=OUT

递减

IN -- 1=OUT

递增或者递减指令将输入IN加1或者减1,并将结果存放在OUT中。字节递增(INCB)和字节递减(DECB)操作是无符号的。字递增(INCW)和字递减(DECW)操作是有符号的。双字递增(INCD)和双字递减(DECD)操作是有符号的。

从零开始学PLC之加+减-乘x除÷

递增和递减指令的有效操作数

操作实例如下:

从零开始学PLC之加+减-乘x除÷

从零开始学PLC之加+减-乘x除÷

今天你学会了吗?关注达达老师,每天进步一点点,你会有所收获。


分享到:


相關文章: