如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《自动化仪表》第26卷第2期2005年2月Modbus协议的ACTIVEX组件实现ImplementationofACTIVEXModuleofModbusProtocol钟鸣‘马龙华‘34.少群“(浙江大学系统工程研究所‘,杭州310027;福建漳州自来水公司2,漳州363000)摘要介绍了Modbus协议与ACTIVEX组件技术,阐述了如何将Modbus协议封装成可重复使用的ACTIVEX组件,在计算机和支持Modbus协议的各种智能仪表之间的通信提供了一种高效高兼容的技术方法。关键词串口通信Modbus协议ACITVEX智能仪表AbstractMODBUSprotocolandACTIVEXtechnology。introduced.ThemethodofhowtopackageMODBUSprotocolintorepeatuseableACTIVEXmoduleisdescribed.ThusthetechnicalmethodofferinghigheffectiveandcompatiblecommunicationbetweencomputerandvariousintelligentinstrumentssupportingMODBUSprotocolisprovided.KeywordsSerialcommunicationModbusprotocolACTIVEXIntelligentInstrument1.2报文帧格式0引言据Modb依us通信协议的要求,帧格式由从机地Modbus协议是美国Modbus公司推出的开放式现址、功能码、数据段和校验码组成,格式如下:场总线通信协议,由于其功能比较完善、使用简单、协议开放而得到众多仪表厂商的支持,已成为事实上的1234工业级标准,目前大多数智能仪表都支持该协议以向AddrFume.DataLRCor(:RC.用户提供通信接口。在自动控制软件的编写中常常要(从机地址)(功能码)(数据段)(校验码)与这些智能仪表进行通信,用基于COM的ACTIVEX技术将这一协议封装起来以提供可重复使用的软件模块机地址是从一帧数据序列的第一字节,表示要接是解决这一问题较好方法。受信息的从机地址,每个从机被分配一个唯一的地址,只有已被分配地址的从机才会响应与其地址相应的数通信协议据信息。若主机以0作为地址向从机发送数据,则表Modbus协议采用主从工作方式,允许一台主机示广播命令,网络上每个从机都响应,但不回送响应和多台从机通信,每台从机地址由用户设定,地址范帧。围为1一255。通信采用命令/应答方式,每一种命令能码字功段通知从机应执行何种功能。Modbus帧都对应一个应答帧。命令帧由主机发出,所有从功能码是专门设计应用于Modbus工业通信系统中的机都将收到报文,但只有被寻址的从机才会相应命可编程控制器。通信协议规定功能码为1一127,从机令返回相应的应签帧。如果报文中寻址地址为0则返回的应答帧中含有相同的功能码,如01读取线圈状视为全局广播,所有主机把它当一条命令执行不返态,03读取保持寄存器,05强置单线圈等等。回应答帧。1.3差错校验码1.1传输模式错校验码差使从机检查通信报文有无差错。报文标准Modbus协议有两种通信模式:ASCII和RTU从一设备向另一设备传输时,有时会因电噪声和其它(remoteterminaluni0。当以RTU模式进行通信时,数干扰在途中发生轻微变动。差错校验确保主从设备不据以8位二进制方式编码。这种模式的优点是在同等受传输中被改变报文的影响,这就提高了Modbus系统波特率下比ASCII模式传输的信息要多,因此该模式的安全和有效性。当系统以ASCII模式传送时,差错普遍应用于智能仪表。ASCII模式采用ASCII编码,表校验码使用纵向冗余校验(LRC),以RTU模式传送时达同样信息时需要更多的字节,但表示方便,可读性使用CRC16校验。LRC校验码为两个ASCII字符,生好,用于需要打印或是直接显示的场合。成方法是将帧首到帧尾的字符连续异或。CRC16校验AUTOMATIONINSTRUMENTATIONVol一26No.2February2005万方数据Modbus协议的ACI'IVEX组件实现钟鸣,等码的生成多项式为x1“十x15+扩十1,根据求余计算得到16位校验码。此16位校验码低字节在前、高字节在后,附加在待传送数据的尾部一起发送。接收端接收到数据后同样对接收到的数据进行CRC校验,若余为0则说明传输无误。组件技术所谓组件方法是指用可重用的软件组件来构造应用程序。软件的组件化不需要化码的重新编译和图1基本流程