计算机收集和嵌入式技巧的成长给测控行业带来巨年夜的变革,传统的测量控制技巧已经悄然向收集化偏向成长,收集化仪器和长途测控已成为主流。在收集化的测控体系中,用户可以不受空间和时光的束缚,对仪器仪表进行操作、获取测量信息;仪器仪表也可以安排在些情况比较恶劣或不合适不雅测者长时光待的不雅测点,如戈壁、风暴中间甚至爆炸测量点等。
今朝,年夜部分化决收集化仪器的筹划都是直接临盆支撑以太网接口的仪器仪表,个中成果最为明显的是由安捷伦(AgilentTechnologies)、VXITechnology等仪器年夜厂商构成的LXI联盟提出的LXI仪器标准。2005年,LXI联盟宣布了LXI规范的第一个版本,其革命性的成长在于将以太网技巧等工业标准参加其总线标准中,在仪器上集成了高带宽的局域网(localareanetwork,LAN)接口,使得LXI仪器具有强年夜的收集发明和治理功能。但实际中正在服役的很多仪器仪表是不支撑以太网接口的,为仪器仪表组网而将这些仪器西安市科技筹划基金赞助项目(编号:CX1252-4)。
第一作者郭猛(1988-),男,现为西安邮电年夜学计算机体系与构造专业在读硕士研究生;重要从事嵌入式开辟与应用的研究。
仪表全部换掉落是不实际的。为解决这一问题,本文设计了一种收集代理,仪器直接由原接口接入代理,由代理负责收集通信,实现网口与原接口的转换,如许便可以经由过程局域网对仪器进行操控。
1体系总体设计体系包含用户控制终端、仪器代理和仪器设备三年夜部分,个中,仪器设备经由过程各类接口接入代理,代理与用户终端经由过程以太网连接实现通信。体系硬件连接示意图如所示。
1.1用户控制主机虚拟仪器设计虚拟仪器概念最早由NI(美国国度仪器)公司提出,其核心思惟为软件即仪器,具有机能高、扩大性强、开辟时光少、无缝集成等长处1.本文以示波器为例,自行开辟出用于示波器的通用软面板。开辟对象采取NI公司的LabWindow/CVI,用于设计和开辟虚拟仪器的对象还有LabVIEW等。本文应用LabWindow是因为其基于C说话,相对而言上手较为轻易,且对于底层函数调用相对透明,便于资本的控制。
虚拟示波器重要由示波器软面板部分、数据分析处理部分和通用I/O接口三部分构成。软面板根据真实仪器设计,为用户供给友爱的图形用户接口,支撑鼠标操作。用户不须要浏览冗长的仪器手册,只需具备很少的先验常识就能操作。数据分析处理部分采取多线程设计,从线程池中开辟线程用于年夜量数据的统计和分析,如许即使须要处理的数据量很年夜也不会影响软面板的流畅性。为包管运算速度,对于简单运算处来由法度榜样本身实现,而年夜数据量的处理则调用库函数,如快速傅里叶变换(fastFouriertransformation,FFT)函数等。通用接口部分则由代理经由过程虚拟仪器软件架构1.2代理设计仪器设备代理与主机通信2的同时,还要与仪器进行交互。它与控制主机之间存在异步通道和同步通道。同步通道用于通俗的控制敕令和测量数据的传输,须要包管收发报文的顺序;异步通道用于特别事宜和特别状况的传送。两个通道之间有共享的数据。为包管链接的靠得住性,代理在经由过程高速以太网仪器协定信时,还须要有套缺点处理和锁的机制来应对突发的缺点,实现对资本的安然共享。当出现对于仪器读写缺点或者读写延不时,须要及时通知控制主机,不然控制主机会持续发送敕令而导致堵塞出现同步缺点,此时须要从新同步代理与控制主机。
对于不合接口的仪器,代理须要选择一个同一的接口,以包管通用性和可交换性,代理本身须要支撑不合接口的仪器仪表。而今朝各类仪器仪表的接口总线繁多不由此针对不合仪器所编写的软件可交换性很差3,不具有通用性。为此,代理的编写则基于虚拟仪器软件构造框架(VISA),再由VISA负责各个接口的统。
4的根本思惟是将不合的接口抽象封装,为上层供给同一接口,上层可经由过程此接口对USB、串口、GPIB、VXI、PXI和以太网等接口进行设备和编程,实现I/O接口软件的统。VISA构造可分为五层:用户应用法度榜样接口、自定义资完成资本寻址、资本创建与删除、资本属性查询设置等功能。这种自底向上构造模型的VISA还创造了一个同一情势的I/O控制函数集,即VISA库,代理经由过程对这些库函数的调用实现对仪器的控制、测量成果的反馈等。
2代理功能的实现代理与主机经由过程HiSLIP协定互联,与仪器互联则调用VISA接口,由VISA调用响应的接口驱动。所以前期须要将仪器所须要的驱动安装到响应的硬件情况中,并实现HiSLIP协定。本文应用的是泰克型号为TDS2014B的示波器,其接口为USB口,代理平台为S3C6410Linux,所以须要将USBTMC驱动编译到开辟板中5. 2.1收集通信协定6是基于TCP的仪器控制协定,可以供给传统的测试和测量功能。该协定重要包含:设备清除、仪器的本地/长途仪器状况控制、仪器的锁机制、从仪器到客户端的办事请求、消息停止机制、缺点检测中断时的消息交换机制。此协定是IVI联盟针对于长途仪器控制而提出的,协定本身构造清楚、情势简洁,易于实现。
HiSLIP报头为固定的16B,游离二氧化硅分析仪是在原红外分光光度计的基础上升级的行业专用产品,包含数据包标记、消息类型、控制码、消息参数和数据长度等字段。消息格局如所示。
数据包中有多种用处。
段的字节数。
数据(data),字节长度由数据长度标示,用于承载传输的数据。
根据功能不合,消息类型年夜致分为初始化消息、锁消息、尺寸设置消息、状况消息和数据消息等。
代理在初始化时,会在同一个端口(4880)上创建两个TCP连接,个作为同步通道,另一个作为异步通道。在同步通道上可双向发送敕令,代理将数据照办HiSLIP数据包的格局包装好后交由基层TCP封装。
代理建立Socket链接的流程图如所示。
法度榜样启动时会申请套接口并绑定4880端口,然后侦听端口。如有连接请求,则查询是否跨越最年夜连接数,假如跨越则拒绝请求,没有则建立连接。建立连接后创建子过程,将父过程的链接信息复制份,然落后行数据传输。主过程会查询是否有封闭连接的请求,假如有,则封闭连接,没有则持续侦听端口。
2.2仪器总线编程代理与仪器的交互工作年夜都由虚拟仪器软件架构(VISA)完成,代理调用VISA供给的库函数,然后由VISA调用相干接口的驱动。VISA函数库按功能年夜致可分为4类:控制治理类、输入输出类、接口功能类和资本治理类。相干函数解释如下。
当仪器仪表接入收集代理时,可以经由过程viOpenDefaultRM(ViPSessionsesn)函数对接口资本和设备资本进行扫描,然落后行下步操作。当查清楚所有资本后,便可以对某特定资本进行操作。
束时可以应用viClose(ViSessionvi)函数封闭此会话。这一点跟文件体系很像,即将所有的资本抽象为文件,数对资本进行数据的读写,应用viGetAttribute attrState)等函数来查询和设置资本的属性。代理会解析出主机传来的程控仪器标准敕令集(standard令的种类分别调用VISA库的函数对设备进行操作,红外测油仪是一种检测仪器,目前主要用于监测水的质量和危险的垃圾点与监测油、水分离过程等多项用途,及时读出数据并反馈给控制主机。
2.3内部锁机制为实现两个通道间资本的安然共享、各线程之间精确同步,红外光谱仪厂家是基于对干涉后的红外光进行傅里叶变换的原理而开发的红外光谱仪,须要根据情况对共享资本加上互斥锁9.本例mutexattr)函数动态初始化互斥锁,个中mutexattr参数用于设定锁的属性。本文锁属性设为PTHREADMUTEXRECURSIVENP,即此锁为嵌套锁,许可同一个线程多次成功获得同一个锁并经由过程多次unlock解锁。采取嵌套锁主如果推敲到对于仪器测量数据的读写线程须要包管高的优先级和数据的完全性,避免将掉效或过时的数据回送给控制主机。测量数据读写线程在读写共享数据区时起首须要经由过程pthreadmutexlock函数进行加锁操作,分开时经由过程pthreadmutexunlock函数释放锁。其他线程在进入临界区之前须要调用pthreadmutextrylock函数来测验测验获取锁,如成功获得,则可以拜访临界资本,假如获取掉败,则急速返回而不会壅塞等待10.最后在封闭会话和释放资本时,须要经由过程pthreadmutexdestroy函数将互斥锁刊出掉落。
3实验成果本文在嵌入式S3C6410Linux平台上实现代理功能。起首将所写代理法度榜样经由过程交叉编译移植到代理上,并将响应接口驱动和VISA移植到代理平台上。
然后操作PC机上的虚拟软面板,软面板会调用代理上的VISA库,并由代理实现对仪器的具体操控和测量值的读取。代理获取测量值或波形数据后,将其及时反馈至软面板。
实验成果显示虚拟仪器软面板可及时精确显示实体仪器所显示的波形,且对于仪器的各类操作和设置比较流畅,如设置触发方法、耦合方法和仪器检测等。
4停止语本文针对通俗接口仪器仪表提出的多接口收集代理筹划,重要解决将通俗仪器接入收集及收集化治理的问题。具体实践注解,该筹划的可行性较高,实现后果优胜。因为嵌入式代理应用和移植便利,实用于各类平台,便于控制成本,所以易于推广,但因为存在收集延时及其他的些不稳定身分,该代理不合适及时性请求高的场合。下一步将持续研究高精度时钟同步的解决筹划。