点击【 大 中 小 】,可以选择字体的大小,以便你阅读.
现在我建有三个STATION:0号1号和2号。
CPU都是315-2DP,三个站通过Profibus-DP口连接。
现在我需要在其中一个站编程的时候,引用另外两个站的DI模块上的BOOL值。
根据SIEMENS工程师的建议,我将0号站设为MASTER,1号2号设置为SLAVE,
接着在设置SLAVE和MASTER之间对应的地址的时候,我遇到了困难。不知道哪边的地址应该是模块的绝对地址,哪边应该设置为虚拟的地址。最后该用什么命令引用,也不是很清楚。
俺是个大菜鸟,希望DX们能够多多帮助。
谢谢大家了!
匿名回复:
我也想知道。
不过后来我是通过profibus-dp站与站之间的读取数据来实现的。
匿名回复:
这种情况你在数据区分配得地址都是占用了实际i/o地址的,所以应该用直接读写i/o区的指令。如果是小于4字节,可以用move指令,否则用sfc14、sfc15
匿名回复:
多谢楼上两位,问题已经解决了。
在发送站用MOVE指令把需要用到的DI数据传到地址映射区,
然后在接收站直接读相应映射区的地址就行了。由于数据不多,所以暂时用不到SFC14,15。
现在还有一个小问题:我想用DX模式实现两个SLAVE站的数据共享,可是在CONFIGURATION里添加ROW的时候,MS(MASTER SLAVE)和DX(DIRECT DATA EXCHANGE)切换的选项是灰的,无法改成DX模式,不知道有什么办法解决?
匿名回复:
说的没错!看你们说还攒了不少知识!
匿名回复:
我看这是硬件的问题,该定货号不支持dx模式,你可以在step7换一个cpu看我说的对不对?
匿名回复:
谁有西门子的公开报价给俺发一份
谢谢:)
匿名回复:
直接找西门子不就有报价
匿名回复:
用功能块(FC),AG_SEND,AG_RECIEVE也是可以的。