发表于:2016/1/13 19:17:54
#0楼
这次因为要通过315PLC与SMART通信读写数据。在网上找资料总找不到,想着既然有时自己遇到问题时是非常渴望能得到及时的帮助,希望有相关的案例可以参考,希望有高手能马上求急。所以我想既然网上没有这样的相关介绍,那么我就把它记录下来,以供有人需要用到的时候能有个参考。
315-2PN可以通过网口和SMART的网口进行S7单边通信,首先将两个CPU的IP地址通过各自的软件设置为同一网络,比如我这次将315CPU设为192.168.1.3,SMART则为192.168.1.11,然后网口通过网线连接,SMART这边不需要任何设置,打开STEP硬件组态,点击网络组态,然后在CPU的图标上PN-IO那里点击生成Ethernet(1),然后点击图标上CPU建立新连接。
弹出对话框中,对象选择未指定,连接选择S7连接,详细信息里,本地连接端点选择建立主动连接,志参数默认为1,不用改变,然后连接路径里,本地即为315CPU的IP地址,伙伴栏里则要填上SMART的IP地址即可,我这填写的是192.168.1.11。然后下面的地址详细信息里,本地采用默认,伙伴的TSAP改为03.01,然后保存下载到CPU.
接下来在程序里调用FB14,FB15来读写伙伴数据。这两块在库下面的standard library下面的communication blocks 里面可以找到。
这两个块的具体含义请按F1帮助,这里稍微讲下,REQ为上升沿触发,注意不要一直调用,ADDR—1则是对应200SMART的地址,如向SMART读取数据,则SMART的数据首先保存在V区,例如,VW0。然后FB14的ADDR则填写DB1.DBW0(假如只读取一个字节的话,如果读取8个字节则为p#db1.dbx0.0 byte8),RD_1则为你需要保存这些读取数据存放的地址如:db2.dbw0。db1.dbw0为300PLC对应200SMART的VW0的映像区。FB15也是如此
我这次是不停的读写SMART,这样就要考虑FB14,FB15轮流导通,我用时钟存储器的0.2S对一个数据进行加计数,为0时读,为1时写,为2时复归为0.
按照上述方法,完全可以实现300与200的以太网单边通信。希望对大家有所帮助
西门子S7-1200.S7-1500.S7-300.V90.G120.S120.