[三菱] ST语言赋值与逻辑运算

[复制链接]
查看173 | 回复0 | 2024-10-13 13:04:11 | 显示全部楼层 |阅读模式

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语言表达式规则,如果要写一个电机的正反转电路应该如何写呢?可评论区留下你的答案!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则