周桂存
(中國石化儀征化纖股份有限公司,江蘇 儀征 211900)
在紡織化纖行業,絲束張力是一個十分重要的參數,一般將該參數的檢測作為質量控制的重要手段之一。在線張力傳感器在化纖生產中應用廣泛,德國施密特公司生產的FS系列在線張力傳感器在化纖行業有很多應用,FS系列在線張力傳感器設有RS-422數字輸出信號接口,通過配置RS-422/RS-232轉換器和該公司開發的張力檢測軟件,即可實現在PC機上顯示在線張力傳感器采集的數據。但是此張力檢測軟件的用戶界面比較單一,靈活性不夠,而且要單獨采購,增加了生產成本。
筆者通過對FS系列在線張力傳感器數字輸出接口通信協議ASCII的研究,采用基于CP341的串口通信模塊,將其信號采集到現有的S7-300 PLC上,在上位監控系統中將在線張力傳感器信號進行實時采集和記錄,以方便生產管理和絲束張力對質量影響的追蹤分析。在此,基于ASCII通信協議,介紹采用RS-422全雙工模式,通過CP341串口通信模塊對FS系列在線張力傳感器檢測數據實時采集的實現方法。
FS系列在線張力傳感器的數據采集系統分為現場層、控制層和上位監控層,如圖1所示。現場層由FS張力傳感器組成,張力傳感器采用RS-422通信接口,單段RS-422總線上可以接1~32個張力傳感器;控制層由S7-300 PLC組成,PLC系統配置有CP341串口通信模塊,與FS張力傳感器進行RS-422通信,實現數據采集;監控層采用iFIX監控組態軟件構成操作員站,對所采集的數據進行實時顯示與超限報警,并形成歷史記錄,用于事后數據分析等。

圖1 數據采集系統結構示意圖
圖2是FS-422張力傳感器和CP341串口模塊之間的RS-422電氣連接示意圖,采用全雙工模式。FS張力傳感器需外部供電,多臺FS張力傳感器之間通過RJ45網線并聯連接。

圖2 張力傳感器與CP341的硬件連接示意圖
FS系列在線張力傳感器出廠前如無特別要求,RS-422接口默認設置為:波特率57 600bit/s,8位數據位,1位停止位,無校驗。通信設定參數用戶不能修改。
S7-300 PLC的硬件組態中需對CP341進行參數設置,通信協議選ASCII,波特率、數據位、停止位、校驗方式設置成與FS-422張力傳感器一致,字符延時時間4ms,接口界面模式選全雙工(四線制),其他采用默認設置,保存編譯下載到S7-300 CPU硬件組態。
FS張力傳感器的ASCII通信發送/接收數據命令格式如下:
a. 發送數據格式,地址+功能碼,無CR或LF;
b. 接收數據格式,值+CRLF。
FS張力傳感器ASCII協議的通信代碼見表1。

表1 FS-422張力傳感器的ASCII代碼
采用ASCII協議驅動實現多站點輪詢通信。S7-300 PLC作為主站發出數據請求,張力傳感器各站作為從站應答響應,主站通過發送不同地址站點的信息幀輪詢不同從站,從站根據地址站點信息來判斷是否是發給自己的信息,是發給自己的信息即做出相應處理,否則不做處理。響應數據幀中不含地址信息,通過定時輪詢,完成后延時直接啟動下一個作業。發送或接收數據無數據校驗處理。發送數據幀和響應數據幀的格式如圖3所示,發送數據幀占2個字節,Byte1為從站地址,Byte2為功能碼;響應數據幀7個字節,Byte1~Byte5為響應值;Byte6為CR字符;Byte7為LF字符。

圖3 發送和接收數據幀格式
正確完成硬件接線與模塊參數設置后,通過編寫PLC程序完成與在線張力傳感器數據采集通信,S7-300 PLC主站發送數據幀由CP341的功能塊FB8實現,接收數據幀由功能塊FB7實現。為了實現對多個在線張力傳感器從站的輪詢,PLC程序中設計了一個輪詢計數器,通過修改輪詢計數器的值,來修改主站發送數據幀中的從站地址標識字符。
程序發送/接收數據輪詢時序如圖4所示,當T1=T2時占空比1∶1,T1開始時,發送數據準備,延時T11,發送數據同時清除接收數據緩沖區;T2開始時接收數據,延時T21,將數據從接收緩沖區轉移到指定的從站數據存儲區中,延時T22,修改輪詢計數器,準備輪詢下一個從站。

圖4 程序發送或接收數據的輪詢時序
從在線張力傳感器接收到的數據為ASCII字符,需將其轉換成整數類型,便于在上位機顯示記錄。如發送請求命令“d”或“s”,則從站返回數據Byte1~Byte5中Byte5為空格,Byte1~Byte4為實際響應數據,響應數據表如圖5所示。

圖5 張力傳感器響應數據表
圖5中,Byte1(千位)有3種類型的ASCII字符響應:“1~9”為數字符號;“-”為負數符號;“sp”為空格符號,表示數字“0”。對應的Byte2~Byte4響應ASCII字符如圖5所示。Byte1~Byte4字符(CHAR)轉換成整數(INT)的FC部分程序如下:
//Byte1變量轉換成整數
L #char1//檢查字符1(Byte1)的值是否在30H~39H之間
L 57
>I
JC err
TAK
L 48
JC err//如不,則轉到err
-I//計算Byte1
L 1000
*I
T #char1tmp
//Byte2變量轉換成整數
L #char2//檢查字符2(Byte2)的值是否在30H~39H之間
L 57
>I
JC err
TAK
L 48
JC err//如不,則轉到err
-I//計算Byte2
L 100
*I
T #char2tmp
//Byte3變量轉換成整數
L #char3//檢查字符3(Byte3)的值是否在30H~39H之間
L 57
>I
JC err
TAK
L 48
JC err//如不,則轉到err
-I//計算Byte3
L 10
*I
T #char3tmp
//Byte4變量轉換成整數
L #char4//檢查字符4(Byte4)的值是否在30H~39H之間
L 57
>I
JC err
TAK
L 48
JC err//如不,則轉到err
-I//計算Byte43
L 1
*I
T #char4tmp
L #char1tmp//Byte1~Byte4相加
L #char2tmp
+I
L #char3tmp
+I
L #char4tmp
+I
T #Result//Byte1~Byte4整數轉換結果
BEU
err:NOP 0
上述程序給出了當Byte1為“1~9”、Byte2~Byte4為“0~9”的ASCII字符時,字符(CHAR)轉換成整數(INT)的程序實現方法。
上位監控系統采用iFIX組態軟件,通過OPC與S7-300 PLC進行以太網通信,將采集到的PLC在線張力傳感器數據在上位機上顯示、記錄、超限報警,并形成歷史記錄便于數據分析和跟蹤追溯。
基于ASCII通信的在線張力傳感器數據采集系統,可對多臺張力傳感器檢測數據進行實時采集,通過張力傳感器的數字輸出接口將其集成到現有的基于PLC的DCS系統中,組網方便,人機交互界面友好,數據處理靈活,系統投資成本也得以降低。現場實際使用表明,基于CP341串口通信模塊的RS-422全雙工數據采集系統,實時性好、穩定性高,為化纖產品的質量監控提供了有效手段。