当前位置: 主页 > PLC控制

S7-1200搭建的 tcp通信 报文 开头校验信息如何设置

S7-1200搭建tcp通信,可以正常通信,但是用串口助手接收到的是动态报文而我需要通信的服务器端为固定报文才会反馈信息的设备,可以通过设置MB_client设置为固定报文吗?如果可以的话该从什么地方设置呢?服务器端只有接收到4663开头的报文才会做出回应。第一次使用MODBUStcp可能有些表述的不太清楚的地方,还请多多包涵

最佳答案

不太明白楼主的意思!
对方是最直接的Tcp协议。我们可以建立TCP连接,西门子的指令
TCON建立连接
TSEND发送数据指令接口可以指定我们发送的报文长度(数据类型根据设备建立)
TRCV接收报文(接受反馈信息)
对方是MOdbuSTcp
那直接调用MB_client与终端设备通讯,指令接口有一个MB_DATA_LEN
可以设定我们的报文长度
小提示:
1如果对方须接受4663这两个数据你可以在你的报文前两个字节填写默认值4663直接调用
2我记得去年做1200TCP走字符通讯时,报文地址是从DBX0.0开始的发送10个字符。但是终端设备只接收我定义的字符只有8个报文开始两个字节是西门子内部的格式数据无效的,但是现在手里做了个1500项目,走TCP绝对地址(直接把我的PLC内部数据抛出去,上位机解析地址)没发现这个问题,最近没时间,有时间我再去研究下。
3;通讯参考西门子S7-1200EASyPlus
htTPs://suppoRT.industry.siemens.com/cs/document/73600209/%E8%A5%BF%E9%97%A8%E5%AD%90-s7-1200-plc-%E6%8A%80%E6%9C%AF%E5%8F%82%E8%80%83-v3-2?dti=0&lc=zh-CN

提问者对于答案的评价:
如何设置4663或者说在那个地方设置?可以举个简单的例子吗?谢谢

最佳答案作者回复:
哦,我说的报文是以DB块形式发出去,在DB块可以直接填写当前数据的默认值的!

  • 关注微信

猜你喜欢

微信公众号