关于S7-1200指针地址问题

最近学用博途软件对指针寻址和位寻址比较模糊,本人想通过新建DB块新建一个word变量SS。取消优化。编译后SS的地址为DB1.DBW20。是否能够通过DB1.DBB20或DB1.DBX20对SS进行位寻址。后来也查了相关资料。本来位寻址以为可以用AT指令来对SS变量进行附带变量(bool数组)位寻址。后来发现AT指令在DB块中没有。只有在FC中temp变量中才可以使用。还有一种方法就是直接输入"Data_block_1".SS.x0进行位寻址(如图1.个人觉得这方法真不合理)。或者通过指令Fieldread和Fieldwrite来实现。请教各位大侠能否有更好的方法来进行寻址。第二就是地址指针这方面。我建了一数组想对数据中第2元素之后的4个数值进行转换,如图3.我如果选无。地址指针就是P#DB1.DBX0.0开始,我先第二个元素就不是指针地址。请教大师指针变量这应该如何表示。在此谢谢各位

图片说明:

关于S7-1200指针地址问题    关于S7-1200指针地址问题    关于S7-1200指针地址问题    关于S7-1200指针地址问题   

最佳答案

一般就是这两种方法,目前还没有发现更好的。
参见:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=99803&cid=1072
你选择无表示对数组变量进行转换,程序中对数组取地址是以指针方式存取的。而你选定一个具体变量时,因为有它的实际地址,所以不再用指针方式表示了。

提问者对于答案的评价:
谢谢 已解决

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:46
下一篇 2017年8月26日

相关推荐