设置S7-300地址寄存器地址的两种方法

   2024-09-13 建材之家460
核心提示:OPN DB100L 0LAR1L 3500ITD RLD 3+AR1 L DBW [AR1, P#0.0] //读出DB100.DBW3500但是当地址>4095后,由于4096的值 RLD 3 后所的值已经大于等于32768造成AR1中的值错误 (很大的数值)。所以此时左移3位已经不能获得正确的地址值。请教各位有什么其它解决方法?谢谢。 答:程序可以简化为下图中的程序:L
OPN DB100
L 0
LAR1
L   3500
ITD  
RLD   3
+AR1 
L DBW [AR1, P#0.0]   //读出DB100.DBW3500
但是当地址>4095后,由于4096的值 RLD 3 后所的值已经大于等于32768
造成AR1中的值错误 (很大的数值)。
所以此时左移3位已经不能获得正确的地址值。
请教各位有什么其它解决方法?谢谢。

答:程序可以简化为下图中的程序:
L#4500是双字常数,这样就没有4095的限制了。

地址指针常数P#4500.0的字节地址为4500,字节内的位地址为0,P#4500.0相当于3500与8的乘积(以位为单位的整数)。RLD  3(左移3位)相当于乘以8。

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:FB块的程序是如何被PLC执行扫描的

在西门子S7-400PLC内,FB块调用FB块,PLC循环扫描时,被调用的FB块是如何被执行的,包括内的静态变量、临时变量是如何被扫描的啊,静态变量什么时候被存储到背景数据块啊,我看到有段程序,被调用的FB块内部输入变量在监控时一直在变化,而调用他的FB块外部输入条件一直不变,这是为什么?答:PLC的扫描机制是从上而下,...

下一篇:西门子PLC的程序结构

1.程序结构显示 利用程序结构显示,可以查看用户程序内的所有组成块的分层调用情况、调用结构以及嵌套层次情况(见图14-1.8)。 表中各列的显示内容如下: Block (symbol),InstanceDB (symbol)列:显示块的分层调用情况、调用结构以及嵌套层次情况。 在程序结构显示图中,如果“块”未被PLC程序所调用,在...
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报