在PLC编程中,梯形图以其直观易懂,便于入门而流行。但是,梯形图的缺点也是很多的,特别是在碰到复杂运算的时候,ST语言是很有优势的。
1+1=2 2=2
我们看这两个等式, = 的含义其实是不一样的, 分别是等于和相等,一个是赋值运算,一个是逻辑判断,在数学中,我们可以写成一样,但在ST语言中,是不行的。这就是今天给大家讲的,PLC使用ST语言编程中的判断和赋值问题。
如图所示, 这是一个简单的IF 语句,大家看到 分别用了= 和:= 这就是赋值和判断。单纯的用= 是表示判断的意思,比如 M0=TRUE 就是判断 这两个值是否相等,而不是让M0的值为TRUE,相当于数学中的2=2。而Y0:=TRUE; 就是让Y0的值变为TRUE,相当于数学中的1+1=2。 所以在ST 语言中,是用不同的符号来表示的。
如上图所示,判断语句两边的数据类型必须一致,也就是说,只能布尔量和布尔量比,DINT 和DINT 比,不能布尔量和DINT比。
如上图所示,如果数据类型不一致,会报错的。
所以,大家一定要区分 赋值和判断,不要用混。