基于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 能够紧跟技术发展趋势,适应不断变化的跨平台开发需求。

相关推荐
玉面小君2 天前
从 WPF 到 Avalonia 的迁移系列实战篇6:Trigger、MultiTrigger、DataTrigger 的迁移
wpf·avalonia
棉晗榜5 天前
C#写字符串到Modbus中
c#·modbus
SabreWulf20206 天前
Ubuntu 20.04手动安装.NET 8 SDK
linux·ubuntu·avalonia·.net8
SunflowerCoder7 天前
WPF迁移avalonia之触发器
c#·wpf·avalonia
工控小楠8 天前
稳联技术EthernetIP转ModbusTCP网关连接发那科机器人与三菱PLC的集成方案
机器人·ethernet·modbus
十五年专注C++开发10 天前
cargs: 一个轻量级跨平台命令行参数解析库
linux·c++·windows·跨平台·命令行参数解析
玉面小君11 天前
从 WPF 到 Avalonia 的迁移系列实战篇6:ControlTheme 和 Style区别
c#·wpf·avalonia
SunflowerCoder12 天前
WPF迁移avalonia之图像处理(一)
图像处理·wpf·avalonia
工控小楠14 天前
立足稳联技术的Ethernet IP转ModbusTCP网关与触摸屏连接案例的专业研判
ethernet·modbus
AI2中文网15 天前
别再说AppInventor2只能开发安卓了!苹果iOS现已支持!
android·ios·跨平台·苹果·appstore·app inventor 2·appinventor