楊奉偉 劉燕卿 徐伯俊 謝春萍 蘇旭中
(江南大學,江蘇無錫,214122)
竹節紗是花式紗線的重要品種之一,即在單紗的長度方向上分布有粗細節狀態,其產品應用廣泛,如窗簾,牛仔布,裝飾用品等。竹節紗生產參數主要包括基紗號數、竹節號數、節距及節長等,影響竹節紗表面竹節分布及粗細分布[1-2]。考慮到竹節紗工藝參數設置的方便快捷,節長、節粗等重要工藝參數的快速有效設置,以及工藝參數的存儲,開發一種可在PC端進行操作的竹節紗生產監控系統,實現工藝參數的實時修改以及工藝的存儲和提取,從而降低勞動強度,提高生產效率。
考慮到竹節紗生產設備的實際生產環境,本系統采用C/S架構,客戶端主機通過PPI協議直接與竹節紗生產設備相互通信,其優點在于無需增加其他組態軟件即可實現與西門子S7-200系列PLC通信。同時該系統也具有很大的可移植性,有利于現階段竹節紗生產設備的智能化改造。
竹節紗按生產原理可分為變牽伸型、植入型、涂色型、纖維型,其中變牽伸型是通過不斷改變細紗機中后羅拉的速度來控制紗線的后區牽伸倍數,從而實現控制細紗的粗細節分布,竹節紗形成原理如圖1所示。由江南大學研發的數字智能竹節紗生產設備就是采用了上述原理,節長等工藝參數可根據需求任意調節。中后羅拉速度根據工藝參數進行調節,如圖2所示。

圖1 竹節紗形成原理

圖2 中后羅拉變速原理
本軟件的開發是為了解決在竹節紗生產過程中工藝參數的存儲、修改和查詢時,設置與核對易出錯等問題而開發的。軟件設計主要實現如下的功能。
(1)能夠對竹節紗生產過程中的單修正系數、雙修正系數、模糊方式的選擇、前羅拉轉速以及電機轉速等基本的工藝參數實時查看和修改。
(2)工藝參數的錄入與保存。長度與倍率參數決定了竹節紗的節長、節距和節粗,進而決定著竹節紗織物的外觀特征。
(3)工藝參數的查詢和載入。軟件能夠實現對生產工藝參數的數據庫查詢,將工藝參數快速地從數據庫中提取到軟件相應的位置。
竹節紗管理在線監控系統由硬件和軟件兩部分組成,能夠實時修改和監視竹節紗的生產過程。硬件部分是在原有的竹節紗生產設備上進行改造,取代觸摸屏的部分,采用PC與S7-200系列的PLC相連接。它的硬件組成部分主要包括普通PC、PLC、伺服電機、細紗機,其中PC與PLC采用PPI協議專用電纜連接。
根據系統所需實現的功能,以及竹節紗生產過程中所需的工藝參數,將系統主要分為4個部分進行設計,具體的軟件結構設計如圖3所示。主界面與監控界面中包括竹節紗生產的基本工藝參數,如輪系系數、紡紗方式、單修正系數、雙修正系數等;竹節紗設備的運行狀態,如前羅拉轉速、速度控制門限、錠速、生產效率以及節長、節粗等各項參數。主界面與監控界面與通信程序相連接,可以實時監控機器的運行狀態以及當前竹節紗參數,修改竹節紗的各項參數。品種查詢和品種創新界面主要包括保存品種、查詢品種、刪除品種等操作,并與SQL數據庫相鏈接,用戶可以通過訪問數據庫的方式實現對新工藝的存儲和舊工藝的提取等。

圖3 系統終端的功能結構示意圖
PLC作為竹節紗生產設備的控制核心,內部存儲大量生產數據包括機器運行狀態、竹節紗生產參數等重要數據。通信程序基于PPI協議實現上位機對S7-200系列PLC內部數據的監控與控制,進而實現對竹節紗生產設備的監控與控制。
在竹節紗監控軟件的開發過程中,需要PC端與S7-200系列PLC連接,因此需要選取合適的通信方式。S7-200系列的PLC支持4種通訊協議,包括MPI、Modbus、PPI和自由口通信[3]。其中MPI和Modbus通訊都需要額外的模塊支持,若采用自由口通信,實現起來較困難,通信協議不穩定,也會占用PLC內部有限的存儲空間;目前已有郭在峰基于Modbus通信實現了與S7-200系列PLC的通信[4],但是采用Modbus通信需要在上位機和PLC中都編寫對應的通信程序,不便于后期系統的維護和修改。采用PPI通訊只需要上位機按照PPI協議編寫程序,即可與PLC進行通信,無需在PLC中編寫通信程序,針對本軟件來說,極大地節省了PLC內部有限的存儲空間。PPI協議通訊采用主從方式,主設備為 PC,從設備為 PLC。一個完整的讀寫過程如圖4所示。

圖4 PPI協議通訊流程圖
關于指令的編寫,何德軍、盧志俊、彭魏臻等已進行了詳細的研究[5-7], 因此不在此進行過多介紹,但是對于PPI協議的地址協議指令需要根據竹節紗生產設備實際的生產過程進行相應的修改。
3.2.1 PPI協議地址
在竹節紗生產設備中,PLC內部存儲的數據可分為6類參數,包括生產狀態監控參數、參數設置、運轉產量管理參數、機臺性能監測參數、系統調試參數及報警信息參數。每個分類下面又分多個參數,每個參數在PLC內部都有一個唯一的地址,通過讀取該地址寄存器的值來獲取對應參數的值。每個參數在PLC內部根據功能不同存儲為不同的軟元件類型,在利用PPI協議讀取相應地址的數據時需根據參數不同采用不同的功能碼,同時讀取地址也需加上偏移量指針,見表1。
表1竹節紗內部參數地址偏移

生產參數軟元件類型軟元件功能碼存儲地址數據通信地址前羅拉轉速模糊非模糊紡紗方式 紡紗時間 VWMST8483041F5126010.151000H01E0H0058H0028H
3.2.2 PPI協議指令
PPI協議指令的正確運用對于竹節紗生產設備的正常運行至關重要,同時也影響著竹節紗的生產質量。該協議指令分為讀寫指令,在竹節紗設備正常運行過程中,不能隨意更改竹節紗生產數據,否則影響正常生產。因此為了杜絕此類誤操作,在編寫程序時需對用戶指令進行分類與區別對待,如在設備運行時無法發送修改竹節紗生產參數指令,并提示錯誤等,如圖5所示。

圖5 指令調用確認流程圖
3.3.1 通信程序流程
在C#.NET環境中,一般利用計算機串口實現上位機與PLC的通信。采用串行通信方式性能可靠,操作簡單。SerialPort控件與MSComm控件都能實現與PLC下位機的通信[8-9],根據實際運行效果,本軟件采用了MSComm控件,此控件是Microsoft公式提供的簡化Windows下串行通信編程的Active控件,此控件可以用來創建功能完備事件驅動的通信程序,也能夠用來提供本軟件所需要的串行端口通信功能。此串口通信程序的設計圖如圖6所示。
整個通信的過程主要包括通信數據的寫入和PLC應答數據的解析。通信數據的寫入是指在通信開始之前,系統會根據用戶的操作,自動選取對應的通信串口,并對串口進行初始化,并調用對應的函數生成符合PPI協議的主機發送指令。PLC應答數據的解析是指在PLC收到主機讀寫指令后,回復對應的數據,系統根據回復數據的長度以及關鍵字節的值來判斷是否通信正常。讀取數據操作還需對回復數據進行對應字節數據的解析,以提取出需要的數據,寫入數據無需進行此項操作。

圖6 通信程序流程圖
3.3.2 通信數據的解碼
通信程序發送成功后PLC回復包含所需數據的全部信息,包括數據類型、數據長度等,因此需要對數據進行解碼,表2為讀取竹節紗第一段節長PLC的應答數據。
表2PLC應答數據分析

字節編號字節含義字節數據2122232425262728返回值 數據類型 數據長度 實際返回值實際返回值校檢碼 校檢碼 結束符 FF04000016XXXX16
Byte24-25為數據區塊,這一部分為實際需要讀取到的數據,需要進行解碼,讀取的數據為0016H,轉換成十進制后為22,因此第一段節長為22 cm,數據單位根據參數類型不同而定。根據用戶需要讀取數據的類型和長度的不同,PLC回復的數據長度也有所不同,相對應需要解碼的數據區塊的字節數也不同,見表3。
表3數據解碼區間對應表

數據類型數據個數回復長度截取區間驗證字節位 單字雙字121293333Byte26Byte25-28Byte25-28Byte18=00HByte18=00HByte18=00H
3.4.1 數據庫流程
在SQL數據庫的使用過程中,主要是通過對應的SQL語句實現對竹節紗工藝的存儲、提取和查詢操作。其程序流程如圖7所示。

圖7 數據庫程序流程設計圖
3.4.2 ADO.NET數據訪問技術
作為將用戶應用程序與SQL數據庫相鏈接的紐帶,ADO.NET數據訪問技術可將程序中的臨時數據存儲到數據庫,也可將數據庫中的數據提取到內存中供程序調用,這是本系統訪問數據的技術基礎。該技術包含兩個核心組件Dataset和Data Provider程序,Dataset對象主要用于存儲用戶暫時調用的竹節紗生產設備中的各項生產數據,Data Provider程序則是上述實現的基礎,負責執行SQL命令來存取竹節紗生產數據。其存取數據的一般過程如圖8所示。

圖8 ADO.NET數據庫訪問流程
本系統選取C#作為開發語言,C#十分適合開發運行在Windows設備下的應用程序,介于目前工廠中采用的計算機大部分都是運行在 Windows環境下,因此本系統主要采用C#為主要編程語言。
系統界面主要分為4個部分:主界面、監控界面、品種查詢與品種創建界面。主界面與監控界面中包括竹節紗的各項基礎參數、運行狀態、節長與節粗等各項參數,并且與串口通信程序鏈接。可以實時監控機器的運行狀態以及當前竹節紗參數,修改竹節紗的各項參數。品種查詢和品種創建界面借助ADO.NET數據訪問技術與SQL數據庫相連接,用戶可以通過訪問數據庫的方式調用以前的工藝以及進行對新工藝的存儲操作。
紡制的竹節紗號數20.5 tex,節長15 cm~26 cm,節距35 cm~45 cm,節粗2.5倍,其生產數據見表4。將系統監測到的竹節紗產量與實際生產產量對比,誤差率均小于1%,低于規定誤差。
表4竹節紗生產數據對比

機器編號終端產量/km實際產量/km誤差/km誤差率/%123422.6316.7419.8527.5622.7116.6919.7927.680.080.050.060.120.350.290.300.43
圖9為實際監測的PLC內部數據,用戶點擊運行監測按鈕即可監控當前竹節紗生產設備運行狀態。但為保證機器正常運轉及生產數據按計劃進行,此界面用戶無法對生產參數進行修改,只有查看權限,以保證機器正常運行。圖10為用戶品種創建界面,用戶可根據實際紡紗工藝填寫對應數據,點擊保存品種即可將當前工藝存儲在數據庫,點擊發送機號即可選擇要發送的機臺,并將數據送到對應竹節紗生產設備。圖11 為品種查詢界面,用戶可查詢過往生產工藝或直接調用數據庫中的生產工藝單。

圖9 用戶監控界面

圖10 品種創建界面

圖11 品種查詢界面
本文通過解析PPI協議指令,并加以總結與測試,利用計算機語言C#集成開發了竹節紗生產監控軟件。實踐證明,本竹節紗監控軟件無需使用西門子相關通信驅動程序,通過PC端讀寫西門子S7-200系列PLC對應地址中的數據,可在線修改、存儲以及監控竹節紗生產過程中的對應工藝參數。該監控軟件易于開發,無需其他組態軟件,投資較少且運行穩定,通過PC端監控竹節紗生產,相比于觸摸屏更加方便快捷,對于開發其他小型監控系統也具有一定的借鑒意義。