北极星

搜索历史清空

  • 水处理
您的位置:电力评论正文

【配电】中低压配电设备状态信息采集系统总体设计

2016-01-07 15:41来源:供用电杂志关键词:配电网用电信息采集配电设备收藏点赞

投稿

我要投稿

3.1多线程的设计

线程的创建和销毁都需要分配、释放空间,对CPU的开销很大。若大量线程频繁的切换与释放,会成为该软件性能提升的瓶颈因素。故采用LabWindows/CVI中的线程池技术,对资源进行复用:在任务还未到来之前,创建一定线程,放入空闲队列中,这些线程起初处于睡眠状态,不消耗CPU,仅占用较小的内存空间,当请求到来后,缓冲池给该请求分配空闲线程,将请求传入此线程中进行处理。通过采用线程池,避免了频繁创建和销毁线程,从而提高系统性能。在该软件中,除主线程外,对每个串口设置一个线程,对USB采集卡设置一个采集线程、一个显示线程、一个存储线程。见图3。

图3线程池结构图

3.2主线程

主线程用于负责用户界面操作,初始化辅助线程,并负责辅助线程调度。初始状态时串口线程及USB线程处于睡眠状态,当任务到来时,根据任务类型唤醒相应线程来进行处理,完成任务后返回线程池。

3.3串口线程

配电设备状态信息采集系统中的测试资源包含2种RS485设备,常用的多串口通信方式通常有如下几种方式:采用单线程技术,通过设置定时器实现串口通信;对于所有串口设定一个读线程与一个写线程,其中,读线程从所有串口中读取数据,写线程将读取的数据写入缓存区,而主线程则用于负责管理子线程及显示数据、存储数据等功能;对每个串口设置一个线程,该线程负责每个串口的读取与写入,而主线程则用于管理子线程等。由于两个RS485设备的采集频率相差较大,若对两个串口同时设定一个读线程和一个写线程,这样就会增加高采集频率的采集设备的等待时间。故采用一个线程对应一个串口,这样每个串口的通信较为独立,效率高。

3.4USB采集卡多线程的设计

为了确保USB采集卡连续高速的采集,针对该采集卡创建一个采集线程来确保采集的实时性,这就导致在该采集线程中不能有任何窗口等图形操作,针对这种情况,再开辟一个子线程对其进行实时显示,而这个显示线程起初进入睡眠状态,是采集线程通过事件激活显示线程,使显示线程对采集的数据进行显示,为了将数据实时存储,采用同样的方式,开辟存储线程。

软件运行过程中,为了避免显示线程阻塞间接导致保存线程丢失数据,故采用二级缓冲区来避免这一情况的发生。当采集线程将一段大小的数据放入一块缓冲区后,除了继续采集外,还会改变缓冲区标志,告之显示线程可以将该缓冲区的数据进行处理与显示,当显示线程处理完数据后,发送消息给保存线程,然后再将下一次采集的数据放入第二块缓冲区,如此周而复始,这样不仅不会丢失数据,而且显示线程及保存线程有时间能处理缓冲区的数据。

原标题:【特别策划】中低压配电设备状态信息采集系统总体设计 及其实现中的关键软硬件技术
投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。

配电网查看更多>用电信息采集查看更多>配电设备查看更多>