基于Modbus协议的CAN总线转换器设计

更新时间:2023-05-29 19:25:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Modbus

维普资讯

总第 4 3卷第 4 0期 9 20 0 6年第 1 O期

电测与仪表El cr c l Me s r me t& I sr me t t n e t a aue n i n tu n a i o

Vo .3 NO 4 0 1 .9 4

0c.2 6 t 0o

基于 Mo b s d u协议的 C N总线转换器设计 A杨艳民,学俊,王杨林(大连轻工业学院机械工程与自动化学院,大连 1 6 3 ) 10 4

摘要:对 C N现场总线和 M d u协议的特点。出一种应用单片机技术设计 C N现针 A o bs给 A

场总线与 Mob s d u总线的转换器的方法。现了将 Mo b s备连接到 C N现场总线网实 du设 A络中,并具体的介绍了转换器硬件结构和相应的软件程序流程,际应用效果良好。实关键词: d u; A Mo b sC N总线;转换器;片机单中图分类号:P 9 T33文献标识码: B文章编号:0 1 19 (0 6)0 0 4— 5 10— 3 0 2 0 1— 0 9 0

De i n o sg fCAN- s Co v r e s d o o b o o o Bu n e t r Ba e n M d u Pr t c l sY N a - i, N u -u, NG Ln A G Y n m nWA G X e jn YA i

( ai ntue o ih n ut,ai 0 4 C ia D a Is tt fLgtId s y l a 1 6 3,hn) l n i rD n 1Ab t a t Ac o dn t t e c a a t r t o C s r c: c r i g o h h r ce i i s c f AN— il B s a d Mo b s p o o o。 Fed u n d u rtc l a

me o hc p l d a MC h t d w ih a pi e U fr d sg ig o v re rm C o e inn c n etr f o AN- ilB s t o b s Fed u o M d u i nrd c d Mo b s e ie a e itgae no CAN i lb s o to n t r . s t ue. i o d u d vc s c n b ne rtd it f d u c nr l ewok eT e h r wa e a d t e s f a e o o v ne e i to u e n d t i t e e p r n a h a d r n o t r f c n e r a n

r c d i ea l h x e me t l h w r d, i r s l s o s s t fc o y fa i i t f t e me o . e u t h w a i a tr e sb l y o t d s i h h Ke r s Mo b s AN— u;C n e tr y wo d: d u; C B s o v re;MC U

0引言

层网络通信。 Mo b s议与 C N总线协议是互不而 du协 A兼容的。为此。笔者开发了一种 Mob s d u协议与 C N A

现场总线技术是当今自动化领域发展的热点之一

它是一种以智能传感、制、算机、控计数据通信为

总线协议的转换器,实现了采用 Mob s信协议的 du通设备接入到 C N现场总线网络中。此转换器可应用 A

主要内容的综合技术。于现场仪器仪表与控制系统用和控制室之间的一种全分散、数字化、能、向、全智双

在通信速度要求不高的系统中。有设备简单 .用性具通强。易于集成和监控的特点。1 Mo b s议简介 du协

多点、站的通信网络。工业控制领域的应用非常多在广泛。 A C N总线即控制器局域网,具有高位速率、高抗

电磁干扰性、低成本、极高的总线利用率。可根据报文的I D决定接收或屏蔽该报文。网络上最多可达 l0 1个节点。可靠的错误处理机制。最大传输距离达到 lk最快传输速率可达 1 s A总线作为一种 O m。 Mp。C N技术先进、靠性高、活性好、能完善且成本合理可灵功的远程网络控制方式在工业控制领域中的应用非常广泛【但就目前的市场的情况,多数的现场智能仪 1]。大器仪表、电机启动保护装置、电量测量装置、种变送各

Mo b s信协议由 Mo io司开发的。一种 d u通 dcn公是应用在 P C或其他工业控制器上的一种通用语言。 L通

过此协议,各控制器之间可以实现串行通信。 d u Mob s通信协议定义了一个控制器能识别使用的消息结构 .描述了主控制器访问从站设备的过程。定从站怎样规

做出应答响应。以及检查和报告传输错误等。Mob s d u协议的通信方式为主从方式。主站首先向从站设备发送通信请求指令,从节点根据请求

指令中的功能码向主站发回回答数据。网络中的每个从站设备都必须分配给一个唯一的地址,最多可达 3个从站设备。通过 1

器和变频器通常采用了 Mob s串行接口通信协议。 du采用该协议可使不同的厂商生产的控制设备可以互连成工业网络,现集中监控。由于 Mo b s实 d u协议实现

多达 2总线命令实现主控制器与从站设备之间的 4种

了 O I考模型中应用层的定义。常作为仪表设备 S参通

信息交换。从站设备只执行发给自己的指令。对于其一

4— 9

Modbus

维普资讯

总第 4 3卷第 40期 9 20 0 6年第 1 0期

电测与仪表Elc rc l M e s r me t& I sr me tto e tia a u e n n tu n a in

Vo . 3 No4 O 1 .9 4 Oc .2 o6 t 0

它从站地址开头的报文不作应答。这种一问一答的通

信模式,大提高了通信的正确率。具有操作简单、大高效、通信可靠等优点。由于 Mo b s d u协议已成为一个国

组态软件 O C接口 P

客户应用程序

O C接口 P

际通信标准,到了国际上大多数工控产品生产厂家得的支持,通信协议已广泛应用于机械、该水利、电力、环保等行业设备中。11传输物理层 .

Mo b s准的物理层可以采用 R 2 2串行通信 du标 S3方式 .定义了连接器的引脚、它电缆、号位、输波信传

终鬯- J曲线 置端 兰M。 ! 1电! _。总终¨ ._ 皇萼一

特率、奇偶校验等内容。在长距离通信中通常采用 R 4 5网络。通信介质采用屏蔽双绞线, S8通信距离可达 1 0 m。传输线上的信息交换是半双工的, 00即同时只能有一台设备允许发送信息,主站在发送下一条指行位移并进行 X R(或 )算,到 2字节的 C O异计得 RC码。校验码在信息帧作为一连续的流进行传输。从站图 l系统的总体结构

令之前要等待从站设备回应,从而避免了线路的冲突。12传输模式 .

在收到该信息帧时按同样的方式进行计算 .并将结果同收到双字节校验码比较,如果一致就认为通信正

Mo b s通信有两种模式:S

I模式和 R U模 du A CI T

确,则认为通信有误,站将发送错误应答。否从2方案设计

式。在 A C I输模式中,息中的每个 8位字节都 S I传消作为两个 A C I符发送。这两部分各含 4位,后 S I字然

系统的总体设计方案如图 2所示。由于大多数组态软件不支持 C N总线, A因此组态软件和 C N总线 A数据交换通常采用 D E方式和 O C方式。笔者采用 D P

转换成十六进制等量值。用以构成报文的 A CI S I字符。A C I式使用的字符虽是 R U模式的两倍, S I模 T但 A C I据的译码和处理更为容易一些,用 A C I S I数 S I模式,符之间可产生长达 l的间隔,字 s以适应速度较快

Z GC N接口卡和 Z P E V R, O C方式实现 L A O CSR E以 P组态软件与 C N总线的数据交换。连接在计算机网 A

的机器。对于通信数据量小而且实时性要求不高的场合.通常采用 A C I式。在 R U模式中, S I模 T每个 8位字节包含两个 4位的十六进制字符,在通信过程中,

络中的其它客户端应用程序也可以通过 O C接口访 P问现场的数据,方便地实现数据的远程监控。在整很个控制系统中, A C N现场总线作为上层监控网络,上位机通过 C N接口卡与 C N总线上的各个节点连 A A接 . d u总线作为应用设备层网络 .于连接 Mo. Mo b s用 d

报文字符以连续数据流的形式传送,对于数据通讯量较大且实时性要求高的场合,通常采用 Mo b sR U d u T 模式。在一个 M d u通信系统中只能选择一种模式, o bs

bs仪表设备、支持 Mob s议的变频器等,通过 u du协C N转换器实现 Mo b s总线到 C N现场总线的转 A du A

不允许两种模式混合使用。主站一次可向一个或所有从站发送通信请求 (指令 )主设备通过消息帧的地或,址域来选通从设备。消息帧的格式为:起始标志+站从地址+功能码+数据域(起始地址、据量、据内容1据数数 +验码+校结束标志。从站应答的信息内容和顺

换。从而实现上位机监控软件对 Mo b s总线网络的 du各设备进行配置和数据监控踊。

此系统具有开发成本低、用灵活、于管理等特点。应易

序与主站信息帧基本相同,站应答的数据域从内容依据功能码进行响应。l3错误校验方法 -

M d u通信的两种模式的错误校验方法 o bs

不同, A C I式中采用 L C(向冗余检在 SI模 R纵测 )验,体的方法是将消息域中的地址域、能校具功码、据域的所有 8位的字节数据连续累加 .考虑数不进位。得到 2字节的 L C码。在 R U模式中采用 R T

图 2转换器的硬件结构原理图

21转换器硬件总体设计 .

在整个 C N监控网络系统中,该转换器作为一 A

个 C N从站节点,外一侧,转换器通过 R 4 5网 A另该 S8络与 Mo b s d u从站设备连接,组成 Mob s d u总线网络。 负责向 Mo b s站设备发送的 Mo b s信报文并 du从 du通

C C( R循环冗余检测 )验。具体的方法是将信息域中校地址域、能码、据域的所有字节按规定的方式进功数一

5一 O

Modbus

维普资讯

总第 4 3卷第 4 0期 9 20 o6年第 1 O期

电测与仪表El cr c l Me s r me t& I sr me t t n e tia a u e n n tu n a i o

Vo . 3 14 NO4 0 .9

0c .2 o 【 o6

等待接收响应报文。图 3为 C N总线协议与 Mo b s A d u协议的转换器硬件结构原理图 .主要包括 C N总线 A接口设计和 Mo b s口设计。 du接2 C N总线接口设计 . 2 A

软件设计主要包括 C N总线通信软件、串口通信软 A件和协议转换过程。其中关键问题是转换原理的实现。 3 1 Mo b s协议分析 . du

C N总线控制器种类很多, A笔者采用 P II S公 H LP

在 Mo b s信协议的两种报文模式中。 S I模 du通 A CI式的报文以冒号“”始,:开以两个回车换行符结束 .中间的信息为 Mo b s议的内容,络上的 Mob s du协网 d u设备不断检测“”符,:字当有一个冒号接收到时,每个设备都解码地址域来判断是否发给自己的。报文中字符间的发送时间间隔最长不能超过 1,则接收设备认 s否

司的 C N控

制器芯片 SA10。S A10 A J 0 0 J 0 0既支持C N .A协议,支持 C N .B协议, ai A A 20也 A 20 B s C N工作 c

于 C N .A协议, eiA A 20 P l N工作于 C N .B协议。考 C A 20虑到系统的应用节点不多,笔者采用了 B sc C N工 ai A 作模式。C N总线的驱动器采用 P F 2 2 0,是协 A C 8C5它

议控制器和物理传输线路之间的接口芯片,此器件对总线上的数据提供差动发送能力,对 C N控制器提 A供差动接收能力。有抗瞬间干扰、具降低射频干扰、热保护、路保护能力。为提高系统的抗干扰性能和安短全性能。采用高速光电耦合器 6 3 N17隔离控制器和收发器。微控制器采用 A 8 S 2具有内部看门狗定时 T95,

为是传输错误。在以 A CI S I模式传输过程中。件编软程相对比较简单。R U模式的报文则以传递一段空 T闲时间开始,以一段空闲时间结束。在 R U模式编程 T下需要注意的是:在完整的一帧消息开始传输时 .必须和上一帧消息之间至少有 35个字符时间的间隔 . . 这样接收方才能将该帧作为一个新的消息帧接收。另

器,可有效保证程序稳定运行,内部具有 8 K的 Fah ls R m,持 IP在线编程, o支 S可方便的对转换器进行软件升级。通过拨码开关可设定 C N总线的节点号和通 A信波特率。C N总线 A

外,一帧消息中传输的每个字符之间不能超过 1 . 5个字符时间的间隔,则该帧将被视为无效帧,接收否但

方将继续等待和判断下一次 35个字符的时间间隔之 .后出现的新一帧消息并进行相应的处理。在 R U模 TMO B D uS总线

式下, 1个字符时间 T 和用户设定的波特率有

c主l A站 N

CN@X ̄ A

N

s输入数据区

 ̄ MD S站 OB从 U ̄ O U从 D S站 B

关,算公式如下:计

塑Pc输数区 MU I出据 O S D ̄ B

N爿 塑=垄}:

T Ix/ a,其中bt= l lbt e a a为用户设定的波特率。 通过单片机中的定时器可实现对时间的设定和

图 3 C AN与 Mo b s转换原理 du

23 Mob s口

电路 . du接

判断。在软件编程的时候一般取 4 T的时间标志为报文的开始,并以同样 4 T的时间标志来表示报文的结束,一个新报文可在此时间间隔后开始,这样 R U模 T式可实现数据连续传输,传输速度比 A C I式要 S I模快Ot .。笔者在污水处理控制系统中用的 Mob s, l d u从站设备均支持 Mo b s R U模式。因此软件编程采用了 d u T

在污水处理控制系统中采用的 Mo b s备主要 du设有浊度检测仪表、氧量检测仪表、 U一 0 0系列模溶 D T 10块和变频器。变频器采用台达的专门用于风机变频的 V D 5 F型号。这些 Mo b s F 05 d u设备都具有 R 4 5通信 s8接口。因此, d u通信物理层采用 R 4 5总线网 Mo b s S8络。R 4 5串行总线标准接口的收发信号是由 2条信 s8号线的差分传输实现的,效地避免干扰。由于现场有

R U模式的 Mob s T d u通信协议,它的命令帧报文格式如表 1。表 1 R U报文格式 T起始标识码T+2 T+4 1T+ 3 T

的 Mobs备是半双工通信方式,因此微控制器的 du设串行接口选用 MA 4 5芯片,通信波特率设为 X8 9 0 B S每台设备设定唯一的节点地址,现对不同 60 P。实

地址域8位

功能域数据域8位 N X8位

校验域1位 6

结束标识码T+2T+4 IT+ 3T

设备的控制。用了高速光电耦合器 6 3采 N17隔离微控制器与 Mo b s d u总线,提高系统的安全性和抗干扰能力。

应答帧数据的格式和命令帧格式定义相同 .各其部分的功能定义如下: ( )地址域 1地址域为被查询的从节点的地址 .有效地址范其

3软件设计转换器需要完成对报文的接收、协议转换和发

送,实现不同通信协议的网络之间的互连。转换器的

围是 0 2 7 0表示以广播形式通信:—4,一

51—

Modbus

维普资讯

总第 4 3卷第 4 0期 9 20 0 6年第 1 0期

电测与仪表El cr c l e ti a Me s r me t& I sr me tto au e n n tu n a i n

V0.3 1 No4 0 4 .90c .2O 6

t O

( )功能域 2

协议命令字节需要两次传输完毕。转换器在接收数据时 .先要检测该索引字节,后,首然再根据索引字节读取数据存入 C N输出数据区中。在微控一次从 C N A A主站接收完整的 Mob s文后,进行 C N和 Mo— du报 A d b s出数据区的数据交换。同时计算该帧报文 C C u输 R校验码 .后写入到 Mo b s出数据区。在 Mo b s然 du输 d u输出数据区内是一个完整的、准的 Mo b s R U模标 d u 1式的报文内容。 在完成一次 C AN和 Mo b s出数据区的数据 du输

8位功能域的有效数据范围是 1 2 5 - 5,用于说明

从节点要完成的功能。例如 0代表读取输出状态,2 1 0代表读取输入状态,3代表读寄存器数据;6代表设 0 0

置单个寄存器,于设置从设备的某个运行参数。其用他功能域的具体的定义参看 Mo b s d u协议说明。当从站设备做出回答响应时,使用功能代码指示是正常响应还是异常响应,于正常响应,对从设备响应相应的功能代码 .于异常响应,对从设备返回正常功能代码的最高位置 1的代码; ( )数据域 3数据域包括本数据域中的字节数量、存器首地寄址或具体的数据。根据不同的功能码,据域的数据数结构也不同。正常响应时,数据域包含主设备的请求的数据。异常响应时,数据域中包含了错误代码,主站设备根据错误代码作相应的处理;( )校验域 4

交换后,微控制器顺序从 Mo b s出数据区取出 du输Mob s文 .并将报文数据通过微控制器的串口发 du报

送到指定的 Mo b s设备中。然后微控制器等待接 du从收 Mo b s站设备的回答报文。需要注意的是从站 du从设备回答时间不得超过 5 0。若无回答,需要从 0 ms则新发送 .连续三次都没接收到回答报文,认为从设则

备出现通信故障。将通信故障代码写入到 Mo b s d u输入数据区。如果有回答报文,当接收完毕回答报文则后 .对回答报文进行 C C校验,要 R如果 C C校验错误 R或 Mo b s设备返回了错误回答报文,将错误标志 du从数据和错误回答

报文写入到 Mob s入数据区。如 du输果 C C校验正确且回答报文正确 .明对 Mo b s从 R说 du设备操作成功,如果是“ ( 1 0 H、3 0 H )功读 0 H、2 0 H、4”能 .将成功标志数据和回答报文中数据域内容写入则到 Mob s d u输入数据区。如果是“ (5 0 H、 F 写 0 H、6 0 H、 1H)功能,只将成功标志数据写入到 Mo b s输 0”则 du

Mo b s通信协议的 R U模式采用 C C循环冗 du 1 R余校验。用于存放校验结果的两个字节数据。32协议转换原理 .

笔者设计的转换器只实现了 Mo b s议中定义 du协

的部分功能。支持使用命令字节 0 H、2 0 H、 4 1 0 H、 3 0 H、 0 H、6 0 H、0功能代码。其转换原理是: 5 0 H、 F 1 H在C N转换器中微控制器的 R A AM中建立 C AN数据区

和 Mo b s据区, A du数 C N通信数据分为输入和输出数据。AN主站与转换器的通信数据都存储在这个数据 C区中,通过 C N总线与 C N主站进行数据通信, A A Mo b s信数据也分为输入和输出数据,写入 ( du通如0 H、6 0 H、0功能 ) d u 5 0 H、F 1H Mo b s从站的数据为 Mo b s出数据, C N的输出数据对应。从 M d du输与 A o— b s站读回( 0 H、2 0 H、 4功能 ) u从如 1 0 H、3 0 H的数据为 Mo b s入数据, C N的输入数据对应。 du输与 A 由于 C N总线协议中只定义 O I考模型中的 A S参

入数据区。在微控制器完成一次 Mob s d u通信后,对要Mo b s与 C N输入数据区数据进行一次数据交换。 du A 转换器将 C AN输入数据区的数据发回到 C N主站。 A

C N主站要对错误信息进行相应的处理。 A这样就完成了C AN协议到 Mo b s议的转换。如图 4所示转换 du协器的软件基本流程图。系统初始化包括 C N总线初 A

始化和串口通信初始化。接收数据采用查询方式。4结束语

物理层和数据链路层 .有定义应用层协议 .没即没有定义数据帧中数据的应用功能 .而 Mo b s d u协议实现了应用层的定义。因此,转换器要按

Mo b s议中的 du协报文数据的含义对 C N总线报文数据场中的各数据 A定义功能,该转换器从 C N主站接收到命令报文数 A

Mo b s通信协议是一个国际通用的工业标准 . du 采用 M d u协议的设备凭借其独特的技术、良好的 ob s兼容性以及卓越的产品质量,工业控制领域应用非在常广泛。结合先进的 C N现场总线技术 .转换器已 A本应用在污水处理监控系统中 .实现了对 Mo b s检测 du仪表、 U一 O o系列模块和台达 V D 5 F型号变频 D T 10 F 05

据存放在 C AN输出数据区中。由于 C N总线传输的 A数据长度最大为 8个字节,对于 Mo b s d u协议需要传输的数据长度大于 8字节时, A个 C N总线采用分次传

器的控制。际应用表明,实系统具有性价比高、运行可靠、展性好、扩使用灵活等特点。本文所阐述的应用方法也可为其它的工控领域提供参考。参考文献【】李正军 .场总线及其应用技术『 . 1现 M1机械工业 H版社2o 5{ o.

输,在 C N总线报文中数据区的第一个字节定义一 A个索引字节,用于标记该报文是第几次报文,表 0代 Mo b s议命令字节一次传输完毕 .代表 Mo b s du协 1 d u一

5一 2

Modbus

维普资讯

总第 4 3卷第 4 0期 9 20 0 6年第 1 O期

电测与仪表E e t ia a u e n& I sr me t to l c rc l Me ̄ r Me t n tu n ai n

Vo . 3 No 4 0 1 .9 4 Oc .2 6 t 0D

订阅江苏电器 )杂志 )

( (江苏电器》是以通用电器与应用

请到当地邮局

技术并重为特点,双月刊,面向国内外公开发行的科学技术类期刊。《苏电江 器》18年创刊,由苏州电器科学研究 91 所主办。是 C NKI中国期刊全文数据库收录期刊、中国学术期刊综合评价数据库来源期刊 .中国核心期刊 (遴选 )数据库收录期州。 主要刊登高低压电器、高低压成套开关设备和控制设备、计算机应用等方面 的科研设计、新技术、新工艺、新材料等的技术论文、术报告和技术交流 2 0年增页至 6页技 07 4方面的

文章。 (定价不变) 本刊内容丰富,兼顾提高与普及、实 定价:元/期 5用性强,是电器行业、大专院校及相关全年:0 3元行业科技人员的良师益友和技术交流平 (含邮资) 台,深受广大读者喜爱。主编:胡德霖中国标准连续出版物号I SSN1 7. 75 00 31

“电功率、电能测量技术及测量仪表文集"订征本“文集”反映了我国电能测试技术与仪器仪表的发图 4转换器的软件流程图【】林中一,新亚,迎春 .压电机保护群控系统中基于 C N总线 2孙李低 A

展历程,示了目前电能测试技术新的水平,电能计展对

量、测试、管理人员;电能仪表设计、造、产、用对制生使人员;电度表校验装置的设计、造、用人员及仪对制使器仪表采购人员都是一本实用的参考资料,具有随时查阅和保存的价值。“集”文收工本费 3 5元 .汇款地址如下,注明汇款人详细地址,编 (编请写在汇款请邮邮人地址后面 )以便您能及时的收到“,文集”。联系电话:4 l 8 6 1 2 o 5一 6 10 1传真:4 1 8 6 3 3 0 5- 694 4H t Hwww.mi gc r t p: e ma .o n E- a l d y m i: c b@e ma .o mi g c r n

的数据通信岍.电器, 0 530:— 0继 20, ) 7 5 . 3 4【】李喜东,波涛,刚 . d u TJ串行通讯协议在工业现场的应 3刘刘 Mob sR I

用叨.自动化技术与应用,20, () 74 . 0 5 47: - 0 2 3【】袁飞,恩 .于 Mob s规约的智能仪表与 P机通信技术实现 4程基 du C

【. J微计算机信息,2 0,09:6 5 .】 0 42 () - 7 5作者简介:

杨艳民 (9 2,士研究生,究方向为污水处理控制系统,电一 1 8一)硕研机体化 王学俊,,男副教授,士生导师,要研究方向为污水处理控制系统,硕主 机电一体化。 杨林,,国博士后,授,士生导师,要研究方向为污水处理男归教硕主工艺研究、瓷材料研究。陶 收稿日期:0 6 0— 2 2 0 - 5 1

邮局汇款请寄:哈尔滨市哈平路 1 8号 (5 0 1 2 10

8 )

《电测与仪表》志社 ( )杂收一

(丘源编发 )5— 3

本文来源:https://www.bwwdw.com/article/m5g4.html

Top