• {{item.name}}
{{item.name}}
{{item2.name}}
更多

串口引脚定义及协议说明

star star star star star
0 分
  • 软件编程
  • 通信(通讯)
  • 基础理论
  • S7-1500
  • 串口通信
  • 通信接口
发布时间:2024年01月18日
  • 0
  • 15
本章节介绍了西门子串行通信的数据帧格式、支持的通信接口、串口引脚的定义以及常用的协议类型。

一、串口引脚定义及协议说明

串口通讯,又经常被称为点对点通讯或者PtP通讯,是工业设备中的一种非常通用的通讯方式,常用于获取相对远程采集设备的数据。

串行通信,通常利用RS232C或者RS485电气接口,实现ASCII码或者Modbus通讯;其特点是通信线路简单,成本较低,用于解决不同厂商产品之间节点少、数据量小、通讯速率低、实时性要求不高的场合,如过程仪表、变频器、连接扫描仪、条码阅读器等带有串行通讯接口的设备,CP卡加载通讯协议后,还可以和支持Modbus协议的现场仪表通讯。

为了实现设备相互通讯,通讯双方的通讯接口和通讯协议要一致,最基本的串行通讯的数据帧格式和波特率也要匹配。

西门子串行通讯支持的数据帧格式:

  • 起始位:1位;
  • 数据位:7/8位;
  • 校验位:1位奇/偶校验位,或者没有校验位;
  • 停止位:1/2位。

凡是符合这些格式的串行通信设备,理论上都可以相互通信。

二、支持的通讯接口

常用的串行数据接口有:RS232C 和 RS485/422。RS-232C、RS-422/485 标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。

注意: 接口和协议是两个概念。

RS232C接口

RS-232C 是低速率的单端串行通讯,RS-232C 采取不平衡传输方式,即所谓单端通讯。

1.RS232C 通讯接口特点

  • RS-232采取不平衡传输方式,其收、发端的数据信号是相对于信号地,抗共模干扰能力差;
  • 近距离通讯,最大通信距离15m;
  • 只能用于点对点(即一对收/发设备)通讯。

2. RS232C 接口定义

RS232C并未定义连接器的物理特性,不同类型的连接器引脚定义也各不相同,其中9针和25针的引脚定义对照,如图 1 所示。

图1 RS232C 串口管脚定义

最为简单且常用的是三线制接法,即Txd,Rxd和地线三根,如上图中红色(2,3)和紫色(5)三个针脚。

RS422/485 接口

RS-422/485 改进 RS-232 通信距离短、速率低的缺点。

1.RS422/485接口特点

  • RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输;
  • 平衡传输抗干扰能力更强,使传输距离更远,通讯距离最长1200米;
  • 可以连接多个设备,RS422总线可支持10个节点(单机发送、多机接收的单向传输),RS485可支持32个节点(多点、双向通讯能力);
  • 网络拓扑一般采用终端匹配的总线型结构,不支持星型或树形;
  • 传输距离超过50米,需要在两端加终端电阻330欧姆(推荐用LIYCY电缆);

2.RS422/485接口定义

RS422/485 的端口有9针、15针,CP340/341/440/441的接口是15针,如图 2 所示。

图2 RS422/485 串口管脚定义

三、常用支持协议

常用的协议类型

  • ASCII 协议,又称自由口
  • Modbus 协议

1.ASCII 协议

ASCII 协议通过通讯处理器和通讯伙伴之间的点对点连接控制数据传输。

由于消息的结构完全由用户定义,用户可以以 ASCII 协议为基础开发自己的消息。在接收方只需要定义接收消息的结束方式,发送接收双方协商一致。

ASCII 驱动程序允许发送和接收任何结构的数据(所有可打印的 ASCII 码表字符符以及从 00 到 FFH [带有 8 个数据位字符帧] 的所有其它字符或从 00 到 7FH [带有 7 个数据位字符帧]的所有其它字符)。

ASCII协议适用于与支持串行通信的智能仪表、条形码阅读器、扫描仪、打印机等设备进行通讯。

2.MODBUS 协议

MODBUS RTU 通信协议是以主从的方式进行数据传输的,主动方发送请求,被动方响应请求,应答的方式。

在传输的过程中主站是主动方,即主站发送数据请求报文到从站;从站是被动方,即如果正常从站返回正常响应报文,如果故障从站返回异常响应报文,如图 3 所示。

图3 MODBUS 请求响应报文格式

MODBUS 系统中,数据交换需要通过功能代码(Function Code)来控制的,具体分以下两类。

有些功能码是对位操作的,通信的用户数据是以位为单位的:

  • FC01读输出位的状态;
  • FC02读输入位的状态;
  • FC05写单个输出位;
  • FC15写多个输出位。

有些功能码是对16位寄存器操作的,通信的用户数据是以字为单位的:

  • FC03读输出寄存器;
  • FC04读输入寄存器;
  • FC06写单个输出寄存器;
  • FC16写多个输出寄存器。

这些功能码是对四个数据区位输入、位输出、寄存器输入、寄存器输出进行访问的,如图 4 所示。

图4 访问的数据区

Modbus地址由起始的数据类型代号和地址偏移量组成。功能码决定对Modbus地址进行操作类型,其可根据需要传输的数据类型和个数来决定,如图 5 所示。

图5 MODBUS 地址对应关系

注意:在传输消息桢中,用户使用的地址是0为基准,而对应的Modbus地址是1为基准,如FC16功能码时以16进制的0000为起始地址,对应的寄存器是从40001开始。

MODBUS RTU 传输模式:消息桢中的每个8位分成2个4位16进制的字符。

每个字符帧格式(11位),如图 6 所示。

图6 字符帧格式

注意:如果无奇偶校验位,停止位是2位。

消息帧格式,如图 7 所示。

图7 消息帧格式


  • 评论
更多
  • 分享

    扫码分享

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。