一、引言
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(National Instruments)推出一种基于图形语言(G 语言)的开发环境,编程非常方便,人机交互界面直观友好,用户可以创建独立的可执行文件,能够脱离开发环境而单独运行,是目前最流行的虚拟仪器编程平台,广泛应用于测试测量、过程控制、实验室研究与自动化等方面。
可编程控制器(Programmable Logic Controller,简称PLC)是将计算机技术、通信技术和自动控制技术结合在一起的自动控制设备,具有可靠性高、体积小、功耗低、抗干扰能力强等诸多优点,保证其在温度和湿度都较高、空间较小、工作环境恶劣的环境下稳定、可靠、长时间连续地工作。
将 LabVIEW 与PLC 结合起来应用于工程实践,不仅可以大大降低成本、缩短开发周期,而且可以使得控制操作方便、界面美观。
二、应用背景
在某遥控模型装置的研制过程中,因被遥控装置的体积小、重量轻、内部结构复杂,以及其恶劣的工作环境决定了不适合在装置内部安装普通计算机,所以选用体积小重量轻、工作可靠的松下公司FPE 型PLC 来作为被遥控装置被控端的主控单元。该型号的PLC 有16点输入和16 点输出,程序容量可达32KB。PLC 在遥控装置中的作用主要是采集模型装置的状态、接收遥控端的控制信号以及驱动电机等。遥控端选用普通计算机,作用主要是负责读取PLC 中模型装置的相关动态数据并进行相关运算、根据具体工作模式给PLC 端自动发送控制信号或者通过采集人工输入信号并将其发送给被遥控装置的PLC。
鉴于 LabVIEW 软件可方便实现数据采集和信号处理,具有强大的外部接口能力,而且采用LabVIEW 编写控制程序主界面的既简单美观,又能节约开发时间,大大提高了程序设计效率等优点,遥控端的控制程序采用LabVIEW 编写。
三、LavVIEW 与PLC 的无线通信
由于模型装置的遥控端和被控端相隔的距离较远,为方便控制被控装置的运动,所以考虑采用无线通信的方式让遥控端与被控端进行通信联系。LabVIEW 与PLC 之间的通信通常是采用串口方式,为此只需在这两者之间架设无线电台,并以无线电台为桥梁实现LabVIEW与PLC 之间通过串口进行无线通信。
3.1 无线电台及其与终端的连接
我们采用深圳市友讯达科技发展有限公司生产的 FC211LP 微功率无线数传模块作为无线电台。该电台工作频率在ISM 频段(载波频率433MHz),基于FSK 的调制方式,采用高效信道编码技术,提高了数据抗突发干扰和随机干扰的能力。其传输性能优良,接口多样,且设置使用方便,共提供三种内部接口方式:TTL/RS232/RS485,并提供透明的数据接口,接口波特率为1200/2400/4800/9600Bit/s,空中波特率为1200/2400/4800/9600Bit/s,用户均可根据实际需要进行设置。另外,该电台还具有可靠性高、体积小、重量轻等特点。
该电台采用单片射频集成电路及单片 MCU,外围电路少,电台与被控端和遥控端的连接如图1 所示。
将电台和用户终端连接好后,只需打开其附带的编程软件Fc211sp,进行相关设置即可使用。在这个编程软件中,可以读取电台当前设置,也可以改变信道、空中频率以及端口等的相关设置。由于PLC 与LabVIEW 之间数据传送是双向的,所以两个电台的设置应当完全一致。
3.2 LabVIEW 与PLC 的串口通信
利用串口实现 LabVIEW 与PLC 之间通信的常用方法一般有两种,第一种方法是利用VISA 进行串口通信。VISA 是应用于仪器编程的标准I/O 应用程序接口,它本身并不具有仪器编程能力,VISA 是调用底层驱动器的高层API。第二种方法是利用标准串口通信函数进行串口通信。LabVIEW 中提供了几个标准的串口通信函数,包括串口初始化函数、数据写入串口函数、从串口读出数据函数以及关闭端口函数等。这两种方法虽然都可是实现LabVIEW 与PLC 的串口通信,但是前提是程序设计人员必须充分熟悉串口通信的工作原理及LabVIEW 的程序编写,并且还需要设置相关的参数以及出错处理等,保证串口通信正常进行,程序编制过程相对比较复杂