300的CPU带343-1以太网模块,200的CPU带243以太网模块,两者通过以太网通信。300为主站,把DB1数据块里的DBB0到DBB9发送给200的VB100到VB109;把200PLC里的VB110到119读取到DB1数据块里的DBB10到DBB19里,请问这该如何完成啊?
我打算用SFB14和SFB15来完成,不知道对不对,而且不知道怎么填写,ADDR_X无法填写200的V区变量,RD_X和SD_X接收发送区我也不清楚该如何发送10个字节,请问这该如何完成啊?
最佳答案
1:如果你准备通过SFB15/14来完成通信的,那就是单边通信 只需要在S7300端编写程序,S7-200只 作为服务器了。
2:通过200的以太网向导设置以太网模块参数,由于S7-200 只能做服务器,因此,只需要调用ETHO_CTRL 子程序就行。。
:3:S7300 这边需要建立一个S7 通信连接,需要激活选项【Establish a active connection]。点击【Address Deatil】按钮设置TSAP 注意要个200 端设置一直。然后下载连接到300 CPU.
4:对于在300册进行编程,读写200 的V区,必须以DB1代替。根据你的例子
GET
的RD_1=P#DB1.DBX10.0 BYTE 10
ADDR_1=P#DB1.DBX110.0 BYTE 10 VB110-VB119
PUT
SD_1=P#DB1.DBX1.DBX0.0 BYTE 10
ADDR_1=P#DB1.DBX100.0 BYTE 10 VB100-VB109
具体步骤 可以参考 被广大网友奉为经典的 由崔工 主编的 【西门子工业网络通信指南】上册。网上应该可以下载到。
还有西门子下载最新的文档
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=23426892&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
提问者对于答案的评价:
谢谢。我还有一个问题。比如我在300的触摸屏上给DB1.DBWO个数值50,发送DB1.DBWO给VW100;那么我如果在200的触摸屏上给VW100个数值70,那VW100框里显示的数值是50还是70呢?
专家置评
西门子官网有现成的例子,请参照网友“我心飞翔”的答复。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc229941.html