1 引言
工業過程控制中需要測量和控制的變量很多,以往基于PC機外接的數據采集卡,采集的點數有限,而且要直接和PC機的串口或者并口相連,極大限制了PC 機資源的充分利用。工業以太網的出現為構成開放式的模塊化的數據采集奠定了基礎,本項目開發一個基于工業以太網的嵌入式智能模塊的開放式數據采集系統。以太網是目前應用最廣泛的網絡,它不但應用于商用網絡,同時在近年來大舉進軍工業控制領域,取得了巨大的經濟效益。以太網最初得到應用時,它采用帶有沖突檢測的多路載波偵聽協議(CSMA/CD)和二進制指數回退算法。在這種協議和算法下,當網絡繁忙時,它的非實時性和不確定性大大增加。因此,以太網在很長的一段時間只能用于對實時性和確定性要求不是很高的辦公網絡,它在工業數據通信領域的應用受到很大限制。隨著交換技術和全雙工數據通信技術的發展,工業以太網已經大大提高了在數據通信中的實時性和確定性,而且在許多工業領域得到成功應用。
2 以太網用于工業數據通信的技術基礎
以太網的交換技術和全雙工通信技術的支持。以太網的交換技術由原先的端對端的網橋連接發展到了現在的以太網交換機。在數據發送的過程中,目前廣泛應用存儲轉發技術,先把輸入端口的數據包存儲起來,然后進行CRC檢查,在對錯誤包處理后才取出數據包的目的地址,通過查找表轉換成輸出端口送出包。正因如此,存儲/轉發方式在數據處理時延時大,這是它的不足,但它可以對進入交換機的數據包進行錯誤檢測,尤其重要的是它可以支持不同速度的輸入輸出端口間的轉換,保持高速端口與低速端口間的協同工作。
全雙工(Full-Duplex)技術也是隨著以太網技術的發展而被廣泛地用于以太網交換機的。現在各大廠家都有基于IEEE802.3X全雙工通信協議的機型,這種交換機集成了目前以太網技術的最新成果。有了交換技術和全雙工技術的支持,以太網的不確定性和實時性差的確定得到很大的改觀,在工業數據通信領域得到了眾多廠商的認可。
網絡單片機的發展和相對應的軟件開發環境隨著以太網通信技術的進步,各大廠商紛紛推出基于嵌入式以太網的處理器,本系統所用的Rabbit2000就是其中的一種。Z-World公司推出的BL2100核心模塊使用了Rabbit2000處理器,它是專門應用于嵌入式領域的以太網通信智能模塊,支持各種網絡協議(如TCP,HTTP,FTP,SMTP,PPP等),開發過程中使用的是基于TCP/IP協議的Socket編程系統。對應于硬件配置,Z-World公司提供了相應的軟件開發環境,即Dynamic C語言,它去掉了普通C語言中不符合實時性要求的部分,加入了適用于實時控制的功能,提供了眾多功能豐富的函數庫,包括數學函數庫、I/O函數庫、串口通信函數庫、數據采集和數據輸出函數庫,還有基于各種網絡協議的網絡通信所需要的函數庫。BL2100在系統編程(ISP),程序開發調試方面非常方便。
3 系統的總體設計
系統設計為三層的網絡結構,最上層為PC監控機,中間層為網絡通信模塊BL2100,現場層為MSP430智能控制節點。
PC機和BL2100之間的通信是基于工業以太網,BL2100和MSP430之間的通信是用RS-485總線來實現的。
監控PC機采用組態軟件開發出相應的監控界面,可以實現多種多樣的數據處理功能,包括歷史數據存儲、實時數據動態顯示、報警信息輸出等。同時操作人員根據不同的控制要求可以發出不同的控制命令。BL2100網絡模塊帶有工業以太網接口和RS-485接口,多個網絡模塊可以通過以太網交換機來連接PC監控機,在局域網內可以充分利用豐富的IP地址資源而不受外網的限制,適合于工廠內部環境。MSP430智能節點主要作用是接收采集命令,進行現場數據采集,通過RS-485總線傳給BL2100。根據不同的硬件配置,可以在每條總線上掛接多達128個MSP430智能節點。BL2100一方面通過RS- 485和MSP430進行數據通信獲得各個節點的采樣數據,另一方面把數據處理打包以Socket套接字通信的方式發送給PC監控機。
系統結構示意如圖1所示。
圖1 系統連接結構示意圖
4 系統軟件開發
網絡模塊程序總體框圖如圖2所示。
圖2 網絡模塊程序總體框圖
網絡模塊BL2100運行過程中,程序首先進行必要的硬件初始化,然后接收PC監控機發送的命令,確定系統各個采樣通道的配置,包括采樣周期、濾波參數設置等,然后通過RS-485總線發出命令,MSP430接到命令進行數據采集,采集完畢發送給BL2100,再通過工業以太網發送給PC機。
在本系統使用的Dynamic C語言開發環境中,提供了基于TCP/IP協議的Socket網絡通信編程所需的全部庫函數。Socket通信首先要創建套接字,其次給套接字賦予地址信息,再建立Socket連接,最后進行數據通信。通訊過程中還要有網絡狀況偵聽功能和網絡錯誤處理子程序。本系統的通信有實時數據和非實時數據兩部分信息流,實時數據包括采樣得到的數據流,非實時數據主要是各種各樣的采樣控制參數流。數據通信以實時數據流為主兼之以非實時數據流,程序設計按照Server/Client的形式,網絡模塊BL2100為服務器,PC機為客戶機。下面以運行在網絡模塊上的數據發送程序來說明 Socket通信設計的主要流程:
首先定義Socket套接字,它是基于TCP協議的,必須包含一個完整的TCP連接所需要的全部信息。但是它還不是一個具體的針對某一連接的,只是一個定義;其次初始化Socket套接字開發環境,主要是在Dynamic C語言的編譯環境中聲明,獲得開發環境的支持。該函數載入Rabbit2000 關于TCP,Socket的相關驅動程序,它必須在所有的TCP,Socket相關函數調用之前調用;最后調用發送實時數據的子程序,在這里面要具體的創建套接字,建立、連接、發送數據。
子程序的部分源碼如下:
Void RealTimeDataSend(tcp_Socket* sock, long *buffwww.cechina.cn, int* state,word my_port)
{switch(* state)
Case 0:
if(tcp_open(…)!=0)//偵聽網絡建立連接
printf(“Connect success”);
else
sock_tick(…);//套接字管理,完畢后轉往sock_err()函數
timer_2=MS_TIMER;//定時器
(*state)++;
break;
Case 1:
if(sock_established(sock))//建立本連接的套接字
{//建立套接字成功
*state=2;
……
Printf(“Socket success establish!!!”);
}
else if(MS_TIMER-time_2>OUT_TIME)
{//超時處理
*state=3;
……
}
Case 2://發送數據
if(send_start=0)//是第一次發送數據發送全部的實時和非實時參變量
{sock_fastwrite(buff);//往發送緩沖區寫入數據
send_start=1;
}
else if(send_start=1)
{//只發送實時變量
sock_fastwrite(buff);
*state=2;
break;
……
}
Case3:
sock_abort(sock);//關閉套接字
break;
……
sock_err(…);//套接字錯誤處理
}
以上介紹的是網絡模塊向PC機發送數據的流程。但是這只是單方向的數據流動,如上所述,現在的工業以太網技術支持全雙工的通信,即數據的雙向流動可以完美地實現,基于此,現場的智能節點在不斷向PC機發送采集數據的同時也可以隨時接受來自PC機的控制信息及其對應的數據流。本文設計了相應的數據接收子程序。函數定義如下:
UnRealTimeDataReceive (tcp_Socket *sock, long *buffwww.cechina.cn, int *state, word my port)
{……
Case2:
sock_fastread(buff);//從接收緩沖區讀取數據
……
}
參數的定義和接收子程序相比,只有在*state等于2時有所不同,此時網絡模塊接收數據,它根據緩沖區第一個數據獲得所要接收的參數的索引號,將緩沖區第二個數據賦給具體的參數變量。還有一點要說明的是,工作人員進行監控操作,這個過程不是實時進行的,帶有很強的隨機性。因此控制信息流不是實時存在的,而是隨機的,各個網絡模塊會不斷地偵聽網絡來查看有沒有對應本模塊的數據包,如果有則進入接收子程序。
5 結束語
本文結合數據采集系統討論了工業以太網在工業數據通信中的應用,介紹了在Dynamic C環境下基于TCP協議的Socket網絡編程。本系統開發以后,用于一套皮革噴漆自動控制系統中,得到了成功的應用。實踐證明,基于工業以太網的通信運行很穩定,延遲很小,在一臺PC監控機同時和多臺皮革噴漆系統連接工作的情況下,運行同樣穩定,實時性和確定性都得到了有效的保證。可以預見,工業以太網在工業數據通信中的應用必將日益廣泛,基于TGP/IP協議的Socket套接字通信方式作為實現的方法簡單實用穩定,已經獲得了大多數工業監控開發軟件的支持。目前集管理和控制于一體的工業生產過程計算機集成控制系統(CIPS)正在快速地發展,工業以太網技術使CIPS進人工廠企業的步伐大大加快,這極大地促進制造業的信息化進程。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于工業以太網的數據采集方案實現
本文網址:http://www.guhuozai8.cn/html/consultation/1083941981.html