呂品
(邯鋼邯鋼自動化部)
摘 要:力標準機是國家統一力值的主要依據,而設備配套的控制軟件一般不能及時隨著規程、規定等的更改而升級,不能滿足檢定工作中出現的各種狀況。本文針對目前疊加式力標準機控制系統難以升級適應新規、不能連接檢定系統等問題,使用python語言,對控制系統進行升級,是系統具有良好的適應性及擴展性。
關鍵詞:Python;疊加式力標準機;tkinter;pycharm
0 引言
力標準機是力學計量中對各種力傳感器、測力儀和稱重儀表進行檢定或測試的設備,力標準機是力值計量的最高標準,在保障力值的量值傳遞和溯源性方面具有非常重要的作用【1-3】。力標準機按結構可以分為杠桿式、靜重式、液壓式和疊加式。疊加式力標準機(BFSM),是一種比對式標準機,用一個比被測定傳感器精度高的傳感器作為標準,與被測定的傳感器進行串聯,施加力值進行比較,從而完成設備各項性能的測力。這種力標準機既能解決大力值傳感器的檢定問題,又能保證比杠桿式力標準機高的精度,因此得到了比較廣泛的應用。
由于疊加式力標準機系統由PC機、PLC、伺服電機、液壓系統、變頻模塊、數據采集卡等諸多元部件組成,一般均配套自動控制軟件。然而,由于系統龐雜,價格昂貴,目前大部分設備較為陳舊,其控制軟件不能很好的適應自動化控制系統的發展,無法和辦公自動化進行數據傳輸,嚴重拖滯了檢定工作的效率。更為嚴重的是,當相應檢定規程、標準進行更改時,軟件不及時升級會造成檢定工作無法開展。因此,使用python編程語言編寫程序,對其控制系統進行改造升級,使系統具備良好的可擴展性及易用性。
1 開發環境的搭建
Python 一種面向對象、解釋型、動態數據類型的優秀高級通用程序設計語言,具有簡潔性、易讀性以及可擴展性,擁有大量功能強大的內置對象、標準庫和擴展庫,適合完成各種高難度任務,而且幾乎可以在所有的操作系統中運行,雖然僅有十多年的發展歷史,深受廣大程序員喜愛,很多著名的項目,例如谷歌的alphago項目,微軟的小冰,蘋果的siri,谷歌的無人駕駛,python在其中得到了良好的應用。
1.1安裝python
Python也可在多種平臺開發運行首先,確定好操作系統,Python 版本,系統64 位或者32位,在www.python.org找到相應的下載包,進行安裝。
本文以64位WINDOWS系統作,Python3.8.2為開發平臺。
1.2 安裝庫文件
默認的Python 程序通過命令行界面實現,為了使程序便于使用,需要通過GUI 工具開發圖形用戶接口來與用戶進行交互。常用的Python 的GUI 開發工具有tkinter、wxPython、PyQt 等。tkinter 是Python 標準庫的GUI 模塊,提供標簽、按鈕、菜單等圖形接口,小巧輕便,能滿足日常的圖形用戶接口開發要求。
由于系統還需要進行數據繪圖,數據庫的配置及數據的讀寫,因此需要安裝相應的庫文件來實現功能,本系統使用matplotlib、、pyodbc、mysql庫來實現上述功能。
通過使用pip命令安裝mysql ,安裝畫面如圖1。
Py –m pip install mysql
圖1 使用pip 命令安裝 mysql 庫文件
2 優化系統
2.1 創建Bfsm項目和應用
PyCharm 是一款功能強大的 Python 編輯器,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。本項目使用pycharm創建項目。
首先,進入PyCharm官網進行程序下載安裝程序。然后打開程序,點擊Create New Project,選擇Location的路徑,建立編譯環境,右鍵點擊“python_pycharm”選擇“New”,選擇“python file”,以此建立main.py,test.py,ver.py,record.py等文件。
之后,配置解釋器。點擊“File”,選擇“Settings”,點擊“Project:bfsm”,在“Project Interpreter”頁面點擊“+”按鈕,在打開頁面中搜索“mysql”,點擊“Apply”。
項目結構如圖2。
圖2 pycharm下項目結構
2.2 項目模塊劃分及實現
通過對現有疊加式力標準機控制系統的分析,新增自動檢定程序、檢定證書模板設置、檢定記錄模板設置三個模塊,以適應規程規章的更改、批量進行檢定等檢定狀況。
2.2.1自動檢定程序模塊
原檢定程序每次檢定前,都需要輸入檢定規程、規格型號、產品編號、 測量范圍、執行標準、試驗類型、預加荷力、檢測點數、檢測次數、 溫度、濕度、報告編號、證書編號等大量參數,而且同型號儀表進行檢定時每一個都需要輸入相似的內容,耗用大量人力成本,效率低下。更改后新增自動檢定功能,當輸入檢定儀表型號后,參數會根據規程規定自動設置,無特殊需求無需手動依次更改各個選型直接進入檢定程序。同時可以選擇個體檢定或批量檢定,當選擇批量檢定時,系統依據設置自動為每個儀表進行編號。
2.2.2檢定證書模板設置模塊
原系統檢定證書格式不能修改,無法根據不同儀表、委托方要求及規程更改而改動,因此,新增檢定證書模板設置模塊,可以按照不同檢定情況變更檢定證書頁數及內容樣式,其設置模塊畫面如圖3所示。
圖3 檢定證書模板設置頁面
2.2.3檢定記錄模板設置模塊
檢定記錄模板設置模塊同檢定證書模板設置模塊,可以在檢測儀表、檢定要求、檢定狀態變更時修改記錄內容,以適應不同檢定狀況。
2.3 項目數據庫配置
使用Python進行數據庫操作,需要安裝相應的數據庫庫文件,python針對不同的數據庫有不同的模塊,如mysql來接和操作MySQL數據庫,cx_oracle來連接和操作oracle數據庫。本項目使用mysql數據庫來存儲疊加式力標準機系統數據,通過mysql庫文件在Python環境中進行數據庫管理、數據查詢、數據操作等活動。
Python連接數據庫包括引入應用程序編程接口模塊、連接數據庫、執行SQL語句和存儲過程、關閉數據庫四個步驟。
連接數據庫需使用連接函數connect。Connect函數 使用connect方法生成connect對象,再使用此對象訪問所需要訪問的數據庫,代碼如下:
try:
conn=smsql.connect(host=' localhost',user='admin' ,passwd='admin ',db='machine' )
except Exception.e:
print e
sys.exit 0
然后用這個對象定義一個游標,對數據庫的增、刪、改,就要通過這個游標來實現,獲取cursor對象代碼如下:
cursor=conn.cursor 0
之后用游標執行“execute”方法進行查詢,“fetchall”方法執行取結果。
2.4 項目打包
python 開發的程序需要在已安裝Python 以及相關第三方模塊的計算機上運行。為了使程序能夠在沒有安裝Python的計算機上直接運行,需要通過第三方模塊pyinstaller 將開發好的Python 程序打包成一個可執行文件。經過pyinstaller打包后的exe 程序可以復制到其他32 位或64 位的計算機上運行。
在windows控制臺下 輸入命令如下命令進行pyinstaller模塊安裝:
py –m pip install pyinstaller
在python中輸入如下命令進行程序打包:
pyinstaller –F d:\bfsm\main.py –noconsole
3 結語
通過使用python編程語言,搭建pycharm編程環境,安裝gui等庫文件,對疊加式力標準機系統進行了升級改造。新系統具備自升級功能,能很好的與外部應用程序進行數據傳輸,提高了系統自動化水平,使檢定工作的效率得到大幅提升。
參考文獻
[1] 沙樹靜.國家基準機力值控制問題的研究與應用[D].吉林:吉林大學,2004.
[2] 劉士平.全自動疊加式力標準機的控制技術[I].自動化儀表,1999,(1O).
[3] 謝顯奇.疊加式力標準機應用技術研究[J].衡器,2003,(1).
[4] 劉衛國. Python語言程序設計[M]. 北京: 電子工業出版社, 2016.
[5] 洪錦魁.PythonGUI 設計tkinter 菜鳥編程[M]. 北京:清華大學出版社,2019,8(1):64-70.
[6] Di Giacomo M.MySQL:Lessons Learned on aDigital Library[J].IEEE Software,2005,22(3):