马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
本帖最后由 农夫山自来水 于 2023-2-21 13:30 编辑
使用S7-1200与汇川Easy521进行TCP通信分享。1200做客户端、Easy做服务器。程序已经过测试。下面为测试环境与配置:
硬件:S7-1214CDCDCDC,Easy521 软件版本:TIA PortalV17,AutoShop4.8.1.0 网络测试工具:网络调试助手V5.0.3。
一:西门子1200做客户端,实现方式。 在程序中拖入TSEND_C指令,用于与服务器建立连接并发送数据。拖入后,需要进行组态,西门子做主动连接,连接ID与端口号组要自己记下,以后编程需要用到。具体组态如下所示: 与客户端建立连接并发送数据,图中画红线的是接收Buf数据区,格式选用的Word数据类型。 接收服务器发送的数据: 接收数据高低位交换 二:汇川Easy521做服务器实现方式 更改EasyPLC的IP地址,使其与客户端设定保持一致。 在编程软件中建立变量表,并拖入相应指令。需要注意的是:Listen、Accept、Close的Socket所用变量保持一直,Send与Receive的Socket管脚连接Accept的ConnectedSocket的输出管脚,具体如图所示: 数据高低字节转换: 三:程序实际监控 客户端发送数据、服务器接收数据 从RecBuf数组中可看到,TCP发送过来的数据是低位在前,高位在后,所以需要手动做下高低字节转换,转换后的数据如下图所示。 客户端接收数据、服务器发送数据 四:总结 1、TCP发送数据是以字节为单位 2、1200可以接收数据时可以开启ADHOC模式,此时建议将LEN设为0,这样可以接收不定长度的数据。 3、Easy521Send与Receive指令,Execute管脚不能一直为ON,可根据实际需要利用时钟位或状态位进行编程。 4、无论是客户端还是服务器,一定要考虑到接收数据的最大长度,否则程序会报错。 5、调试时,可使用网络调试助手等工具仿真客户端与服务器,分析报文、提升效率。
|