艾宝物联PLC教程05:PLC数据如何计算

本页假定您了解PLC内部数据页面中讨论的原则  

基础

加法减法乘法除法是您所期望的。如果您以前没有使用编程语言进行数学运算,那么您应该注意一些事项。

  • 溢出:整数和浮点数具有大小限制。当你超出他们的规模时,你会给自己带来麻烦。
    示例:8位无符号Int,其值为255,位看起来像11111111.如果我们加1,我们得到100000000.第9位没有存储,所以我们留下了00000000或0.所以在这case 255 + 1 = 0 
    另一个例子:8位无符号Int,其值为0,看起来像00000000.如果我们减去1,我们得到11111111.所以,我们可以得到相反的问题0 - 1 = 255
  • 舍入:浮点数不完美。因此,您不应检查浮点数是否等于某个值,您应该检查它是否在一个数字范围内。 
    示例:使用浮点数执行的2 * 3可能不会精确到6.   
    可能是5.9999999999998或类似的东西。因此,不是询问是示例= 6,而是示例大于5.9且小于6.1。不要担心如何提出这些问题,我们将在本教程后面讨论

布尔数学

一些编程包允许使用布尔数学进行位操作主要业务是:

OR(符号'|'):A = B | C.如果B为1或C为1,则A为1.如果B和C均为0,则A为0。

AND(符号'&'):A = B&C。如果B和C都是1,则A是1.如果C中的任何一个B是0,则A是0。

异或(符号'⊕'):A =B⊕C。如果B为1或C为1,但不是两者,则A为1.如果B和C均为1,或者B和C均为0则A是0。

布尔数学可以在整数上执行。  
使用两个无符号8位整数229(二进制为11100101)和185(二进制为10111001)的示例: