咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-04-25 15:46:31 |來源:網(wǎng)絡轉(zhuǎn)載
0引言
稱重控制器是應用于冶金、礦山化工、交通、公路建設等場所的皮帶秤上的儀表,具有高精度、高可靠性的特點. PLC( Programmable Logic Controller) 作為新一代工業(yè)控制器,以其高性價比在工業(yè)測控系統(tǒng)中獲得廣泛的應用. 雖然 PLC 具有使用簡單方便、抗干擾性強、故障率低等優(yōu)點,但它也有不能提供良好的人機界面,數(shù)據(jù)處理與管理 能力弱等缺點. 將 PC 與 PLC 結(jié)合起來,既可以充分利用 PLC 的可靠性高、開發(fā)周期短、編程容易等特點,又可充分利用計算機友好的人 機界面,實現(xiàn)人機對話和監(jiān)控功能[1]. 稱重控制器安裝在皮帶秤下面,皮帶上面有各個配料倉. 本文介紹了由工業(yè)控制計算機和 CP5613 通訊網(wǎng)卡組成的監(jiān)控系統(tǒng),利用 Delphi7. 0 和 Access 數(shù)據(jù)庫開發(fā)了稱重控制器上位機軟件. 該系統(tǒng)采用上下位機的主從式結(jié)構(gòu),PLC 作為下位機完成稱重控制器數(shù)據(jù)的實時采集和對各個稱重控制器的控制功能; 上位機采用計算機與 PLC 進行數(shù)據(jù)交換,實現(xiàn)通訊設置、料種設置、儀表參數(shù)設置等. CP5613 網(wǎng)卡用于工業(yè)控制計算機連接到Profibus DP 現(xiàn)場總線,數(shù)據(jù)的實時通訊基于 Profibus 協(xié)議,通過專用數(shù)據(jù)線與控制站實現(xiàn)數(shù)據(jù)通訊[2].
1系統(tǒng)組成
該系統(tǒng)分為 3 層: 上位機( 工業(yè)控制計算機和 CP5613 通訊網(wǎng)卡) 、現(xiàn)場控制站( PLC) 和現(xiàn)場傳感器. 其系統(tǒng)結(jié)構(gòu)如圖 1 所示.
上位機以操作監(jiān)視為主要任務,并有管理功能. 上位機監(jiān)控軟件采用 Delphi7. 0,Access 數(shù)據(jù)庫和 Photoshop7. 0 圖像處理軟件進行開發(fā). 其軟件平臺完成系統(tǒng)中的時鐘、通訊、料種、儀表等參數(shù)設置,實 時顯示各個配料秤的累計量、瞬時流量、實時料種的 配比,并將每班的生產(chǎn)情況記錄到數(shù)據(jù)庫中. 上位機通過現(xiàn)場總線接口卡 CP5613 使上位工控機接入 DP 網(wǎng)絡,這樣上位機與現(xiàn)場總線就連接為能完成運行、操作等功能的控制網(wǎng)絡系統(tǒng),即 Profibus DP 現(xiàn)場總線通過 CP5613 接口卡與上位機進行通信. 現(xiàn)場控制站直接面對控制對象( 各個稱重控制器) ,完成對工業(yè)現(xiàn)場的測控操作. 通過稱重控制器中的稱重傳感器和測速傳感器來測量系統(tǒng)的各種運行參數(shù),并將 其返回到控制站,寫入上位機的實時數(shù)據(jù)庫中.
2上位機與 PLC 之間的通信
上位機作為主站能夠通過 PLC 監(jiān)控下層設備的狀態(tài),首先要實現(xiàn)上位機與 PLC 間的通信. PC 與PLC 間通常采用串行通信方式. 上位機同 PLC 間的通信采用主從應答方式,在通信過程中上位機始終處于主動方,PLC 則處于被動方,所有數(shù)據(jù)交換只能在主站和從站之間進行,從站之間不能直接交換數(shù) 據(jù),如果從站之間需要交換數(shù)據(jù),必須通過主站中轉(zhuǎn). 上位機先向 PLC 發(fā)送指令幀,PLC 接收了上位機的指令后,先進行 FCS 校驗,看其是否正確,如果正確,則接收并向上位機傳送響應幀; 否則,PLC 拒絕向上位機傳送數(shù)據(jù). 需要說明的是,整個通信過程中因 PLC 中配有通信機制,一般不對 PLC 進行編程. 上位機接收到 PLC 傳送的數(shù)據(jù),也要判斷正確與否, 若正確,則接收,完成一次正常通信; 否則,通信需要重新開始.
2. 1PLC 數(shù)據(jù)通信協(xié)議
2. 1. 1通信條件
要使上位機與下位機正確地交換數(shù)據(jù),必須保證雙方在初始化時要使波特率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗均保持一致; 還必須嚴格按照 PLC 的通信協(xié)議的規(guī)定及幀格式編寫 PC 的通信程序.
2. 1. 2PC →PLC 的命令幀
PLC 傳輸協(xié)議的一般格式為
其中: @ 為幀開始標志符; IP1、IP2 表示節(jié)點號,是指定與上位機通訊的 PLC; ID1、ID2 表示識別碼,為命令代碼,占 2 個字節(jié); CT 表示正文,用以設置具體的命令參數(shù); F1、F2 表示幀校驗碼( FCS) ,占 2 個字節(jié), 它是從開始符“@ ”到正文結(jié)束的所有字符的 ASCII碼按位異或的結(jié)果; “* ”和“/ ”2 字符表示命令結(jié)束[3]. 識別碼和正文取決于傳輸?shù)纳衔粰C鏈接命令; FCS 由上位機計算; 命令幀的正文最多可以有 131 個字節(jié),一個大于等于 132 字節(jié)的命令必須分成若干幀,命令分段應使用回車定界符,而不是終止符, 終止符只能用在最后一幀的末尾.
2. 1. 3PLC →PC 的響應幀
當 PLC 收到上位機的指令后,以上面格式應答. @ 、節(jié)點號和識別碼的含義與命令幀格式中的含義相同; 響應碼表示指令完成的狀態(tài)( 是否有錯誤) ; FCS 由 PLC 計算給出,用來判斷 PLC 的應答是否可靠; 終止符通過設置“* ”和“/ ”表示應答結(jié)束.
2.2 上位機的通信編程
用 Delphi7. 0 實現(xiàn)串行通信,常用的 2 種方法是: 使用 API 函數(shù); 使用如 MsComm 或 PComm 等控件. 使用 API 編寫串行通信程序復雜,需要掌握大量軟硬件知識,適合于編寫復雜的低層次通信程序. 相比較而言,利用 MsComm 控件則相對較簡單,該控件具有豐富的與串行通信密切相關的屬性及事件,支持多線程,提供了對串口的各種操作. 通信程序采用Delphi7. 0 編寫,使用通信控件 MsComm,該控件封裝了通信過程中的底層操作程序,用戶只需要設置和監(jiān)控軟件的相關屬性和事件即 OnComm 事件就可以實現(xiàn)串行通信. 在編寫通信程序之前,先對 MsComm 一些屬性進行初始化,完成串口通信設置. 設計時常用屬性如下.
CommPort. 設置并返回通信端口號.
InBufferSize. 確定接收緩沖區(qū)大小,一般采用默認值.
InputLen. 指定每次從接收緩沖區(qū)讀取的字符數(shù),若設置為 0,則 1 次讀入輸入緩沖區(qū)所有字符.
OutBufferSize. 確定發(fā)送緩沖區(qū)大小,一般采用默認值.
Settings. 以字符串形式設置并返回串行通信協(xié)議,由波特率、奇偶校驗、數(shù)據(jù)位、停止位組成. 一般情況下設置為“9600,E,8,1 ”,含義是波特率為 9 600 bps,奇校驗,8 個數(shù)據(jù)位,1 個停止位.
采用 MsComm 接收數(shù)據(jù)有 2 種方法: 事件驅(qū)動方式和定時查詢方式. 本系統(tǒng)采用 2 者結(jié)合的方式, 當 PC 機向 PLC 發(fā)送數(shù)據(jù)后,就一方面不斷地檢查PLC 是否響應回答,當 ComEvReceive 事件驅(qū)動時, PC 機接收PLC 的響應; 另一方面在OnComm 事件中輪詢端口,當串口緩沖區(qū)接收到數(shù)據(jù)時,觸發(fā) On- Comm 事件,這時啟動定時器輪詢端口,并關閉 On- Comm 事件. 若定時器計時到,通過串行通信口向指定地址的儀表發(fā)出讀命令,等待時間到則檢查 In- BufferCount 屬性值來判斷輸入緩沖區(qū)是否接收到了相應數(shù)目的字符,從而進行數(shù)據(jù)的讀取、判斷數(shù)據(jù)合 法性和數(shù)據(jù)的存儲、處理、顯示. 接收完一幀后再打開 OnComm 事件等待下一次觸發(fā). 當窗口串口的接收緩沖區(qū)沒有接收到數(shù)據(jù)時,不觸發(fā) OnComm 事件, 也就不會啟動定時器輪詢端口,釋放 CPU 資源. PC 機的通信流程如圖 2 所示.
在此次實驗中,PLC 通訊口初始化選用9 600 bps、8 位數(shù)據(jù)位、1 個校驗位、1 個停止位; 自定義以@ 開頭的信息作為有用信息的標志; 引入 2 個中斷, 即接收結(jié)束事件和發(fā)送結(jié)束事件,完成 PLC 接收到PC 機的數(shù)據(jù)后對PC 機的一個響應過程[3]. PLC 通信流程如圖 3 所示.
3上位機監(jiān)控軟件設計
3.1 總體設計
上位機使用 Windows XP 作為操作系統(tǒng),監(jiān)控軟件采用 Delphi7. 0,Access 數(shù)據(jù)庫和 Photoshop7. 0 圖像處理軟件進行開發(fā). 上位機監(jiān)控系統(tǒng)的功能結(jié)構(gòu)如圖 4 所示.
上位機監(jiān)控系統(tǒng)主要包括用戶登陸、監(jiān)控主界面、系統(tǒng)設置、報警處理、數(shù)據(jù)顯示、歷史查詢、系統(tǒng)日志、系統(tǒng)幫助等. 上位機可以設置各配料秤的給定流量、料種的配比,可以實時顯示各個配料秤的累計量、瞬時流量、實際料種的配比,將每班的生產(chǎn)情況記錄到數(shù)據(jù)庫中,并根據(jù)接收到的數(shù)據(jù)生成實時生產(chǎn)報表、歷史生產(chǎn)報表,各料種的實時曲線、歷史曲線. 上位機主畫面可同時顯示各倉的通信狀態(tài),各個倉可以選擇設置為供料倉或備用倉.
3. 2 數(shù)據(jù)庫設計
在數(shù)據(jù)庫系統(tǒng)設計上,采用“前臺 + 后臺”的結(jié)構(gòu),即借助 Access 來建立數(shù)據(jù)庫( 后臺) ,利用 Del- phi7. 0 實現(xiàn)數(shù)據(jù)輸入、查詢、報表生成、打印輸出等
管理功能( 前臺) ,前后臺之間采用 ADO 技術實現(xiàn)連接. Access 數(shù)據(jù)庫是微軟公司在 Windows 環(huán)境開發(fā)的一種關系型數(shù)據(jù)庫系統(tǒng),以表的形式存儲數(shù)據(jù),需要創(chuàng)建 6 個表分別對應 6 個表的數(shù)據(jù)存儲. 這 6 個表分別是用戶信息表、料種表、儀表參數(shù)表、報警記錄表、通訊狀態(tài)表、本班組配料狀況表. 其中報警記錄表有料倉、開始時間、結(jié)束時間、時長等字段; 本班組配料狀況表有料倉、料種、定值、本班累計、本日累計等字段. 完成數(shù)據(jù)庫的建立之后,Delphi7. 0 主要解決數(shù)據(jù)庫的連接、顯 示和操作 3 個問題. 用ADOConnection 控件完成對數(shù)據(jù)源的連接,用 DB- Grid 控件完成對數(shù)據(jù)庫內(nèi)容的顯示,用 ADOTable 控件來完成對數(shù)據(jù)庫的操作. ADO 和 DataGrid 控件的使用以及 Access 數(shù)據(jù)庫的建立[6],不再詳述.
3. 3 模塊設計
模塊化、自動化是軟件設計的主題思想. 模塊化設計充分發(fā)揮了 Delphi 面向?qū)ο蟪绦蜷_發(fā)的優(yōu)勢,將系統(tǒng)的功能分解成獨立的子功能模塊,使程序的開發(fā)、調(diào)試及維護簡單化. 自動化將體現(xiàn)在將程序參數(shù)化,按照用戶設定的參數(shù)自動完成既定的任務[2].
3. 3. 1 用戶管理模塊
只有合法的系統(tǒng)操作人員或系統(tǒng)管理員才能進入系統(tǒng),進行相應的操作. 該功能模塊由用戶登錄和密碼修改 2 個部分組成.
3. 3. 2 監(jiān)控主界面模塊
監(jiān)控主畫面主要監(jiān)控各倉的通訊狀態(tài)( 通訊出錯還是通訊正常) ,每個倉的料種的瞬時流量( 單位: t / h) 和累計量( 單位: t) . 各個配料倉可以選擇設置為供料倉或備用倉. 各個配料倉可以選擇設置為是自動配料還是手動配料.
3. 3. 3 系統(tǒng)設置模塊
系統(tǒng)設置模塊包括通信參數(shù)設置、報警參數(shù)設置、系統(tǒng)參數(shù)校正值設置等.
3. 3. 4 報警處理模塊
報警的內(nèi)容包括配料倉超料、缺料; 皮帶機開、停; 皮帶跑偏以及相關參數(shù)超出設定值等. 報警處理采用系統(tǒng)自動處理和人為參與 2 種形式. 在自動模式下,系統(tǒng)將進入預先設定的故障處理程序( 如當 1 號配料倉缺料時,系統(tǒng)將關閉該倉及皮帶機) ; 在手動模式下,由當前的操作員進行相應的處理. 但不管在何種模式下,系統(tǒng)都會對報警迅速進行定位和聲 光提示,并將其寫入系統(tǒng)日志.
3. 3. 5顯示模塊
系統(tǒng)接收到的數(shù)據(jù)可以數(shù)字形式、曲線形式、實時報表等多種形式顯示.
3. 3. 6數(shù)據(jù)保存模塊
在實時監(jiān)控系統(tǒng)軟件中,數(shù)據(jù)的存儲是其中的一個重要環(huán)節(jié),由于系統(tǒng)采用的是關系型數(shù)據(jù)庫,采集的數(shù)據(jù)量相對較大,考慮到系統(tǒng)對實時性的要求較高,故采用了緩沖存儲的辦法,即在計算機內(nèi)存中開辟一段數(shù)據(jù)存儲緩沖區(qū),可以有效地提高系統(tǒng)的響應速度[5].
3. 3. 7 系統(tǒng)日志模塊
系統(tǒng)日志記錄系統(tǒng)運行的狀態(tài)和行為,作為系統(tǒng)的一個組成部分,它為操作人員對系統(tǒng)的操作提供參考和系統(tǒng)的故障分析.
3. 4 用戶界面設計與實現(xiàn)
登陸界面和報警界面屬于 Delphi7. 0 數(shù)據(jù)庫應用程序設計,比較簡單; 監(jiān)控界面涉及上位機和 PLC 通信以及 Delphi7. 0 數(shù)據(jù)庫應用程序設計. 用戶界面設計的基本原則是操作方便,直觀形象,具有明確的 錯誤提示. 上位機軟件運行于 Windows XP 環(huán)境下, 監(jiān)控主界面是整個設計的核心部分( 圖 5) .
由各個配料秤的通訊狀態(tài),瞬時量顯示值,累計 量顯示值組成,并且可以對每個倉的通訊狀態(tài)進行 控制,是通訊還是停止. 如當點擊某倉旁邊的“手動” 時彈出備用倉設置對話框,用戶可以把該倉設置為 供料倉還是備用倉; 可以為每個倉所加入的料種設定定值; 可以顯示各料種的實時曲線、歷史曲線,曲線的范圍可以是 1 min,1 h,8 h,1 d 等.
菜單欄中一級菜單系統(tǒng)設置有管理員密碼、系統(tǒng)時鐘、通訊設置( 圖 6) 、料種設置、儀表參數(shù)、保存時間、首班時間等二級菜單,配比設定可以添加新的料種并進行比例設定,報表菜單有生產(chǎn)日志、小時記錄、料種累計、料倉累計二級菜單.
操作人員通過主工具欄及其級連的子工具欄可 以快速地切換到需要查看或處理的頁面,界面直觀, 形象,方便操作.
4結(jié)束語
上位機軟件實時采集下位機的數(shù)據(jù),可以讓管 理者隨時掌握裝置的運行情況,并通過對生產(chǎn)過程 的關鍵數(shù)據(jù)的監(jiān)控和分析,對出現(xiàn)的問題及時進行 處理. 目前開發(fā)的上位機軟件具有了必要的功能, 并可以隨著用戶要求的增加,方便地對軟件進行 升級.
本文源于網(wǎng)絡轉(zhuǎn)載,如有侵權(quán),請聯(lián)系刪除
深圳市卓禾儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產(chǎn)線的研發(fā)及生產(chǎn)的高新技術企業(yè),所生產(chǎn)的JY500系列稱重顯示控制器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。卓禾儀器有十數(shù)年的現(xiàn)場校驗經(jīng)驗,在業(yè)內(nèi)有良好的口碑,且有專門的售后工程師幫忙解決產(chǎn)品使用過程中遇到的技術問題,客戶可以放心省心順心的使用我司的產(chǎn)品。如果對我司的產(chǎn)品感興趣,歡迎咨詢。