嵌入式Modbus/TCP网关的设计与实现

发布者:喜茶我要七分糖最新更新时间:2010-06-02 来源: 电子技术应用关键字:嵌入式  监控  网络  Modbus/TCP  网关 手机看文章 扫描二维码
随时随地手机看文章

      随着企业信息化进程的深入发展,实现企业上层的管理网络与现场控制网络的无缝连接显得越来越重要。基于质量分析的生产管理、与安全相关的测试监控都要求现场的仪器仪表能对现场的信息进行处理并能及时被上级监控和管理网络访问与控制,最终纳入到企业信息管理系统统一的框架中。

      目前,构成底层控制网络的现场总线技术已获得了广泛的应用。多种现场总线标准并存而相互间无法兼容的问题一直困扰着工业界。将工业以太网应用到现场控制网络已成为当前研究的热点和未来发展的趋势。如何使这种网络结构与工业以太网技术相结合,实现底层生产与上层管理的紧密集成是当前研究的热点。

1 Modbus协议及网关拓扑结构

  Modbus现场总线协议是Modicon公司于1978年提出的一种现场总线协议[1]。通过此协议,控制器相互之间、控制器经由网络和其他设备之间可以进行通信。该协议内容可以免费获得,因此Modbus的串行链路版本在市场上长期占有主导地位。大量的产品已直接运行或兼容Modbus串行链路版本。

  Modbus/TCP工业以太网协议是1999年被开发的Modbus协议的另一版本[2],允许用户通过以太网访问设备。协议的开放性及简单易学,使它比很多受商业利益驱使的协议取得更快的发展,受到众多第三方产品厂商、终端用户、系统集成商的广泛支持[3]。

  本文设计和实现了一种嵌入式协议转换网关,通过Modbus/TCP协议将传统的串行链路通信的Modbus现场总线与以太网相连。用户经由以太网对Modbus设备进行数据采集并对Modbus设备进行远程访问和控制。同时网关还提供Web服务功能,允许通过Web浏览器直接配置网关的IP地址等信息并保存到网关的非易失性存储器中。图1是嵌入式Modbus/TCP网关的连接示意图。


2 网关总体设计

  网关选用了ATMEL公司生产的AT91RM9200高性能 32位工业级嵌入式微处理器作为网关硬件系统的核心。网关的软件系统将移植μC/OS-II嵌入式实时操作系统和实现TCP/IP协议栈,并在此基础上设计应用层程序。网关的总体设计结构如图2。网关的设计方案将采用开放源代码的嵌入式操作系统和TCP/IP协议栈,因此在取得较高性价比的基础上可取得最佳的扩展性。


3 硬件设计

  AT91RM9200是著名半导体厂商ATMEL力推的一款基于ARM920T内核的工业级嵌入式微处理器,为最大功能、最低功耗、最低成本的嵌入式系统提供了一个完整的解决方案[4],它除具备ARM微处理器传统优势以外,其性能、可靠性和扩展性都大大超过普通的商业级ARM7核心的嵌入式微处理器。硬件系统的结构如图3。


[page]

4 软件系统设计

  嵌入式实时操作系统在目前的嵌入式应用中使用越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要[5]。网关采用了μC/OS-II实时操作系统。μC/OS- II实时操作系统是专门为嵌入式应用设计的,除了与CPU硬件相关部分是用汇编语言编写外,其他绝大部分代码用C语言编写。 μC/OS-II具有执行效率高、占用空间小、实时性能优良、可靠性高、可扩展性强和移植性好等特点[6]。

  选择合适的ARM处理器开发工具可以加快嵌入式系统的开发进度、节约成本、提高效率。CodeWarrior for ARM Developer Suite V1.2集成开发环境是ARM公司推出的新一代ARM集成开发工具,网关的所有程序代码均在此集成开发环境中编译、链接、调试。

  4.1 μC/OS-II初始化程序设计

  μC/OS-II操作系统运行前需要对硬件系统的片内和片外存储器、系统堆栈等进行初始化。这些工作与硬件系统相关,难以用C语言实现,需要用汇编语言实现。系统在执行完初始化程序之后就将系统的软硬件环境带到一个合适的状态,为启动μC/OS-II准备好正确的环境,最后通过跳转指令执行μC/OS- II主函数main中的第一条C语句[7]。

  初始化程序的设计不属于μC/OS-II操作系统的移植,但是其质量的好坏关系到整个系统程序的运行。初始化程序的执行步骤如下:(1)定义程序的入口点;(2)设置异常向量; (3)执行硬件初始化;(4)在CP15控制寄存器中,将AT91RM9200配置成小端模式; (5)初始化堆栈指针寄存器SP; (6)开放系统中断;(7)初始化C变量;(8)运行μC/OS-II操作系统。

  4.2 μC/OS-II移植

  μC/OS-II在最初设计时就已经考虑到了系统的可移植性。移植的绝大部分工作集中在多任务切换的实现上。这部分代码主要是进行处理器状态的保存、切换和恢复,主要用汇编语言来实现[8]。网关采用μC/OS-II V2.52版本的内核,其全部源代码量大约是6 000~7 000行,共16个文件。移植到ARM处理器上,主要修改3个与ARM体系结构相关的文件:os_cpu.h、os_cpu_c.c和 os_cpu_a.s,代码量大约是500行,另外还要添加μC/OS-II系统时钟节拍的代码。

  时钟节拍初始化代码需要根据具体的硬件系统来编写。网关选用分频后的系统内部时钟做为定时器的输入,通过对AIC高级中断控制器进行设置,μC/OS- II利用AT91RM9200片内定时器1提供的周期性系统时钟节拍中断。

  4.3 TCP/IP协议栈移植

  考虑到商业TCP/IP协议栈价格昂贵,有的仅提供库函数调用并不开放源代码,所以本文在对几种开放源代码的TCP/IP协议栈进行比较后选用2006 年3月发布的稳定版本LwIP 1.1.1协议栈[9]移植到μC/OS-II操作系统和硬件系统上。

  LwIP对μC/OS-II的支持也非常好,文档管理和软件版本升级比较完善。LwIP的移植主要涉及两部分:操作系统模拟层的修改和以太网硬件驱动程序的设计。

  对于嵌入式系统来说,操作系统中进程切换的代价相当昂贵。LwIP没有直接使用属于操作系统的函数调用及数据结构,而是用操作系统模拟层来代替这些函数的使用。所有TCP/IP协议都在μC/OS-II的一个任务tcpip_thread中运行。网关的应用层程序建立单独的T_httpServer任务 (进程)和T_ModbusServer任务(进程),通过μC/OS-II的邮箱、消息队列等与lwIP任务(进程)进行通信。

  操作系统模拟层使用统一的接口来提供定时器、进程同步及消息传递机制等此类系统服务。因此移植LwIP需针对μC/OS-II操作系统修改模拟层中的与处理器和编译工具相关的include文件、与操作系统相关的数据结构和函数,主要涉及LwIP的sys_arch.c和sys_arch.h文件。

  [page]

      以太网硬件驱动程序的设计包括LwIP接口函数设计和硬件相关函数设计。AT91RM9200微处理器集成了以太网媒质访问层EMAC控制器。EMAC控制器通过RMII接口访问物理层芯片DM9161,实现以太网数据的传输。以太网设备驱动程序需要实现EMAC层的接收、发送、初始化以及中断处理功能。 LwIP提供了一个网络驱动程序的参考模板,即LwIP的源代码目录src etif下找到ethernetif.c文件,根据微处理器的硬件修改其中的6个函数即可。

  4.4 应用层程序设计

  在嵌入式操作系统μC/OS-II和LwIP的基础上进行应用层程序的设计,主要实现嵌入式Modbus/TCP网关的两个主要功能:通过网关的Web服务功能对网关进行配置;通过Modbus/TCP协议将Modbus串行通信链路与以太网相连。

  4.4.1 Web服务功能设计

  HTTP协议实现的客户机/服务器模式是一种请求/响应行为。嵌入式Modbus/TCP网关将充当Web服务器。客户机是任意一台与网关以太网接口相连的计算机。

  (1)网关复位启动后,μC/OS-II运行T_httpServer任务(启动Web服务)。客户机可以通过浏览器向网关发出HTTP的GET方法的请求。

  (2)网关收到该请求后对请求消息中的方法字段进行判断。如果是GET方法,则表示是第一次请求,网关执行__Handler_HTTPGet( )函数,将固化在片外Flash中的HTTP表单页面和网关的配置信息返回给客户机。

  (3)用户填写网关发送的表单页面,输入新的IP地址、子网掩码和网关地址,然后点击提交按钮,客户机向网关发出POST方法的请求。其中对用户填写数据进行验证的工作是通过嵌在表单页面中的javascript程序实现的,减轻了网关的负担。

  (4)网关收到客户机POST方法的请求后擦除片外Flash中原有的配置信息,然后烧写新的信息,从而保证网关的配置在复位后不会丢失,配置信息在网关重启后生效。

  4.4.2 Modbus/TCP协议转换功能设计

  Modbus/TCP嵌入式网关复位启动之后会进行一系列的初始化操作,最后启动T_modbusServer任务,该任务实现Modbus/TCP帧与串行链路中的Modbus RTU帧之间的转发。当Modbus/TCP客户机需要对串行链路中的服务器进行查询时,首先会向Modbus/TCP网关的502端口发起连接请求,网关*到这一请求后会执行中断服务程序,唤醒处于等待状态的T_modbusServer任务,并与之建立TCP连接,Modbus/TCP客户机就会发送一个Modbus/TCP请求帧并等待网关的响应信息。网关在收到Modbus/TCP客户机的请求信息后会对帧进行分析处理,最后生成一个 Modbus RTU格式的查询帧并发送到串行链路中去。之后继续*串行链路,若收到串行链路上的RTU响应帧,则将该帧封装成Modbus/TCP应答帧,发送给以太网的Modbus/TCP客户机,并断开连接。

5 测试

  网关采用了第三方的Modbus客户机测试工具ModbusPoll V4.2和服务器测试工具ModbusSlave V4.1进行测试。在一台PC机上运行多个ModbusSlave程序模拟不同的设备和设备功能状态,该PC机通过串行通信链路与网关相连。另一台PC机运行ModbusPoll程序,模拟Modbus/TCP客户机,通过以太网与网关相连,并且运行Commview软件捕捉以太网通信的全过程并计算响应时间。测试时由Modbus/TCP客户机通过网关循环查询串行通信链路中的三台Modbus服务器, 串行通信的波特率设置为9 600 b/s,无校验位,停止位为1。网关连续工作48 h未发生查询失败。根据Commview捕捉到的以太网数据包的间隔时间可以计算出Modbus/TCP客户机一次查询响应的实际时间约为110 ms。网关各部分均正常,主控芯片仅微微发热。网关直流5 V电源,输入电流为55 mA,总功率仅为0.275 W。

  随着企业管理信息化的迅速发展,越来越多的工厂和企业拥有了自己的信息管理网络。有用户提出将自己的控制系统(如中央空调系统)的管理纳入到企业信息管理系统统一的框架中去。利用嵌入式Modbus/TCP网关可以在保留现有的控制设备和布线网络的情况下,使用户通过企业的信息网络对整个控制系统进行监控,既满足了用户升级的愿望又减少了成本的支出。

关键字:嵌入式  监控  网络  Modbus/TCP  网关 引用地址:嵌入式Modbus/TCP网关的设计与实现

上一篇:FPGA+DSP导引头信号处理中FPGA设计的关键技术
下一篇:基于FPGA视频采集中的I2C总线设计与实现

推荐阅读最新更新时间:2024-03-16 10:52

基于状态的有线监控助力工业4.0稳步发展
简介 在“为工业4.0启用可靠的基于状态的有线监控——第1部分”一文中,我们介绍了ADI公司的有线接口解决方案,该方案帮助客户缩短设计周期和测试时间,让工业CbM解决方案更快地进入市场。本文探讨了多个方面,包括选择合适的MEMS加速度计和物理层,以及EMC性能和电源设计。此外,还包括第一部分介绍的三种设计解决方案和性能权衡。本文为第二部分,着重介绍第一部分展示的SPI至RS-485/RS-422设计解决方案的物理层设计考量。 为MEMS实现有线物理层接口的常见挑战包括管理EMC可靠性和数据完整性。但是,在RS-485/RS-422长电缆上分布SPI之类的时钟同步接口,同时在相同的双绞线(虚假电源)上部署电源和数据时,会带
[物联网]
基于状态的有线<font color='red'>监控</font>助力工业4.0稳步发展
网络环境下的蓄电池智能监测系统设计
1 引言   目前,蓄电池在电力系统、电信系统、大型信息系统中被广泛使用,合理地选择及使用蓄电池监测系统,对获得最大的安全效益和经济效益有着很重要的意义。在实践中发现浮充状态下的电池信息,不足以准确反应电池的劣化。为解决浮充状态下数据信息不足的问题,本设计采取了监测装置与充电机互动的设计方案,在互动过程中采集放电数据,采用基于软计算的预测模型进行电池劣化(SOH)和剩余容量(SOC)的在线动态计算。   网络不仅改变了设备连接形式,而且可以通过设备信息的集中和融合提高了设备的智能化。在构造网络互连环境下,本方案进一步研究网络环境下蓄电池监控数据的加工处理,以实现蓄电池监测软计算模型的动态进化。 2 监测装置与充电机互动设计方案  
[电源管理]
<font color='red'>网络</font>环境下的蓄电池智能监测系统设计
倪光南院士:网络安全比芯片等核心技术提升更须国人警惕
小编按:倪光南院士在文章中提到,中国与国外在芯片领域上有差距,但是我们不能一味的去批评,毕竟中国正在追赶。除了在芯片领域中国出现的问题外,在操作系统上我们也一直受制于人。这样软件无法跟上,硬件也没法保障,在核心技术上我们受制于人,既无法保障网络安全,也无法保证产业的发展。 因中兴被美国“封杀”,芯片产业受到中国人的高度关注。美国扼住了中兴产业链的咽喉,是不是就说明中国芯片产业技不如人呢?我认为这要分不同领域、不同场合去看,不可一概而论。 芯片差距不可一概而论 芯片分超级计算机应用、桌面应用、移动应用、工业应用及消费应用等不同场合。在高性能计算机领域,安装中国自主研发的“申威26010”众核处理器的“神威太湖之光”在
[嵌入式]
sub-6GHz非独立式的5G NR网络测试
5G新空中接口(5G New Radio,5G NR)在今年2月的世界行动通讯大会(Mobile World Congress,MWC)上引起热烈讨论,在3月杜布罗夫尼克(Dubrovnik)的会议中以RP-170741提案获得3GPP正式同意。接着7月10号中兴通信与中国联通(China Unicom)合作于3.5GHz频段进行测试,实现5G传输。 为了进一步了解,我们来探讨所有相关内容。先简单概述5G NR,之后再介绍于杜布罗夫尼克中通过的非独立式5G NR(NSA 5G NR)版本。 为了提升行动通讯带宽到每秒千兆位(Gbps),高通(Qualcomm)开发统一空中接口(Unified Air Interface,U
[测试测量]
Gartner:企业机构需要重新定义网络安全领导者的角色
【2022年3月04日】根据Gartner的最新调查,由于 网络风险责任已被转移到IT以外 ,并且日益分散的生态系统导致网络安全领导者正在失去对决策的直接控制权,企业机构需要重新定义网络安全领导者的角色。 如今,安全和风险管理(SRM)领导者投入大量精力评估和改变外部各方的网络健康状况。但企业员工正在做出更多涉及网络风险的决策,执行委员会也在网络安全领导者的职权范围之外成立。 Gartner分析师表示,这些因素削弱了网络安全领导者对许多决策的直接控制权,这些决策本该属于他们的职责范围。 Gartner研究总监Sam Olyaei表示:“网络安全领导者现在处于一个筋疲力尽、劳累过度但又随时待命的状态。这反映出在过去十年中
[物联网]
Gartner:企业机构需要重新定义<font color='red'>网络</font>安全领导者的角色
无线传感器网络技术研究
具有感知能力、计算能力和通信能力的无线 传感器 网络(WSN, wireless sensor networks)综合了传感器技术、嵌人式计算技术、分布式信息处理技术和通信技术,能够协作地实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。 由于WSN的巨大应用价值,它已经引起了世界许多国家的军事部门、工业界和学术界的广泛关注,被广泛地应用于军事,工业过程控制、国家安全、环境监测等领域。 美国国防部和各军事部门都对WSN给予了高度重视,在C4ISR的基础上提出了C4KISR计划,强调战场情报的感知能力、信息的综合能力和信息的利用能力,把WSN作
[传感器]
无线传感器<font color='red'>网络</font>技术研究
手持式网络测试仪的特点优势及应用范围
VIVIA MTS-5800 手持式网络测试仪是网络技术人员和工程师在安装、开通和维护网络时所必需的一种工具。它支持各种传统技术和新兴技术,可自如应对各种各样的网络应用,包括城域/核心、移动回传和企业服务网络。业界最小的手持式仪表,可在整个业务周期内的各个阶段进行测试,包括光纤特性分析、服务激活、故障排除和维护。先进的以太网测试功能(例如依据 RFC 6349 的 TrueSpeed、J-Profiler、线速捕获/解码以及自动化 J-Mentor),可帮助现场技术人员比以往更快速、更准确地测试网络。 运营商以太网中的 MTS-5800 MTS-5800 手持式网络测试仪优势: ● 使用全功能双 10 G 手持式设备简化多技术
[测试测量]
手持式<font color='red'>网络</font>测试仪的特点优势及应用范围
飞利浦为嵌入式闪存和EEPROM开拓汽车电子应用
飞利浦电子公司宣布其0.18微米CMOS嵌入式闪存/EEPROM技术现已完全符合Grade-1汽车电子应用的需求,而其先进的0.14微米嵌入式闪存/EEPROM已开始在位于荷兰奈梅亨市的晶圆厂进行量产,这也是飞利浦第二家符合这一工艺生产要求的工厂。这两项最新的发展是飞利浦产品发展规划中的重要里程碑,表明公司独特的低功耗闪存/EEPROM技术已扩展到90纳米CMOS甚至更先进的水平。 嵌入式闪存和EEPROM存储器已成为当今许多片上系统解决方案的一个重要组成部分。它不但提供了在生产线上用不同的软件对这些芯片进行编程或进行现场软件升级的能力,还实现了对重要的本地数据例如PIN密码或地址簿信息的存储,并且可以在设备断电的时候保留这些数
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved