新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于PLC的主从式虚拟仪器测控系统

基于PLC的主从式虚拟仪器测控系统

作者:时间:2017-01-05来源:网络收藏
0 引言

在过程控制中,由于工业现场非常分散,I/O点数众多,各种仪表的工作环境非常恶劣,采用数据采集卡和LabVIEW开发平台来完成现场的数据采集和控制显然不可取。考虑到过程控制中的过程参数变化不是很快,而PLC恰恰可以克服数据采集卡在过程控制中的不足,并且具有较高的性价比,因而采取以PLC为下位机,以装有LabVIEW软件的工控机为上位机开发平台。通过RS-232和RS-485串口与PLC通信,实现对工业现场的监控与现场数据的分析。本文根据这个思想设计了一个工业远程监控系统,上位机采用PC机,下位机采用西门子PLCS7-200。

本文引用地址:http://www.eepw.com.cn/article/201701/336545.htm

介绍了一种在LabVIEW8.6平台上开发PC机和PLC实时监控的软件的编程方法,在此基础上构建了基于PLC的主从式虚拟仪器测控系统。

1 系统构成与自由口通信模式

1.1 PC与PLC的通信方式

S7-200 CPU上的通信口是与RS-485兼容的9针D型连接器。PLC还提供了实现RS-485与PC机上RS-232相连接的PC/PPI电缆,可以方便地实现S7系列PLC与PC之间的硬件连接。图1是PC与PLC通信的示意图,利用主机上的232串口,通过RS232-RS485转换模块与PLC相连。系统中如果应用多个PLC模块或其他具有RS485串行通信能力的设备,亦可方便地联网或构成网络测控系统。

1.2 PC与PLC的通信协议

西门子S7-200系列的PLC可以在四种通信模式下工作:PPI、MPI、PROFIBUS-DP和自由口通信模式。自由口通信模式是由用户程序来控制CPU的串口通信。用户可以利用发送/接收中断、发送/接收指令来控制通信的操作,实现与打印机、条形码阅读器等设备的通信。

本文主机与PLC之间串行通信采用的是自由通信协议。该协议采用主从结构的通信方式,传输模式是RTU,适用于半双工的RS485总线。协议规定总线上有一个主机,多个从机,每个从机分配惟一的地址。工作时可以采用命令应答的通信方式,每一种命令帧对应着一种应答帧。主机向要访问的从机发出命令帧,地址匹配的从机做出响应,向主机发出命令帧对应的应答帧。自由通信协议中,为命令帧定义了许多功能码,不同的功能码要求从机进行不同的响应。PLC在将传感器信号转换为数据后将其存储在变量存储区的固定区域。此时PLC的串口一直处于接收状态,直到接收到来自上位机的读命令后,转为发送状态,将变量存储区中的数据通过串口发送给上位机。考虑到收发切换有一定的时间间隔,所以必须延迟一段时间再转为发送数据。

1.3 自由口模式的注意事项

自由口模式通信要注意以下问题:

(1)CPU通信口工作在自由口模式时,通信口就不支持其它通信协议。CPU停止时,自由口不能工作,编程软件就可以与CPU通信。

(2)此通信模式下,发送和接收指令是程序的核心指令,用户程序不能直接控制通讯芯片而必须通过操作系统。

(3)用户程序中应考虑电缆的切换时间。CPU接收到RS-232设备的请求到它发送响应的延迟时间必须大于等于电缆的切换时间,可用定时中断实现切换延时。

(4)在自由口模式下,通信双方的通信参数是由用户自行设定的,通信双方的波特率一定要设置相同。另外,在PLC网络中主站个数越少,通信速度越快:波特率越大,通信速度也越快,但抗干扰能力降低。因此对于本系统这种单主站的网络,要注意波特率不宜设置得过大。

2虚拟仪器程序设计

LabVIEW是美国国家仪器公司开发的虚拟仪器开发平台软件,功能强大、灵活,广泛应用于自动测量系统以及工业过程自动化等各个领域。

在LabVIEW编程语言中串口通信采用虚拟仪器体系结构VISA (Virtual Instrument Software Architecture)标准编程。VISA是仪器驱动的一个工业标准,其内部是一个面向对象的结构,这一结构使得VISA和在它之前的I/O控制软件相比,在接口无关性、可扩展性方面都有很大提高。VISA标准的推出,统一了仪器工业的软件接口标准,使得仪器驱动程序兼容性强并且可适应未来软硬件的发展需要。

2.1 LabVIEW中的串口通信函数

(1)VISA配置串口。该函数主要用于串口的初始化。主要参数如图2所示。

其中“VISA资源名称”指定要打开的资源。该控件也可指定会话句柄和类。“波特率”是传输速率,默认值为9600。“数据比特”是输入数据的位数,默认值为8。“奇偶”指定要传输或接收的每一帧所使用的奇偶校验。“停止位”指定用于表示帧结束的停止位的数量。“流控制”设置传输机制使用的控制类型。“VISA资源名称输出”是由VISA函数返回的VISA资源名称的副本。


上一页 1 2 下一页

评论


技术专区

关闭