首页 理论教育 工具软件通信编程指南

工具软件通信编程指南

时间:2023-06-23 理论教育 版权反馈
【摘要】:工具软件多为PLC厂商提供,兼用或专用于计算机与PLC通信。此外,CX-one中的Integrator是网络配置工具,用以实现网络通信及测试。用厂家控件的好处是,可以不弄清通信协议就可编写通信程序。使用OPC可把通信程序与应用程序分开。3)通过组对象对数据项进行读写等操作。

工具软件通信编程指南

工具软件多为PLC厂商提供,兼用或专用于计算机与PLC通信。最常用的就是编程软件。此外,还有OPC服务器、ActiveX控件及API函数。一般讲,工具软件在任意平台上都可运行。

1.编程软件

OMRON公司的CX-Programmer除了用于编程,还是最基本的通信工具软件,可在所有OMRON网络平台上,实现计算机与OMRON所有PLC联机通信。所以,要是哪个网络“叫不通、连不上”,用它进行测试是最好的选择。如果PLC通信接口设定出现问题,无法与计算机通信,最好的方法也是对CPU模块上的硬件开关恢复为默认设定(不同机型开关有所不同,可参阅有关说明书),再用编程软件按默认设定即可通信。

此外,CX-one中的Integrator是网络配置工具,用以实现网络通信及测试。CX-one中的其它工具软件多也可用以与PLC通信,只是使用它的技巧要高些。

2.ActiveX控件

很多PLC厂家都开发有针对可视化编程软件使用的、针对自身PLC串行接口或网络模块的通讯控件(ActiveX控件),如OMRON CXP-One软件,在计算机上安装后,这些控件将加载到编程软件平台上。图7-68所示为在VB控件视窗上显示的OMRON PLC的控件。

978-7-111-26319-7-Chapter07-145.jpg

图7-68OMRONPLC控件

图7-69a所示为仅加载一个Command1及一个DataMonitor1控件使用的窗口。加载后用鼠标右键点击该控件图标,将弹出一个菜单,从中选定特性,则显示如图7-69b所示的“PropertyPages”(属性页)。在该页面,可设定连接的PLC及通信网络。本例连接CP1H型PLC,使用USB接口。

978-7-111-26319-7-Chapter07-146.jpg

图7-69DataMonitor1控件使用

a)FORM1窗口b)特性窗口1

c)特性窗口2

这时,如果点击左上角“通信”,则转为显示通信页面。这时再点击“测试通信”按钮,则在窗口右方显示测试信息。这里显示“已连接”,说明连接成功。

在本例中,Command1_Click()过程,仅写Data- Monitor1.Show一个语句。其含义是打开CX-one内存窗口。所以,如果本程序运行点击Command1按钮,将弹出如第2章的图2-92所示内存窗口。对其使用与在CX-Programmer编程软件中一样。

用厂家控件的好处是,可以不弄清通信协议就可编写通信程序。然而,这里的控件大多数因为没有交费、没有驱动,无法实际使用。

3.OPC(OLEforProcessControl)

OPC是微软处理程序间通信和数据交换的新技术。使用OPC可把通信程序与应用程序分开。通信程序由PLC厂家提供,用于与PLC通信,并用作OPC服务器,用一组组接口(interface)为客户提供服务。而应用程序由PLC用户编写,作为OPC的客户,通过接口接收服务,使OPC客户间接实现了对PLC监控与数据采集。

OPC接口由3类对象组成,相当于3种层次上的接口:服务器对象(Server)、组对象(Group)和数据项(Item)。

(1)服务器对象(Server)

拥有服务器的所有信息,同时也是组对象(Group)的容器,一个服务器对应于一个OPC Server,即一种设备的驱动程序。在一个Server中,可以有若干个组。操作系统用CLSID,即128位长的标识码识别。在每一这类文件安装时,由操作系统向其指定的惟一标识码。

(2)组对象(Group)

是应用程序组织数据的一个单位。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组(Public或称全局组)和局部组(Local或称局域组、私有组)。公共组由多个客户共有,局部组只隶属于一个OPC客户。全局组对所有连接在服务器上的应用程序都有效,而局域组只能对建立它的Client有效。一般说来,客户和服务器的一对连接只需要定义一个组对象。在一个组中,可以有若干个项。

(3)数据项(Item)(www.xing528.com)

是读写数据的最小逻辑单位,一个项与一个具体的位号相连。项隶属于某一个组。是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的。通过定义数据项,OPC规范尽可能的隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。

使用OPC技术是趋势,OMRON也不例外,使用SysmacOPC。事实上,当CX-one软件安装后,在OMRON项目之下,就有“CX-server”项。之下还有“DDE管理器”、“驱动管理器”、“输入输出工具”、“性能监视器”等项目。可用于OPC服务。只是它只是外壳,付之使用还得有另加付费的软件激活。

对于OPC,用户操作数据项的一般步骤为:

1)通过服务器对象接口枚举服务器端定义的所有数据项。

2)将要操作的数据项加入客户定义的组对象中。

3)通过组对象对数据项进行读写等操作。

每个数据项的数据结构包括三个成员变量:即数据值、数据质量和时间戳。数据值是以变量类型表示的。

这时,如用VB编程,则要先在VB开发环境平台上,加载OPC类。还要定义与这些类有关的窗口全局变量。以便在程序中使用这些变量。再次是,建立OPC连接,加入项目组。这些可用初始化程序实现。

4.FinsGateway

FinsGateway现在版本是FinsGateway2003。是OMRON公司FINS协议的驱动程序。通过该驱动,上位机可以通过各层网络(包括网络互连)来访问网上的PLC。若采用运行版(Run-time版),上位组态软件可直接通过FinsGateWay的驱动,方便地与PLC进行通信。若采用开发版,则该软件提供Sysmac Compolet,即VB/VC控件,同样也可以为自己开发的程序提供驱动。

FinsGateway有两种通信服务。一是FINS信息服务通信,使用网络通信命令。计算机发送,PLC响应,总是成对的。二是数据链接通信,用内存共享。在计算机方,参与共享内存称之为事件内存(EventMemory),可与PLC的DM区进行数据链接通信。事件内存还可作为FINS服务器,被其它应用程序访问。

图7-70a所示为FINS信息服务通信示意。它的数据交换是靠发送通信命令及接收响应实现。计算机接收到数据存于事件内存中。图7-70b所示为事件内存与PLCDM数据链接通信示意。它的数据交换是自动实现的。

978-7-111-26319-7-Chapter07-147.jpg

图7-70 数据链接示意

a)FINS命令数据读写 b)数据链接

FinsGateway还有网络中继功能,可跨网络通信。还有套接字代理服务器功能,允许被TCP/IP网络上程序访问。此外,OMRON的还有PLC Reporter32数据收集软件,安装后在EXCEL表格中直接设定,可把读取DM区的数据,转为Excel表格显示。

5.API函数

有的厂商,如西门子,不提供网络或串行接口通信协议,只提供它自己开发的通信用API函数。这些函数是在安装它的Prodave通信软件后加载给Windows的。使用这些API函数,即使不清楚它的通信协议,也可编写使用串行接口及Profibus网络的通信程序。

Prodave通信软件提供的API函数很多,如:load_tool()接口设定及打开、unload_tool()接口关闭、d_field_read()读DB模块、d_field_write()写DB模块等。还有很多其它软器件的读、写函数。这些函数可用于S7各个机型,可用于MPI网,也可用于Profibus网。

正如使用Windows的API函数一样,如VC使用,先写好头文件调用语句就可以了。而如果VB使用,必须先对函数进行声明。以下就是打开口(load_tool)与关闭口(unload_tool)的函数声明。

Declare Function load_toolLib"w95_s7.dll"(ByVal nr As Byte,ByValdevAsString,adr As plcadrtype)As Long

Declare Functionunload_toolLib"w95_s7.dll"()AsLong

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈