ST语言赋值与逻辑运算 前面以完成了新建一个ST语言编程环境的项目,下面来看一下关于ST语言编程时的赋值运算和逻辑表达式。
1、赋值运算
在ST语言中赋值运算符“:=”格式为(只能是英文下的符号): 变量名 := 表达式 ; 含义:将表达式的值赋值给一个变量。变量名也可以是表达式,但是最后只看表达式的值,后面的表达式也可以使用函数,只是将函数运算最终的值赋值给左边的变量。 赋值运算的数据类型是由左边的变量类型决定,所以后面表达式的最终数据类型必须与前面的变量保持一样。 在PLC编程中ST语言中出现的变量必须提前定义,否则将导致语句无法正常运行。
2、逻辑表达式 逻辑表达式就是我们常见的与(AND)或(OR)异或(XOR)、取反(NOT)等的逻辑运算。 PS:在学习ST语言编程前最好先复习一下关于数制的相关内容。 逻辑运算符可以处理当前CPU支持的所有数据类型。最终的数据类型由参与运算的两个操作数类型决定; 两个都是BOOL类型,逻辑表达式的结果也是BOOL类型; 两个中至少有一个位字符串,结果也是位字符串,并且由最高操作数的类型决定。如一个BOOL,另一个WORK类型,结果就是WORK类型。 ·位逻辑“取反”运算NOT NOT是“取反”的意思,在梯形图中常用与表示常闭触点,而通常情况下将触点的常开状态当做正常状态,常闭就是取反状态,如下所示梯形图中: 与ST语言表达式就可以表示为: run := NOT stop;//表达式后面的分号一定要加 ·位逻辑“与”运算AND “与”运算AND可以理解为“并且”的意思,常用于串联的两个操作数,两个操作数同时满足条件,才可以输出信号; 结合上面取反运算的写法,表达式可以写成: run := start AND (NOT stop); ·位逻辑的或运算OR 为逻辑的或运算“或者”的意思,常用于两个操作数的并联,只要有其中一个操作数满足条件就可以使输出导通。如下图所示梯形图关系: 转为ST语言表达式可以写为: run := start OR start2 ; ·位逻辑运算异或XOR 位逻辑“异或”意思是当两个条件相异时输出结果为TURE,相同时结果为FALSE。如下图所示: 转换ST语言表达式为: run := start XOR start2 ; 按以上ST语言表达式规则,如果要写一个电机的正反转电路应该如何写呢?可评论区留下你的答案! 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |