通信技术
PLC(可编程控制器)是一种成熟的工业控制器。PLC可靠性高,抗干扰能力强,在工业控制领域得到了广泛应用,并且已经成为现代工业自动化的三大支柱之一。
既然PLC在工业控制领域具有如此举足轻重的地位,具有其他控制器无法比拟的优势,而LabVIEW在测控软件开发方面也有着独到的优势,因此将PLC作为控制系统的核心,利用LabVIEW开发系统控制软件,结合各自的特点,发挥各自的优势,就可以开发一套功能强大、高效可靠的控制系统。
下面将详细介绍OPC技术以及在LabVIEW环境下如何利用DSC模块实现西门子PLC和PC机通讯的过程。
OPC以OLE/COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化面向对象的开发提供的统一标准,这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可以免除开发驱动程序的工作,从而提高了系统的开放性和互操作性。
OPC可以作为整个网络的一种数据接口规范,所以它可以提升控制系统的功能,增强网络的兼容性。采用OPC技术,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统升级与维护。
软件配置为:SIMATICStep7V5.4,SIMATICNETPCSOFTWAREV6.2SP1,LabVIEW8.2。Step7和SIMATICNETPCSOFTWAREV6.2SP1用于对西门子PLC进行编程并组态OPCServer;LabVIEW8.2用于PC机监控系统程序的编写。
硬件配置为:PC机,SiemensPLC-300(CPU-3152DP),以太网通讯模块,数字输入/输出模块,模拟输入/输出模块,存储卡,编程线缆,普通自适应以太网卡,网线。
针对以上软硬件配置,结合以太网的通讯优势,考虑最简化程序设计,PC机与PLC通讯硬件连接如图1所示。
图1 PC机与PLC通讯硬件连接
这里要建立的OPCServer与PLC的连接是以SIMATICNET为基础的,SIMATICNET是西门子在工业控制层面上提供的一个开放的,多元的通讯系统。它能将工业现场的PLC、工作站和个人电脑联网通讯,为了适应自动化工程中的种类多样性,SIMATICNET推出了多种不同的通讯网络,这些通讯网络符合国际标准。
我们可以先在PC机上建立OPC服务器,通过网络(以太网、Profibus、Profinet、Canbus等),OPC服务器中的数据就可以与西门子PLC中的数据建立起互为映像的关系。
3.2.1、配置PC站硬件机架
当SIMATICNET软件成功安装后,即可通过点击StationConfigurationEditor进入配置窗口。选择一号插槽,点击Add按钮添加,在添加组件窗口中选择OPCServer点击OK即完成。同样方法选择三号插槽添加IEGeneral。插入IEGeneral后,即弹出其属性对话框。点击NetworkProperties,进行网卡参数配置。点击NetworkProperties后,Windows网络配置窗口即打开,选择本地连接属性菜单设置网卡参数,设置IP地址和子网掩码。点击StationName按钮,指定PC站的名称,这里命名为E_OPC。
3.2.2、配置控制台(ConfigurationConsole)
配置控制台是组态设置和诊断的核心工具,用于PC硬件组件和PC应用程序的组态和诊断。正确完成PC站的硬件组态后,打开配置控制台(start→simatic→simaticnet→Configurationconsole),可以看到所用以太网卡的模式已从PGmode切换到Configurationmode,插槽号(Index)也自动指向3。在AccessPoints设定窗口中,将S7ONLINE指向PCinternal(local)。此设定是为PC站组态的下载做准备。
打开SIMATICManager,创建一个新项目,如“E_OPC”。通过Insert→Station→SimaticPcStation插入一个PC站。双击Configuration即可进入PCStation组态界面。
在硬件组态中,从硬件目录窗口选择与已安装的Simaticnet软件版本相符的硬件插入到与在StationConfigurationEditor配置的PC硬件机架相对应的插槽中。
点击IEGeneral属性对话框中Properties按钮打开以太网接口参数设置对话框,按要求设置以太网卡的IP地址和相应的子网掩码。IP地址应与实际硬件所设以太网卡IP地址一致。并用New按钮建立一个Ethernet网络。确认所有组态参数,完成网卡设置。
完成PC站组件设置后,按下编译存盘按钮确定且存储当前组态配置,编译无误后,点击ConfigureNetwork按钮,进入NetPro配置窗口。
在NetPro网络配置中,用鼠标选择OPCServer后在连接表第一行鼠标右键插入一个新的连接。
确认所有配置后,已建好的S7连接就会显示在连接列表中。点击编译存盘,如得到Noerror的编译结果,则正确组态完成,如图2所示。
图2 正确组态完成后的NetPro窗口
完成PC站组态后,即可在NetPro窗口点击功能按钮栏中下载按钮将组态下载到PC站中。下载完成后,可以打开StationConfigurationEditor窗口检查组件状态。
PC机通过LabVlEW与OPCServer进行通讯有三种方法:
1)通过ActiveX自动化接口实现对OPCServer的访问;
2)通过NI的DataSocket技术实现与OPCServer的通讯;
3)利用LabVIEWDSC模块与OPCServer通讯。
其中前两种方法只适合与少量点数的OPC标签连接。因为需要编写多段重复代码或是通过For循环来读写,因此当点数增多时会降低读写速度并让系统变得不利于维护。通过DSC模块内建的与OPCServer通讯的机制,不仅编程变得相当容易,而且其编程规模和读写速度皆不受点数的限制。鉴于实际系统的点数很多,结合项目的实际情况,我们选择了第三种方法。
3.3.1、LabVIEWDSC模块介绍
DSC(dataloggingandsupervisorycontrol)数据记录与监控模块专为分布式数据获取与监控(supervisorycontrolanddataacquisition,SCADA)系统设计,能轻松与OPCServer通讯,也能生成自己的OPCServer。此外还有很多SCADA常用功能。例如基于配置的警报和事件。应用程序的用户级安全机制,分布式监测和控制的图形化开发,实时与历史数据追踪,内置联网便于与第三方设备的数据共享和集成,分布式数据记录的联网数据库等。
3.3.2、利用LabVIEWDSC实现对OPCServer的访问
LabVIEW8.2DSC通过引用共享变量与OPC标签连接的方法。共享变量可以与本地或网络上任何一台电脑上的OPC标签绑定。当绑定好后,用户只需要把共享变量当作普通变量一样操作就可以了。
通过共享变量读取OPC标签值有几种方法:直接将共享变量拖到前面板直接绑定运行或者拖到后面板当成变量进行编程,这两种方法使用起来很简便,但是在变量多时,不利于变量的管理;还有一种就是利用DSC模块提供的事件方法。
采用事件驱动方法(如图3所示)的好处是:一方面,程序不需要像轮询那样去不断读取OPC标签值,而只是当OPC标签值变化时才触发相应的处理程序;另一方面,Library中的共享变量不论多少,我们的程序都无需作任何改动,就能将所有的OPC标签值读到同一数组中,再对该数组进行索引即可得到相应的各变量值,因此这种方法效率最高。
图3 利用事件驱动方式读取OPC标签值的程序
本文介绍了基于OPC技术的PC机通过LabVIEW实现与西门子PLC的通讯。给出了相关组态配置流程以及事件驱动法的LabVIEW源程序。该方法已经成功应用于某控制系统改进项目中,系统运行稳定、可靠,效果良好。
通过这次的开发调试工作,对OPC技术及西门子PLC、LabVIEWDSC模块都有了更进一步深入的了解,为以后的设计工作积累了经验。相信LabVIEWDSC及OPC技术在工业分布式控制领域将扮演越来越重要的角色。
全部0条评论
快来发表一下你的评论吧 !