三菱PLC GX Works3 ST语言编程入门——第8课:高级运算(指数和三角函数)、逻辑运算、比较

发布时间:2025-10-16
来源:
点击:27
一、高级运算(指数和三角函数)

指数运算或三角函数运算使用通用函数。

1,绝对值:ABS

一般算式表达:B = |A|

ST实现:eValueB := ABS(eValueA );

2,平方根:SQRT

一般算式表达:1.png

ST实现:eValueB := SQRT(eValueA );

3,自然对数:LN

一般算式表达:2.png

ST实现:eValueB := LN(eValueA );

4,常用对数:LOG

一般算式表达:3.png

ST实现:eValueB := LOG(eValueA );

5,指数:EXP

一般算式表达:4.png

ST实现:eValueB := EXP(eValueA );

6,三角函数

正弦:

一般算式表达:B = SIN A

ST实现:eValueB := SIN(eValueA );

反正弦

一般算式表达:B = ASIN A

ST实现:eValueB := ASIN(eValueA );

余弦:

一般算式表达:B = COS A

ST实现:eValueB := COS(eValueA );

反余弦

一般算式表达:B = ACOS A

ST实现:eValueB := ACOS(eValueA );

正切:

一般算式表达:B = TAN A

ST实现:eValueB := TAN(eValueA );

反正切:

一般算式表达:B = ATAN A

ST实现:eValueB := ATAN(eValueA );

7,幂乘:**

一般算式表达:1760605139014(1).png

ST实现:eValueB := eValueC ** eValueA ;

8,程序示例

题目:求直角三角形的斜边长,已知直角边eLengthA(3.0)、eLengthB(4.0),求斜边eLengthC。

1.png

ST实现:

2.png

二、逻辑运算
1,逻辑运算符的使用

逻辑运算包括:AND、OR、XOR、NOT。

逻辑运算不使用符号(Λ、V、V等),而是使用容易输入容易理解的运算符来表达。
梯形图里面,我们的与运算是这样的:

3.png

那在ST里面我们怎么去实现呢?如下:
bResult:=bFlagA AND bFlagB;
其它的就不一一举例了,大家可以自己试试。
注意:这里前面文章有一个朋友讨论过,与运算需要用“AND”不能够使用“&”,在这里我说明一下,我尝试了使用“&”也是可以的,大家可以试试。

2,优先级问题

用1个语句汇总表述多个运算表达式时,将从优先级最高的为运算符开始处理。

逻辑运算符的优先级(从高到低):逻辑非(NOT)、逻辑与(AND、&)、逻辑异或(XOR)、逻辑或(0R)、逻辑或(OR)、逻辑异或(XOR)、逻辑异或(XOR)、逻辑或(OR)、逻辑或(0R)、

有多个优先级相同的运算符时,从最左边的运算符开始运算。

三、比较

比较(<,>,<=,>=)、一致/不一致(=,<>),比较运算使用与一般算术符号相同的等号、不等号的运算符进行表达。

比较(<,>,<=,>=)这个就不多讲了,比较简单的逻辑。

我们来讲下一致/不一致(=,<>)。

在bResult中代入wValue0和wValuel的比较结果(一致时:1TRUE、不一致时:FALSE)。

ST实现:bResult := wValue0 = wValue1;
注意点:"="号在ST语言中作为对右边和左边的值比较是否一致的运算符使用,赋值语句应使用带分号的":="表述。
四、总结
    本文章总结了ST语言三类核心运算。高级运算(ABS、SQRT、三角函数等)用在复杂的计算,我们需注意参数范围及三角函数用弧度;逻辑运算(AND/OR等)组合条件,优先级为NOT>AND>XOR>OR;比较运算(=、<>等)判数值之间关系,要区分赋值(:=)与比较(=)。实操中复杂逻辑可加括号,避免出现错误。
免责声明:本站所提供信息均来源于网友提供或网络搜集,由本站编辑整理,如涉及版权问题,请联系本站管理员予以更改或删除
旗下服务
在线课程 现场培训
微信公众号
© 2019-现在 版权所有,并保留所有权利。ICP备案证书号:沪ICP备18011190号-4

沪公网安备 31011202007493号