茅曉晨
(上海市計量測試技術研究院,上海 201203)
壓力計量系統可以實現壓力儀表的數據采集和校準,常規壓力儀表的電氣接口包括:電流環4mA ~20mA、RS485、RJ45、HART、CAN、頻率等。由于工控設備OCS具有諸多電氣接口,應用控制器可以穩定高效地采集壓力儀表的實數數據及配置參數。壓力儀表在很多應用場合需要進行授權管理,如針對不同用戶賦予不同的操作權限,或者設備集成商從設備使用追蹤管理和商務追款等原因,對系統設備進行授權控制,穩定的硬件OCS 系統授權是實現高效管理的基本前提[1]。

圖1 授權碼Excel計算表格Fig.1 Excel calculation form of authorization code
計量授權系統的技術關鍵在于設備的授權計算模型,控制邏輯在OCS 處理器內部設計一個鑒權算法,依據算法的邏輯計算結論來判斷是否允許OCS 正常運行。一般常用的方法是設計一個“密碼計算表”,如應用明文設備當前運行時間RTC 和明文授權到期時間生成暗文設備運行授權碼。例如:OCS 控制器的當前運行時間為2020 年9 月27 日,授權到期時間為2025 年12 月31 日,此時在excel 計算表內依次輸入:A2 表格輸入年份后兩位20、B2表格輸入年份9、C2 表格輸入日期27、D2 表格授權到期年份后兩位25、E2 表格授權到期月份12 和F2 表格授權到期日期31。在電子Excel 上編寫的計算邏輯為:授權碼=(A-A2)×1000000000000+(B-B2)×10000000000+(CC2)×100000000+(D-D2)×1000000+(E-E2) ×10000+(F-F2)×100+MOD((A2+B2+C2+D2+E2+F2),100),公式中的變量A、B、C、D、E、F 秘鑰數值根據開發者的自定義情況填寫,如上述填寫下計算的授權碼為“80282275534124”。在控制器交互界面上輸入授權碼(觸摸屏或按鍵觸發),邏輯判斷正確則可以進入主界面,如果錯誤屏幕有錯誤提示,用戶可以依照提示界面聯系應用技術工程師索要授權。為了便于VIP 用戶長期具有使用權限,邏輯判斷中可以預置一個超級密碼,例如112233445588,當OSC 判斷授權碼為超級密碼時,同樣進行解鎖操作[2]。

圖2 OCS設備授權界面圖Fig.2 OCS Device authorization interface
壓力計量系統未到期或者授權功能未開啟,主畫面按鈕顯示,點擊可以返回。而當授權到期時,主畫面按鈕消失,直到用戶重新輸入正確的授權碼再顯示主畫面,否則系統停止運行并告警,且無法再次啟動。如果電池沒電,控制器的RTC 時間上電自動恢復至1996 年,則取消該功能。系統%SR049 寄存器代表硬件時鐘年,如果邏輯判斷RTC 時鐘為1996 則置保持寄存器%M02001 為R 即取消授權功能并Jump 至梯形圖的結尾End 處。%R04901 開始的寄存器用于存儲輸入的授權碼,當%R04901 等于超級密碼(112233445588)時,寄存器%R04976 賦值99,即2099 年,然后置保持寄存器%M02001 為R 即取消授權功能并也Jump 至梯形圖的結尾End 處,置位%AQ117.1 文本顯示“當前授權為無限授權模式”。當用戶在輸入框輸入授權碼后,確認按鈕觸發%T02005 寄存器,進而產生上升沿%T02001。首先,比較授權碼是否合法,%R04901 當前年轉換為%R04961,以此類推分別轉換為寄存器%R4961開始的整形數據,%R04961 是RTC 年、%R04962 是RTC月、%R04963 是RTC 日、%R04964 是授權年、%R04965是授權月、%R04966 是授權日而%R04967 是校驗和,如果計算得到的“校驗和%R04966”與填寫授權碼中的“校驗和%R04969”相同,則可以判斷授權碼為符合邏輯要求的合法秘鑰,在這個前提下獲取的“授權輸入時間”和“授權時間”都是正確有效的[3]。

圖3 授權系統邏輯梯形圖Fig.3 Logic ladder diagram of authorization system
完成授權碼7 合法性判斷之后,要進行解鎖碼計算。由于給用戶授權時涉及到秘鑰的時效性判斷,例如,用戶在2020 年9 月27 日索要設備授權碼,則用戶必須在2020年9 月27 日當前輸入得到的授權碼才有效,寄存器%R04981等于寄存器%SR49,%R04982 等于%SR48,%R04983 等于%SR47,這樣可以避免用戶拖延操作也便于授權記錄管理操作。相同時觸發上升沿T2002,您輸入的授權碼有誤,請重新輸入!%AQ109.1 置高;而不相同時觸發上升沿T2003。非法則提示輸入密碼錯誤,已收到新的授權碼%AQ116.1 置高,為了達到更好的用戶操作效果,文本內容顯示4s 以后自動消失[4]。
將授權碼的數值賦值給寄存器%R4976(授權年)、%R4977(授權月)、%R4978(授權日)。如2025 年12 月31 日,OCS 控制器在應用的過程中將對RTC 的是當前年、當前月和當前日分別于上述3 個寄存器進行比較判斷,當RTC 日期處于授權日期之前時,則置設備正常運行。控制運行寄存器%M2001 為OFF 時,可以使用機器,%M2001 為ON 時,強制系統停機,并顯示對應畫面[5]。
OCS 可 以 實 現 開 關 量 輸 入I1 ~I8、 脈 沖 輸 入HSC1 ~HSC4,開關量輸出Q3 ~Q12,脈沖PWM 輸出Q1 ~Q2,三線制RTD 的A、B、B。在進行壓力儀表的連接時,可以應用MA1+和MA2+采集4mA ~20mA,如果自身控制器實現自環測試,應用AQ1 連接MA1+,AQ2+連接MA2+。FO 和FI 的頻率自環測試可以應用Q1 連接HCS1 端口,頻率輸入HCS1 對應%AI5 而頻率輸出Q1 對應 頻 率5kHz。Q1 的PWM 占 空 比 用%AQ7 設 置,頻 率用%AQ9 設置,Q2 的PWM 占空比用%AQ11 設置,頻率用%AQ13 設置。對于RJ45 網口的IP 地址為192.168.1.17掩碼255.255.255.0 網關192.168.1.1,可以應用路由器連接上行WAN 口,而PLC 應用RJ45 網口連接路由器的LAN口,用戶就可以應用WIFI 連接PLC 實現無線控制。可以將RJ45 接口設置為Modbus Tcp 協議作為從機,在PC 上運行Modbus Poll 測試軟件實現通信測試。壓力計量系統的搭建應用上述硬件端口可以實現儀表的連接。4mA ~20mA是模擬信號、RS485、HART、RJ45 和CAN 所采集的是數字信號[6-8]。
壓力計量控制系統可以依據用戶的支付情況和用戶的權限等級分配不同的授權碼,設備用戶可以現場更改系統時間RTC,但是用戶獲取的授權碼只針對當前的時間輸入有效。如果用戶在當前日期使用授權碼激活設備,而又將RTC 時鐘向前調,雖可以使用但是設備的記錄時間將不準確。文中所述的授權方法便于讓用戶在一天內用一個授權碼將設備完全激活,如果針對個體設備進行更嚴密的授權操作,可將用設備的寄存器%SR35 和%SR36(設備唯一ID)參與編程,這樣每個設備都需要單獨的一個授權碼來激活[9]。
本文介紹了應用OCS 控制器實現壓力儀表的計量采集和系統授權管理,可以直接應用OCS 控制器實現壓力儀表的數據采集和參數配置。所設計出的授權模型可以滿足設備用戶的權限授權和商務追款需求,依次通過授權碼合法性判斷、操作時效性限制、授權時效性約束等實現壓力計量授權系統的授權管理。經測試驗證,所設計的壓力計量儀表授權系統可以較穩定高效地實現數據采集和授權管理,達到了預期的設計效果。