西门子编程软件中国代理商
国内使用的很多仪器都提供了串口通讯功能,利用Labview的串口通讯函数可轻易与这些仪器连接,通过串口进行数据传送。
本文以OMRON的CPM1A型PLC为例,详细说明了在Labview中如何利用已有的串口通讯函数集来与PLC进行串口通讯。
二、Labview与串口通讯
在Labview中实现串口通讯可以有两种方法:利用VISA或者使用标准的串口通讯函数。
1、利用VISA进行串口通讯
VISA是应用于仪器编程的标准I/O应用程序接口(API),VISA本身并不具有仪器编程能力,VISA是调用低层驱动器的高层的API。
VISA可以和VXI、GPIB及串口仪器按照所使用的仪器调用相应的设备驱动器,具体的使用方法可参考Labview的用户手册。
2、利用标准串口通讯函数进行串口通讯
在Labview中,进行串口通讯的基本步骤:
:初始化端口,利用串口初始化函数设定进行串口通讯的端口号、波特率、停止位、校验、数据位,注意在Labview中串行端口号是从0开始编号的。
第二:读写端口,利用串口读写函数。从串口中读入或输出数据。
第三:关闭端口。
三、Labview与PLC的串口通讯实现
CPM1A型PLC是OMRON的一种微型PLC,它有12个输入点,8个输出点。该型PLC提供了比较丰富的上位链接命令,利用这些命令可通过串口利用PC机对PLC的工作状态进行干预。本文仅以其中两条命令为例说明Labview与欧姆龙PLC的串口通讯实现方法。
1、上位机对PLC的输人继电器进行读操作
命令格式
PLC响应格式(其中正常情况下结束码为00):
Labview中的程序实现:
初始化串口
第二 读PLC输入继电器值:
2、上位机写输出继电器进行写操作
命令格式:
Labview中的程序实现:
初始化串口
同上
第二 对PLC输出继电器进行写操作:
在读写PLC输入输出继电器时,有以下问题需要注要:
:PLC每个输入输出继电器的状态是一个二进制值,所以在Labview与PLC通讯的时候,需要要据情况把这些二进制值组合成字节或从一个字节数值中分解出单个二进制值。
第二:欧姆龙PLC的上位链接命令格式中有一个FCS帧检验部份,即把从一帧的开始到FCS前面的数据进行逻辑异或得到的8位二进制数据变换成一个2个字符的ASCII码。实现这个功能只需调用Labview中的Exclusive Or
函数即可