西门子TIA PROFINET跨网段PLC之间用TCP通讯
新建两个PLC并分配不同的网段IP地址,分别192.168.0.10代表一个项目, 192.168.3.10代表一个项目;这两个PLC中间可能有路由器或网关,或者在不同的城市。
在分配IP地址的时候,将子网掩码分成B类网络。这样就相当于一个大的网络了。
但是每个PLC下又有很多的设备可能带有很多的IP,这样通信负载就加重了,从而使扫描周期明显变慢了。如果设备较多负载重的情况下是不能这样使用的。
组态模式:如果选择"使用程序块",下载完以后要进行一次STOP操作;如果选择的是"使用组态的连接",下载时要选择软硬件一起编译下载;ID号发送与接收要一样;
发送端REQ为上升沿触发,CONT为TRUE才通讯;接收端EN_R一直为TRUE才接收,CONT为TRUE才通讯;
在"设备和网络"中点击"连接"就可以看到两个连接,如果采用"程序块连接"是不会出现这两个连接的;编译—–"硬件和软件"进行下载;
在DB数据块方面本例使用的是"优化的块访问",可以将变量放在结构或自定义变量中;也可以将优化的块访问取消。像使用普通变量一样。"可从OPC UA访问DB"的选项要选中。
TCP的连接方式,PLC作为服务器端,由其它TCP Client来连接
TCP连接的硬件组态,点击"设备和网络"——-点"连接"—–"TCP连接";
鼠标右击PLC_1出现快捷菜单——-点击"添加新连接";
在出现的"添加新连接"窗口中选择"本地接口";
当出现"TCP_连接__1"字样时,说明组态添加TCP成功了。此时可以点击右侧的"网络概览","连接","关系"查看详细情况。
主动建立连接的是客户端,客户端如果想要访问服务器是需要知道服务器的IP地址和端口号;建议组态模式选择"使用组态的连接",这样硬件组态好以后在"连接数据"时就会出现可选项;
从"通信"中选择"开放式用户通信",发送选择"TSEND_C",接收的话选择"开放式用户通信"—-"其它"—–TRCV;然后再填写相关参数。
这样PLC作为本地服务器端,服务器端都是被动连接的,是由客户端主动连接的,此时使用TCP测试工具进行连接测试。如果PLC作为客户端的话,要连接服务器的话都得要STOP一次,相当于点连接按钮;
如果PLC作为客户端,则伙伴作为服务器端,服务器端有TCP测试软件代替,那么电脑本地的IP地址和端口就是服务器端的信息。