基于串口实现LabVIEW与PLC的无线通信

发布者:VelvetSoul最新更新时间:2010-12-27 关键字:LabVIEW  PLC  无线通信 手机看文章 扫描二维码
随时随地手机看文章

  一、引言

  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 的程序编写,并且还需要设置相关的参数以及出错处理等,保证串口通信正常进行,程序编制过程相对比较复杂。

  实际上,LabVIEW 本身就带有“Instrument I/O Assistant”,这个I/O 助手可帮助程序设计人员轻松完成串口通信相关参数的设置,并实现与相关设备的串口通信。下面就以LabVIEW 与PLC 的串口通信为例说明如何利用I/O 助手实现串口通信。

  I/O 助手可以选择不同的设备端口,设定延迟时间以及定义接收和发送时结尾字符。由于LabVIEW 与PLC 的串口通信是应答式的,并且设计中以LabVIEW 为主动,PLC 为被动,所以在“Select Instrument”中要先选择加入“Write”,并将其输入的字符串命名为input,用以存放给串口的写入命令,来对PLC 进行读或写,然后选择加入“Read and Parse”,并将其输出的字符串命名为output,用以存放串口中的返回数据。设置好的设置界面如图2 所示。

  

  松下公司的 PLC 串口通信格式是采用MEWTOCOL 协议,所以还要根据其协议格式来组织输入的命令字符串以及分解串口返回的字符串。以向PLC 中写数据为例,如果要向PLC的DT600 到DT603 四个数据单元中分别写入数据100、200、300、400,则输入字符串,即控制命令字符串应为“%01#WD00600006036400C8002C019001CR”,其中CR 为校验码,控制命令字符串中的4 个数据项应当都为16 进制数据。命令字符串的组成可以通过LabVIEW提供的相关函数来完成,如图3 所示。

  

  其中 XOR 子VI 作用是求取“%01#WD00600006036400C8002C019001CR”这个字符串的校验码,其程序可采用LabVIEW 中的相关函数来编写。命令字符串组成完后,将其赋值给input 字符串变量,然后建立input 字符串变量的一个局部变量,将其连接到“Instrument I/O Assistant”中input 项。另外,还要创建一个接收从串口返回的字符串的变量output,以及为串口通信报错的error 变量,并将其都连接至“Instrument I/O Assistant”中的相关项,连接完成后如图4 所示。

  

  对于向 PLC 写入数据,如果串口通信正常,则返回字符串output 中将应是“%01$WD13”,否则将会报错,并提示错误代码,错误原因可根据错误代码查阅MEWTOCOL 协议手册。如果是从PLC 中读出数据,与向PLC 写入数据相比,则不仅输入的命令字符串不同,而且返回字符串output 的内容也不同,返回字符串output 中将包含所读取的数据信息以及其他校验信息等,需要从这个字符串中将数据信息提取出来。例如,如果命令是读取PLC中DT650到DT653 的数据,则写入的命令字符串是“%01RDD0065000653CR”,其中CR 是校验码。

  假设PLC 中这几个寄存器中的数据分别为150、250、350、450,则返回的字符串是“%01$RD9600FA005E01C201CR”,其中CR 是校验码。得到返回字符串后,还需要进一步将其分解,以便得到相应的数据,分解子VI 程序如图5 所示。

  

  因采用的是应答式串口通信,当数据量很大时,通信滞后可能是要面临的一个问题。另外,因无线通信为保证通信准确率,在距离较远的情况下,需要适当调低无线通信的空中频率,这也可能会造成串口无线通信的滞后。当通信的数据量较大,可采用数据分组的方法,将所有要交互的数据分成若干组,让那些实时性要求很高的数据在每一组数据中都出现,而其他数据分布再不同的组中,但每一组的数据总量要适中,程序在每一次循环内只分别对一组数据进行读操作和写操作,这样会在很大程度上减少大量数据通信滞后带来的一些问题。

  四、结束语

  本文介绍了利用无线电台实现LabVIEW 与PLC 之间通过串口的无线通信的方法。这种方法已经在某无线遥控模型装置上通过测试并得到应用。实践证明,这种无线通信方法不仅通信可靠,错误率极低,而且简单易行,能完全满足一些工程实际需求。

  本文创新点:采用LabVIEW 中的“Instrument I/O Assistant”模块与PLC 进行串口通信,并实现LabVIEW 与PLC 的无线通信,不仅通信可靠,且简单易行。

关键字:LabVIEW  PLC  无线通信 引用地址:基于串口实现LabVIEW与PLC的无线通信

上一篇:德州仪器全新单芯片认证 PROFIBUS® 解决方案 AM1810 Sitara™
下一篇:富士触摸屏和西门子PLC通讯中的问题及解决方案

推荐阅读最新更新时间:2024-03-30 21:33

PLC及组态软件在空压机轮换控制上的应用
  当压缩空气需求量大时,为了保证可靠供应,就需要安装多台空气压缩机。某单位是铁路货运编组站,有五台压缩机,安装时间、空压机型号并不相同。而最多3台工作即可满足要求,另外2台作为备用。要求五台压缩机工作时间基本相同,当有一台出现故障时就自动停机,当故障消除时又自动投入。故障发生后,备用机在需要时投入运行。我们根据工程要求,设计了自动轮换的 PLC 软件。由 工控 机+组态软件作为监视管理用。PLC采用了正航A3系列。 一. 概述   1.1 几个名词   五台机器根据其工作状况不同,可以分为以下几种工况。   运行:空压机正在运转中,正在对系统供应压缩气体。   停机:没有运行。如果储罐压力低于设定值时,可以投
[嵌入式]
LabVIEW的移位寄存器
  在循环结构中经常用到一种数据处理方式,即把第i次循环执行的结果作为第i+1次循环的输入,LabVIEW循环结构中的移位寄存器可以实现这种功能。在循环结构框左侧或右侧边框单击鼠标右键,在弹出的快捷菜单中选择 添加移位寄存器 ,添加移位寄存器,如图1所示。   图2和图3分别显示为For循环结构和While循环结构添加移位寄存器后的结果移位寄存器在循环结构框的左右两侧是成对出现的,一个寄存器右侧的端子只能有一个元素,而左侧的端子可以有多个元素。移位寄存器的颜色和输入数据类型的系统颜色相同,在数据为空(没有输入)时是黑色。   图1 添加移位寄存器   图2 For循环结构中的移位寄存器   图3 While循环
[测试测量]
<font color='red'>LabVIEW</font>的移位寄存器
西门子PLC的常见故障及解决办法
1、西门子Step7Micro/WINV4.0安装在什么环境下才能正常工作? Step7Micro/WINV4.0的安装、运行环境为: WINOOWs2000SP3以上 WINOOWsXPHome WINOOWsXPProfessional 西门子plc没有在其他操作系统下测试,不保证能够使用。 2、Step7Micro/WINV4.0和其他的版本兼容性如何? Micro/WINV4.0生成的项目文件,旧版本的Micro/WIN不能打开或上载。 3、siemens200PLC硬件版本有什么区别? 二代S7-200(CPU22x)系列也分几个主要的硬件版本。 6ES721x-xxx21-xxxx是21版;6ES721x-xxx22-
[嵌入式]
如何解决变频器对PLC模拟量干扰
下面是一个变频器对PLC模拟量干扰的例子以及用信号隔离模块克服此类干扰的解决办法。 一、举例1 现象说明 西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动。 故障查找 1、疑似模拟量输出板卡问题,用万用表测量4-20mA输出信号,信号是正常的! 2、开始怀疑是变频器控制信号输入端有了问题,换了一台同型号变频器,问题仍然如此。 3、用一台手持式信号发射器做4-20mA输出信号源,输出标准电流信号至变频器,这下变频器启动了,因而我们排除了模拟量输出板卡和变频器的故障。 4、由此推测是变频器的干扰信号传导至模拟量通道所致。 5、为了验证,在PLC模拟量4-20mA输出通道中加装了一台
[嵌入式]
如何解决变频器对<font color='red'>PLC</font>模拟量干扰
基于PLC和HMI控制并集充磁和磁通检测的充磁机
1 引言   随着 电机 、家用电子、计算机、通信等技术日新月异的更新和发展,永磁材料需要量越来越大性能越来越高。目前,永磁材料大多采用钕铁硼、铁氧体、铝镍钴、钐钴等,并具有矫顽力大、性能稳定等特点,这些材料经 充磁 电源的高压大电流向螺线管瞬间脉冲放电,使其磁化。生产中要求充磁电源高效、稳定、精度高,同时,在机测试充磁后永磁材料的磁通量。文中介绍了的充磁和测量为一体高效自动充磁机,使用plc实现系统控制,触摸屏作为参数调整、工作显示等。 2 电磁交换   充磁机根据电容储能脉冲放电产生强大磁场,对铁磁性物质进行磁化[1]。在电磁交换前,电容储存的能    式中l为充磁头中螺线管的电感量,r为螺线管、放电回路连
[嵌入式]
基于PLC的温度控制系统
1 引言 染色工序在纺织品生产中占有重要地位,染色质量直接决定了纺织品的色泽、外观,甚至还影响纺织品的生产成本。在染色工序中,影响染色的因素主要有染液浓度、温度、液位等,其中温度控制是很重要而又复杂的控制过程。染色过程实际上是执行由工艺人员针对不同织物的一条温度曲线,每个工艺对染色的温度、升降温过程都有严格的要求,否则,容易使织物产生色差、缸差、条痕等疵点,造成复染率上升,生产成本的增加。针对染色过程温度控制的复杂性,设计了基于PLC 的染色机温度控制系统,实现对染色过程温度的控制,从而减少织物疵点,提高生产效率,降低生产成本。 2 系统控制要求 1)温度曲线存储要求对于不同的染色品种,其对温度的要求是不同的,因此对应的温度工艺曲
[嵌入式]
LabVIEW的信号处理方法
相位差测试哪种方法最好用? 有两个同频率的正弦信号,想测试它们的频率和相位差。有三种方法:过零检测法、相关分析法、频谱分析法。 哪种方法最好编程和精度最高?用软件来完成的话,对信号要做什么处理? 直接是在数采卡采集范围内的正弦信号就行?做的思路是不是先采集两路信号过来,然后再用各种函数进行分析? A: 相位差式扭矩传感器的信号测量,都是用程序处理的,而且结果都还不错 两种方法: 一种是直接将正弦信号采集进来,然后利用labview的相位分析控件求得相位差,这种方法的缺点是在高速旋转时需要极高的采样率,通常我们一块6025的AI只能用来采这两路信号。 另一种方法是在外围用数字电路将两路信号整定成方波,然后用门将表示相位差的方波做出来,
[测试测量]
<font color='red'>LabVIEW</font>的信号处理方法
STM32 x 翌控科技 x 米尔电子 | STM32MP135开放式高实时高性能PLC控制器解决方案发布
01前言 随着工业数字化进程加速与IT/OT深入融合,不断增加的OT核心数据已经逐步成为工业自动化行业的核心资产,而OT层数据具备高实时、高精度、冗余度高、数据量大等等特点,如何获取更加精准的OT数据对数字化进程起到至关重要的作用,同时随着国内工业控制系统逐步进入中高端应用,更加精准的控制至关重要,因此工业控制系统高实时高性能需求尤其突出。 面对以上挑战,合作伙伴翌控科技基于米尔STM32MP135开发板发布开放式高实时高性能PLC控制器解决方案,将高精准数据采集、预处理、存储、通信与高实时控制融为一体,为控制系统迈向完全数字化中高端控制提供一个非常好的选择。 02STM32MP135处理器简介 STM32MP1
[嵌入式]
STM32 x 翌控科技 x 米尔电子 | STM32MP135开放式高实时高性能<font color='red'>PLC</font>控制器解决方案发布
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved