①组态王的通讯机制
组态王把每一台与之通讯的设备看作是外部设备,为实现和外部设备的通讯,组态王内置有大量的设备驱动作为外部设备的通讯接口。在开发过程中,只需根据工程浏览器提供的“设备配置向导”,一步步完成连接过程,即可实现组态王和相应外部设备驱动的连接。在运行期间,组态王可以通过驱动接口和外部设备交换数据,包括采集数据和发送数据或指令。组态王的驱动程序采用ActiveX技术,每一驱动都是一个COM对象,这种方式使驱动和组态王构成一个完整的系统,从而保证运行系统的高效率,如图1所示。因此,组态王可以与一些常用I/O设备直接进行通讯,如可编程控制器(PLC)、智能模块、板卡、智能仪表等。组态王与I/O设备之间的数据交换采用五种方式:串行通讯方式、DDE方式、板卡方式、网络节点方式、人机接口卡方式。
图1 组态王与外部设备通讯示意图
②组态王与S7-200的PPI通信方式
PPI(Point-to-Point)是西门子专为S7-200系列开发的一个通讯协议,为主/从协议,PC机为主站,S7-200为从站。该方式下有两种硬件连接方法,一种是使用PPI电缆将PC机串口和S7-200的通讯口相连,采用串行通讯方式。另一种是PC机通过CP5611通讯卡与S7-200相连。在第一种方式下,使用PLC编程软件STEP 7-Micro/WIN32安装通讯硬件在“SET PG/PC Interface”对话框中配置PC/PPI cable,选择Interface Parameter Assignment为PPI,并设置PPI参数默认值,双击通讯框中得刷新图标后建立与S7-200的通信连接。在第二种方式下,将CP5611卡安装在PC机的插槽中,用连接带缆将CP5611卡与S7-200的PORT口相连,安装STEP 7-Micro/WIN32和STEP 7 V5.0 +ServicePack5(或STEP 7 V5.1+ServicePack 2),运行PG/PC-interface parameterisation,将用户界面配置为CP5611 (PPI)方式。这两种方式的上位机组态王的设置基本相同,首先使用“设备配置向导” 定义外部设备,分别选择西门子S7-200系列PPI通信和西门子S7-200系列通讯卡通信,并设定如下通信参数:波特率9600bps,数据位8位,停止位1位,偶校验。在设定PLC地址时,两种方式有所不同,前者将PLC地址设为默认地址2。后者采用“PLC地址.2”地址格式,小数点前的数字为有效地址PLC的地址(即站号),小数点后为数字2,所设定的地址范围为2.2~126.2,其中PLC的地址可通过编程软件STEP 7-Micro/WIN设置来实现。
在组态王的“数据字典”中定义相关变量,选择变量类型为I/O型,并选择连接设备,指定所访问的寄存器名及寄存器类型。注意,组态王只支持V寄存器,如果要监控Q、I、M寄存器,可以先在PLC程序中将Q、I、M寄存器传至V寄存器,组态王通过对V寄存器的操作来实现对Q、I、M寄存器的监控。另外,组态王不支持直接以I/O离散变量的定义,需以字节(BYTE)形式存取,每一BYTE类型(8个BIT位)对应8个开关量的输入或输出状态,即BYTE的0~7位分别对应输入或输出的0~7开关量通道,如果要显示或控制某一开关量通道的状态,可以使用组态王提供的BIT()或BITSET()函数进行取位或置位。在制作好的监控画面中,将画面的图素与定义的变量建立“动画连接”,在TouchVew中运行,即可建立实时通信,得到一个反映工业现场的监控画面。
③组态王与S7-200的MPI通信方式
MPI(Multi-Point)为多主站的通信方式。在西门子公司的可编程控制器、操作员界面和编程器上的集成有MPI口,可与PC机、S7-200建立小型的MPI网。由于S7-200只能作为MPI从站,所以装有组态王的PC机与S7-200仍为主/从协议。PC机通过MPI卡(如CP5611通讯卡)接入MPI网中作为主站。其通信设置和使用与前类同。
④组态王与S7-200的自由口通信方式
自由口通讯方式是S7-200的一个很有特色的功能。它是一种通讯协议完全开放的工作方式,不受PPI协议的限制,是PPI方式的一个补充。在该方式下的通讯口的协议由外设决定,PLC通过程序来适应外设。从而使得S7-200系列PLC可以与任何具有通讯能力的并且协议公开的设备相通讯,即S7-200可以由用户自己定义通讯协议。
在与组态王采用自由口协议方式通讯时,为主从的问答方式,装有组态王的上位机为主呼方,下位机S7-200为应答方。亚控公司提供了使用STEP 7 Micro/WIN编写的自由口通讯的PLC初始化程序,该梯形图程序通过接收中断和发送中断以及发送指令(XMT)控制通信口的操作,其默认的PLC通讯端口为PORT0,地址为2,波特率9600bps。若要更改通讯端口、地址和波特率,可在STEP 7-Micro/WIN编程软件中将中断程序6(INT_6)中XMT指令的PORT 0口改为所用端口,并在系统块中进行相应更改;将VW8(存放PLC的地址的寄存器)传送PLC的实际地址值;波特率设置可通过更改SMB30的值,该寄存器是自由口控制寄存器,用于存放自由口控制字节。
在使用亚控的PLC初始化程序具体操作时,首先用PC/PPI电缆将PC机的串口与S7-200的通讯口相连,当CPU为226时,有两个通讯口:PORT0和PORT1,应选择PORT0与组态王进行通讯,因为此时使用PORT1通讯不上。在PC/PPI电缆上有DIP开关,用于设置通讯的波特率,此处设为9600bps,与SET PG/PC intererface中的设置一致。使用PLC编程软件STEP 7-Micro/WIN32安装和设置PC/PPI电缆,建立计算机与S7-200的连接后将亚控公司提供的自由口通讯的初始化程序下传至PLC中去。在组态王中定义外部设备为西门子S7-200系列编程口通信,并设定如下通信参数:波特率9600bps,数据位8位,停止位1位,无校验,设定PLC地址为默认地址2。其它操作与前相同,运行TouchVew,则可建立组态王与S7-200的自由口通信方式。