详细介绍
西门子CPUST60通讯模块
《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们永远追求的目标!
《服务说明》:现货配送至全国各地含税(16%)含运费!
《产品质量》:原装产品,*!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!
串口引脚定义及协议说明
串口通讯,又经常被称为点对点通讯或者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 协议
ASCII 协议
ASCII 协议通过通讯处理器和通讯伙伴之间的点对点连接控制数据传输。
由于消息的结构*由用户定义,用户可以以 ASCII 协议为基础开发自己的消息。在接收方只需要定义接收消息的结束方式,发送接收双方协商*。
ASCII 驱动程序允许发送和接收任何结构的数据(所有可打印的 ASCII 码表字符符以及从 00 到 FFH [带有 8 个数据位字符帧] 的所有其它字符或从 00 到 7FH [带有 7 个数据位字符帧]的所有其它字符)。
ASCII协议适用于与支持串行通信的智能仪表、条形码阅读器、扫描仪、打印机等设备进行通讯。
MODBUS 协议
MODBUS RTU 通信协议是以主从的方式进行数据传输的,主动方发送请求,被动方响应请求,应答的方式。
在传输的过程中主站是主动方,即主站发送数据请求报文到从站;从站是被动方,即如果正常从站返回正常响应报文,如果故障从站返回异常响应报文,如图 3 所示。
西门子CPUST60通讯模块
图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 消息帧格式
RS232C 接口
1.接口定义
CP340/341集成 RS 232C 口和 RS 232C 接口子模块的前面板上 9 针 Sub-D 型公连接器的针脚分配,如图 1 所示。
图1 RS232C 9 针 Sub-D 型针头公连接器的针脚图
2.电缆连接
RS232C电缆连接:9针对9针连接示意图,如图 2 所示。
图2 RS232C电缆连接 9针对9针
常用的是三线制接法,如图 3 所示。
图3 RS232C 常用三线制
RS422/485 接口
1.接口定义
CP340/341/440 集成 RS422/485 口和 RS422/485 接口子模块的前面板上 15 针 Sub-D 型孔头连接器的针脚分配,如图 4 所示。
图4 RS422/485 接口 15 针 Sub-D 型孔头连接器的针脚图
2.电缆连接
RS422 接口电缆连接,如图 5 所示。
图5 RS422接口电缆连接图
RS485 接口电缆连接,如图 6 所示。
图6 RS485接口电缆连接图
注意:1)如果电缆长度超过50米,则必须在接收方上焊接一个约 330 ohm的终端电阻,以确保数据传输畅通无阻。
接线及拓扑常见问题
RS422/485接口,按照 RS485 方式接线,是否需要外部短接2和4,9和11?
组态选择成 RS485 方式,内部已经短接2和4,9和11,不需要外部短接线,直接接4-,11+即可。
RS422/485 接口的 15针的Sub-D 型头是孔,还是针?
是孔,即母头。
西门子是否用于RS485接口(15针)的通讯电缆?
无此种电缆,需要客户自行购买15针D型头,自己焊接4和11,按照图4连接。
RS485方式通讯,一对多站点时,应采用那种网络拓扑结构?
网络拓扑一般采用终端匹配的总线型结构,不支持星型或树形。
RS485方式做Modbus RTU主站,可以带多少个从站?
理论上一个网段可以带31个从站,如果超出31个,可以考虑增加RS485中继器(西门子无适用于串口通信的中继器,需选购第三方设备),加一个中继器可以再增加31个从站。
但是实际上由于串口通信是一个一个站点的轮询操作,站点增加即轮询一周的时间也会增大。
因此需要考虑工艺上需求是否能够满足。
通常来说,对于各站点的只读操作(仅用于数据监测),对时间要求较低的工艺,站点数量可以适量增加。
而对于写操作,或读写操作的多站点通信,不推荐使用串口通信,建议采用Profibus总线或Profinet总线通信。
CP341的RS422/485模块,按照 RS485 方式通讯,实际未接外部线缆,仅硬件组态下载,模块的SF灯亮?
检查参数是否配置;硬件组态中的接口选项是否改成RS485(默认的是RS422,会断线检测,未接线报故障),如图 7 所示;模块是否故障。
图7 CP341 参数中接口设置
怎么构建一个RS422/485的Modbus 主站带从站多点网络?
多点网络接线图如下:
图8 RS422多点接线图
图9 RS485多点接线图
调试接口
1 USB接口(下图红框)位于CU单元的中部,是G120调试的通用接口。
2 PROFIBUS DP通讯接口(见下图红框),适用于有PROFIBUS DP通讯的CU单元。
通过DP接口可以连接变频器,用于调试。
3 PROFINET通讯接口,适用于有PROFINET通讯的CU单元。
通过PN接口可以连接变频器,用于调试。
4 通过路由方式也可以实现跨网络访问。
HW_ANY | WORD | 任何硬件组件(如模块)的标识。 |
HW_DEVICE | HW_ANY | DP 从站/PROFINET IO 设备的标识 |
HW_DPSLAVE | HW_DEVICE | DP 从站的标识 |
HW_IO | HW_ANY | CPU 或接口的标识号 该编号在 CPU 或硬件配置接口的属性中自动分配和存储。 |
HW_IOSYSTEM | HW_ANY | PN/IO 系统或 DP 主站系统的标识 |
HW_SUBMODULE | HW_IO | 重要硬件组件的标识 |
HW_INTERFACE | HW_SUBMODULE | 接口组件的标识 |
HW_IEPORT | HW_SUBMODULE | 端口的标识 (PN/IO) |
HW_HSC | HW_SUBMODULE | 高速计数器的标识 此数据类型用于“CTRL_HSC”和“CTRL_HSC_EXT”指令。 |
HW_PWM | HW_SUBMODULE | 脉冲宽度调制标识 例如,此数据类型用于“CTRL_PWM”指令。 |
HW_PTO | HW_SUBMODULE | 脉冲编码器标识 该数据类型用于运动控制。 |
AOM_IDENT | DWORD | AS 运行系统中对象的标识 |
EVENT_ANY | AOM_IDENT | 用于标识任意事件 |
EVENT_ATT | EVENT_ANY | 用于动态分配给 OB 的事件。 例如,此数据类型用于“ATTACH”和“DETACH”指令。 |
EVENT_HWINT | EVENT_ATT | 用于硬件中断事件 |
OB_ANY | INT | 用于任意组织块。 |
OB_DELAY | OB_ANY | 用于发生延时中断时调用的组织块。 例如,此数据类型用于“SRT_DINT”和“CAN_DINT”指令。 |
OB_TOD | OB_ANY | 时间中断 OB 的数量。 例如,此数据类型用于“SET_TINT”、“CAN_TINT”、“ACT_TINT”和“QRY_TINT”指令。 |
OB_CYCLIC | OB_ANY | 用于发生看门狗中断时调用的组织块。 |
OB_ATT | OB_ANY | 用于动态分配给事件的组织块。 例如,此数据类型用于“ATTACH”和“DETACH”指令。 |
OB_PCYCLE | OB_ANY | 用于分配给“循环程序”事件类别事件的组织块。 |
OB_HWINT | OB_ATT | 用于发生硬件中断时调用的组织块。 |
OB_DIAG | OB_ANY | 用于发生诊断中断时调用的组织块。 |
OB_TIMEERROR | OB_ANY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|