工控屏幕程序设计

我要开发同款
janse2023年12月24日
199阅读
开发技术项目管理、ui、前端C/C++LUA、C
所属分类串口屏、UI设计

作品详情

本项目是基于现成的硬件设备,为设备设计一款通过Modbus协议串口通讯的屏幕程序,便于客户在屏幕上设置参数、查看必要的信息、设备工作状态等,当然用户也可以通过屏幕去操作设备,以实现一些辅助的功能,屏幕上还带有文件系统,用户的使用记录和自动生成测试报告,所有文件支持U盘导出,除此之外还支持WIFI,OTA(基于Ftp服务器的远程升级)。
功能分成以下
1、控件定义模块
此模块单独封装出来,是因为在UI界面开发中和完成后,经常有需要增加按键和修改跳转逻辑的情况,我为其专门写了架构,方便后期修改。所有控件点击之后需要做的响应均在此完成。
此模块的优点就是方便拓展,响应效率高;缺点也很明显,新手要看懂这一部分可能有点难度。
2、modbus通讯模块
此模块的通讯效率非常高,在通讯原理中可以了解到,通讯的时间开销主要是在传输过程,也就是说传输2字节和传输64字节的时间是差不多的,该架构每次通讯都是128字节,按照协议地址顺序读取,如果中途涉及到下发数据,那么在下一个时隙下发数据,下发数据时间约10ms。
此模块的优点是不会发生冲突,所有数据通讯都同意管理,不会有通讯冲突的问题,效率极高;没有缺点;主要难点在于通讯失败时的处理方法,软件稳定性和健壮性就看它了。
3、文件系统模块
此模块是为了满足使用日志、测试报告和实时记录的功能,在特定的时候需要屏幕自身做文件管理。
难点:
数据处理,得到的数据肯定是五花八门的,但文件读写就1个接口,所有要把五花八门的数据都转换为可以写入文件的数据,从文件中读数据出来也要能正确转换。
4、WIFI模块
屏幕本身支持WIFI, 有外置的2.4G网卡。连接WIFI只需要按照API正确配置即可,但此项目需要连接Ftp服务器,支持OTA的功能;联网之后需要和FTP服务器进行握手、登录、校准时间等操作,如果Ftp不稳定或者设备网络不稳定时比较麻烦,再就是OTA进行一半时断网的问题。
5、Flash模块
用于保存一些需要掉电不丢失的数据。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论