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个字节,请问这该如何完成啊?
ASs='html_titleimg_p' STyle='text-align:center;'>
最佳答案
1:如果你准备通过SFB15/14来完成通信的,那就是单边通信只需要在S7300端编写程序,S7-200只作为服务器了。
2:通过200的以太网向导设置以太网模块参数,由于S7-200只能做服务器,因此,只需要调用ETHO_CTRL子程序就行。。
:3:S7300这边需要建立一个S7通信连接,需要激活选项【Establishaactiveconnection]。点击【AddressDeatil】按钮设置TSAP注意要个200端设置一直。然后下载连接到300CPU.
4:对于在300册进行编程,读写200的V区,必须以DB1代替。根据你的例子
GET
的RD_1=P#DB1.DBX10.0BYTE10
ADDR_1=P#DB1.DBX110.0BYTE10VB110-VB119
PUT
SD_1=P#DB1.DBX1.DBX0.0BYTE10
ADDR_1=P#DB1.DBX100.0BYTE10VB100-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呢?
专家置评
西门子官网有现成的例子,请参照网友“我心飞翔”的答复。