一 直接寻址
直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等
符号寻址:例如qq,ww.aa等
二 间接寻址存储器间接寻址:16位指针,例如OPN DB[MW2]
32位指针,例如A I[MD0]
寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0]
三 S7-300/400寻址方式图解
四 如何使用指针
指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。
指针用于存储器间接寻址
程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。
下面给出一个双字格式的指针的例子:
L P#8.7 把指针值装载到累加器1
T I[MD2] 把指针值传送到MD2
A I[MD2] 查询I8.7的信号状态
= Q[MD2] 给输出位Q8.7赋值
存储区域内部寻址及交叉寻址
程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址寄存器(AR1、AR2)及偏移量必须写在方括号内。
存储区域内部寻址例程
指针不包含指示存储区域的信息:
L P#8.7 把指针值装载到累加器1
LAR1 把指针从累加器1装载到AR1
A I[AR1,P#0.0] 查询I8.7的信号状态
= Q[AR1,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8,参见指针格式。
存储区域交叉寻址例程
在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。
L P#I8.7 把指针值及存储区域标识装载到累加器1
LAR1 把存储区域I 和地址8.7装载到AR1
L P#Q8.7 把指针值和地址标识符装载到累加器1
LAR2 把存储区域Q和地址8.7装载到AR2
A [AR1,P#0.0] 查询输入位I8.7的信号状态
= [AR2,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8。
- PLC输出电路(继电器,晶体管,晶闸管输出)区别和注意事项 2024-11-06
- 西门子S7-300 PLC过程映像的“陷阱” 2024-11-06
- PLC系统的EMC问题的处理 2024-11-06
- 乙烯项目DCS/SIS 系统的接地 2024-11-06
- 子网掩码和IP地址的关系 2024-11-06
- 西门子S7通讯中的TSAP参数是什么含义 2024-11-06
- S7-300 和S7-400 集成PN 口的S7 通信 2024-11-06
- PROFIBUS_连接器的针脚定义及终端电阻的连接 2024-11-06
- 西门子DP/DP Coupler模块使用方法 2024-11-06
- MPI和PROFIBUS-DP有什么区别 2024-11-06