①組態王的通訊機制
組態王把每一臺與之通訊的設備看作是外部設備,為實現和外部設備的通訊,組態王內置有大量的設備驅動作為外部設備的通訊接口。在開發過程中,只需根據工程瀏覽器提供的“設備配置向導”,一步步完成連接過程,即可實現組態王和相應外部設備驅動的連接。在運行期間,組態王可以通過驅動接口和外部設備交換數據,包括采集數據和發送數據或指令。組態王的驅動程序采用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的自由口通信方式。