基于网络的自动化设备远程监控系统现场层设计与实现
2020-11-30赵建新
赵建新
(哈尔滨华德学院,黑龙江 哈尔滨150025)
1 远程监控系统现场层结构
自动化设备远程监控系统的总体结构如图1 所示。
图1 远程监控系统总体结构
远程监控系统结构主要分为三个部分:远程监控平台、嵌入式服务器、智能CAN节点。其中现场层主要是指智能CAN节点与嵌入式服务器。智能CAN节点的主要功能是对现场数据进行采集,并完成监控端所发的指令,从而能够顺利进行有效的通信传递,并与嵌入式服务器完成实时信息交流;嵌入式服务器在能够实现CAN总线通信功能的基础上,还建立了远程监控端通信系统,做到网上实时监控,从而实现CAN与Internet 报文之间的转换,即CAN协议与TCP 协议的转换。
2 智能CAN 节点设计与技术实现
现场层中的智能CAN 节点主要负责对自动化设备运行状态进行数据采集,智能CAN节点需要以单片机为中心进行控制系统设计,通过设备传感器对运行状态进行信号采集,接着由单片机负责数据处理,并运用CAN总线嵌入式服务器来满足通信功能。具体CAN节点结构如图2 所示。
图2 CAN 节点结构图
在进行CAN节点的软件编写环节时,需要采用汇编语言,并结合模块化设计思维进行处理,实际操作环节主要包含以下三种功能模块:
2.1 节点初始化模块。该模块具体涉及节点控制器初始化及CAN控制器初始化两个环节。自动化设备在系统上电后,就能够完成节点控制器的初始化,而且可以自主进行工作状态的设定及判断。CAN控制器需要设备进行上电复位后才能实现初始化环节,而且必须在复位状态下才能进行后续设置,CAN 控制器的初始化设置主要涉及模块设置、时钟输出寄存器设置、接收码寄存器(ACR)设置、接收屏蔽码寄存器(AMR)设置、总线定时器设置和输出控制寄存器的设置。CAN控制器初始化流程如图3 所示。
2.2 数据采集处理模块。该模块的功能是进行数据读取,具体是对AD 转换后的数据进行读取及处理。数据采集处理环节会受到多种外界干扰因素,因此在进行硬件设计环节选用了屏蔽线,使得信号线寄生电容耦合信号过程中所产生的交流干扰得到有效屏蔽,再加上采取串联电阻、以及添加旁路电容等一系列方法,也能够有效降低随机信号的影响。还有在进行电路设计环节时需要注意模数转换器的选择,一般需要选择共模抑制较高的,能够避免一些共模干扰。除去以上几种抑制干扰的情况外,针对尖脉冲干扰、工频干扰和其他随机干扰,需要通过软件滤波的方式进行削弱。
图3 CAN 控制器初始化流程图
2.3 CAN通信模块。(1)CAN用户协议的制定。CAN通信模块首先是进行用户协议制定,该环节的CAN 报文一般是选用11字节的标准帧,其中表头需要占用前3 个字节来表示,数据区则需要占用后8 个字节来表示。自动化设备在进行远程监控环节能够接收四组表头信息,每组表头信息的标识符占11 位,这四组表头所含信息均不同,前三组主要负责对信息状态进行描述,第四组为点对点信息,其功能主要是进行网络设备配置,并实现对长数据块信息的传输。设备之间可以通过这些表头信息自由进行数据交换,而且可以实现一对多和多对一的接收方式。如果其中某一设备发生故障时,便可通过表头数据传输主动向嵌入式服务器提交信息,从而将信息装换成实际故障情况转发至监控平台,并进一步进行报警及纠错处理。(2)CAN报文的发送。在制定完用户协议后,需要进行CAN报文发送,该环节需要通过用户协议由控制器完成。首选需要选取发送内容,命令节点控制器将设定好帧格式的内容发送到缓冲器待命;其次需要判断置位命令寄存器中发送请求的标志位,根据实际情况进行状态分析及命令判断。一般情况CAN 报文的发送需要在程序中进行定时设定,数据的发送频率为1 次/10ms,数据需要在缓冲区待命。(3)CAN报文的接收。对于CAN报文的接收环节,需要运用中断方式,而且能够实现数据的接收中断及全局中断,其中中断接收是指数据暂时存储在智能寄存器,通过CAN控制器来完成该操作,实现报文从总线到接收缓冲区的过度。报文正式接收需要进行相关数据的合格检验,主要是运用接收滤波器进行检测。如果需要承认报文接收,则必须满足标识位与滤波器定义位值相等的情况,然后才能将报文存入缓冲区。CAN中断程序在判断中断情况时,需要对中断寄存器进行读取,接着进行分类,根据实际情况给出接收中断、总线错误中断、数据超载中断的结果。
3 嵌入式服务器设计与实现
3.1 嵌入式服务器硬件设计。在对嵌入式服务器进行硬件设计时,需要划分处理器、存储器及外围设备。针对不用的用途及具体情况,需要合理设置硬件设施,并结合环境进行后续的配置和调试工作。通常情况下嵌入式服务器需要满足经济性及实用性,因此可以将核心板及扩展板分开设计,从而降低故障几率,具体结构设计如下图4 所示。
图4 嵌入式服务器硬件结构图
3.2 嵌入式服务器软件设计的技术创新要求。(1)嵌入式操作系统移植。嵌入式服务器的系统移植必须满足可装卸方便,而且软件所占空间较小的要求。系统移植需要实时性较强,在各种设备控制中能够自如应用。设计环节需要注意接口的统一性,当接入设备后安装图标及内部图形界面清晰易懂,而且系统移植过程需要设计好各种设备的预留接口,系统安装后需要能够支持TCP/IP 协议及相关常见协议,并且需要提供TCP/UDP/IP/PPP 协议,支持及统一的MAC访问层接口。嵌入式操作系统设计还需要注意,移植后的管理及维护操作需要尽量简单,不需要用户过多进行干预,接口的设计不用向用户提供操作命令,直接由系统指令从而更便捷地提供服务。在进行嵌入系统设计时还需注意系统及应用软件应固化在计算机的ROM中,实现代码固化处理。软件系统应适应硬件系统,满足移植性良好的要求,而且结合新的Linux2.6 内核特性,需要针对性的进行软件系统设计。(2)设备驱动程序设计。自动化设备的驱动程序设计要求应满足驱动底层硬件设备的实际运行需求,驱动程序的读写环节需结合实际环境及硬件需求,从而进一步实现寄存器信息的提取,待加载驱动后,指令设备各项硬件完成各自功能。一般驱动程序采用的是Linux操作系统,该系统下分为字符设备和块设备。在对字符设备进行读写时,因其属于顺序的数据流设备,因此读写环节保证字符连续从而形成一个数据流。针对块设备的读写需要注意的是,由于其不是顺序流模式,而是随机的的存取数据,所以读写环节是需要按块的模式进行,需要将待读取数据放入缓冲区后进行识别。驱动程序运行需要对硬件设备形式进行区分,在访问硬件设备时如果出现的是字符流形式,则属于字符设备。如果访问硬件时发现设备数据是无需的状态,则为块设备。经常用的Linux 操作系统中涉及的驱动设备主要有串口、JTAG、网络等。(3)CAN/TCP 网关程序设计。网关程序设计是最后一步连接各项程序的枢纽,设备间数据的传输需要通过网关程序设计来进行,其中扮演沟通角色的是嵌入式服务器,负责接收工作的是异性协议网络。CAN/TCP 网关程序设计中主要涉及的是CAN总线网络及Internet 网络转换,该转换环节主要有两种形式:第一种是实现CAN协议转换到TCP 协议,由于最终的转换格式要求是以太网数据,因此需要嵌入式服务器将CAN 接收到的报文转换成以太网数据包格式。第二种是实现TCP 协议转换到CAN协议,这个环节同样需要嵌入式服务器处理TCP 发来的协议,并在远程监控平台的控制命令配合下将数据传输到CAN节点上。
这其中的远程监控平台必须满足现阶段新的技术要求,统一应用C/S实现网关程序设计,而这其中涉及到的嵌入式网关需要满足多台服务器端同时对接及控制请求。其次还需要设置权限验证,对需要对接的监控端设置好登录限制,用户名及密码正确才能登录,连续错误输入一定次数则需限制登录。嵌入式网关应做到最高识别要求,必须比CAN总线基本ID高出6 位,才能和符合IP 要求的终端对接。并且网关程序的设计需要满足多个环节的对接及数据传输要求,必须随时对CAN 总线波特率、接收路径及滤波器ID值进行修改及完善,以满足枢纽的中心职责。现阶段针对自动化设备远程监控系统的设计,需要保证系统上电后,能够自动加载mcp2510.ko 模块,从而进一步实现程序的启动环节,由于设备的复杂性及实际远程监控系统的环境要求,需要网关程序同时满足较多功能,因此最好使用多线程方式来完成程序的设计环节,就是运用多个连接对多个监控设置相应的线程,并将所有线程连接到主线程。例如要实现手机的实时监控,就应满足手机接入端口的要求。
4 结论
网络自动化远程监控系统的现场层主要为智能CAN 节点与嵌入式服务器,因此在实际设计环节,应重点分析实际监控环境,根据环境需求设置相应功能。硬件设备应及时更新以便降低维护成本、提升运行效率,软件设计应及时完善系统,以满足其他对接设备的版本要求,从而提升监控系统的实际应用范围。