基于C#+avalonia ui实现的点胶机给传感器灌胶操作的上位机控制软件,使用RS485 Modbus通讯,跨平台可运行在Linux系统及windows系统

背景

设计目标为与外购设备协同作业,完成传感器灌胶操作。涉及到的部分包括,一次点胶,一次旋转固化,点催化剂,点灭火剂这些步骤,上位机控制部分实现比较简单, 作为控制的中转核心,与各个控制执行器交互通信,实时监测各部分状态。

主要实现 读取控制执行器状态信号,向控制执行器下发程控电源控制配方方案。

上位机实现电源控制,与执行器之间,PC作为主站,电源控制执行器作为从站,两者之间通过modbus进行通信,物理接口为RS485。

界面

整体界面布局比较简单,主监控界面分为三部分,

第一部分为控制部分,监控开始,结束,下发控制命令及配方设置

第二部分是点胶步骤5个流程的实时监控状态

第三部分是实时日志显示

上位机部分实现了控制台命令下发,读取等原始数据监控,异常监控,支持实时日志及文本日志记录

主界面:

下发控制命令界面:

配方详情及设置界面:

整体技术方案:

由于生产部门电脑统一采购的是基于ubuntu的Linux工控电脑,采用了跨平台的技术avalonia UI实现在Linux运行,可打包成deb安装包,用到了

跨平台界面方案:avalonia ui

依赖注入框架:Microsoft.Extensions.DependencyInjection

日志:Serilog,Serilog.Sinks.Console,Serilog.Sinks.File

配置系统:Microsoft.Extensions.Configuration 、 Microsoft.Extensions.Configuration.Json

MVVM框架:CommunityToolkit.Mvvm

Modbus:System.IO.Ports,NModbus4.NetCore

总结

C# Avalonia UI 作为一款强大的跨平台 UI 框架,在技术层面展现出多方面显著优势,使其成为开发者构建跨平台应用的优质选择。
首先,卓越的跨平台覆盖能力是其核心优势之一。Avalonia UI 能够稳定运行于 Windows、macOS、Linux 等主流桌面操作系统,同时还支持 Android、iOS 等移动平台,甚至可以通过 WebAssembly 实现 Web 端部署,真正实现了 "一次开发,多端运行" 的目标,极大地降低了跨平台应用的开发和维护成本。
其次,在开发体验与兼容性方面表现突出。它与 WPF(Windows Presentation Foundation)有着高度相似的 API 设计和 XAML 语法,对于熟悉 WPF 的开发者而言,几乎可以无缝迁移到 Avalonia UI 的开发中,显著减少了学习成本。同时,它基于.NET 平台,完美支持 C# 等.NET 生态语言,开发者可以充分利用.NET 丰富的类库和工具链,提升开发效率。
再者,强大的自定义与灵活性为界面设计提供了广阔空间。Avalonia UI 采用了全新的渲染引擎,不依赖于特定平台的原生控件,而是通过自绘实现 UI 元素,这使得开发者能够轻松创建具有独特风格的界面,且在不同平台上保持一致的视觉效果。此外,其完善的样式系统和主题支持,让应用的外观定制变得简单高效。
另外,性能表现优异也是不容忽视的优势。凭借高效的渲染机制和对硬件加速的支持,Avalonia UI 能够确保应用在各种设备上都拥有流畅的运行体验,即使是复杂的界面交互也能保持良好的响应速度,满足用户对应用性能的高要求。
最后,活跃的社区与持续的发展为其提供了坚实的支撑。开源的特性吸引了众多开发者参与贡献,社区中不断涌现出丰富的第三方组件和解决方案,帮助开发者快速解决开发过程中遇到的问题。同时,开发团队持续迭代更新,不断优化框架性能、增加新功能,确保 Avalonia UI 能够紧跟技术发展趋势,适应不断变化的跨平台开发需求。

相关推荐
Nukepayload25 天前
演练:使用VB开发多智能体协作的荣格八维分析器
ai·avalonia·vb·智能体·工具调用·实时反馈·智能体协同
JIANGHONGZN14 天前
医疗设备自动化升级:Modbus TCP与DeviceNet的协议协同实践
modbus·modbus tcp·协议网关·工业通讯·devicenet
JIANGHONGZN15 天前
水泥厂码垛环节的协议转换实践:从Modbus TCP到DeviceNet
modbus·modbus tcp·协议网关·工业通讯·devicenet
JIANGHONGZN15 天前
Modbus TCP转Devicenet:水泥厂PLC与多类仪表的自动化通信实践
modbus·modbus tcp·协议网关·工业通讯·devicenet
SQWH_SSGS16 天前
一些Avalonia与WPF内容的对应关系和不同用法
avalonia
十五年专注C++开发19 天前
pugiXML:一个轻量级、高性能的 C++ XML 解析库
xml·c++·跨平台·cmake
慧都小项21 天前
降本增效!自动化UI测试平台TestComplete并行测试亮点
自动化测试·ci/cd·跨平台·ui测试·回归测试·并行测试·环境兼容
Oberon25 天前
Avalonia硬配.NET Framework 4.8
c#·.net·avalonia·.net framework
dalgleish1 个月前
C# Avalonia 03 - LayoutPanels - SimpleInkCanvas
跨平台·mvvm·c# avalonia