西门子博途STL指令L:加载

描述

说明

使用“加载”指令,可加载累加器 1 中特定操作数的内容。并在下列某个存储区中,通过字节、字或双字对待加载的操作数进行寻址:

输入和输出的过程映像 (I, Q)

位存储器 (M)

临时本地数据 (L)

数据块 (DB,DI)

指针

I/O (PI)

定时器 (T)

计数器 (C)

累加器 1 的存储区域以字节为单位,有 32 位。

该指令以字节为单位将待装载的操作数内容,写入累加器 1 的低字。累加器 1 中的剩余字节将用“0”填充。

该指令以字为单位将待加载的操作数内容写入累加器 1 的低字。该寻址字节的高位将因此传送到累加器 1 的低字中(位 0 到 7)。而该寻址字节的低位则写入累加器 1 的高位。累加器 1 高字中的剩余字节将用“0”填充。

该指令以双字为单位将待加载的操作数内容写入累加器 1 的 32 个位中。高地址位字节将因此传送到累加器 1 的低字节中(位 0 到 7)。而将低地址字节写入 24 到 31 位中。

下表显示的示例说明了通过装载字节、字和双字格式的操作数,对累加器 1 内容进行更改:

指令 累加器 1
  31 . . . . . . 24 23 . . . . . . 16 15 . . . . . . 8 7 . . . . . . 0
加载一个字节:
L MB10
0000 0000 0000 0000 0000 0000
加载一个字:
L MW10
0000 0000 0000 0000
加载双字:
L MD10

在装载指定操作数的过程中,累加器 1 中的原有内容将移动到累加器 2 中。“加载”指令将累加器 1 的所有内容都传送到累加器 2 中。在此过程中,累加器 2 中的原有内容丢失。

无论逻辑运算结果以及状态位如何,CPU 都会执行该指令。该指令既不影响逻辑运算结果也不影响状态位。

参数

下表列出了“加载”指令的参数:

参数 声明 数据类型 存储区 说明
<操作数> Input BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT、定时器、REAL、DATE、TOD、CHAR I、Q、PI、M、L、DB、DI、T、C、指针、参数 加载了内容的操作数。

示例

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

STL 说明
L "Tag_Value_1" // 加载累加器 1 中操作数“Tag_Value_1”的值
L "Tag_Value_2" // 将累加器 1 中的内容移到累加器 2 中。
// 加载累加器 1 中操作数“Tag_Value_2”的值
*R // 将累加器 1 和 2 中的值相乘。
// 将乘积存储在累加器 1 中。
L "Tag_Value_3" // 将累加器 1 中的内容移到累加器 2 中。
// 加载累加器 1 中操作数“Tag_Value_3”的值
+R // 将累加器 1 和 2 中的值相加。
// 将和值存储在累加器 1 中。
T "Tag_Result" // 将结果(累加器 1 的内容)传送到操作数“Tag_Result”。

 





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分