基于VxWorks的软PLC远程监控系统设计与实现.pdf

返回 相似 举报
基于VxWorks的软PLC远程监控系统设计与实现.pdf_第1页
第1页 / 共4页
基于VxWorks的软PLC远程监控系统设计与实现.pdf_第2页
第2页 / 共4页
基于VxWorks的软PLC远程监控系统设计与实现.pdf_第3页
第3页 / 共4页
基于VxWorks的软PLC远程监控系统设计与实现.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述:
第 3期 总第 1 7 8期 2 0 1 3年 6月 机 械 工 程 与 自 动 化 MECHANI CAL ENGI NEE RI NG AUT M AT1 0N No . 3 J u n . 文章编号 1 6 7 2 6 4 1 3 2 0 1 3 0 3 0 0 0 3 0 3 基 于 Vx Wo r k s的软 P L C远程监控 系统设计 与实现卡 詹 俊 ,龙 辛 ,黄 波。 ,杨杰军 ,陈雄姿 1 . 湘潭大学 信息工 程 学院 电 气工程 系,湖南 湘 潭4 1 1 1 0 5 ;2 . 湘 电风 能有 限公 司,湖 南 湘潭 4 1 1 1 0 5 ;3 .长沙金博联信息技术有 限公 司,湖 南 长沙4 1 0 0 0 0 摘要 为 了在基于 Vx wo r k s系统 的嵌入 式软 P L C开发及 使用 过程 中,用户可 以对 系统进 行远 程调试及 监 控 ,设计并实现 了一种基于 Vx Wo r k s 嵌入式实 时操作系统加 C o d e S y s 编程器 的软 P L C远程监控 系统 ,运 用 Vx w0 r k s提供的任务管理库、S P Y工具 以及独立设计的 C o d e S y s信息记录库 收集相关监控 信息 ,通过 UD P 协议与上位机软件进行数据 的通信 ,保证 了系统 的简洁和可靠。系统提供 图形化的监控界面和分析工具 以及 基于数据库 的数据保存机制 ,可 以在开发及后期维护过程 中为技 术人 员提 供 系统底层 所有任务 的运行信 息、 C P U 和 内存使用参数 以及 P L C应用程序输 出信息等 重要参数 。 关键词 软 P L C;Vx Wo r k s ;远程 监控 中图分类号 T P 2 7 7 文献标识码 A 0 引言 P L C在工业控制领域扮演十分重要 的角色 , 区别 于传统的 P L C, 软 P L C系统具有通用性强、 操作方便、 开发周期短等多方面的优点 , 逐渐成为未来工业控制 器 的主力军 。 软 P L C主要分为基 于 P C软 P L C系统和基 于嵌 人式操作系统 的软 P L C系统 。其 中后者 以其实时性 能 的优势成为主流。Vx wo r k s 操作 系统作为一款具 有强实时性能的嵌入式操作系统, 能根据需求灵 活地 对其进行裁剪 , 所 以目前被广泛应用在基于嵌人式操 作系统的软 P L C开发上[ 1 ] 。C o d e S y s是由 3 S公 司开 发 的 一 种 功 能 强 大 的 P L C 软 件 编 程 工 具 , 它 支 持 I E C 6 1 1 3 1 3标 准 , 通 过 其 r u n t i me库 可 以与 底 层 操 作系统很好地链接[ 2 ] 。二者结合不仅可以很好地保证 系统 的实 时性 能 , 同时也 可大 大地缩 短开 发周期 。 1 远 程监 控 系统设 计与 实现 1 . 1 系统 整体 结构 设计 远程监控系统由基于 Vx wo r k s的数据采集与发 送 模 块、 上 位 机 监 控及 数 据 分 析处 理 模 块 和 基 于 C o d e S y s 的输 出信息函数库三大部分组成。远程监控 系统结构如图 1所示。 上位机与被监控设备直接采用 UD P协议进行通 信 , 以减少对系统资源 的消耗, 同时提高处理的速度。 被监控 目标系统循环侦听请求 , 一旦接收到上位机发 送过来的监控请求即以固定频率收集信息并发送, 如 果接收到其他控制请求则进行其他操作。 上位 机监控系统 l 数 据 库H鏊 H 实 时 监 控 界 面 f l l 数 据 接收 及处 理 层 I 1 e u D P 协 议 Vx W o rk s C o d eS y s 蓦 任 C P U 内 异 程 P L C 【工 】 务 信 存 常 序 客 ∽ 信 息 信 处 计 户 ∽ 缸 】 输出信息 息 采 息 理 数 程 冀 H 函数库 采 集 采 模 器 序 集 集 块 信 息 图 l远 程 监 控 系 统 结 构 图 Vx Wo r k s 系统 中通 过启 动 数据 采集 发 送任 务 Tl n f S e n d 及 P L C信息采集 任务 G e t L o g D a t a 实现 全部信息的收集发送工作 。主要任务包括 任务信息 采集 、 C P U及内存使用信息采集 、 系统异常处理、 程序 计数器计数值采集、 P L C应用程序输出信息采集 、 信 { I}十一五 国家科技支撑计划项 目 2 0 0 6 BAA 0 1 A0 6 收稿 日期 2 0 1 3 一 O 1 2 9 ;修 回 日期 2 0 1 3 0 2 1 8 作者简介 ;詹俊 1 9 8 8 一 ,男 ,湖南益阳人 ,在读硕 士研究生 ,主要研究方 向新能源发电系统 。 学兔兔 w w w .x u e t u t u .c o m 4 机 械 工 程 与 自 动 化 2 0 1 3 年 第 3期 息发送。数据采集发送主程序流程见图 2 。 1 . 2功能模 块设 计 1 . 2 . 1 系统任务信息 Vx Wo r k s 操作系统 函数库提供 了 t a s k l n f o库 函 数用于用户获取所有任务 的信息, 其中主要的信息包 括 任务 I D、 任务名称 、 入 口地址、 优先级 、 当前状态、 堆栈值等。系统是根据可 以唯一识别任务的 I D号来 检索任务相关信息 的, 通过 函数 t a s k I d L i s t Ge t 可以 获取到当前系统运行的所有任务的 I D, 同时系统提供 根据 I D检索任务信息的函数 t a s k l n f o G e t , 获取 的 信息以 TAS K D E S C结构体格式存储L 3 ] , 提取其中有 用的信息存于构建的 TAS K I N F O结构体中, 打包成 发送数据包的格式 , 实现了任务信息的采集 。任务信 息 数据 结构 如下所 示 t y p e d e f s t r u c t /* T AS K_ I NF 0一任务结构体 */ { i n t t 凸一i d ; /* 任务 I D */ Ch a r t d _n a me [ 1 2 ] ;/ * 任务名称 */ i n I t d p r i o r i t y ; /* 优先级 */ i m t d s t a t u s ; /* 任务当前状态*/ i n t t d _s t a c k S i z e ;/ * 堆栈大小 */ i m t d s t a c k C u r r e n t ; / * 当前堆栈大小 */ i n t t d I e r r o r S t a t u s ; /*任务错误状态 */ }TAS K I NFO; 厂 初始化 读取套接 字 到I F O P E N 图 2 数 据 采 集 发 送 主 程 序 面 f E 程 图 1 . 2 . 2 资源 信息 系统资源包括 C P U 资源和 内存 资源 , Vx wo r k s 提供的系统工具直接将这些信息定位到文件或指定 I O输出。这里通过构建 函数截取 C P U 资源的信息, 并且通过修改系统函数直接将内存使用信息定位到指 定的内存区域。 Vx Wo r k s 提供 了 s p y L i b库 函数用 于监控 C P U 的使用情况, s p y利用辅助时钟 的中断服务程序 , 并且 为每个任务维护一个计数器 , 这样在特定的时间周期 内即可统计出每个任务的 C P U 占用率。在库的源程 序 中提 供 了 s p y R e p o r t C o mmo n F UNC P TR p r i n t R t n 用于系统工具 S h e l l 等 获取 C P U 信息, 这里通 过构建 p r i n t R t n函数I- , 直接将信息格式输 出到指定 的内存区域, 相关函数代码如下所示 Vo id s p y Pt n Fu n e c o n s t c h a r *f m t Pt n { va_l i s t v a l; va _s t a r t v a l,f mt Pt n ; / * C p u Dt B u f 存储 C P U信息的全局变量 */ v s p r i n t f Cpu Dt Bu f,f mt P t n ,v a 1 ; va _e n d Vx wo r k s 对 内存 信 息 进 行 统 计, 系统 提 供 的 me ms h o w 函数直接将信息定位标准输出, 目前的办 法一般都是将其定位到文件再从中读取。本文通过重 新构建函数库, 然后获取 C P U信息 的办法可 以将信 息定位到指定的区域 , 主要函数代码如下 S TAT US j b l me mP a r t S h o w P AR TI D p a r t l d ,i n t t y p e , FUNCPTR p r i n t P t n { I n t n u mBl o c ks ; Un s i gn e d t o t a l B y t e s 0; Un s ign e d b i g g e s t W or d s 0; /* 调用系统函数获取总大小及内存块参数 */ I f t ot a l By t e s me mP r a t Av a i l a b l e p a t r l d ,b i g g e s t Wo r d s. t y p e 、 一 ERROR { ⋯; } . . . n u mB l o c k s d l l C o u n t 8 L p a r t I d 一 f r e e L i s t ; / * 格式化输出到指定位置 */ I f n u mBl o c k s 一 0 f p r i n t P m ”f r e e 1 0 u 9 u l O u l O u \ n ” ,t o t a l B y t e s, n u mB l o c k s,t o t a l B y t e s/ n u mB l o c k s, 2 * b i g g e s t Wo r d s ; ⋯ 1 . 2 . 3 P L C应用程序信息 以 Vx wo r k s 加 C o d e S y s模 式 构 建 的 软 P L C 系 统 , 在脱离在线编程模式时很难获取客户运行 的 P L C 程序相关信息, 因此在程序中安插信 息输 出函数 , 使 P L C程序运行到指定位置时如果满足输 出要求即输 出一条消息, 这样就能像在 C语言中加 p r i n t { 函数一 样获取到程序不同位置的信息 。本设计中构建基于 S T语言的 P L C函数库、 Ut i l L o g I n f o 函数和 Ut i l L o g Wr n 函数 , 其用法如以下 S T代码所示 * 变量定义 * P R0GRAM PL 、 _ PRG V AR Lo g M s gS TRI NG 一 Rd Da t a i s } Lo g M s g 2S TRI NG 一 Gd S u m2 一Gd Su m ; 、 ~ 学兔兔 w w w .x u e t u t u .c o m 学兔兔 w w w .x u e t u t u .c o m 学兔兔 w w w .x u e t u t u .c o m
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420