利用MODBUS提高多CPU协同开发效率
发布时间:2008/5/27 0:00:00 访问次数:424
1 th21-4m电动机综合保护装置的特点
th21-4m电动机综合保护装置综合保护功能以外,兼有测量、远动和通信的功能;大屏幕的汉字液晶显示,可以实现友好的人机界面;利用can总线,与监控主机进行通信,从而构成分级分散式的变电站综合自动化系统的子系统。
在设计上,由于装置需要实现多任务,为了优化系统功能,采用了多cpu的系统结构。其中一个cpu负责定时采样脉冲发送;主cpu模块负责数据处理、电量计算、故障判断和开关操作;而板模块上cpu负责人机交互,并实现与主保护模块和监控主机的通信任务。各个cpu模块有明确的任务分工,研制时也容易实现多人协同开发。在整个构成中,串行通信沟通了主cpu和面板cpu,使人机交互成为可能,因而点有重要的地位。建立合理的通信机制则是串行通信部分的核心的所在,它决定着通信的协调性和系统开发后期调试的效率。
2 通信机制介绍
2.1 通信机制硬件设计原理
本系统通信机制的提出以高效、可靠为目的。rs-485为半双工结构,现场中比全双工往往更接近于实用,在此采用只有2条信号线的最简型连接。系统接口电路图由图1所示。主保护模块上的80c196单片机输出的ttl逻辑电平通过光电隔离后,由max485芯片转换为rs-495电平,再由面板模块上的max485芯片转换为ttl逻辑电平,由80c31单片机读取;以之亦然。在80c196单片机一侧,使用并行输入输出口2(io_port2)的一位p2.7对max输入使能端re、输出使能端de进行控制。由图1可知,当p2.7输出高电平时,re使能,单片机一侧接收数据;当p2.7输出低电平时,de使能,单片机一侧发送数据。这样,避免了盲目发送造成的数据叠加丢失现象,通信质量高,通信速度也能得到保证。
2.2 通信协议介绍
为了保证保护装置中两个模块之间能够正确地传递数据,必须有一套关于信息传输的模式、数据格式和内容等的规定,即规约[1]或通信协议。虽然保护装置内部的通信相对简单,两具模块之间传递的数据也不是很多,但是自定义内部通信协议的弊端是很明显的。首先,自定义通信协议很难在时序、任务的协调上配合得很好,数据传送的可靠性也难以保证;首次,由于没有现成的较成熟的调试软件,主cpu模块基本是黑匣子,系统联调时的困难较多且难以克服。因此,采用了当前流行的modbus通信协议,并结合本装置的特点加以简化,从而实现了模块间的通信,事实证明效果很好。
modbus的通信方式为主从方式[2]。主方首先向从方发送通信请求指令,从方根据请求指令中的功能码向主方发回数据。每个从方都有自己独立的地址。主方所发的请求帧和从方所发的应答帧都是以从方地址开头的。从方只读发给自己的指令,对以其他从方地址开头的报文不作应答。这种一问一答的通信模式,大大提高了通信的正确率。但对于微机保护来说,该主从方式也存在着弊端,即当保护主模块进行保护动作后,无法立刻向上位机传送故障信息,只能由上位机不断向保护主模块询问保护是否动作,若有,则再进一步要求具体故障信息。
modbus有rtu(remote terminal unit)和ascii两种传送方式。为了保证较高的通信速度,采用了rtu方式,数据字节无奇偶校验位,加上起始、终止位后字节长度为10bit,数据间隔在24bit以内,采用循环冗余检验方式对报文进行校验。
modbus典型的报文格式如下:
一个通信报文的具体内容取决于该指令字符串的功能
1 th21-4m电动机综合保护装置的特点
th21-4m电动机综合保护装置综合保护功能以外,兼有测量、远动和通信的功能;大屏幕的汉字液晶显示,可以实现友好的人机界面;利用can总线,与监控主机进行通信,从而构成分级分散式的变电站综合自动化系统的子系统。
在设计上,由于装置需要实现多任务,为了优化系统功能,采用了多cpu的系统结构。其中一个cpu负责定时采样脉冲发送;主cpu模块负责数据处理、电量计算、故障判断和开关操作;而板模块上cpu负责人机交互,并实现与主保护模块和监控主机的通信任务。各个cpu模块有明确的任务分工,研制时也容易实现多人协同开发。在整个构成中,串行通信沟通了主cpu和面板cpu,使人机交互成为可能,因而点有重要的地位。建立合理的通信机制则是串行通信部分的核心的所在,它决定着通信的协调性和系统开发后期调试的效率。
2 通信机制介绍
2.1 通信机制硬件设计原理
本系统通信机制的提出以高效、可靠为目的。rs-485为半双工结构,现场中比全双工往往更接近于实用,在此采用只有2条信号线的最简型连接。系统接口电路图由图1所示。主保护模块上的80c196单片机输出的ttl逻辑电平通过光电隔离后,由max485芯片转换为rs-495电平,再由面板模块上的max485芯片转换为ttl逻辑电平,由80c31单片机读取;以之亦然。在80c196单片机一侧,使用并行输入输出口2(io_port2)的一位p2.7对max输入使能端re、输出使能端de进行控制。由图1可知,当p2.7输出高电平时,re使能,单片机一侧接收数据;当p2.7输出低电平时,de使能,单片机一侧发送数据。这样,避免了盲目发送造成的数据叠加丢失现象,通信质量高,通信速度也能得到保证。
2.2 通信协议介绍
为了保证保护装置中两个模块之间能够正确地传递数据,必须有一套关于信息传输的模式、数据格式和内容等的规定,即规约[1]或通信协议。虽然保护装置内部的通信相对简单,两具模块之间传递的数据也不是很多,但是自定义内部通信协议的弊端是很明显的。首先,自定义通信协议很难在时序、任务的协调上配合得很好,数据传送的可靠性也难以保证;首次,由于没有现成的较成熟的调试软件,主cpu模块基本是黑匣子,系统联调时的困难较多且难以克服。因此,采用了当前流行的modbus通信协议,并结合本装置的特点加以简化,从而实现了模块间的通信,事实证明效果很好。
modbus的通信方式为主从方式[2]。主方首先向从方发送通信请求指令,从方根据请求指令中的功能码向主方发回数据。每个从方都有自己独立的地址。主方所发的请求帧和从方所发的应答帧都是以从方地址开头的。从方只读发给自己的指令,对以其他从方地址开头的报文不作应答。这种一问一答的通信模式,大大提高了通信的正确率。但对于微机保护来说,该主从方式也存在着弊端,即当保护主模块进行保护动作后,无法立刻向上位机传送故障信息,只能由上位机不断向保护主模块询问保护是否动作,若有,则再进一步要求具体故障信息。
modbus有rtu(remote terminal unit)和ascii两种传送方式。为了保证较高的通信速度,采用了rtu方式,数据字节无奇偶校验位,加上起始、终止位后字节长度为10bit,数据间隔在24bit以内,采用循环冗余检验方式对报文进行校验。
modbus典型的报文格式如下:
一个通信报文的具体内容取决于该指令字符串的功能
上一篇:怎样选择嵌入式媒体处理器