西门子博途:简化的“计算”模块

科技   2025-01-11 00:18   吉林  


CALCULATE:计算

说明:可以使用“计算”指令定义并执行表达式,根据所选数据类型计算数学运算或复杂逻辑运算。

可以从指令框的“???”下拉列表中选择该指令的数据类型。根据所选的数据类型,可以组合某些指令的函数以执行复杂计算。将在一个对话框中指定待计算的表达式,单击指令框上方的“计算器”图标可打开该对话框。表达式可以包含输入参数的名称和指令的语法。不能指定操作数名称和操作数地址。

在初始状态下,指令框至少包含两个输入(IN1 和 IN2)。可以扩展输入数目。在功能框中按升序对插入的输入编号。

使用输入的值执行指定表达式。表达式中不一定会使用所有的已定义输入。该指令的结果将传送到输出 OUT 中。

说明

如果表达式中的一个数学运算失败,则没有结果传送到输出 OUT,并且使能输出 ENO 返回信号状态“1”。


如果在表达式中使用了功能框中不可用的输入,则会自动插入这些输入。这要求表达式中新定义的输入编号是连续的。例如,如果表达式中未定义输入 IN3,就不能使用输入 IN4。

如果满足下列条件之一,则使能输出 ENO 的信号状态为“0”:

  • 使能输入 EN 的信号状态为“0”。

  • “计算”指令的结果超出输出 OUT 指定的数据类型的允许范围。

  • 浮点数的值无效。

  • 执行表达式中某个指令期间出错。

下表列出了可在“计算”指令的表达式中一起执行的指令(取决于所选的数据类型):

数据类型

指令

语法

示例

位字符串

AND:“与”运算

AND

IN1 AND IN2 OR IN3

OR:“或”运算

OR

XOR:“异或”运算

XOR

INV:求反码

NOT

SWAP:交换 1)

SWAP

整数

ADD:加

+

(IN1 + IN2) * IN3;

(ABS(IN2)) * (ABS(IN1))

SUB:减

-

MUL:乘

*

DIV:除

/

MOD:返回除法的余数

MOD

INV:求反码

NOT

NEG:取反

-(in1)

ABS:计算绝对值

ABS( )

浮点数

ADD:加

+

((SIN(IN2) * SIN(IN2) + (SIN(IN3) * SIN(IN3)) / IN3));

(SQR(SIN(IN2)) + (SQR(COS(IN3)) / IN2))

SUB:减

-

MUL:乘

*

DIV:除

/

EXPT:取幂

**

ABS:计算绝对值

ABS( )

SQR:计算平方

SQR( )

SQRT:计算平方根

SQRT( )

LN:计算自然对数

LN( )

EXP:计算指数值

EXP( )

FRAC:返回小数

FRAC( )

SIN:计算正弦值

SIN( )

COS:计算余弦值

COS( )

TAN:计算正切值

TAN( )

ASIN:计算反正弦值

ASIN( )

ACOS:计算反余弦值

ACOS( )

ATAN:计算反正切值

ATAN( )

NEG:取反

-(in1)

TRUNC:截尾取整

TRUNC( )

ROUND:取整

ROUND( )

CEIL:浮点数向上取整

CEIL( )

FLOOR:浮点数向下取整

FLOOR( )

1) 不可使用数据类型 BYTE。



参数

下表列出了“计算”指令的参数:


参数

声明

数据类型

存储区

说明

EN

Input

BOOL

I、Q、M、D、L 或常量

使能输入

ENO

Output

BOOL

I、Q、M、D、L

使能输出

IN1

Input

位字符串、整数、浮点数

I、Q、M、D、L、P 或常量

第一个可用的输入

IN2

Input

位字符串、整数、浮点数

I、Q、M、D、L、P 或常量

第二个可用的输入

INn

Input

位字符串、整数、浮点数

I、Q、M、D、L、P 或常量

其它插入的值

OUT

Output

位字符串、整数、浮点数

I、Q、M、D、L、P

最终结果要传送到的输出。


有关有效数据类型的更多信息,请参见“另请参见”。

示例

以下示例说明了该指令的工作原理:

下表将通过具体的操作数值对该指令的工作原理进行说明:


参数

操作数

IN1

Tag_Value_1

4

IN2

Tag_Value_2

4

IN3

Tag_Value_3

3

IN4

Tag_Value_4

2

OUT

Tag_Result

12


如果输入“Tag_Input”的信号状态为“1”,则将执行“计算”指令。将操作数“Tag_Value_1”的值与操作数“Tag_Value_2”的值相加。求得的和乘以操作数“Tag_Value_3”的值。求得的积除以操作数“Tag_Value_4”的值。求得的商作为最终结果传送到操作数“Tag_Result”中,并复制到该指令的输出 OUT 中。如果成功执行该指令,则将 ENO 使能输出和“Tag_Output”操作数的信号状态置位为“1”。




机器人及PLC自动化应用
机器人技术讲解,PLC程序分析讲解,PLC机器人自动化培训. 以工业自动化培训为主.也会有些个人喜爱的军事和休闲.
 最新文章