[西门子] 西门子SCL 编程:赋值运算实例

[复制链接]
查看47631 | 回复0 | 2024-11-26 09:27:26 | 显示全部楼层 |阅读模式


编程窗口由下列部分组成:


部分

含义

① 侧栏

在侧栏中可以设置书签和断点。

② 行号

行号显示在程序代码的左侧。

③ 轮廓视图

轮廓视图中将突出显示相应的代码部分。

④ 代码区

在代码区域,可对 SCL 程序进行编辑。

⑤ 绝对操作数的显示

在此表格中列出了赋值给绝对地址的符号操作数。


示例
下表举例说明了单赋值运算的操作:

SCL
"MyTag1" := "MyTag2"; (* 变量赋值 *)
"MyTag1" := "MyTag2" * "MyTag3"; (* 表达式赋值 *)
"MyTag" := "MyFC"(); (* 调用一个函数,并将函数值赋给 "MyTag" 变量*)
#MyStruct.MyStructElement := "MyTag"; (* 将一个变量赋值给一个结构元素 *)
#MyArray[2] := "MyTag"; (* 将一个变量赋值给一个 ARRAY 元素 *)

SCL
"MyTag" := #MyArray[1,4]; (* 将一个 ARRAY 元素赋值给一个变量 *)
#MyString[2] := #MyOtherString[5]; (* 将一个 STRING 元素赋给另一个 STRING 元素*)

下表举例说明了多赋值运算的操作:

SCL
"MyTag1" := "MyTag2" := "MyTag3"; (* 变量赋值 *)
"MyTag1" := "MyTag2" := "MyTag3" *
"MyTag4";
(* 表达式赋值 *)
"MyTag1" := "MyTag2" := "MyTag3 :=
"MyFC"();
(* 调用一个函数,并将函数值赋值给变量
"MyTag1"、 "MyTag1" 和 "MyTag1" *)
#MyStruct.MyStructElement1 :=
#MyStruct.MyStructElement2 := "MyTag";
(* 将一个变量赋值给两个结构元素 *)
#MyArray[2] := #MyArray[32] := "MyTag"; (* 将一个变量赋值给两个数组元素 *)
"MyTag1" := "MyTag2" := #MyArray[1,4]; (* 将一个数组元素赋值给两个变量 *)#MyString[2] := #MyString[3]:=#MyOtherString[5];(* 将一个 STRING 元素赋值给两个 STRING 元素 *)

下表举例说明了组合赋值运算的操作:

SCL
"MyTag1" += "MyTag2"; (* "MyTag1" 和 "MyTag2" 相加, 并将相加的结果赋值给 "MyTag1"。*)
"MyTag1" -= "MyTag2" += "MyTag3"; (* "MyTag2" 和 "MyTag3" 相加。将相加的结果赋值给操作数“"MyTag2"”,再从 "MyTag1" 中减去该值。计算结果将赋值给 "MyTag1"。*)
#MyArray[2] += #MyArray[32] += "MyTag"; (* 数组元素 "MyArray[32]" 加上 "MyTag"。计算结果将赋值给 "MyArray[32]"。这个数组中的各个元素将相加,然后将结果分配给数组元素 "MyArray[2]"。在该运算中,相应的数据类型必需兼容。*)
#MyStruct.MyStructElement1 /=
#MyStruct.MyStructElement2 *= "MyTag";
(* 结构化元素 "MyStructElement2" 乘以"MyTag"。计算结果将赋值给"MyStructElement2"。之后,将结构化元素"MyStructElement1" 除以"MyStructElement2",并将计算结果赋值给"MyStructElement1"。在该运算中,相应的数据类型必需兼容。*)

本帖子中包含更多资源

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

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

本版积分规则