您现在所在的是:

西门子SIEMENS

回帖:3个,阅读:3811 [上一页] [1] [下一页]
957
登山者
文章数:2
年度积分:50
历史总积分:957
注册时间:2008/4/15
发站内信
发表于:2008/4/15 9:05:00
#0楼
如题。

不知道在S7-300中,可不可以用如:DB1.VAR的形式来寻址,其中VAR是个变量。
38113
cvlsam 版主
文章数:12488
年度积分:724
历史总积分:38113
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2008/4/15 9:20:00
#1楼
只能采用DB1.DBx[]這類形式做變址尋址,其中x代表X,B,W,D
且使用地址寄存器AR來進行地址指針的尋址。
在STL編程方式下。

在SCL編程方式下,使用數組可以直接支持變量作為下標尋址。

在LAD方式下不支持變址尋址。

以上!

Good Luck!
957
登山者
文章数:2
年度积分:50
历史总积分:957
注册时间:2008/4/15
发站内信
发表于:2008/4/15 9:29:00
#2楼
谢谢楼上解答!

那么如果我有一个地址变量,表明了某DB块的某位置。要访问这个变化的地址,如果实现呢?

难道列出一长串的比较语句吗?
38113
cvlsam 版主
文章数:12488
年度积分:724
历史总积分:38113
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2008/4/15 9:38:00
#3楼
相當的簡單,通過將該地址變量左移3位,因為西門子規定,必須采用32位指針的格式,因此需要左移3位,當然乘以8的效果與左移3位相同。

然后通過向AR寄存器中存放,改變AR中的數值就可以實現間接尋址。

一般使用間接尋址都使用Loop循環的場合。

不需要比較,因為DB中的數據地址都是固定的。

以上!

Good Luck!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003