西门子S7-1200的点对点串行通信有哪些指令?各参数的含义是什么?

本文涉及的产品
视频直播,500GB 1个月
简介: 西门子S7-1200支持使用点对点协议进行基于字符的点对点串行通信,通过串行通信S7-1200 CPU能够将信息直接发送到打印机等外部设备,也可以从其它设备如条形码阅读器等接收信息,与调制解调器、第三方PLC等其它设备交换信息。

西门子S7-1200支持使用点对点协议进行基于字符的点对点串行通信,通过串行通信S7-1200 CPU能够将信息直接发送到打印机等外部设备,也可以从其它设备如条形码阅读器等接收信息,与调制解调器、第三方PLC等其它设备交换信息。


640.jpg


S7-1200的RS485、RS232通信模块提供了用于执行点对点通信的电气接口,通信接口模块需要安装在S7-1200 CPU模块的左侧。

640.jpg


S7-1200进行点对点通信的基本步骤包括硬件连接、组态通信端口、组态发送和接收参数、指令编程和下载运行。这里我们只介绍S7-1200点对点通信相关的指令。


640.jpg


通信端口组态指令PORT_CFG可以通过用户程序更改端口参数,如波特率等参数。


640.jpg


各参数含义如下:

 

请求参数REQ,在该输入的上升沿激活组态更改;端口参数PORT,通信端

口标识符;通过传输协议参数PROTOCOL进行协议选择,0表示点对点通信协议;参数BAUD用于设置端口的波特率;参数PARITY用于设置端口的奇偶校验;参数DATABITS用于设置每个字符的位数;参数STOPBITS用于设置停止位的位数;FLOWCTRL为数据流控制参数;XONCHAR参数指定用作XON字符的字符;XOFFCHAR参数指定用作XOFF字符的字符;WAITTIME参数用于指定在接收XOFF字符后等待XON字符的时间,或者指定在启用实时时钟RTC后等待消除发送信号的时间;参数DONE,当上一请求已完成且没有出错时在一个扫描周期内保持为1;参数ERROR,当上一请求已完成但出现错误时在一个扫描周期内保持为1;参数STATUS表示指令的状态。


发送方组态指令SEND_CFG可用于动态组态点对点通信端口的串行发送方参数。


640.jpg

部分参数含义如下:

 

参数RTSONDLY,表示启用实时时钟RTS后执行任何数据传输前要等待的时间;参数RTSOFFDLY,表示数据传输结束后禁用RTS前要等待的时间;中断参数BREAK,用于指定在各消息开始时将发送指令位时间的中断;空闲参数IDLELINE,用于指定在消息开始时发送中断后,线路空闲信号的位时间数;其它参数与上面介绍的指令类似。


接收方组态指令RCV_CFG用于动态组态点对点通信端口的串行接收方参数,该指令可组态表示接收信息开始和结束的条件。


640.jpg


部分参数含义如下:

 

CONDITIONS条件数据结构参数,用于指定消息开始和结束条件;其它参数与上面介绍的指令类似。


发送点对点数据指令SEND_PTP,用于启动数据传送,该指令将指定的缓冲区数据传送到通信模块。


640.jpg


部分参数含义如下:

 

缓冲参数BUFFER,用于指向传送缓冲区的起始位置;缓冲区长度参数LENGTH,用于表示传输消息帧的常数;协议参数PTRCL,用于选择普通点对点协议或西门子提供的特定协议所在的缓冲区,这些协议在所连接的通信模块中实施;其它参数与前面介绍的指令类似。


接收点对点数据指令SEND_PTP,用于检查通信模块中已接收的消息,如果有消息则会将其从通信模块传送到CPU。


640.jpg

部分参数含义如下:

 

接收使能端EN_R,在输入为TRUE时检查通信模块是否已接收消息,如果已成功接收消息,则会将其从模块传送到CPU;BUFFER参数,指向接收缓冲区的起始位置,该缓冲区应该足够大,可以接收最大长度消息;参数NDR,在新数据就绪且操作无错误的完成时,在一个扫描周期内为1;参数LENGTH用于返回消息的长度,以字节为单位;其它参数与前面介绍的指令类似。


接收方复位指令RCV_RST,用于可清空通信模块中的接收缓冲区,其中各参数的含义与前面介绍的指令类似。


640.jpg


获取RS232信号指令SGN_GET,用于读取RS232通信信号的当前状态,该功能仅对RS232通信模块有效。


640.jpg


其中部分参数含义如下:

 

参数NDR,表示新数据就绪且操作无错误的完成时,在一个扫描周期内为1;参数DTR,表示数据终端就绪、模块就绪;参数DSR,表示数据设备就绪、通信伙伴就绪;参数RTS,表示请求发送,模块已做好发送准备;参数CTS,表示允许发送,通信模块可以接收数据;参数DCD,表示数据载波检测,接收信号电平;参数RING,为响铃指示器,来电指示;其它参数与前面介绍的指令类似。


设置RS232信号指令SGN_SET,用于设置RS232通信模块输出信号的状态。


640.jpg

其中部分参数含义如下:

 

参数SIGNAL,用于选择要设置的信号;参数RTS,表示请求发送,模块准备好将值发送到设备;参数DTR表示数据终端就绪,模块准备好将值发送到设备;参数DSR表示数据设备就绪;其它参数与前面介绍的指令类似。

相关文章
|
3月前
总线类型 【ChatGPT】
总线类型 【ChatGPT】
|
4月前
GIGE 协议摘录 —— 引导寄存器(四)(中)
GIGE 协议摘录 —— 引导寄存器(四)
61 1
|
4月前
GIGE 协议摘录 —— 引导寄存器(四)(下)
GIGE 协议摘录 —— 引导寄存器(四)
55 1
|
4月前
|
存储 XML 前端开发
GIGE 协议摘录 —— 引导寄存器(四)(上)
GIGE 协议摘录 —— 引导寄存器(四)
59 1
|
3月前
|
缓存 安全 Linux
访问与总线无关的设备 【ChatGPT】
访问与总线无关的设备 【ChatGPT】
|
人工智能
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
今天我们来介绍一下西门子S7-300的硬件结构,并和大家讲一下S7-300各模块是按照什么顺序来组态的。
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
4G、Wifi、蓝牙所谓的AT指令模式和数据透传模式到底是什么意思?
4G、Wifi、蓝牙所谓的AT指令模式和数据透传模式到底是什么意思?
572 0
|
监控 Scala 虚拟化
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
787 0
Beckoff的EtherCAT从站代码架构解析
Beckoff的EtherCAT从站代码架构解析
一文搞懂CAN总线协议帧格式
CAN总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。