智能建筑中PLC與PC的通信實現微機監控(4頁).docx
下載文檔
上傳人:正***
編號:430822
2022-07-06
4頁
40.05KB
1、智能建筑中PLC與PC的通信實現微機監控摘要:本文通過介紹可編程序控制器(PLC)的開發和PLC與VB的通信技術,結合數據庫技術,為智能建筑中的系統集成提供一種思路,提高智能建筑中設備使用的安全和可靠性。關鍵詞:智能建筑;PLC;串口通信;VB語言;控制。 /2/view-546652.htm中圖分類號:TUl7文獻標識碼:B文章編號:1008-0422(2007)07-0065-021引言可編程序控制器(Programmable Controller)簡稱PLC在智能建筑中也得到廣泛應用,如中央空調控制、二次加壓設施、消防系統、電梯系統等。它集邏輯運算、順序控制、定時、計數、算術運算功能為一2、體。另外還可以與其他計算機進行通信聯網,這種通信不但包括不同的PLC之間的數據交換,而且還包括PLC與計算機之間的通信。2系統構成本系統采用PLC采集模擬信號、數據處理,通過串行通信口上傳到計算機,計算機對傳上來智能建筑中監控設備的數據進行分析、分類記入數據庫,實時顯示在上位機上并提供數據查詢。PLC為S7-224,串行通信接口的信號線采用RS-485,此信號線為半雙工,即不能同時接收和發送。將PLC置于run態,就可以將PLC中存于發送緩沖區中的數據及信號送人上位機的串口,上位機通過串口通信程序接收這些數據后顯示并通過數據庫控件Adodc的綁定,把數據記錄到數據庫,從而完成數據的采樣并記錄。3、3 S7-200的通信方式與通信參數的設置本工程選擇STEP7-Micro/WlN32支持的通信硬件PC/PPI電纜,它所支持的波特率有9.6Kbps和19.2Kbps,支持的協議為PPI協議,即點對點接口協議,基于開放系統互聯模型0Sl。PPl是主/從協議,網絡上的S7-200CPU均為從站,其他CPU、SIMATIC編程器或TD200為主站。S7-200CPU仍通信端口采用RS-485信號標準的連接口,PC/PPI電纜把S7-200計算機連接起來,通過使用接收中斷、發送中斷和字符中斷等指令,自由端口通信可以控制S7-200CPU通信口的操作模式。本工程使用的是自由端口模式,允許在CPU處于4、RUN模式時通信口0使用自由端口模式,通過設定SMB30的值,我們可以選擇波特率、奇偶校驗、每個字符的數據位和協議。CPU處于STOP模式時,停止自由端口通信,通信口強制轉換成PPI協議模式,此時,就可以向CPU中輸入PLC程序,實現編程軟件對PLC的編程和控制功能。在這里的通訊過程采用主從方式,即計算機為主機,PLC為從機,只有主機計算機發送請求報文后,從機PLC才向PC返回發送緩沖區中的數據。計算機與PLC通訊時,一般由計算機發給PLC指令,PLC收到指令后自動發回答應。下面給出命令幀、答應幀和幀檢查的結構。FCS(Fame CheckSum)表示報文開頭和報文結結束間所有執行邏輯加操作所5、得的結果,它由兩位ASC碼字符組成,每次PLC接收到計算機發送過來的一幀數據,即計算其效驗和,結果記為FCS2,將FCS2與幀中所包含的FCS1比較,可檢查該幀是否有數據錯誤,PLC立即發送錯誤信息計算機,利用這一機制,有效防止了數據傳輸錯誤。4自由端口模式下PLC的通信由于本工程使用的是PC/PPl電纜,所以要在PLC的程序中考慮電纜的切換時間。PLC接收到請求報文到它返回發送緩沖區的數據的延遲時間必須不小于電纜的切換時間。波特率為9600bps,電纜的切換時間是2ms。在本工程的程序中是用定時中斷實現切換延時的。定時中斷子程序:NefworkTitle定時中斷程序INT2:LDSM0.0D6、TCCH 10XMT VB200.0當程序運行到“啟動定時中斷”(即ATCHINL的語句時,就會跳到如上所示的中斷子程序中,SM0.0是特殊存儲器,該位始終為1,即只要PLC處于RUN狀態,這一開關即是接通的。XMTVB200.0語句是用來發送數據到串口的,此時發送的是存儲在以200為首地址的連續的存儲空間中的數據,是通過端口0發送的。另外,在初始化時要注意自由端口通信協議的設定,一定要使通信過程中的波特率,數據位,奇偶校驗及停止位與上位機VB以及通信線上中設定的參數相同,否則將不能實現通信過程,要么接收不到數據,要么會出現“下標越界”的錯誤。5上位機的通信部分采用VB語言編程在編程過程中只要7、設置MSComm控件的屬性,就可以實現串行通信。在此控件眾多的屬性當中,需要重新定義的屬性只有CommPort仍;輸數據的通信端口號)、Settings(設置數據傳輸的波特率、奇偶校驗、數據位以及停止位,注意,此參數一定要與PLC通信程中設置的參數相一致)、Porf0Pen(設置通信端口的狀態)、InputMode(讀取接收緩沖區的格式)等。本工程采用事件驅動方式處理接受信息,即把RfhreshoId屬性設置為非零的值,此時只要接收字符或傳輸線發生變化就會產生串口事件OnComm。通過查詢CommEvent屬性可以捕獲這些通信事件。Mscomm控件的主要屬性列表:計算機串口初始化程序段如下:W8、ith MSComm 1PorfODenFalseComport1設置通信端口為1PortOpenTrue打開通訊端口InputModecomlnpufModeBinary以字節方式接受數據EndWith在VB中實現異或計算的程序及注釋如下:nByfe(1)UBound(sdata)1送數據區字節數fcs=nByte(1)校驗碼初始化Fori2 to UBound(sdate)2nByte(1)sdata(1-2)。待發送數據報文數組的數據區fcsfcsor n,Byte(1)異或運算,求校驗碼nByte(1)fcs送校驗碼其中sdafa發送的數據數組的變量名稱,For Next語句實現所發送9、的數據每一位都進行異或運算。這樣就可以把發送數據的異或校驗碼送到PLC中,在PLC比較兩次計算出的校驗碼是否相同,從而提高通信的可靠性。本工程中把計算機向下發送控制命令的部分寫成自定義函數send(xi)(i從1到6),在每一個需要發送控制命令的按鈕處調用此函數,只是在send中參數設置為不同的控制函數。為模擬一個配電屏控制面,該軟件可以對三相輸出電壓、電流、功率因數這些信號進行采集、顯示并存儲,并對設備的動作狀態、故障情況采集到數據庫中。該控制面上方有一系列的控制按鈕,點擊某一按鈕就會向下位機發送相應的控制命令,控制下位機動作。6與數據庫綁定的控件采集數據的最終目的不僅要把需要顯示的數據(比10、如:日常量)顯示在界面上,另外還要把數據記錄到數據庫中,以備日后查詢。顯示數據的過程很容易實現,就是把接收緩沖區的內容按照事先約定好的順序依次取出即可。要把數據記錄到數據庫就需要用到數據庫綁定控件,在本工程中用到的是Adodc控件,這一控件也不包括在常用的工具框中,仍然要依照加MSComm控件的方法把工具條Microsoft ADO Data Control6.0(sP4)(OLEDB)加到工具框中,然后就可以把這一控件拖入Form(在本次工作中把Adodcl控件放在了程序運行時不顯示的查詢畫面中,這樣就可以同時完成記錄到數據庫和查詢工作)中,通過設定Adodcl的Conectionst ri11、ng(要求與事先建好的數據庫所存儲的地址相聯接)、CommandType(由于要向數據庫寫人數據因此要把它設置為2-adCmdtable)以及RecordSource。(如果指定的數據庫包含多個表,就要選擇一個與此Adodcl相對應的表)屬性(其他屬性用默認值即可)就綁定完畢。7結束語從以上敘述,可以看到,由計算機與PLC組建實時監控系統關鍵在于解決計算機與PLC實時通信、PLC對設備狀態實時監控問題。計算機與PLC組建的實時監控系統開發成本低、實時性好、操作簡便、通用性強,利用計算機易組網功能,既可以做到智能建筑內部網絡互聯、信息共享,又可通過調制解調器連接因特網,使異地信息共享、遠程監控變為現實。實際工程中,該系統在惡劣的工業環境下工作穩定、可靠,具有一定的應用推廣價值。