本页假定您了解“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)的示例: