为什么S5程序转换为S7程序后位和字节地址发生变化?


描述:

当在STEP5中计算地址时,12位到15位存储中间结果,这些位在STEP5中不能作为间接寻址使用。与STEP5的DO(例如"B MW") 指令不同,STEP7通过双字对扩展地址区进行寻址,使用STEP7指令,地址区(E, A, M)、访问范围 (位、字节、字和双字)和地址被定义,地址指向字节数。

当地址通过累加器被赋值时,地址寄存器的结构必须清楚:

  • RRR: 地址区标识符
  • B...B: 字节地址
  • XXX:位地址

为什么S5程序转换为S7程序后位和字节地址发生变化?
图. 01

如果转换为STEP7程序,12位到15位被STEP7使用,系统改变地址。

图. 02 示例程序中 "W#16#221"经过转换后被STEP7计算地址为 "33.2"。

为什么S5程序转换为S7程序后位和字节地址发生变化?
图. 02

图. 03与图02示例程序相同, "W#16#1221"第一个“1”在STEP5中不被评估,经过转换后被STEP7计算地址为 "35.2",这是由于第一“1”被系统放置在字节位2上。

为什么S5程序转换为S7程序后位和字节地址发生变化?
图. 03

补救措施:

如果不确定12位到15位是否使用,在程序中使用下面两条指令替代原指令:

  • SLW 5-> SLW 12.
  • SRW 5 ->SRW 12.

在转换以后,STEP7计算的地址被纠正为"33.2"。

为什么S5程序转换为S7程序后位和字节地址发生变化?
图. 04

关键字:
S5/S7转换

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论