找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
资料上所举出的例子大多是单个数据的(1个W,或者1个B)传输,以8 Bytes Out / 8 Bytes In(即8字节输出 / 8字节输入)为例:S7 300侧的接收地址为PIB10~PIB17,发送地址为PQB10~PQB17,S7 200侧的接收地址为VB100~VB107,发送地址为VB108~VB115。则其数据传输的模式为:
VB100 ←← PQB10 VB108 →→ PIB0
VB101 ←← PQB11 VB109 →→ PIB1
VB102 ←← PQB12 VB110 →→ PIB2
VB103 ←← PQB13 VB111 →→ PIB3
VB104 ←← PQB14 VB112 →→ PIB4
VB105 ←← PQB15 VB113 →→ PIB5
VB106 ←← PQB16 VB114 →→ PIB6
VB107 ←← PQB17 VB115 →→ PIB7
这样就可以在S7 200中编写程序将数据赋值到S7 200的VB100~VB107区域,再将该区域的数据传输到S7 300侧。对于数据较少的程序来说,8 Bytes可以满足需要了,比方说:要把S7 200的MB18的值传送给S7 300的MB18,应在S7 200的程序中,用MOVB指令将MB18传送到VB108~VB115的某一个字节,例如VB112,通过通讯,VB112的值传送给了S7 300的 IB4,再在S7 300的程序中将 IB4 的值传送给MB18。
也就是说,S7 200中的数据必须与发送区域VB108~VB115的某一个字节(或是字)一一对应,才能保证准确地发送到S7 300的接收区域。假如S7 200中只有8个字节的数据需要传输,这样做当然可以,但是如果所需传输的数据很多,这时应该怎么办呢?
我们所用的触摸屏上面需要组态近50个输入框,输入的数据都是用字WORD来存储的,也就是说有50个W的数据需要传送到S7 300,且必须和S7 300里的DB数据相一一对应。可是EM 277的通讯方式里面最大的就是32W IN / 32W OUT的,即32个字的输入 / 32个字的输出。假如S7 200的发送区域是VW1032~VW1063,也只能保证32个W的数据一一对应的传输,剩余的数据应该怎么传输呢?像我们这样的情况应该如何处理呢?
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、你的理解是正确的。S7 300与S7 200(EM277)的DP通讯是通过地址映射来实现数据交换的。可以参考:
见《西门子S7-200与S7-300进行PROFIBUS通信图解》连接:
http://www.gongkong001.com/News/4934.html
《西门子S7-200与S7-300之间的通讯》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=A0148
或
http://space.cechina.cn/infosharedownload.aspx?id=366
2、如果所需传输的数据很多,这时应该怎么办呢?
这时要应用EM277的分时分批传送功能了,详见:
<EM277数据区中设置标志位,分时分批传送>
http://plc.jdzj.com/article/2010-2-5/15555-1.htm
或
http://www.gongkong.com/webpage/solutions/200901/2009011614060900001.htm
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城