无满意答案关闭: 博途V11中 SCL 中怎么进行对存储区直接进行数学运算?
标签:
V11TIA Portalscl常数格式
悬赏分:10 问题为何被关闭
1、比如就是我想进行一个数学运算:MW10:=MW20+MW30 为是么直接写不行啊?但是块上面的形参IN;IN_OUT;out可以可以直接在SCL中编写啊:
比如in 中建立A
OUT中建立B 我可以在SCL中写#b:= #a+10;
但是我就是不能写:#b:=mw10+10
2、我在SCL中已经能够写MW10:=常数;的语句,为啥就不能直接用存储区呢?是不是对于这个有什么格式要求?
问题补充:谢谢你的回答,不过你说错了。我已经找到答案了,因为在SCL中支持数学运算的只有INT,DINT,REAL;我写的之所以不行是因为我的MW10与MW20都是word类型的,在SCL中有比LAD更加严格的数据类型制度,所以WORD智能用来进行逻辑运算而不能用来数学运算。
位类数据类型
Bit Data Types
这类数据类型是位的组合,可能是1位(BOOL类型)、8位、16位或32位。不能指定这些数据类型的数值范围:byte(字节)、word(字)和double word(双字)。这些仅能够用作布尔表达式。
类型
位
BOOL
1 bit
Begins at the least significant bit in the byte
0, 1 or FALSE, TRUE
字节
BYTE
8 bits
Begins at the least significant byte in the word.
-
字
WORD
16 bits
Begins at a WORD boundary.
-
双字
DWORD
32 bits
Begins at a WORD boundary.
-
;;;;;;;;;;;;;;;
数字类数据类型
Numeric Data Types
这种类型用于处理数值(如计算算术表达式)。
类型
关键字
位宽
位置对齐
值范围
整数
INT
16
从字的边界开始
-32_768 to 32_767
双精度整数
DINT
32
从字的边界开始
-2_147_483_648 to
2_147_483_647
浮点数
(IEEE浮点数)
REAL
32
从字的边界开始
-3.402822E+38 to -1.175495E-38
+/- 0
1.175495E-38 to 3.402822E+38