1、简介
公司最近使用迪文串口屏做一款智能控制柜,包含数据采集、预警以及控制,下面把实现数据采集和显示跟大家分享下。
通过迪文串口屏与传感器设备之间的MOBUS通信,读取传感器温湿度数据,并在迪文串口上显示。
2、环境介绍
迪文串口屏:DMG80480T070_15WTR (下面简称串口屏)
山东仁科土壤温度水分电导率PH 四合一变送器:RS-ECTHPH-N01-TR-1 (下面简称传感器)
3、实践操作
3.1.制作串口屏显示程序
1.串口屏实现modbus通信
大家可以问迪文客服要或者在迪文论坛上查询下载,把下载实现modbus通信的文件,解压后,把DWINOS_*.bin放到内存卡,串口屏烧录一次就可以了(看文章3.3S SD卡烧录)。
我这一款屏是T5系列,串口5通信,波特率是9600,所以下载的是DWIN_T5L_9600_UART5***,大家根据自己通信的需求下载。
2.通过网盘下载迪文的UI设计软件DGUS_V7647
https://pan.baidu.com/s/1gnjwyk5c87iTl6S5iK56dg,提取码:32x4
3.根据串口屏尺寸,创建UI项目,比如我的串口屏是7寸,分辨率为800X480
新建工程
屏幕尺寸,根据自己屏幕尺寸选择
储存路径,工程的存放路径
4.添加背景图片
点击左上角“+”选择准备好的背景图片,.jpg格式。(背景图片的分辨率要调整的和串口屏分辨率一致)
5.制作文本显示触件
选择文本显示-数据变量触键
设置串口屏显示数据的变量地址,湿度为:1000,温度:1001
设置数据类型和显示的位数
6.将背景图片生成.icl文件
通过软件将背景图片生成.icl文件,文件命名格式32****.icl,不然串口屏识别不到,生成的icl文件放到工程的DWIN_SET目录下
7.工程保存并生成
3.2 编辑22.bin文件,使用03读取指令
传感器设备的温湿度寄存器地址
迪文官方串口屏modbus协议03指令读取格式
修改.22文件,从0x1c000开始(传感器的从机地址是1,湿度温度寄存器地址为0000和0001),读从机地址为1的设备,读取2个字数据,读到串口屏起始地址1000。
建议把工程中的22.bin文件复制出来,单独修改,不然每次UI工程修改生成,就会生成新的22.bin文件,原先辛辛苦苦写的22.bin文件就会被清空。
3.3烧录到串口屏,SD卡模式
在SD卡中新建DWIN_SET文件夹,将工程内的上图文件放到文件夹内(注意22.bin文件是按照自己需求修改后的文件)。
插卡烧录,出现PROCESS... END!,成功烧录!
4、测试
传感器的RS485A、B,接串口屏的A、B
数据读取显示成功!