在 stl 中,以下选项可用于间接寻址:
存储器间接寻址
寄存器间接内部区域寻址
寄存器间接跨区域寻址
存储器间接寻址
对于存储器间接寻址,可以在变量中存储地址。变量可以是 word 或 dword 数据类型。变量可以位于存储器区域“数据”(db 或 di)、“位存储器” (m) 或“临时本地数据” (l) 中。在 s7-1500 中,fb 参数也可用于保存地址。如果变量位于数据块中,那么必须是一般访问数据块。
下列示例显示的是存储器间接寻址的应用:
在 stl 中寻址 说明
u e [md 2] // 执行变量输入位的 and 逻辑操作。输入位的地址位于存储器双字 md2 中。
= dix [dbd 2] // 将 rlo 分配到变量数据位中。数据位的地址位于数据双字 dbd2 中。
l eb [did 4] // 将变量输入位加载到 accu 1。输入字节地址位于实例双字 did4 中。
auf db [lw 2] // 打开一个变量数据块。数据块的编号位于本地数据字 lw2 中。
寄存器间接内部区域寻址
寄存器间接寻址使用其中一个地址寄存器(ar1 或 ar2)来获取操作数的地址。
如果是寄存器间接内部区域寻址,那么仅通过地址寄存器索引位地址和字节地址(如 p#10.0)。在编写指令之前,不输入地址寄存器中的地址所应用到的存储区。地址寄存器中的地址随后移动到指令中指定的存储区。
可能的存储区有“输入”(i)、“输出” (q)、“i/o”(pi 或 pq)、“位存储器” (m)、“临时本地数据” (l) 和“数据”(db 或 di)。如果操作数位于数据块中,那么必须是一般访问数据块。
输入寄存器间接内部区域寻址时,在指定地址寄存器之后指定偏移量。这一偏移量被添加到地址寄存器的内容中,而不会改变地址寄存器。该偏移量还具有指针的格式。必须指定指针,而且必须作为常量输入(如 p#0.0 或 p#2.0)。
下列示例显示的是寄存器间接内部区域寻址的应用:
stl 说明
lar1 p#10.0 // 将指针(p#10.0)加载到地址寄存器 1 中
l iw [ar1, p#2.0] // 将地址寄存器 1 (p#10.0) 中的数据增加偏移量 p#2.0 中的值。
// 将输入字 iw12 的内容加载到累加器 1 中
l iw [ar1, p#0.0] // 将地址寄存器 1 (p#10.0) 中的数据增加偏移量 p#0.0 中的值。
// 将输入字 iw10 的内容加到累加器 1 中
寄存器间接跨区域寻址
如果是寄存器间接跨区域寻址,则需使用地址寄存器来建立操作数全部地址的索引。即,位地址和字节地址,以及存储区。可能的存储区有“输入”(i)、“输出” (q)、“i/o” (p)、“位存储器” (m)、“临时本地数据” (l) 和“数据”(db 或 di)。如果操作数被载入数据块,那么必须为一般访问数据块,否则操作数必须有保留设置“在 idb 中设置”。
在指令中,仅编写操作数宽度。可能的操作数宽度为位、字节、字和双字。
下列示例显示的是寄存器间接跨区域寻址的应用:
lar1 p#m10.0 // 将跨区域指针(p#m10.0)加载到地址寄存器 1 中
l w [ar1, p#2.0] // 将地址寄存器 1 (p#m10.0) 中的数据增加偏移量 p#2.0 中的值。
// 将存储器字“mw12”内容加载到累加器 1 中
lar1 p#a10.0 // 将跨区域指针 (p#a10.0) 加载到地址寄存器 1 中
l w [ar1, p#2.0] // 将地址寄存器 1 (p#a10.0) 中的内容增加偏移量 p#2.0 中的值。
// 将输出字 qw12.0 的内容加载到累加器 1 中
说明
s7-1500 中的特性
在 s7-1500 中,特殊规则通过地址寄存器和数据块寄存器应用于数据交换:
在块之外,寄存器中的值不再存在。块中的语言改变时,寄存器也将复位。
如果通过寄存器间接寻址访问 byte、word 或 dword 类型的操作数,则地址必须以字节限制开始。
示例:
lar1 p#0.0
l mw [ar1, p#0.0] // p#0.0 + p#0.0 = p#0.0 - 允许寻址,因为 p#0.0 指向字节限制。
l mw [ar1, p#2.1] // p#0.0 + p#2.1 = p#2.1 - 不允许寻址,因为 p#2.1 没有指向字节限制。
华为云耀云服务器 L 实例 _ 为跨境电商提升“钞”能力
火灾警报和有毒一氧化碳气体警报的制作
影驰推出HOF EXTREME 限量版内存:三星B-Die颗粒
手持式气象站使用说明介绍
回首前尘往事 七大没落软件排名(上)
西门子博途: 存储器间接寻址的应用
广和通:海外车载5G中标项目预计2025年大批量出货
华为又被指控从事间谍活动 外媒为其说话
科普:寒冷环境影响活性,冬天电池不耐用的大揭秘
全球超过50%的笔记本电脑处理器出自英特尔成都工厂
Linux 内核/sys 文件系统介绍
中国电信和联通迎来2.1GHz频段
图形用户界面为电源设计困境提供解决方案
设计高速ADC电源
因湃电池科技公司助力埃安完成电池自主产业化布局
贝尔金发布TrueFreedom Pro无线充电器:双设备10W快充
不止源自华为云,这款轻量应用服务器是中小成长企业的“非 ban 必选”存在
探秘苹果HomePod这么贵成本却很低的原因
工业智能网关是什么,它的功能和优势都有哪些
3-D LiDAR多层扫描仪助您实现可靠的目标检测