以太网远程监控系统实现远程监测控制和管理技术设计开发

发布者:和谐共处最新更新时间:2013-11-30 来源: dzsc关键字:以太网  远程监控系统  远程监测控制  管理技术 手机看文章 扫描二维码
随时随地手机看文章
  随着网络通信技术的发展,以太网在工业控制领域的应用日趋广泛,基于以太网的远程监控系统实现远程监测、控制和管理的有效集成[2]。使用远程监控系统通过网络对工业生产过程进行监测,及时了解现场信息,快速进行决策。

  远程控制的关键技术在于如何解决工业现场设备的网络接入问题。目前,主要有两种方法:一种是使用PC机通过PC机端口(如RS232、USB接口)或数据采集卡来采集数据同时提供网络接口[3],这种方法利用强大的PC机软件支持,容易实现网络通信功能,但是PC机端口资源有限,专用采集卡成本较高,难以推广;另一种就是在现场使用嵌入式系统实现网络接入,嵌入式系统具有功耗低、体积小、成本低、可靠性高、实时性强等特点,使用在工业控制现场比较合适。

  本文将嵌入式技术和网络技术相结合,在现场利用嵌入式系统实现网络通信功能以实时传输液位信号和控制信号,在客户端PC机上通过套接字编程实现与现场嵌入式系统的远程通信,从而达到对远程液位的监控。

  1 远程液位监控系统结构

  本文设计的远程液位监控系统结构如图1所示:其中,处理器芯片采用ARM微处理器S3C44B0X;S3C44B0X自带8路10位ADC进行A/D转换来采集液位数据,通过扩展DAC0832实现D/A转换以输出控制量;S3C44B0X连接10M以太网卡RTL8019AS,提供网络功能的硬件接口;μC/OS-Ⅱ移植到S3C44B0X上,提供操作系统的支持,方便了应用程序的开发和对整个系统的管理;嵌入式TCP/IP协议栈LwIP移植到μC/OS-Ⅱ平台上,实现对网络数据的软件处理,从而为嵌入式系统提供网络通信功能;远程PC机客户端登录到嵌入式系统服务器上,通过以太网实现两端数据的实时交互。


  图1 远程液位监控系统结构图

  2 硬件介绍与设计

  三星的S3C44B0X微处理器芯片采用ARM公司16/32位ARM7TDMI RISC结构的CPU核,主频为66MHz,通过扩展一系列通用外围部件,提供丰富的外设功能。它的存储系统具有8个存储体,每个有32MB的存储空间,通过nGCS0-7这8个片选来分配。本文使用的设计方案中nGCS0接Flash芯片AM29LV160DB,起始地址0x00000000,大小为2MB,nGCS6接SDRAM芯片HY57V641620ET-7,起始地址为0x0c000000,大小为8MB,nGCS3接RTL8019AS,起始地址为0x06000000。

  RTL8019AS是一款高度集成的全双工以太网控制器,收发可同时达到10Mbps的速度;支持8位、16位数据总线,8个中断请求线可供选择;支持UTP、AUI和BNC的自动检测;内置16K的SRAM,用于数据缓冲,以256B为单位的分页结构,可以自行分配用于收发的分页的大小和位置,一般前12页用于发送缓冲,后52页用于接收缓冲;硬件自带收发CRC校验、FIFO逻辑队列等,减少了主CPU处理网络数据的工作量。S3C44B0X对RTL8019AS的操作主要集中在对网卡寄存器的读写和网卡内SRAM的处理。

  3 软件设计

  3.1 基于嵌入式系统的服务器端程序设计

  3.1.1 S3C44B0X上μC/OS-Ⅱ的移植

  嵌入式操作系统μC/OS-Ⅱ可以运行于各种不同类型的微处理器上,其内核小、效率高,并且具有高度的模块化和可移植性,支持多任务实时调度,扩展后可支持网络功能、图形界面等,使得应用程序的开发更加简单,功能更加丰富。

  在使用μC/OS-Ⅱ之前,要先将它移植到S3C44B0X上,移植工作主要包括三个方面[4]:

  (1) 设置与处理器和编译器相关的代码,包括一系列数据类型的定义,开中断宏、关中断宏的实现,定义堆栈的生长方向;

  (2) 用C语言编写6个操作系统相关的函数:OSTaskStkInit()初始化任务的堆栈结构,和5个钩子函数OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeHook()、OSTaskCreateHook();

  (3) 用汇编语言编写4个与处理器相关的函数:运行优先级最高的就绪任务函数OSStartHighRdy(),任务级的任务切换函数OS_TASK_SW(),中断级的任务切换函数OSIntCtxSw(),时钟节拍服务函数OSTickISR()。

  3.1.2 μC/OS-Ⅱ上TCP/IP协议栈的实现

  LwIP(Light-weight IP)是瑞典计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套开源的TCP/IP协议栈[5],LwIP在保持TCP/IP协议主要功能的基础上减少对RAM的占用,这使得它适合在低端嵌入式系统中使用。

  LwIP协议栈在设计时已经把所有与硬件、操作系统、编译器等移植相关的部分独立出来,放在/src/arch目录下。因此LwIP在μC/OS-Ⅱ上的实现就是修改这个目录下的文件[6]。[page]

  (1) 与CPU、编译器相关的部分

  主要是cc.h、cpu.h、peRF.h文件中有关数据长度、字的高低位顺序等的定义,这些应该与实现μC/OS-Ⅱ时参数的定义保持一致。另外,一般情况下C语言的结构体struct是4字节对齐的,但是在处理数据包的时候,LwIP使用的是通过结构体中不同数据的长度来读取相应的数据,所以,一定要在定义struct的时候使用_packed关键字,让编译器放弃struct的字节对齐。

  (2) 与操作系统相关的部分

  LwIP中需要使用信号量通信,所以在sys_arch.h、sys_arch.c中应实现信号量结构体sys_sem_t,和相关的信号量处理函数:包括创建一个信号量结构sys_sem_new(),释放一个信号量结构sys_sem_free(),发送信号量sys_sem_signal(),请求信号量sys_arch_sem_wait()。

  LwIP使用消息队列来缓冲、传递数据报文,因此要在sys_arch.h、sys_arch.c中实现消息队列结构体sys_mbox_t,以及相应的操作函数:包括创建一个消息队列sys_mbox_new(),释放一个消息队列sys_mbox_free(),向消息队列发送消息sys_mbox_post(),从消息队列中获取消息sys_arch_mbox_fetch()。

  LwIP中每个与外界网络连接的线程都有自己的timeout属性,即等待超时时间,移植工作需要实现sys_arch_timeouts()函数,返回当前正处于运行态的线程所对应的timeout队列指针。

  LwIP中网络数据的处理需要线程来操作,所以需要实现创建新线程函数sys_thread_new()。而在μC/OS-Ⅱ中,没有线程的概念,只有任务。因此必须要把创建新任务的函数OSTaskCreate()封装一下,才可以实现sys_thread_new()。

  (3) 相关库函数的实现

  LwIP协议栈中用到了8个外部函数,主要是来完成16位数据的高低字节交换、32位数据的大小头对调、返回字符串长度、字符串比较、内存数据块拷贝、指定长度的数据块清零等功能,与系统或编译器有关,需要用户实现。

  (4) 网络设备驱动程序

  在LwIP中可以有多个网络接口,每个网络接口都对应了一个netif结构,这个netif包含了相应网络接口的属性、收发函数。在网络设备驱动程序中主要就是实现四个网络接口函数:网卡初始化、网卡接收数据、网卡发送数据以及网卡中断处理函数。

  3.2 PC机上客户端程序的设计

  VC++6.0环境下客户端程序实现包括以下几个部分:

  (1) 建立客户端的Socket:客户端应用程序首先构造一个CAsyncSocket[7]对象CltSock,然后调用CltSock.Create()函数来建立CltSock实体。

  (2) 提出连接请求:客户端套接字CltSock通过调用CltSock.Connect(strAddr,nPort)函数向服务器套接字提出连接请求。

  (3) 传输数据:在客户端应用程序中重载消息处理函数OnReceive()和OnSend()。在OnReceive()中通过调用CltSock.Receive()函数从服务器端接收数据;在OnSend()中通过调用CltSock.Send()函数向服务器端发送数据。

  (4) 关闭连接:客户端套接字CltSock通过调用CltSock.Close()函数来关闭连接。

  4 远程液位监控应用程序的开发

  本文设计完成的基于以太网的远程液位继电自整定PID控制系统,其控制算法在远端主机(客户机)上实现,两端通过TCP协议通信,本地的嵌入式系统 (服务器)上一方面实现对网络数据的处理,一方面完成对液位高度的采集与控制;远端PC机上一方面处理网络上的实时数据,一方面通过PID计算出控制量,显示相关参数。实时液位变化状况如图2所示,从图中可以看出,实际液位(红色曲线)能够稳定在液位设定值(蓝色曲线)处。同时,从用户界面上既可以读出液位高度值,PID自整定参数等,还可以改变液位高度设定值,从而真正实现了液位对象的远程监控。


  图2 远程液位继电自整定PID控制效果图

  本文设计解决了在嵌入式系统中实现网络功能的问题,引入并实现了一种新的设计方案,即采用三星ARM7处理器S3C44B0X+Realtek的10M网卡RTL8019AS硬件组合,通过在μC/OS-Ⅱ操作系统内核的支持下,添加嵌入式TCP/IP协议栈LwIP,来实现网络通信的功能,与PC机客户端的Socket通信,在此基础上开发了基于以太网的远程液位监控系统,达到了良好的控制效果。可以看出,这类系统在远程监控中的具有良好的应用前景。

  本文作者创新点:本文将嵌入式网络技术引入到工业过程远程监控领域,提出了自己的设计方案,并成功开发了一个远程液位监控系统。

关键字:以太网  远程监控系统  远程监测控制  管理技术 引用地址:以太网远程监控系统实现远程监测控制和管理技术设计开发

上一篇:基于嵌入式系统的汽车行驶记录仪的设计
下一篇:北斗导航定位接收机的原理及硬件实现

推荐阅读最新更新时间:2024-03-16 13:31

如何从以太网供电(PoE)获得更大功率
  PoE藉由以太网联机来传输电源。在PoE供电网络中,由供电端设备(PSE)提供电源,在以太网络联机产生44~57V的输出电压;在以太网联机的另一端,受电端设备(PD)会消耗这些功率。虽然目前正在定义较高功率的以太网络供电标准,不过现在受电端设备可用的功率,在单一以太网联机的情况下限制在13W左右。遗憾的是,这样的功率往往不足以支持复杂的应用,因此某些高功率的受电端设备,需要将多个连接埠的功率转换为可用电压,并与48V输入电压的电流隔离。目前有多种技术,可由多重输入来源提供隔离的功率转换。   以太网供电(PoE)已经是一种普遍的概念,并被应用于网络电话、保全监控系统、收款机等产品。    下降法   DC/DC并联
[电源管理]
如何从<font color='red'>以太网</font>供电(PoE)获得更大功率
安捷伦科技和Net-O2推出全球首款加强电信级以太网可靠性的CFM测试套件
2007年6月7日,北京 --安捷伦科技公司和自动通信测试软件开发商Net-O2日前宣布,推出Net-O2 ATTEST连通性故障管理(CFM)协议一致性测试套件和Agilent N2X多业务测试解决方案集成方案。网络设备制造商和服务提供商可以使用N2X确保其采用CFM机制的电信级以太网交换机和路由器符合相关的IEEE和ITU-T标准,提高话音、视频和数据业务在稳定和已经验证的以太网基础设施上的可靠性。 CFM提供端到端的电信级以太网故障诊断功能,使服务提供商可以快速检测并确定故障,保证对延迟非常敏感的三重播放业务的可靠运营。IEEE 802.1ag标准8.0草案正在就CFM做出相关规定。IEEE CFM机制与ITU-T Y.17
[新品]
关于TSN技术和车载以太网的介绍
TSN技术应用由来已久,可能对于汽车领域来说会比较陌生,它是一项从视频音频数据领域延伸到汽车领域,并进一步推广至工业领域的技术。TSN最初来源于互联网的视频领域的应用需求,当时该技术被称为AVB,高清的数据需要较高的带宽和最大限度的实时,借助AVB能较好的传输高质量音视频。对于ADAS而言,传统的CAN总线已经远远不够,极低延时的高带宽以太网传输技术应运而生,即TSN。 Time-Sensitive Networking (时间敏感网络) 是一系列由IEEE802.1工作组中的TSN工作组开发的标准协议。该小组成立于2012年11月由前AVB工作组改名而成。众所周知,IEEE802.3是关注以太网的PHY和MAC的标准,而IE
[汽车电子]
Microchip推出全新时间敏感型网络(TSN)以太网交换机系列
Microchip推出全新时间敏感型网络(TSN)以太网交换机系列,为工业自动化网络提供业界首个交钥匙解决方案 LAN9668x系列以太网交换机支持单一的网络架构,采用全新的LAN8814 PHYs,可降低设计人员的系统成本和风险,加快上市时间 从减少搬运和存储到提高产量, 工厂自动化正全面提高生产效率。具有信息技术(IT)和运营技术(OT)融合架构的互联仓库和其他工业生态系统依靠时间敏感网络(TSN)和以太网实现精确计时、同步和设备连接,包括摄像头、条形码阅读器、扫描仪和输送机。这些生态系统需要下一代网络技术来实现设备、传感器和设备通信的互连。为了满足这一要求,Microchip Technology Inc.(美
[网络通信]
Microchip推出全新时间敏感型网络(TSN)<font color='red'>以太网</font>交换机系列
工业以太网三种实现方式_工业以太网的作用
  工业以太网三种实现方式   工业以太网是指用于工业控制领域的以太网,常用于自动化生产线、工厂自动化、机器人控制等领域。下面是工业以太网的三种实现方式:   基于TCP/IP协议的工业以太网:这种实现方式采用TCP/IP协议作为通信协议,支持标准的TCP/IP网络协议栈,在通信可靠性和数据传输效率方面具有优势。常用的协议有Modbus TCP、EtherNet/IP等。   基于UDP/IP协议的工业以太网:这种实现方式采用UDP/IP协议作为通信协议,支持实时性要求高的应用,如实时控制和监控等。常用的协议有Profinet、UDP/IP等。   无协议的工业以太网:这种实现方式不依赖任何通信协议,直接在以太网上进行
[嵌入式]
嵌入式系统的远程调试方法介绍
1 基本方法 图1(a)是传统的嵌入式调试方法:主机PC通过串口与从机嵌入式系统相连,接收从嵌入式系统发来的调试信息并向嵌入式系统发送调试指令,主机和从机之间只能有几米或者几十米的距离。图1(b)是现在比较流行的远程嵌入式调试方法:主机PC和从机嵌入式系统分别通过以太网连接到网络上,主机通过诸如Telnet之类的协议向嵌入式系统接收调试信息和发送指令。本文介绍的方法是将这两者结合起来,位于远端的嵌入式系统与其相邻的PC2通过串口相连,主机PC1和从机PC2各自通过以太网连接到网络上,主机PC1仍然通过Telnet协议(使用Windows自带的“超级终端”程序)与从机PC2通信,在从机PC2上运行一种我们设计的软件Telent2c
[单片机]
嵌入式系统的<font color='red'>远程</font>调试方法介绍
基于CPCI总线的多网口卡设计
  以太网(Ethernet)作为应用最广泛的局域网技术异军突起,已经迅速走向工业自动化控制领域的前台。CPCI总线系统插槽有限,设计基于CPCI总线的多网口卡可节省空间,又可以满足状态监测及故障诊断系统要求的实时和大数据量传输。   1模块总体设计   该模块采用CPCI并行总线进行设计。图1给出该模块总体设计框图,其中,通过PCI桥扩展总线分别连接4片INTEL82551,由于INTEL82551内部已集成PCI接口,PCI桥可实现与INTEL82551之间的无缝连接。J1和J2为CPCI的接口插件。   2CPCI总线结构模块   2.1原理和结构   在1条PCI总线上如果连接过多的电气负载或设备,总线不能
[工业控制]
CEVA-TeakLite-4超低功耗DSP 运行Maxim动态扬声器管理技术
CEVA,全球领先的智能和互联设备的信号处理IP授权许可厂商 (纳斯达克股票交易所代码:CEVA) 宣布由Maxim Integrated Products, Inc.( 纳斯达克股票交易所代码:MXIM)推出的动态扬声器管理(DSM™)软件,在CEVA-TeakLite-4系列超低功耗音频/语音DSP上提供可用版本。这款在CEVA-TeakLite-4上运行的DSM优化软件实施方案已经整合到一流智能手机OEM厂商的智能手机SoC中。 包括智能手机、耳机和可穿戴设备在内的许多设备在扬声器设计方面遇到重大挑战。这些设备中的微型扬声器越来越小,并要满足功率限制的要求,因而严重地限制了使用传统D类放大器所能够达到的音质。在CEVA-
[嵌入式]
热门资源推荐
热门放大器推荐
  •  pdf文件汽车电子工程学(孙骏著)
  •  pdf文件汽车电子产品工艺
  •  none文件pico W5500 EVB FTP服务器技术实现及分析总结
  •  none文件Pico W5500 EVB 从NTP服务器获取时间并显示
  • 系统发生错误

    系统发生错误

    您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ]

    [ 错误信息 ]

    页面错误!请稍后再试~

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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