谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於 Delphi 的稱重控製器上位機軟件設計與實現

發布時間:2021-04-25 15:46:31 |來源:網絡轉載

0引言
稱重控製器是應用於冶金、礦山化工、交通、公路建設等場所的皮帶秤上的儀表,具有高精度、高可靠性的特點. PLC( Programmable Logic Controller) 作為新一代工業控製器,以其高性價比在工業測控係統中獲得廣泛的應用. 雖然 PLC 具有使用簡單方便、抗幹擾性強、故障率低等優點,但它也有不能提供良好的人機界麵,數據處理與管理 能力弱等缺點. 將 PC 與 PLC 結合起來,既可以充分利用 PLC 的可靠性高、開發周期短、編程容易等特點,又可充分利用計算機友好的人 機界麵,實現人機對話和監控功能[1]. 稱重控製器安裝在皮帶秤下麵,皮帶上麵有各個配料倉. 本文介紹了由工業控製計算機和 CP5613 通訊網卡組成的監控係統,利用 Delphi7. 0 和 Access 數據庫開發了稱重控製器上位機軟件. 該係統采用上下位機的主從式結構,PLC 作為下位機完成稱重控製器數據的實時采集和對各個稱重控製器的控製功能; 上位機采用計算機與 PLC 進行數據交換,實現通訊設置、料種設置、儀表參數設置等. CP5613 網卡用於工業控製計算機連接到Profibus DP 現場總線,數據的實時通訊基於 Profibus 協議,通過專用數據線與控製站實現數據通訊[2].
1係統組成
該係統分為 3 層: 上位機( 工業控製計算機和 CP5613 通訊網卡) 、現場控製站( PLC) 和現場傳感器. 其係統結構如圖 1 所示.

稱重控製器係統結構圖

上位機以操作監視為主要任務,並有管理功能. 上位機監控軟件采用  Delphi7. 0,Access  數據庫和 Photoshop7. 0 圖像處理軟件進行開發. 其軟件平台完成係統中的時鍾、通訊、料種、儀表等參數設置,實  時顯示各個配料秤的累計量、瞬時K8凯发登录入口、實時料種的 配比,並將每班的生產情況記錄到數據庫中. 上位機通過現場總線接口卡 CP5613 使上位工控機接入 DP 網絡,這樣上位機與現場總線就連接為能完成運行、操作等功能的控製網絡係統,即 Profibus DP 現場總線通過 CP5613 接口卡與上位機進行通信. 現場控製站直接麵對控製對象( 各個稱重控製器) ,完成對工業現場的測控操作. 通過稱重控製器中的稱重傳感器和測速傳感器來測量係統的各種運行參數,並將 其返回到控製站,寫入上位機的實時數據庫中.
2上位機與 PLC 之間的通信
上位機作為主站能夠通過 PLC 監控下層設備的狀態,首先要實現上位機與 PLC 間的通信. PC 與PLC 間通常采用串行通信方式. 上位機同 PLC 間的通信采用主從應答方式,在通信過程中上位機始終處於主動方,PLC 則處於被動方,所有數據交換隻能在主站和從站之間進行,從站之間不能直接交換數 據,如果從站之間需要交換數據,必須通過主站中轉. 上位機先向 PLC 發送指令幀,PLC 接收了上位機的指令後,先進行 FCS 校驗,看其是否正確,如果正確,則接收並向上位機傳送響應幀; 否則,PLC 拒絕向上位機傳送數據. 需要說明的是,整個通信過程中因 PLC 中配有通信機製,一般不對 PLC 進行編程. 上位機接收到 PLC 傳送的數據,也要判斷正確與否, 若正確,則接收,完成一次正常通信; 否則,通信需要重新開始.
2. 1PLC 數據通信協議
2. 1. 1通信條件
要使上位機與下位機正確地交換數據,必須保證雙方在初始化時要使波特率、數據位數、停止位數、奇偶校驗均保持一致; 還必須嚴格按照 PLC 的通信協議的規定及幀格式編寫 PC 的通信程序.
2. 1. 2PC →PLC 的命令幀
PLC 傳輸協議的一般格式為

其中: @ 為幀開始標誌符; IP1、IP2 表示節點號,是指定與上位機通訊的 PLC; ID1、ID2 表示識別碼,為命令代碼,占 2 個字節; CT 表示正文,用以設置具體的命令參數; F1、F2 表示幀校驗碼( FCS) ,占 2 個字節, 它是從開始符“@ ”到正文結束的所有字符的 ASCII碼按位異或的結果; “*  ”和“/ ”2 字符表示命令結束[3]. 識別碼和正文取決於傳輸的上位機鏈接命令; FCS 由上位機計算; 命令幀的正文最多可以有 131 個字節,一個大於等於 132 字節的命令必須分成若幹幀,命令分段應使用回車定界符,而不是終止符, 終止符隻能用在最後一幀的末尾.
2. 1. 3PLC →PC 的響應幀
當 PLC 收到上位機的指令後,以上麵格式應答. @ 、節點號和識別碼的含義與命令幀格式中的含義相同; 響應碼表示指令完成的狀態( 是否有錯誤) ; FCS 由 PLC 計算給出,用來判斷 PLC 的應答是否可靠; 終止符通過設置“*  ”和“/ ”表示應答結束.
2.2 上位機的通信編程
用 Delphi7. 0 實現串行通信,常用的 2 種方法是: 使用 API 函數; 使用如 MsComm 或 PComm 等控件. 使用 API 編寫串行通信程序複雜,需要掌握大量軟硬件知識,適合於編寫複雜的低層次通信程序. 相比較而言,利用 MsComm 控件則相對較簡單,該控件具有豐富的與串行通信密切相關的屬性及事件,支持多線程,提供了對串口的各種操作. 通信程序采用Delphi7. 0 編寫,使用通信控件 MsComm,該控件封裝了通信過程中的底層操作程序,用戶隻需要設置和監控軟件的相關屬性和事件即 OnComm 事件就可以實現串行通信. 在編寫通信程序之前,先對 MsComm 一些屬性進行初始化,完成串口通信設置. 設計時常用屬性如下.
CommPort. 設置並返回通信端口號.
InBufferSize. 確定接收緩衝區大小,一般采用默認值.
InputLen. 指定每次從接收緩衝區讀取的字符數,若設置為 0,則 1 次讀入輸入緩衝區所有字符.
OutBufferSize. 確定發送緩衝區大小,一般采用默認值.
Settings. 以字符串形式設置並返回串行通信協議,由波特率、奇偶校驗、數據位、停止位組成. 一般情況下設置為“9600,E,8,1 ”,含義是波特率為 9 600  bps,奇校驗,8 個數據位,1 個停止位.
采用 MsComm 接收數據有 2 種方法: 事件驅動方式和定時查詢方式. 本係統采用 2 者結合的方式, 當 PC 機向 PLC 發送數據後,就一方麵不斷地檢查PLC 是否響應回答,當 ComEvReceive 事件驅動時, PC 機接收PLC 的響應; 另一方麵在OnComm 事件中輪詢端口,當串口緩衝區接收到數據時,觸發 On- Comm 事件,這時啟動定時器輪詢端口,並關閉 On- Comm 事件. 若定時器計時到,通過串行通信口向指定地址的儀表發出讀命令,等待時間到則檢查 In- BufferCount 屬性值來判斷輸入緩衝區是否接收到了相應數目的字符,從而進行數據的讀取、判斷數據合 法性和數據的存儲、處理、顯示. 接收完一幀後再打開 OnComm 事件等待下一次觸發. 當窗口串口的接收緩衝區沒有接收到數據時,不觸發 OnComm 事件, 也就不會啟動定時器輪詢端口,釋放 CPU 資源. PC 機的通信流程如圖 2 所示.

PC 機的通信流程圖

在此次實驗中,PLC 通訊口初始化選用9 600 bps、8 位數據位、1 個校驗位、1 個停止位; 自定義以@ 開頭的信息作為有用信息的標誌; 引入 2 個中斷, 即接收結束事件和發送結束事件,完成 PLC 接收到PC 機的數據後對PC 機的一個響應過程[3]. PLC 通信流程如圖 3 所示.

PLC通信流程圖

3上位機監控軟件設計
3.1 總體設計
上位機使用 Windows XP 作為操作係統,監控軟件采用 Delphi7. 0,Access 數據庫和 Photoshop7. 0 圖像處理軟件進行開發. 上位機監控係統的功能結構如圖 4 所示.

上位機監控係統的功能結構圖

上位機監控係統主要包括用戶登陸、監控主界麵、係統設置、報警處理、數據顯示、曆史查詢、係統日誌、係統幫助等. 上位機可以設置各配料秤的給定K8凯发登录入口、料種的配比,可以實時顯示各個配料秤的累計量、瞬時K8凯发登录入口、實際料種的配比,將每班的生產情況記錄到數據庫中,並根據接收到的數據生成實時生產報表、曆史生產報表,各料種的實時曲線、曆史曲線. 上位機主畫麵可同時顯示各倉的通信狀態,各個倉可以選擇設置為供料倉或備用倉.
3. 2 數據庫設計
在數據庫係統設計上,采用“前台 + 後台”的結構,即借助 Access 來建立數據庫( 後台) ,利用 Del- phi7. 0 實現數據輸入、查詢、報表生成、打印輸出等
管理功能( 前台) ,前後台之間采用 ADO 技術實現連接. Access 數據庫是微軟公司在 Windows 環境開發的一種關係型數據庫係統,以表的形式存儲數據,需要創建 6 個表分別對應 6 個表的數據存儲. 這 6 個表分別是用戶信息表、料種表、儀表參數表、報警記錄表、通訊狀態表、本班組配料狀況表. 其中報警記錄表有料倉、開始時間、結束時間、時長等字段; 本班組配料狀況表有料倉、料種、定值、本班累計、本日累計等字段. 完成數據庫的建立之後,Delphi7. 0 主要解決數據庫的連接、顯 示和操作 3 個問題. 用ADOConnection 控件完成對數據源的連接,用 DB- Grid 控件完成對數據庫內容的顯示,用 ADOTable 控件來完成對數據庫的操作. ADO 和 DataGrid 控件的使用以及 Access 數據庫的建立[6],不再詳述.
3. 3 模塊設計
模塊化、自動化是軟件設計的主題思想. 模塊化設計充分發揮了 Delphi 麵向對象程序開發的優勢,將係統的功能分解成獨立的子功能模塊,使程序的開發、調試及維護簡單化. 自動化將體現在將程序參數化,按照用戶設定的參數自動完成既定的任務[2].
3. 3. 1 用戶管理模塊
隻有合法的係統操作人員或係統管理員才能進入係統,進行相應的操作. 該功能模塊由用戶登錄和密碼修改 2 個部分組成.
3. 3. 2 監控主界麵模塊
監控主畫麵主要監控各倉的通訊狀態( 通訊出錯還是通訊正常) ,每個倉的料種的瞬時K8凯发登录入口( 單位: t / h) 和累計量( 單位: t) . 各個配料倉可以選擇設置為供料倉或備用倉. 各個配料倉可以選擇設置為是自動配料還是手動配料.
3. 3. 3 係統設置模塊
係統設置模塊包括通信參數設置、報警參數設置、係統參數校正值設置等.
3. 3. 4 報警處理模塊
報警的內容包括配料倉超料、缺料; 皮帶機開、停; 皮帶跑偏以及相關參數超出設定值等. 報警處理采用係統自動處理和人為參與 2 種形式. 在自動模式下,係統將進入預先設定的故障處理程序( 如當 1 號配料倉缺料時,係統將關閉該倉及皮帶機) ; 在手動模式下,由當前的操作員進行相應的處理. 但不管在何種模式下,係統都會對報警迅速進行定位和聲 光提示,並將其寫入係統日誌.
3. 3. 5顯示模塊
係統接收到的數據可以數字形式、曲線形式、實時報表等多種形式顯示.
3. 3. 6數據保存模塊
在實時監控係統軟件中,數據的存儲是其中的一個重要環節,由於係統采用的是關係型數據庫,采集的數據量相對較大,考慮到係統對實時性的要求較高,故采用了緩衝存儲的辦法,即在計算機內存中開辟一段數據存儲緩衝區,可以有效地提高係統的響應速度[5].
3. 3. 7 係統日誌模塊
係統日誌記錄係統運行的狀態和行為,作為係統的一個組成部分,它為操作人員對係統的操作提供參考和係統的故障分析.
3. 4 用戶界麵設計與實現
登陸界麵和報警界麵屬於 Delphi7. 0 數據庫應用程序設計,比較簡單; 監控界麵涉及上位機和 PLC 通信以及 Delphi7. 0 數據庫應用程序設計. 用戶界麵設計的基本原則是操作方便,直觀形象,具有明確的 錯誤提示. 上位機軟件運行於 Windows XP 環境下, 監控主界麵是整個設計的核心部分( 圖 5) .

監控主界麵是整個設計的核心部分圖

由各個配料秤的通訊狀態,瞬時量顯示值,累計 量顯示值組成,並且可以對每個倉的通訊狀態進行 控製,是通訊還是停止. 如當點擊某倉旁邊的“手動” 時彈出備用倉設置對話框,用戶可以把該倉設置為 供料倉還是備用倉; 可以為每個倉所加入的料種設定定值; 可以顯示各料種的實時曲線、曆史曲線,曲線的範圍可以是 1  min,1  h,8  h,1  d 等.
菜單欄中一級菜單係統設置有管理員密碼、係統時鍾、通訊設置( 圖 6) 、料種設置、儀表參數、保存時間、首班時間等二級菜單,配比設定可以添加新的料種並進行比例設定,報表菜單有生產日誌、小時記錄、料種累計、料倉累計二級菜單.

通訊參數設置界麵

操作人員通過主工具欄及其級連的子工具欄可 以快速地切換到需要查看或處理的頁麵,界麵直觀, 形象,方便操作.
4結束語
上位機軟件實時采集下位機的數據,可以讓管 理者隨時掌握裝置的運行情況,並通過對生產過程 的關鍵數據的監控和分析,對出現的問題及時進行 處理. 目前開發的上位機軟件具有了必要的功能, 並可以隨著用戶要求的增加,方便地對軟件進行 升級.

 

 

本文源於網絡轉載,如有侵權,請聯係刪除

 

深圳市k8凯发版官网儀器有限公司是一家專門從事稱重儀表和全自動包裝碼垛生產線的研發及生產的高新技術企業,所生產的JY500係列稱重顯示控製器(包括配料秤儀表、皮帶秤儀表、包裝秤儀表、重量變送器等)高速高精度,使用壽命長。k8凯发版官网儀器有十數年的現場校驗經驗,在業內有良好的口碑,且有專門的售後工程師幫忙解決產品使用過程中遇到的技術問題,客戶可以放心省心順心的使用我司的產品。如果對我司的產品感興趣,歡迎谘詢。

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8