摘 要:研究了基于虚拟仪器技术Measurement Studio的太阳能LED路灯监控系统。采用GPRS与CAN总线的两级式网络,实时采集参数,并将数据传输给上位机监控系统,用于绘制参数曲线并存储、分析数据。给出了总体网络结构、单个节点电路、通信接口电路、调理电路以及软件系统设计流程图,同时还给出了基于多线程技术的软件性能优化方案。
关键词:虚拟仪器技术;Measurement Studio;太阳能路灯监控;多线程;GPRS
太阳能路灯系统配置得不理想,将影响太阳能LED路灯的推广。而其光电池的输出功率和蓄电池的容量及负载功率等搭配,仅靠理论计算是不够的。只有采取自动跟踪监测的系统才能确定太阳能电池在不同季节、不同时间、不同方位的最大功率输出,以此为依据确定其蓄电池和负载才可靠。传统的太阳能LED路灯监控系统采用单一的通信方式,通信方式不够灵活。为此,本文设计了基于Measurement Studio的太阳能LED路灯自动跟踪监控系统。该系统不仅能实时显示太阳能路灯当前环境下的系统参数数值和参数变化曲线,还能利用GPRS和CAN总线构成的区域网络对照明节点进行集中管理。
Measurement Studio是美国NI(National Instrument)公司推出的虚拟仪器软件。现有的虚拟仪器开发平台主要有基于G语言开发平台的LabVIEW(文献中关于虚拟仪器介绍的也多是基于LabVIEW平台的),然而LabVIEW作为一种图形化开发语言,缺乏开发的灵活性。而集成式C语言开发环境Measurement Studio,分别为ANSIC、Visual Basic、Visual C++用户提供了建立自动化测试系统以及实验室应用所需的各种测试、测量工具包[1-2]。本文充分利用C语言的逻辑运算和Measurement Studio的图形化显示的优点,运用Measurement Studio和Vsual C++搭建了太阳能LED路灯监控系统。
1 系统组成
1.1系统网络结构
系统采用GPRS和CAN总线结合的通信模式,这种模式不仅能够稳定完成底层终端数据的传输,更能高效地实现与上位机之间的信息通信。同时也避免了单一节点采用GPRS模块所造成的资源浪费[3]。底层局域网结构如图1所示,太阳能控制终端通过CAN通信形成了一个初级局域通信网。而每个局域网中都有一个带GPRS的终端节点,它是上位机与底层终端之间的数据传输的纽带,其通过无线网络接收用户发送的控制和查询命令,并通过CAN网络将其转发给相应的终端节点。而终端采集的数据信息也都通过它转发给上位机软件。
MC52i为西门子公司的产品,它属于工业级别的GPRS模块,进行基于TCP/IP的数据传输,实现IP地址设定、照明信息的无线传输以及报警通知等。MC52i通过串口与单片机通信,实现信息的交互。
2.1.2 CAN通信接口设计
STM32的内部集成了CAN控制器,其内部的bxCAN模块支持CAN协议2.0A和2.0B,位通信比特率可达1 Mb/s,支持时间触发通信功能。其中包含3个发送邮箱,3级深度的2个接收FIFO,14个位宽可变的过滤器组。报文的发送和接收由CAN内核自动实现。其波特率公式计算如下:
2.2 Measurement Studio设计
2.2.1 软件系统设计
软件系统采用模块化设计,包括系统登录模块、操作员管理模块、系统基本配置模块、通信设置模块、参数数值显示模块、参数曲线绘制模块、帮助模块。系统登录模块是为了保证操作员的安全登录和系统数据的安全;操作员管理模块用于增加用户并设定密码,或者删除非法用户;系统基本配置模块记录路灯节点的配置信息;参数显示模块可以提供某个路灯系统参数查询;参数曲线绘制模块可以更加形象地实时绘制参数曲线。
2.2.3 多线程的性能优化
多线程编程技术避免了某项任务长时间占用CPU时间,提高了程序的并发处理数据的能力。本文的应用软件优化设计中,在进入主界面之前,创建了管理线程,用于监听线程和工作线程的创建与管理。这样,不仅有助于提高数据的并发处理能力,也使得程序分工更加明确,调理更加清晰。监听线程主要负责等待GPRS的连接并为连接的GPRS开辟相应的空间。工作线程主要负责与GPRS通信过程中的数据处理,并将其提交给相应的客户端界面。而管理线程会在软件退出时通知监听线程和工作线程停止工作,并释放相应的资源。此外,通过函数GetSystemInfo(&sysInfo)获得处理器的信息,而创建工作线程的个数也会随着处理器的个数的变化作出相应的调整,这样也提高了软件的收缩性。多线程创建流程如图8所示[5]。
2.2.4 图形控件完成参数曲线的绘制
CWGraph控件提供了丰富的属性、方法和事件。在显示数据时比较常用到的方法有:ClearData(清空数据),清除所有CWGraph控件上绘出的采集曲线与标尺线;SetYDataAppend:每次调用该函数可将一个点追加到曲线末尾;SetTimer:设置定时器编号和定时时间,采集数据采用定时中断,间隔固定时间采集信号。
3 实验结果
通过此系统,实现了Measurement Studio与网络内各控制主板的通信,此软件系统的通信方式设定模块可以设定通信信息,连接成功后,在参数显示界面可以实时查询网络内某个照明节点的数值参数。
本远程数据采集系统已应用于太阳能LED路灯系统中,并取得了理想的结果。通过GPRS和CAN总线实现了Measurement Studio监控系统与网络内STM32控制主板的通信。
在下位机芯片选取上,STM32作为主控芯片,足够实现太阳能LED路灯的控制需求,并且成本上较DSP大为降低。CAN总线组成的局域网,通信可靠,能够满足区域内路灯的网络化控制要求。随着太阳能LED路灯的逐步推广,结合GPRS组成两级式局域网络,可以监控更大范围的太阳能LED路灯,这也是今后的发展方向。
实践证明,基于Measurement Studio的监控平台具有以下特点:操作简单,界面友好,使用者可以直观地观察照明节点的参数数值和曲线,同时可以调节照明节点的PWM占空比和照明节点亮灭时间等;可移植性强,只要更改参数就可以应用在其他分布式系统中;使用起来灵活,编译生成.exe文件,可以方便地安装在没有安装Measurement Studio的机器上;系统效率高,加入多线程技术,可大大提高系统效率。
参考文献
[1] 陈振兴,周建华,陈勇.基于Measurement Studio的光电信号数据采集系统[J].计算机应用,2004(2):66-68.
[2] 黄豪彩,杨灿军,陈道华,等.基于LabVIEW的深海气密采水器测控系统[J].仪器仪表学报,2011,32(1):40-45.
[3] 王伟,董超俊.一种新的基于CAN和GPRS网络的路灯组网方法研究[J].工业控制计算机,2012,25(3):71-72.
[4] 陈志旺.STM32嵌入式微控制器快速上手[M].北京:电子工业出版社,2012:180-186.
[5] 杨东升,王高峰.多线程技术在虚拟仪器开发软件LabWindows/CVI中的实现[J].电测与仪表,2005,43(3):39-42.
[6] 夏凤仙,陈小平.基于虚拟仪器的交变电流源质量分析仪研制[J].电子测量与仪器学报,2007,21(3):113-117.