MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间 的协议转换方法和装置 【技术领域】
本发明涉及到两种工业通信网络协议MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换方法和装置。
背景技术
现场总线是用于生产制造现场的最底层通信网络,它实现了微机化的现场测量控制仪器或设备之间的双向串行多节点数字通信。它的出现改变了传统现场仪表装置与主控系统点对点的联系方式,大量节省现场布置线缆:同时由于现场仪表装置的智能化,把部分主控系统的功能直接下放到现场仪表和装置中,强化了现场控制功能,使控制更加直接、可靠,且大大简化了主控系统的结构,节省工程设计及施工费用。国际电工委员会(IEC)于2000年公布通过了IEC61158现场总线标准,容纳了8种互不兼容的控制层协议,2003年的新版本进一步达到了10种现场总线标准。现场总线具有实时性、稳定性高的特点,但是传输速率与传输距离成为瓶颈问题。如PROFIBUS-DP采用RS485传输技术,传输速率可选用9.6kbps~12Mbps,最大传输距离在12Mbps时为100m,1.5Mbps时为400m。这就遏制了现场总线的进一步发展。而且,现有的各种不同标准现场总线之间还存在着兼容性的问题。人们就需要解决如何能使不同的总线标准在系统中兼容。
随着控制技术、通信技术的飞速发展。特别是Internet技术的广泛应用,使得现场总线控制系统通过以太网与企业信息网集成实现工厂监控一体化成为大势所趋。将以太网技术与现场总线技术相结合,可以避免现场总线技术游离于计算机网络技术的发展主流之外,使现场总线技术和计算机网络技术的主流技术很好地结合起来,形成现场总线技术和一般计算机网络技术相互促进的局面。这将意味着可以实现自动化控制领域的彻底开放,,使自动化领域产生新的生机与活力。
费敏锐等人在2003年6月20日提交的发明专利“MODBUS/TCP工业以太网和设备网现场总线间的协议转换方法和装置”给出了一种MODBUS/TCP工业以太网和设备网现场总线间地协议转换方法和装置。方彦军等人在2003年11月6日提交的实用新型专利“现场总线协议转换装置”(申请号:200320120428.7)给出了一种PROFIBUS-DP与MODBUS现场总线协议之间的转换方法和实现装置。陈小枫等人在2003年9月11日提交的实用新型专利“连接高速以太网与PROFIBUS-DP/PA总线的现场总线网络互联单元”(申请号:03209404.3)给出了一种HSE高速以太网与PROFIBUS-DP/PA现场总线之间的协议转换方法和实现装置。但在已公布的专利文献中尚未有涉及到MODBUS/TCP工业以太网协议和PROFIBUS-DP现场总线协议之间协议转换方法和装置的内容。
【发明内容】
本发明的目的在于提供一种MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换方法和装置,既能满足底层设备网络实时性等要求,又能满足信息层网络高速率、大容量的需要。
本发明所涉及的PROFIBUS-DP符合EN50170欧洲标准且符合IEC1158-2标准,它是由西门子为主的十几家德国公司、研究所共同推出的,专为自动控制系统和设备级分散I/O之间通信设计,主要用于分布式控制系统的高速数据传输。它采用OSI模型中的物理层,数据链路层和包含了DP基本功能与DP行规的用户接口。MODBUS/TCP工业以太网协议是法国施耐德公司于1998年推出的。其物理层和数据链路层基于以太网,应用层的定义与MODBUS协议家族的其它协议通用。PROFIBUS-DP现场总线协议和MODBUS/TCP工业以太网协议在物理层采用不同的规范,在数据链路层采用不同的介质访问方式。MODBUS/TCP工业以太网协议基于功能码实现命令。为了实现两种协议的转换,协议转换方法和装置既要满足两种协议物理层和数据链路层的要求,又要能够对不同的应用层定义分别作出解释。
为了实现上述目的,本发明采用下述技术方案:
一种MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换方法,由工业以太网通信接口模块实现MODBUS/TCP工业以太网协议,由PROFIBUS-DP主站通行接口模块实现PROFIBUS-DP现场总线协议,其特征在于由微处理器中的软件建立统一的报文模型,实现MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换。
上述的统一的报文模型是:微处理器从工业以太网模块接收的报文分为六种,以不同的报文标识符标识:①PROFIBUS-DP网络配置报文:包含报文标识、节点地址、厂商号、产品类型、产品代码、通讯方式、在PROFIBUS-DP主节点通讯适配器模块双端口存储器输入区中的映射区、在PROFIBUS-DP主节点通讯适配器模块双端口存储器输出区中的映射区、结束标识符;②装置运行参数报文:包含报文标识、工业以太网接口模块双端口存储器输入区的空间、工业以太网接口模块双端口存储器输出区的空间、工业以太网接口模块初始化参数、PROFIBUS-DP主节点通讯适配器模块双端口存储器输入区空间、PROFIBUS-DP主节点通讯适配器模块双端口存储器输出区空间、PROFIBUS-DP主节点通讯适配器模块初始化参数、定时周期;③节点开/关报文:包括报文标识、节点地址标志区;④读节点状态报文:包括报文标识、节点地址标志区;⑤读过程数据报文:包括报文标识、节点地址标志区;⑥写过程数据报文:包括报文标识、节点地址、数据内容、结束标识符。微处理器向工业以太网接口模块写入两类报文:①从节点状态上传报文:包括报文标识、节点状态标志区;②从节点过程数据上传报文:包括报文标识、节点地址、数据内容,结束标识符。
上述的协议转换的步骤为:
(1)微处理器读取电可擦除存储器中运行参数,对协议转换装置初始化;
(2)等待工业以太网模块产生中断,微处理器获得PROFIBUS-DP网络组网信息,对PROFIBUS-DP网络组网;
(3)微处理器读取PROFIBUS-DP网络中各个从节点工作状态。
(4)等待中断,微处理器判断中断类别,并分别处理:
(a)若是工业以太网接口模块产生中断,根据报文标识符判断报文类型,分别进行处理;
(b)若是PROFIBUS-DP主节点通讯适配器模块产生中断,读取从节点过程数据并将该数据写入工业以太网接口模块。
(c)若是定时中断,读取各从节点工作状态并更新电可擦除存储器中的节点工作状态标识区。
(5)重复步骤(3)和(4),循环运行。
上述的协议转换装置初始化步骤为:微处理器从电可擦除存储器中取出预置的转换装置运行参数,包括工业以太网接口模块间的双端口存储器输入区和输出区的大小,工业以太网接口模块的初始化参数,微处理器与PROFIBUS-DP主节点通讯适配器模块间的双端口存储器中输入区和输出区的大小,PROFIBUS-DP主节点通讯适配器模块初始化参数,定时器中断的定时周期。然后微处理器根据获得的运行参数分别进行参数设置。
上述对PROFIBUS-DP网络组网步骤为:微处理器从工业以太网接口模块获得PROFIBUS-DP网络配置信息,判断是否全部帧都结束,如果没有结束,将当前帧暂存入静态存储器中;如果全部帧结束,更新电可擦除存储器,向该模块双端口存储器中的邮箱区写入配置数据;配置结束后中断返回。
上述的微处理器处理工业以太网接口模块产生中断的步骤为:微处理器读工业以太网接口模块双端口存储器的输出区,判断报文标识,作如下处理:
(1)如果是PROFIBUS-DP网络配置报文,则按对PROFIBUS-DP网络配置组网步骤处理;
(2)如果是更新协议转换装置运行参数报文,则首先更新电可擦除存储器,然后软复位协议转换装置,从电可擦除存储器中读出新的运行参数,对装置进行初始化,结束后返回;
(3)如果是节点开/关报文,则首先读电可擦除存储器,当节点状态位与报文中的对应位相同时执行开/关动作;当节点状态位与报文中的对应位不相同时不执行开/关动作;
(4)如果是读节点状态报文,则微处理器读电可擦除存储器,取出各状态标志,然后写入工业以太网接口模块的双端口存储器的输入区,结束后返回;
(5)如果是读从节点过程数据报文,则首先从静态存储器中读出该节点的过程数据,然后将从节点过程数据上传报文写入工业以太网接口模块中双端口存储器的输入区,结束后返回;
(6)如果是向从节点写过程数据报文,则根据节点地址号确定该节点在主节点通讯适配器模块输入区中的映射区,然后向该映射区写入过程数据。
上述的微处理器处理PROFIBUS-DP主节点通讯适配器模块产生中断的步骤为:微处理器PROFIBUS-DP主站通信接口模块双端口存储器中的邮箱区,判断是哪一个从节点的过程数据得到了更新,然后读PROFIBUS-DP主站通信接口模块双端口存储器中的输出区内与该节点对应的映射区,将读出的数据暂存入静态存储器的对应区域,并把从节点过程数据上传报文写入工业以太网接口模块双端口存储器的输入区,结束后返回。
一种MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换装置,其特征在于微处理器通过内部总线与工业以太网接口模块、PROFIBUS-DP主站通信接口模块和静态存储器连接,微处理器通过串行外围接口连接电可擦除存储器。
上述的工业以太网接口模块通过以太网接口连接以太网,该模块内双端口存储器分为三部分—输入区、输出区和信息区,经双端口存储器连接内部总线;PROFIBUS-DP主站通信接口模块通过现场总线接口连接PROFIBUS-DP现场总线,该模块双端口存储器分为三部分—输入区、输出区和信息区,经双端口存储器连接内部总线。
上述的微处理器采用数字信号处理器。
本发明实现了基于不同协议标准的工业以太网和现场总线之间的协议转换,既满足了设备层的要求,又实现了信息层和设备层的有机结合,提高了控制系统的灵活性和兼容性。
本发明与现有的技术相比,具有如下显而易见的突出特点和显著的进步:
(1)采用工业以太网接口模块,实现了MODBUS/TCP工业以太网协议。
(2)采用PROFIBUS-DP主站通信接口模块实现了PROFIBUS-DP现场总线协议。
(3)在以上两种模块的支持下,实现了MODBUS/TCP工业以太网和PROFIBUS-DP现场总线之间物理层和数据链路层之间的转换。
本发明实现了基于不同协议标准的工业以太网和现场总线之间的协议转换,既满足了设备层的要求,又实现了信息层和设备层的有机结合,提高了控制系统的灵活性和兼容性。
附图说明:
图1是本发明实施例的协议转换装置结构示意图。
图2是本发明实施例的报文模型。
图3是本发明实施例的主程序流程图。
图4是本发明实施例的装置运行参数初始化子程序。
图5是本发明实施例的PROFIBUS-DP网络配置子程序。
图6是本发明实施例的外部中断1处理子程序。
图7是本发明实施例的外部中断2处理子程序。
【具体实施方式】
下面结合附图对本发明的一个优选实施方式进行说明:
参见图1,本实施例的MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换方法是:采用工业以太网接口模块20实现MODBUS/TCP工业以太网协议,采用PROFIBUS-DP主节点通讯适配器模块12实现PROFIBUS-DP现场总线协议,由微处理器7中的软件建立统一的报文模型,实现MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换。
参见图2,上述统一的报文模型是:微处理器7(CPU)从工业以太网接口模块20接收的报文分为六种,以不同的报文标识(message ID)识别报文类型:
①PROFIBUS-DP网络配置报文中包含了针对各个从节点的配置信息。包括从节点的节点地址(MAC ID)、厂商号(vendor)、产品类型(product type)、产品代码(productcode)、与主节点的通讯方式、在输入区16和输出区14中开辟映射区的大小等参数。每一帧报文针对一个从节点配置信息,在最后一帧报文的末尾加上报文结束标识符,以便于CPU判断处理。
②装置运行参数报文中包含了装置初始化时需要的参数。包括CPU与工业以太网接口模块间的双端口存储器5中输入区19和输出区2的大小,对工业以太网接口模块的初始化参数;CPU与PROFIBUS-DP通讯适配器模块12间的双端口存储器17中输入区16和输出区14的大小,对PROFIBUS-DP通信接口模块初始化参数;定时器中断的定时周期等参数。
③节点开/关报文用来通知CPU关闭某些节点或重新启动某些节点,节点地址标志区中有8个字节,共64位,当某一位是1时表示关闭该位对应节点。当某一位是0时表示重新启动该位对应节点。
④读节点状态报文用来通知CPU上传某个或某些从节点的运行状态。节点地址标志区中有8个字节,共64位,当某一位是1时表示需要读取该位对应的节点状态。
⑤读过程数据报文用来通知CPU上传某个或某些从节点的过程数据。节点地址标志区中有8个字节,共64位,当某一位是1时表示需要读取该位对应节点的过程数据。
⑥写过程数据报文用来通知CPU向某个从节点写入过程数据。节点地址标识要写入的从节点的地址,然后是要写入的数据,最后是表示数据结束的标识符。CPU向工业以太网接口模块可写入两类报文:
①从节点状态上传报文用来上传各个从节点的工作状态,节点状态标志区中有8个字节,共64位,当某一位是0时表示该位对应的节点状态正常,当某一位是1时表示该位对应的节点状态异常。
②从节点过程数据上传报文用来上传某个从节点的过程数据,节点地址标识从节点的地址,然后是要上传的数据,最后是表示数据结束的标识符。
参见图3和图1,上述的协议转换步骤是:①微处理器7(CPU)首先从电可擦除存储器9中读出协议转换装置的运行参数,对装置21进行初始化。②然后等待由工业以太网接口模块20引起的中断,以获得对PROFIBUS-DP网络的组网信息,根据获得的信息对PROFIBUS-DP网络组网。③网络配置结束后,CPU读取各从节点的工作状态并存入电可擦除存储器9,然后进入正常运行状态。④等待中断产生,由工业以太网接口模块20引起的外部中断调用外部中断1处理子程序进行处理,参见图6;由PROFIBUS-DP通讯适配器模块12引起的外部中断调用外部中断2处理子程序进行处理,参见图7,由定时器引起的中断调用定时中断处理子程序进行处理。⑤处理结束后返回循环工作状态。
参见图4和图1,上述的装置21初始化步骤是:CPU首先从电可擦除存储器9中取出预置的装置运行参数,包括CPU与工业以太网接口模块20间的双端口存储器5中输入区19和输出区2的大小,对工业以太网接口模块20的初始化参数;CPU与PROFIBUS-DP通讯适配器模块12间的双端口存储器17中输入区16和输出区14的大小,对PROFIBUS-DP通讯适配器模块12初始化参数;定时器中断的定时周期等参数,然后CPU根据获得的运行参数分别进行参数设置。
参见图5和图1,上述的对PROFIBUS-DP网络组网步骤是:CPU从工业以太网接口模块20获得PROFIBUS-DP网络配置信息,判断是否全部帧都结束。如果没有结束,将当前帧暂存入静态存储器6中。如果全部帧结束,更新电可擦除存储器9,向双端口存储器17中的邮箱区10写入配置数据,配置结束后中断返回。
本实施例的MODBUS/TCP工业以太网和PROFIBUS-DP现场总线间的协议转换的位置结构是:参见图1,微处理器7通过内部总线与工业以太网接口模块20、PROFIBUS-DP主站通讯接口模块12和静态存储器6连接,微处理器7通过串行外围接口时连接电可擦存储器9。工业以太网接口模块20通过以太网接口1连接以太网22,双端口存储器5分为三部分—输入区19、输出区2和邮箱区4,经双端口存储器5连接内部总线18。PROFIBUS-DP主站通信接口模块12通过现场总线接口13连接PRODIBUS-DP现场总线11,双端口存储器17分为三部分—输入区16、输出区14和邮箱区10,经双端口存储器17连接内部总线18。微处理器7采用数字信号处理器DSP。