基于C#+avalonia ui實現的跨平臺點膠(jiao)機灌膠(jiao)監(jian)控控制上位(wei)機軟件
背景
設(she)計目標為(wei)(wei)與(yu)外購設(she)備協同作(zuo)(zuo)業,完成傳感器灌膠操作(zuo)(zuo)。涉及到的部分包括,一次(ci)點(dian)膠,一次(ci)旋轉固化(hua),點(dian)催(cui)化(hua)劑,點(dian)滅火劑這些(xie)步驟(zou),上位機控(kong)制(zhi)部分實現比較簡單, 作(zuo)(zuo)為(wei)(wei)控(kong)制(zhi)的中轉核心,與(yu)各(ge)個控(kong)制(zhi)執(zhi)行器交互通信,實時監測各(ge)部分狀態。
主要實現(xian) 讀取控(kong)制執行(xing)器(qi)狀態信(xin)號,向控(kong)制執行(xing)器(qi)下(xia)發(fa)程控(kong)電源控(kong)制配方方案。
上(shang)位機實現電源控制(zhi),與(yu)執行器(qi)之(zhi)間,PC作為(wei)主(zhu)站,電源控制(zhi)執行器(qi)作為(wei)從站,兩(liang)者(zhe)之(zhi)間通(tong)過modbus進(jin)行通(tong)信,物理接口為(wei)RS485。
可跨平臺(tai)運行在Linux系統,支持打包(bao)為deb安(an)裝包(bao)安(an)裝
界面
整(zheng)體界面布局比較簡單,主監(jian)控界面分為三部分,
第(di)一部(bu)分為(wei)控(kong)制(zhi)部(bu)分,監控(kong)開(kai)始,結(jie)束,下發控(kong)制(zhi)命令及配方(fang)設(she)置
第二部分是點膠(jiao)步驟5個流程(cheng)的實時監控狀態(tai)
第三部分是實(shi)時日(ri)志顯示(shi)
上位機部分實現了控制(zhi)臺命令(ling)下發(fa),讀取等原始(shi)數據(ju)監控,異常(chang)監控,支持實時(shi)日志(zhi)(zhi)及文本日志(zhi)(zhi)記錄(lu)
主界面:

下發控制命令界面:

配方(fang)詳(xiang)情及設置界(jie)面:



整體技術方案:
由于生產部門電腦統一采(cai)購的是基于ubuntu的Linux工控電腦,采(cai)用(yong)了跨平臺的技術avalonia UI實現在Linux運行(xing),可打包(bao)成deb安(an)裝包(bao),用(yong)到了
跨平臺界面方(fang)案:avalonia ui
依賴注入(ru)框架:Microsoft.Extensions.DependencyInjection
日志(zhi):Serilog,Serilog.Sinks.Console,Serilog.Sinks.File
配(pei)置系統(tong):Microsoft.Extensions.Configuration 、 Microsoft.Extensions.Configuration.Json
MVVM框架:CommunityToolkit.Mvvm
Modbus:System.IO.Ports,NModbus4.NetCore
