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

[复制链接]
查看97811 | 回复0 | 2024-10-24 14:09:28 | 显示全部楼层 |阅读模式
在西门子S7-1200系列PLC中,自由格式通讯通常指的是使用非标准的通信协议通过串行接口进行数据交换。SEND_PTP 和 SEND_P2P 是用于这种类型通讯的两个不同的指令。

有需要交流的可以加微信

   备注加“交流群”
程序在文章最底部 接项目外包、运动控制、过程控制  欢迎广大需要合作厂家、个人来合作    联系方式:15325623428(微信同号)
SEND_PTP(Point-to-Point):



    该指令通常用于点对点的通讯配置。

    它允许用户定义自己的协议来发送和接收数据。

    SEND_PTP 可以用来实现自定义的数据帧结构,并且可以控制数据的发送过程,比如指定发送缓冲区、长度等。

    这个指令是针对那些需要特定序列或格式数据传输的应用场景设计的,其中用户可能需要更精细地控制数据包的组成和发送时间。

SEND_P2P(Peer-to-Peer):



    同样用于点对点的通讯,但它的名称可能会让人误以为它与网络中的P2P概念相同,实际上这里它也是指两个设备之间的直接通讯。

    SEND_P2P 也允许用户定义自己的通讯协议,但是它可能是简化版的点对点通讯指令,或者是在某些版本的软件库中对 SEND_PTP 的另一种称呼。

    有时这个术语可能被用作 SEND_PTP 的别名,尤其是在不同版本的TIA Portal软件或不同的上下文中。

一、1200PLC配置

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



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


2.软件方面配置



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





3.具体程序

写指令

EN:使能

REQ:上升沿触发

PORT:硬件表示符

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

LENGTH:要传输的数据长度(字节)
PTRCL:此参数选择使用正常的点对点通信缓冲区还是在连接的 CM 中执行的特定 Siemens 协议缓冲区。UNIVERSAL :在 CPU 和通过 PORT 指定的 CM 之间进行数据通信的类型DONE:完成位ERROR:报错位STATUS:错误码


读指令
PORT:硬件表示符

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

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


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


读取从站报文返回格式



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


二、实际测试视频


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3680891104171245573关注公众号免费学习工控知识、每天分享干货用最简单的方式教最有用的东西需要相关项目可以联系代做、可以更具需求封装西门子、信捷、codesys等FB块

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则