法律状态公告日
法律状态信息
法律状态
2016-05-04
授权
授权
2013-03-20
实质审查的生效 IPC(主分类):H04L12/40 申请日:20121015
实质审查的生效
2013-02-13
公开
公开
技术领域
本发明涉及工业现场总线通信技术领域,实现了一种支持RS485&Modbus多主站数据采集的通信转换器。
背景技术
Modbus串行协议最初由Modicon公司在1979年提出的,是全球第一个真正用于工业现场的总线协议,现在已经是工业领域全球最流行的通用工业标准协议之一。
Modbus串行通信使用主-从技术,即在一条RS485&Modbus总线上仅允许存在一个主站点与多个从站点间进行数字通信,Modbus的这种主-从通信协议决定了在任何时刻只能存在一个主站进行数据采集。
在工业生产过程控制或数据采集系统中,如不同的DCS系统,PLC系统等,多个主站点需要同时从一条RS485&Modbus总线上采集数据的情况很多,解决这种问题目前普遍的做法是让一个站点作为主站点,在其采集数据后,再经通讯发送到其它站点。但这种方法不能避免数据在中间环节会被人为篡改,无法保证数据的原始性和真实性,难以在对数据原始性和真实性要求很高的场合(如海关监管)应用。因而开发能够实现RS485&Modbus多主站数据采集的通信转换器,具有极高的应用价值。
发明内容
本发明提供的一种多主站RS485&Modbus数据采集设备,它能够实现多个主站同时采集一条RS485&Modbus总线上的数据,采用通用的硬件接口电路,具有实时性强、使用灵活等特点。
为达到上述目的,本发明提供的一种支持RS485&Modbus多主站数据采集的通信转换器,它包括:ARM微处理器、电源/复位电路、备用链路、UI电路、SDRAM、NORFLASH、第一RS485&Modbus接口、第二RS485&Modbus接口和第三RS485&Modbus接口,所述的电源/复位电路的信号输出端与ARM微处理器的信号输入端相连,ARM微处理器的信号输出端与备用链路的信号输入端相连,ARM微处理器还与 UI电路、SDRAM、NORFLASH、第一RS485&Modbus接口、第二RS485&Modbus接口和第三RS485&Modbus接口相连接,其中第一RS485&Modbus接口和第二RS485&Modbus接口分别用于与两主站相连,第三RS485&Modbus接口与现场仪表总线相连,所述的ARM微处理器包括:配置文件模块、从站A模块、从站B模块、采集数据模块、采集管理模块、Modbus协议栈模块和主站模块,所述的从站A模块和从站B模块分别与第一RS485&Modbus接口和第二RS485&Modbus接口相连,从相应的主站采集命令信号,并将该命令信号下发到采集管理模块,采集管理模块将命令信号下发到主站模块,主站模块将采集到的命令信号通过第三RS485&Modbus接口下发到各个仪表,并从仪表读取相应的请求数据,仪表数据通过采集管理模块返回给采集数据模块,采集数据模块将返回的仪表数据写入对应的从站数据区。
一种支持RS485&Modbus多主站数据采集的通信转换器,它是通过如下步骤来实现的多个主站同时采集一条RS485&Modbus总线上的数据的:
A、 设备上电,电源/复位电路提供设备工作所需各路电源,运行NORFLASH中所固化软件代码,复位并运行系统;
B、 系统正常运行后,通过计算机对设备进行基本参数配置;
C、 配置成功后,从站模块A与从站模块B通过不断读取其所对应的RS485&Modbus接口数据,来检测所对应主站是否有命令下发;
D、 若检测到主站A或主站B有数据下发,则将该数据接收后,存放于SDRAM,调用Modbus解析模块,根据《GBZ 19582.2-2004 基于Modbus协议的工业自动化网络规范》对该数据进行解析,若该数据为合法Modbus命令,则将该指令转发至采集管理模块,并等待该命令响应帧;若检测到主站A和B同时有数据下发,则根据系统设置的优先级来决定读取的先后顺序;
E、 采集管理模块将从站模块A与从站模块B所下发Modbus命令转发至主站模块,并等待主站模块返回该命令响应帧;
F、 主站模块将从采集管理模块获取的Modbus命令下发至仪表,等待仪表响应后,从仪表读取该Modbus命令的响应帧,根据《GBZ 19582.2-2004 基于Modbus协议的工业自动化网络规范》所规定校验方法对该响应帧校验成功之后,将此Modbus命令响应帧发送至采集管理模块;
G、 采集管理模块将所读取Modbus命令响应帧发送至此帧所对应的从站模块;
H、 从站模块A与从站模块B将Modbus将响应帧发送至各自相应的Modbus主站,并继续检测对应主站是否有命令下发,返回步骤D。
所述的备用链路包括监控电路和继电器,所述的监控电路的信号输入端与ARM微处理器的信号输出端相连,监控电路的信号输出端与继电器的线圈a相连,继电器的常开触点b分别与ARM微处理器和第三RS485&Modbus接口相连接,继电器的常闭触点c分别与第一RS485&Modbus接口和第三RS485&Modbus接口相连结,当系统异常时,ARM微处理器无信号输出,线圈a断电,常开触点b断开,常闭触点c闭合,现场仪表总线与主站A直接相连,保证数据的正常采集。
所述的UI电路上设置有指示灯,系统配置成功后,UI电路通过该指示灯通知用户配置成功。
所述的ARM微处理器采用的是AT91RM9200芯片。
ARM微处理器负责整个通信转换器的监督与控制;
电源/复位电路为通信转换器提供电源与复位逻辑,其中复位电路在转换器系统崩溃时实现外部复位功能;
备用链路在通信转换器故障时,直接把与仪表通信的RS485&Modbus 接口的两根连线,通过中间继电器的一对常闭触点,自动切换至与主站设备通信的RS485&Modbus接口的总线上,提供临时应急通信措施;
UI电路为用户提示设备运行时的各种工作状态;
SDRAM为系统运行提供内存空间;
NORFLASH作为外部存储器,为系统固化代码、掉电保存数据提供存储空间;
第一RS485&Modbus接口和第二RS485&Modbus接口负责与两个主站设备通信,第三RS485&Modbus接口负责与远程仪表通信;
配置文件模块用于配置设备文件,配置文件包括仪表接口参数,转换器主口参数,转换器从口参数等,配置文件烧录到NORFLASH中保存;
采集数据模块存储主站模块所采集的数据;
采集管理模块管理从站A模块和从站B模块下发的Modbus采集命令,并且管理主站采集的数据,更新采集数据模块内的数据;
Modbus协议栈模块解析Modbus主站模块以及从站A模块和从站B模块的通讯协议;
主站模块采取的是线程不断轮询从站A与从站B的命令区;若发现命令区中存在有效命令,则将此命令下发至Modbus总线;在读取到正确仪表数据后,将返回仪表的数据写入对应从站的数据区。
本发明利用硬件电路和软件电路相结合的方法实现了多主站的RS485&Modbus数据采集,具体而言,本发明具有以下有益效果:
1.实现了两个Modbus主站同时采集一条RS485&Modbus总线上的数据的功能,保证了每个站点采集数据的原始性和真实性,防止数据在中间环节被人为篡改。
2.实现了在通信转换器自身故障情况下,通过备用链路实现自动切换到主站的功能。
附图说明
图1为支持RS485&Modbus多主站数据采集的通信转换器应用系统的结构示意图。
图2为支持RS485&Modbus多主站数据采集通信转换器的模块结构图。
图3为支持RS485&Modbus多主站数据采集通信转换器的备用链路的结构示意图。
图4为支持RS485&Modbus多主站数据采集通信转换器的工作流程图。
具体实施方式
下面结合具体实例和附图,对本发明进行详细说明,本实施例中ARM微处理器采用AT91RM9200、SDRAM 采用K4S561632C、NORFLASH 采用28F128J3A。
如图1、2所示,一种支持RS485&Modbus多主站数据采集的通信转换器,它包括:ARM微处理器、电源/复位电路、备用链路、UI电路、SDRAM、NORFLASH、第一RS485&Modbus接口、第二RS485&Modbus接口和第三RS485&Modbus接口,所述的电源/复位电路的信号输出端与ARM微处理器的信号输入端相连,ARM微处理器的信号输出端与备用链路的信号输入端相连,ARM微处理器还与 UI电路、SDRAM、NORFLASH、第一RS485&Modbus接口、第二RS485&Modbus接口和第三RS485&Modbus接口相连接,其中第一RS485&Modbus接口和第二RS485&Modbus接口分别用于与两主站相连,第三RS485&Modbus接口与现场仪表总线相连,所述的ARM微处理器包括:配置文件模块、从站A模块、从站B模块、采集数据模块、采集管理模块、Modbus协议栈模块和主站模块,所述的从站A模块和从站B模块分别与第一RS485&Modbus接口和第二RS485&Modbus接口相连,从相应的主站采集命令信号,并将该命令信号下发到采集管理模块,采集管理模块将命令信号下发到主站模块,主站模块将采集到的命令信号通过第三RS485&Modbus接口下发到各个仪表,并从仪表读取相应的请求数据,仪表数据通过采集管理模块返回给采集数据模块,采集数据模块将返回的仪表数据写入对应的从站数据区。
本实施例中以集散控制系统(DCS)作为主站A,可编程控制器(PLC)作为主站B同时从现场仪表采集数据,仪表1、2 … N等一般为现场仪表,如温度传感器、压力传感器、液位传感器等。
如图3、4所示,当设备上电后,电源/复位电路为整个设备提供工作所需的各路电源同时复位整个系统,运行NORFLASH中所固化软件代码,运行系统。系统正常运行后,根据DCS、PLC以及仪表通讯相关参数,通过人机接口对设备进行基本参数配置,初始化三组RS485&Modbus总线的波特率、数据位、校验位、停止位等通讯参数,配置成功后,UI电路通过指示灯通知用户配置成功。
配置成功后多主站Modbus数据采集通信转换器中的从站模块A与从站模块B,通过不断读取其所对应的RS485&Modbus接口数据,来检测所对应主站是否有命令下发;若检测到主站A有数据下发,将该数据接收后,存放于SDRAM,调用Modbus解析模块,根据《GBZ 19582.2-2004 基于Modbus协议的工业自动化网络规范》对该数据进行解析,若该数据为合法Modbus命令,则将该指令转发至采集管理模块,并等待该命令响应帧;采集管理模块依次将从站模块A与从站模块B所下发Modbus命令转发至主站模块,并等待主站模块返回该命令响应帧;主站模块将从采集管理模块所获取的Modbus命令下发至仪表,等待仪表响应时间之后,从仪表读取该Modbus命令之响应帧,根据《GBZ 19582.2-2004 基于Modbus协议的工业自动化网络规范》所规定校验方法对该响应帧校验成功之后,将此Modbus命令响应帧发送至采集管理模块;采集管理模块将所读取Modbus命令响应帧发送至此帧所对应的Modbus命令下发从站模块;从站模块A与从站模块B将Modbus响应帧发送至各自Modbus主站设备(DCS与PCL),并继续检测对应主站是否有数据下发。
备用链路包括监控电路和继电器,所述的监控电路的信号输入端与ARM微处理器的信号输出端相连,监控电路的信号输出端与继电器的线圈a相连,继电器的常开触点b分别与ARM微处理器和第三RS485&Modbus接口相连接,继电器的常闭触点c分别与第一RS485&Modbus接口和第三RS485&Modbus接口相连结。当系统正常工作时,备用电路中的继电器的常开触点b处于闭合状态,常闭触点c处于断开状态;当系统工作异常时,备用链路中的监控电路接收不到来自ARM微处理器的信号,线圈a断电,继电器的常开触点b断开,常闭触点c闭合,使主站A与现场仪表总线直接连接,保证主站A所对应的DCS设备正常工作,实现数据的正常采集。
机译: 在移动无线网络中支持文本消息通信的模块使用文本到语音转换器进行语音输出,使用语音到文本转换器进行语音输入和检测
机译: 支持设置规则自动控制的双向通信和嵌入式功能的智能LED照明电源转换器
机译: 在支持无线电接口的分组交换通信网络内进行代码转换器选择和代码转换数据的方法和装置