当前位置:首页 >> 信息与通信 >>

LabVIEW与永宏PLC通信 经典啊


LabVIEW 与永宏 PLC 通信
收藏此信息 打印该信息 添加:佚名 来源:未知

PLC 即可编程控制器(Programmable Logic Controller),是一种以计算机技术为基础的新型工业控制装置,

它是专门为工业环境应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,在其内部存储和执行逻辑运算、顺序运算、

计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械设备或生产过程。PLC 及其有关的

外围设备都应该按易于与工业控制系统形成一个整体,易于扩展功能的原则而设计。

PLC 通信包括 PLC 间的通信及 PLC 与其他智能设备间的通信。随着计算机控制技术的发展,工厂自动化网络发展得很快,各 PLC 厂商

都十分重视 PLC 的通信功能,纷纷推出各自的网络系统。新近生产的 PLC 都具有通信接口,通信非常方便。本章具体介绍 LabVIEW 与

永宏 PLC 通信的设计过程。

11.1.1 通信硬件连接
图 11-1 即为永宏 PLC 的硬件图,其中的硬件通信板可以选择,图 11-2 所示为选择的 RS485 与 RS232 的通信接口。

1.FBS-CB22 通信板(Communication Board 简称 CB)

2.FBS-CB22 通信板对应的盖板(每一种通信板都有其对应的盖板)

图 11-1 永宏 FBS 系列 PLC 硬件

图 11-2 FBS-CB22 RS232 和 RS485 接口通信板

11.1.2 PLC 串口通信原理
PLC 各型主机均内建 2 个通信接口的标准配置,即一个 RS232 和一个 RS485 通信接口,其 RS232 接口主要用于上下载程序或用来与

上位机、触摸屏通信,而 RS485 接口主要用于组建使用 RS485 协议的网络,实现通信控制。

1.RS232 接口 .
RS232-C 接口连接器一般使用型号为 DB-9 的 9 芯插头座,只需 3 条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其 9

个引脚的定义如图 11-3 所示。

图 11-3 RS232-C 接口连接器定义

在 RS232 的规范中,电压值在+3V~+15V(一般使用+6V)称为“0”或“ON”。电压在-3V~-15V(一般使用-6V)称为“1”或“OFF”;计算机

上的 RS232“高电位”约为 9V,而“低电位”则约为-9V。

RS232 为全双工工作模式,其信号的电压是参考地线而得到的,可以同时进行数据的传送和接收。在实际应用中采用 RS232 接口,信

号的传输距离可以达到 15m。不过 RS232 只具有单站功能,即一对一通信。

2.RS485 接口 .
RS485 采用正负两根信号线作为传输线路。两线间的电压差为+2V~6V 表示逻辑“1”:两线间的电压差为-2V~6V 表示逻辑“0”。

RS485 为半双工工作模式,其信号由正负两条线路信号准位相减而得,是差分输入方式,抗共模干扰能力强,即抗噪声干扰性好;实际

应用中其传输距离可达 1200 米。RS485 具有多站能力,即一对多的主从通信。

在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为 3 种基本的传送方式:单工、半双工和全双工,

如图 11-4 所示。

图 11-4 单工、半双工和全双工通信

单工通信使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。

若使用同一根传输线既作为接收线路又作为发送线路,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方

式称为半双工。采用半双工方式时,通信系统每一端的发送器和接收器,通过收发开关分时转接到通信线上,进行方向的切换。

当数据的发送和接收,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工。

在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传输。全双工方式无须进行方向的

切换。

串行通信可分为两种类型,一种是同步通信,另一种是异步通信。采用同步通信时,将所有字符组成一个组,这样,字符可以一个接一

个地传输,但是,在每组信息的开始要加上同步字符,在没有信息要传输时,填上空字符,因为同步传输不允许有空隙。采用异步通信

时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数据位来作为分隔位。比较起来,在传输率相同时,同步通

信方式下的信息有效率要比异步方式高,因为同步方式的非数据信息比例比较小。但是,从另一方面看,同步方式要求进行信息传输的

双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每一个信息位的位置。这样一来,如果采用同步方式,那么,

在传输数据的同时,还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较相近,

即不超过一定的允许范围就行了。在数据传输中,较为广泛采用的是异步通信,异步通信的标准数据格式如图 11-5 所示。

图 11-5 异步通信数据格式

从图 11-5 所列格式可以看出,异步通信的特点是一个字符一个字符地传输,并且每个字符的传送总是以起始位开始,以停止位结束,字

符之间没有固定的时间间隔要求。每一次有一个起始位,紧接着是 5~8 个的数据位,再后为校验位,可以是奇检验,也可以是偶校验,

也可不设置,最后是 1 比特,或 1 比特半,或 2 比特的停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平,这

样就保证起始位开始处一定有一个下降沿,以此标识开始传送数据。

11.1.3 永宏 PLC 通信协议
永宏通信协议可以简单通过串口来实现,上位机的具体参数如图 11-6 所示。

永宏 PLC 除了拥有自己的永宏标准通信协议以外,还支持 Modbus 通信协议(Porto 除外),具体的通信步骤如下:
Port0(RS232 或 USB)
通信速率 4.8



kbps ~ 921.6 kbps(9.6 kbps)



Port1~Port4
通信速率 4.8

kbps ~ 921.6 kbps(9.6 kbps)

Port1~4 可提供永宏或 Modbus RTU Master/Slave 通信协议



(RS232、RS485 或 Ethernet)



最大联机站数

254

图 11-6 永宏 PLC 通信参数

(1)设定外围设备的参数。

— 控制方式(如启动、停止):通信控制。

— 频率给定方式:通信设置。

— 设置通信参数:波特率、数据位、校验方式、停止位、RTU 或者 ASCII 方式。

— 站号。

(2)PLC 同该设备的 RS485 接线。

(3)改变设备的控制地址。找到所需要的控制地址,然后变成永宏 Modbus 地址。

(4)设定 PLC 通信接口的通信参数和通信方式,PLC 和该设备上配置的参数要一致。

(5)在 PLC 内写 M-BUS 指令,并填写所需要的相应的通信表格。

(6)程序写好后,接通电源,进行调试。

11.1.4 程序结构
本例程序采用循序结构控制,程序流程框图如图 11-7 所示,主要由打开串口、设置串口、向串口写命令、读返回值、关闭串口 4 部分组

成。

图 11-7 程序流程

程序中对串口的操作使用的是 VISA。

VISA 是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称。VISA 是在所有 LabVIEW 工作平台上控制 VXI、G

PIB、RS232 以及其他种类仪器的单接口程序库,是组成 VXI Plug & Play 系统联盟的 35 家最大的仪器仪表公司所统一采用的标准。采

用 VISA 标准后,就可以不考虑时间及仪器 I/O 选择项,驱动软件可以相互兼容。VISA 的功能模块包含在 LabVIEW Instrument I/O 的 V

ISA 子模板中。

VISA 驻留于计算机系统中,是计算机与仪器之间的软件连接层,用以实现对仪器的控制。VISA 对于测试软件开发者来说是一个可调用

的操作函数集,它本身不提供仪器编程能力,只是一个高层 API(应用程序接口),通过调用低层的驱动程序来控制仪器。NI-VISA 的层

次如图 11-8 所示。

VISA 的内部结构是一个先进的、面向对象的结构,这一结构使得 VISA 和在它之前的 I/O 控制软件相比,在接口无关性、可扩展性和功

能上都有很大提高。VISA 主要由 Config 模块、Write 模块、Read 模块、Close 模块组成,下面对这些模块做详细介绍。

VISA Config 模块对 VISA 资源信息如波特率、通信端口名称、数据校验、数据位等进行配置,并通过 VISA resource Name 端口将打

开的 VISA 资源名称传递给下一个节点。

VISA Write 模块把 write buffer 中的字符串写入 VISA session 指定的设备中。dup VISA session 向下传送相同的 session 值。在 UNI

X 工作平台上,数据同步写入;在其他工作平台上,数据异步写入。return count 返回实际传送的字节数。error in 和 error out 字符串

用于说明出错状况。

VISA Read 模块读取由 VISA session 指定设备中的数据。byte count 指明读入 read buffer 中的字节数,当收到的字节数小于 read bu

ffer 中所指定的字节数时,VISA read 将会一直等待,直到收到的字节数等于 read buffer 中所指定的字节数。VISA session 向下传送

相同的 session 值。同样,在 UNIX 工作平台上,数据同步读入;其他平台上的数据异步读入。

VISA Close 模块关闭由 VISA session 指定设备的通信过程,释放系统资源。

VISA 仪器控制流程见图 11-9。图 11-10 为串口读写程序示意图。

图 11-8 VISA 结构层次

图 11-9 VISA 仪器控制流程

图 11-10 串口读写程序

11.1.5 程序编写
基于 LabVIEW 的 PC 与 PLC 串口通信程序的面板如图 11-11 所示。

根据永宏 PLC 的通信协议及数据操作流程, 本程序采用顺序结构。 顺序结构可实现数据流的顺序流动, 首先打开串口和设置串口参数 (如

图 11-12 所示),波特率为 9600 Bps,串口号为 COM1,偶校验(Even),7 位数据位,数据停止位为 10(如图 11-13 所示)。

图 11-11 程序面板

图 11-12 VISA 串口配置

图 11-13 开串口和设置串口参数

第二步写入命令。先要对命令进行判断,看其是否合法,后面板程序如图 11-14 所示。然后,判断写入的命令是否超长,并将合法的数

据组合成可写入的命令,后面板程序如图 11-15 所示。

图 11-14 检查输入的命令合法性

图 11-15 根据通信协议进行数据组合

串口写入过程需要时间,所以在这一步之后需要延时 250ms,如图 11-16 所示。接下来就是读串口返回值。通过 VISA 读取返回的数值

(如图 11-17 所示),然后进行分析检验,判断所接收的数据是否正确。

图 11-16 将数据写入 PLC 的 R0 寄存器

检验数据之后这个操作流程就结束了,可以关闭 VISA 串口(如图 11-18 所示)。

图 11-17 读串口返回值

图 11-18 关闭串口

11.1.6 实例小结
本例运用 LabVIEW 驱动配置方法通过 VISA 建立了上位机与永宏 PLC 通信的程序,对于其他品牌和型号的 PLC 通信,同样可以使用该

方法。同样,Modbus 协议的设备间通信也可以使用此类方法。



相关文章:
更多相关标签: