1 引言
某項目在設計某自動控制系統時,需對多臺倫茨公司的lenze 4900直流調速裝置(以下簡稱:lenze 4900)進行實時監控。倫茨直流調速裝置提供了多種通信方式,通過配接不同的通信模塊可實現如:profibus、can、interbus、lecom等多種通信協議。
該直流調速裝置則使用lecom串口通信協議,該協議主要用于多臺倫茨直流調速裝置與主站之間以主從方式進行通信。筆者在搜尋lecom協議相關資料時,從電氣傳動自動化雜志2002年12月第24卷第6期的文章《倫茨變頻器lecom通信的實現》中得到很大啟發。該篇文章主要介紹倫茨變頻器通過lecom協議與上位機通信的實現方法,而倫茨直流調速裝置通過lecom協議與上位機實現通信時,其硬件實現方式與倫茨變頻器類似,而通信協議則有一些差別。
下面詳細講述本自動控制系統的系統構成和倫茨直流調速裝置lecom通信的通信協議、設計思路,以及lecom通信在本控制系統中的實現方法。
2 控制系統的構成及通訊協議
在本自動控制系統中,要求將6臺lenze 4900的參數、數據等通過cp440通訊模塊讀取到plc中,參與連鎖控制,圖1為具體的網絡結構示意圖。
[align=center]

圖1 網絡結構示意圖[/align]
lenze 4900與plc之間采用lecom協議通訊,雙方以9600bps的通訊速率進行通訊,以下為cp440模塊和lenze 4900及lecom通訊協議的簡單介紹:
2.1 cp440模塊
(1) cp440通訊處理器
cp440通訊處理器是siemens公司提供的串行通訊的低成本解決方案,它可以在simatic s7-400中使用,該通訊模塊提供了三種不同形式的傳輸接口:
●rs-232c(v.24);
●20ma(tty);
●rs-422/rs-485(x.27)。
(2) cp440參數設置
該模塊可以實現ascii碼、3964(r)和打印機驅動三種通訊協議,通過集成在step7中的參數化工具可進行簡單的參數化,其設置主要包括通訊方式(波特率、數據位數、停止位數和奇偶校驗)、接收幀結束方式、接口方式(485 or 422)等。本設計中使用ascii碼通訊協議來實現lecom協議。本設計中cp440的參數設置為:
●接收幀結束方式:接收到固定的36個字節的數據;
●通訊方式:波特率9600,1位起始位,8位數據位,1位停止位,1位校驗位(偶校驗);
●接口方式:rs-485,其余的設置為默認方式。
2.2 lecom通訊協議
(1) lecom通訊協議原理簡介及其硬件結構。lecom協議是倫茨公司lenze 4900系列直流調速裝置之間通訊所使用的一種ascii碼串口通訊協議。倫茨直流調速裝置通過配用外接模塊2102ib,將其插在直流調速裝置的xi口上,該模塊提供一個rs-485接口,將多臺直流調速裝置及主站按圖2所示連接,可構成lecom通信網絡。接入網絡中的直流調速裝置數量最大可達到31臺。
[align=center]

圖2 lecom網絡連接示意圖[/align]
網絡上每臺直流調速裝置都必須正確設置與通信相關的參數,例如各直流調速裝置均需使用相同的波特率,各不相同的站地址。直流調速裝置的參數c009用于設置站地址,參數c125用于設置波特率。lecom通訊協議幀結構。lecom協議中,通信指令主要分為讀數據命令和寫數據命令兩部分。
(2) 讀直流調速裝置參數的數據幀結構。讀直流調速裝置數據時,由主站向直流調速裝置傳送的數據幀格式見表1:
表1 主站向直流調速裝置發送讀參數指令的數據幀格式
表1中:
●eot為控制字符,表示前一幀數據傳送結束,新一幀數據傳送開始;
●ad1和ad2為ascii碼表示的從站(直流調速裝置)地址,例如:主站向地址為2的直流調速裝置發數據,則:ad1=“0”=30h,ad2=“2”=32h
●ch1和ch2為ascii碼表示的直流調速裝置參數代碼,例如:主站要讀取參數代碼
c11,則:ch1=“1”=31h,ch2=“1”=31h;如果主站要讀取參數代碼c111,
則:ch1=“11”=3bh,ch2=“1”=31h;
●enq為控制字符,表示請求從站數據。
(3) 向主站回應的數據幀結構。當相應的從站直流調速裝置接收到如表1中的主站讀取參數命令后,如果該從站能識別接收到的數據,則向主站回應如表2所示的數據幀。
表2 從站能識別接收到的數據時回應數據幀格式
如果該從站不能識別接收到的數據(校驗和錯誤),則向主站回應數據幀格式見表3。
表3 從站不能識別接收到的數據時回應數據幀格式
如果所訪問的參數代碼不存在,該從站則向主站回應如表4所示的數據幀。
表4 主站訪問的參數代碼不存在時從站回應的數據幀格式
表2、3、4中的字符具體含義如下:
●stx為控制字符,表示傳送文本開始;
●etx為擴展字符,表示傳送文本結束;
●v1…vn為n個ascii字符表示的參數值;
●bcc為塊校驗字符,其計算方法為:
bcc=(ch1)xor(ch2)xor(stx)xor……xor(etx)
(4) 寫直流調速裝置數據
寫直流調速裝置數據時,主站向從站直流調速裝置發送的數據幀格式見表5。當從站接受到如表5所示數據后,如果校驗無誤,則向主站回應控制字符ack;如果校驗不通過則向主站回應控制字符nak。
表5 主站向直流調速裝置發送的寫參數指令數據幀格式
3 軟件實現
要通過cp440通信模塊同其他設備以lecom協議通信,plc程序的設計也是一個比較重要的環節,而從以上的lecom協議通信幀格式可以看出,利用cp440模塊實現lecom協議需要完成的工作就是用plc程序來構造lecom協議的信息幀結構。
結合cp440硬件及軟件功能塊,按模塊化程序設計方法,可設計通信子程序、plc主站讀取直流調速裝置參數的程序、plc主站寫直流調速裝置參數的程序、plc主站接受直流調速裝置返回參數的程序。
3.1 plc主站讀取直流調速裝置參數的子程序設計
考慮到plc需要與6臺4900設備進行通信,plc主站采用輪詢的方式訪問每種設備,cp440作為lecom主站每隔50ms給所有從站設備發送主站命令,讀取從站直流調速裝置的運行狀態信號和控制信號。發送數據處理子程序需要將要下傳的數據轉換成ascii碼,加上控制字符(eot、stx、etx)并計算塊校驗字符,形成完整的發送數據幀,再調用cp440模塊的發送數據標準功能塊,將數據發送給從站。而接收數據處理子程序則調用cp440模塊的接受數據標準功能塊,將接收到的數據(ascii碼字符)轉換成所需的數據。
3.2 plc主站寫直流調速裝置參數的子程序設計
該子程序的設計與前者類似,只是在構造發送數據協議幀結構時有所不同。并且由plc主程序控制,在特定的控制連鎖邏輯的情況下調用本子程序來控制直流調速裝置。
4 結束語
自本通訊系統運行以來,cp440與lenze 4900間的通訊一直正常,從未出現過任何軟、硬件故障以及其它干擾現象,有效地保證了自動控制系統的正常運行。可見,使用串行通訊模塊cp440與lenze 4900通過lecom協議進行通訊是一種行之有效的方法。
倫茨公司的直流調速裝置和變頻器大部分都支持lecom通信協議,只是不同系列的產品在通信協議的幀結構及硬件實現上有一定差別,但總體上其通信的硬件及軟件協議遵循一定的規律。由于lecom通信協議規范的資料十分難找,筆者希望本文能給從事傳動控制系統設計及開發的同行在實現lecom通信協議通信方面一些借鑒和幫助。