找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1.REQ-上升沿时激活数据传输,可以使用M150.0
2.至于M100.0在本地被定义过是因为ADDR_n与RD_n参数地址有重叠,或是与通信的地址区有重叠。请检查。
3.放到OB1中那么REQ触发的信号上升沿需要编程。假设在OB1中调用,每200ms调用一次,那么先在CPU属性中-周期/时钟存储器的选项卡中查看“时钟存储器”一项,并将时钟存储器打勾,另将存储字节(B)设为150,则M150.1周期为200ms(ON 100ms,OFF 100ms).在OB1中加两条语句,使M140.1和M100.1相位相反,它们分别作系统功能块GET和PUT的REQ(通信请求)信号,它们的上升沿互差100ms,编写程序如下:
NETWORK 1
AN M150.1
= M140.1
NETWORK 2
CALL SFB14,DB14
REQ :=M150.1
......
.......
.......
(由用户根据需要自己定义参数,省略)
NETWORK 3
CALL SFB15,DB15
REQ: =M140.1
......
.......
.......
(由用户根据需要自己定义参数,省略)
SFB14 / SFB15是系统函数模块,因此包含在CPU的固件中。
SFB14和SFB15是异步通信函数。
可以跨几个OB1循环运行。
SFB14和SFB15通过输入参数(“REQ”)激活。
任务结束后显示“DONE”、“NDR”或者“ERROR”。
使用SFB14从远程CPU读取数据,使用SFB15向远程CPU写入数据。
参考实例:http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=23378099&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!