想要了解UniMAT CP341 的ModBus通信应用,首先我们需要对ModBus通信有一个了解和认识,看完下文你将有一个初步的答案。
ModBus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是工业领域全球最流行的协议、支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用ModBus协议作为他们之间的通讯标准。通过MODBUS不同厂商生产的控制设备可以连成工业网络,进行集中监控。
ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU),即PDU=功能码+数据域。ModBus协议能够应用在不同类型的总线或网络。对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三种通信方式:
(1)以太网,对应的通信模式是MODBUS TCP。
(2)串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
(3)高速令牌传递网络,对应的通信模式是Modbus PLUS。
下面分别介绍一下Modbus RTU 和ASCII协议。
1、Modbus RTU
MODBUS RTU 通信协议在工业应用中最为广泛。Modbus是一种主从式协议,即一个系统中只有一个主设备,所有的操作都是主设备发起。通过查询和回应的机制进行通信。
(1)查询
查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。
(2)回应
如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。
(3)常用的功能码有:
2、ASCII协议
CP341模块的ASCII协议是一个使用相对较自由的一种协议。使用此协议可实现与其他自定义协议之间的通讯。
ASCII协议支持以下特性:
(1)支持波特率300--115200,支持校验位/停止位的配置
(2)支持485/422接口及断线检测功能
(3)支持三种帧结束判断方式:超时方式,固定字节数方式及结束符方式
(4)最高达250帧的帧缓冲队列
300CPU主机无Modbus通信接口,连接至Modbus网络时需要配置通信模块CP341。市场上同类产品CP341+硬件狗的价格在9000元以上,针对这一情况,亿维自动化倾力研发无需外置硬件狗的CP341产品,极大降低了用户成本。
我们先揭开一下亿维CP341的庐山真面貌,下一篇我们将着重介绍一下亿维CP341的产品特性及应用,尽请期待!
---------------------------------------------------------------------------------------
我们致力于为工控工程师们打造一个高价值的工控交流分享平台,您可以通过QQ群(316281458)或者微信订阅号(UniMAT2004)找到我们并加入交流分享的行列!也欢迎大家通过这个平台踊跃投稿,我们长期有奖征文。