万普插件库

jQuery插件大全与特效教程

[西门子PLC] 西门子1200自由格式通讯——P2P

西门子S7-1200系列PLC支持自由格式通讯,也称为自由口通讯或点对点(PtP)通讯。这种通讯方式允许用户自定义通讯协议,通常用于与不支持标准工业通讯协议的第三方设备进行数据交换。自由格式通讯可以使用串行接口(如RS485)或者以太网接口来实现。

在使用自由格式通讯时,你需要考虑以下几点:




  • 硬件配置:



    • 如果是通过串行接口进行自由格式通讯,需要使用支持自由口通讯的通信模块,比如CM 1241 RS485模块。

      如果是通过以太网接口,则直接利用CPU集成的PROFINET接口。

  • 软件编程:



    • 在TIA Portal软件中,你可以找到用于自由口通讯的功能块,例如TPSend和TPReceive等。

      你必须自己编写程序来处理发送和接收的数据流,包括创建适当的报文格式、处理定时器、触发条件以及错误检测等。

      对于接收到的数据,可能还需要编写额外的代码来解析报文,并将有用信息提取出来。

  • 通讯参数设置:



    • 设置波特率、数据位、停止位、校验位等通讯参数,确保它们与第三方设备相匹配。

      配置端口号,这取决于使用的物理接口类型。

  • 协议设计:



    • 自由格式通讯要求你自己定义一个协议,包括起始标志、命令字节、数据长度、实际数据、校验码等元素。

      保证你的协议能够可靠地传输数据,并且有机制去检测并纠正错误。

  • 测试与调试:



    • 使用串口调试工具或网络抓包工具来监控通讯过程,帮助调试协议和程序逻辑。

      确保通讯双方都正确实现了协议,可以通过发送已知的数据并检查响应来验证。



一、1200PLC配置

1.S7-1200有两套点对点通信指令,如图所示




上述两套指令集区别如下表




2.软件方面配置




选择添加485或者232模块,右键点击属性配置和第三方仪表相对应的参数,并查看此模块的硬件标识符。







3.具体程序

写指令

EN:使能
REQ:上升沿触发PORT:硬件表示符BUFFER:此参数指向发送缓冲区的存储区LENGTH:要传输的数据长度(字节)UNIVERSAL :在 CPU 和通过 PORT 指定的 CM 之间进行数据通信的类型DONE:完成位ERROR:报错位STATUS:错误码



读指令
PORT:硬件表示符

BUFFER:此参数指向发送缓冲区的存储区

UNIVERSAL :在 CPU 和通过 PORT 指定的 CM 之间进行数据通信的类型
NDR:如果新数据可用且指令无错完成,则为 TRUE 且保持一个周期LENGTH:接收到的帧的长度(以字节为单位) ERROR:报错位STATUS:错误码



4.读/写全局变量DB块写给从站的报文



读取从站报文返回格式




5.串口调试助手读取报文结构




二、实际测试视频



西门子1200自由格式通讯——P2P

http://bbs.plcjs.com/forum.php?mod=viewthread&tid=501675&fromuid=17

(出处: PLC论坛-全力打造可编程控制器专业技术论坛)

#非标自动化#

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言