• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【工程师6】+实践类+DGUS屏人机交互控制

    一波未平一波又起,【第六届】我是工程师技术原创大赛开始了,就是那么六六六!

    作为触摸屏的人机交互控制,大家会想到经常用的平板,比如一些机器人控制,都是用平板来做人机交互,就是通过触摸控制,机器人完成相应

的动作,还有最最常见的自动取款机等等,不过这些大部分都基于linux系统下通过GUI软件来做图形界面的,这次尝试一下利用组态软件来做人机

交互,这个组态软件在PLC控制当中应用最多的,看看组态软件在DGUS屏上是怎么应用的

     最终的产品是mini-PLC

    一 、mini-PLC整体功能

         1.整体电源采用24V开关电源供电

         2.单片机型号为STM32F103ZE,100个引脚

         3.通讯采用RS232和485,协议在27楼

         4.采用串口转以太网模块连接电脑,上位机软件实时监控并控制,11路AD采样输入,都可以通过拨码开关来控制,16路开关量输入(监控设备的开关状态),17路开关输出(通过继电器控制,带指示灯),EEPROM存储一些设定参数,模拟量DAC输出

     二、整体软件功能

         1.使用了三个串口,第一个串口负责和迪文屏通信,第二个串口负责和串口转以太网模块通讯,第三个串口负责485通讯

         2.使用了三个通用定时器中断,滴答定时器中断,

         3.RTC时钟

         4.AD和DA转换

         5.看门狗

         6.采用嵌入式实时操作系统ucos2,多任务执行

全部回复(70)
正序查看
倒序查看
2019-08-01 17:17
快更新 更新
0
回复
2019-08-03 08:32
@电源网-fqd
快更新更新[图片]
马上更新啊
0
回复
2019-08-07 23:45
这个是啥触摸屏?
0
回复
2019-08-09 10:42
@liuxiaofei126
这个是啥触摸屏?
DGUS屏
0
回复
2019-08-10 18:01
@lihui710884923
DGUS屏

既然是人机交互 ,光有上位机软件是不行的,必须结合下位机才可以

这次是通过232串口和单片机通讯的,单片机采用STM32F103

0
回复
heiha88
LV.1
7
2019-08-11 12:01
@lihui710884923
既然是人机交互,光有上位机软件是不行的,必须结合下位机才可以这次是通过232串口和单片机通讯的,单片机采用STM32F103
这个图形界面平时用的消费类设备一样?
0
回复
2019-08-11 12:11
@heiha88
这个图形界面平时用的消费类设备一样?
有的是基于GUI软件做的,比如用QT,还有就是好多医疗设备用组态软件较多
0
回复
2019-08-11 12:17
@lihui710884923
有的是基于GUI软件做的,比如用QT,还有就是好多医疗设备用组态软件较多

准备用这个7寸触摸屏开开发

0
回复
gxg1122
LV.10
10
2019-08-11 21:42
@lihui710884923
既然是人机交互,光有上位机软件是不行的,必须结合下位机才可以这次是通过232串口和单片机通讯的,单片机采用STM32F103
7寸led的驱动,这个难点是软件设计的组态控制。期待更新。
0
回复
heiha88
LV.1
11
2019-08-11 23:06
@lihui710884923
有的是基于GUI软件做的,比如用QT,还有就是好多医疗设备用组态软件较多
感觉图形界面开发比普通的单片机难多了
0
回复
2019-08-12 11:45
@gxg1122
7寸led的驱动,这个难点是软件设计的组态控制。期待更新。
看看这个软件控件是怎么添加上去的,就是采用不同的变量图标,后续详细介绍
0
回复
2019-08-12 12:44
@heiha88
感觉图形界面开发比普通的单片机难多了
都是嵌入式这块,一个是软件,一个是硬件,
0
回复
2019-08-12 17:05
@lihui710884923
准备用这个7寸触摸屏开开发[图片][图片]

 DGUS 是迪文图形应用服务软件的简称,是基于K600+内核迪文屏所设计的智慧型人机界面系统软件。使用搭载DGUS软件的迪文屏,可帮助用户零代码快速开发全图形触摸屏人机界面。

与传统的LCM通过时序或指 令控制显示不同,DGUS屏采用直接变量驱动显示方式,所有的显示和操作都是基于预先设置好的变量配置文件来工作的,整个开发过程通过PC软件来设计完成触控和变量配置文件。

0
回复
2019-08-12 17:42
@lihui710884923
 DGUS 是迪文图形应用服务软件的简称,是基于K600+内核迪文屏所设计的智慧型人机界面系统软件。使用搭载DGUS软件的迪文屏,可帮助用户零代码快速开发全图形触摸屏人机界面。与传统的LCM通过时序或指 令控制显示不同,DGUS屏采用直接变量驱动显示方式,所有的显示和操作都是基于预先设置好的变量配置文件来工作的,整个开发过程通过PC软件来设计完成触控和变量配置文件。

整体的功能挺多的

0
回复
2019-08-12 18:14
@lihui710884923
看看这个软件控件是怎么添加上去的,就是采用不同的变量图标,后续详细介绍

软件的基本操作,举一个简单的例子

比如一个开和关按钮,一个运行状态

我们触摸开是,键值为1

0
回复
2019-08-12 18:21
@lihui710884923
软件的基本操作,举一个简单的例子比如一个开和关按钮,一个运行状态[图片]我们触摸开是,键值为1

我们触摸关时,键值为0

0
回复
2019-08-12 18:27
@lihui710884923
我们触摸关时,键值为0[图片]

这个是一个变量图标的运行状态,右边是0和1的两个状态,对应不同的图标

0
回复
三撅
LV.4
19
2019-08-13 11:12

串口屏开发很简单不过迪文的屏幕,协议太恶心

尝试一下大彩串口屏吧,你回喜欢上用的

0
回复
2019-08-13 11:28
@三撅
串口屏开发很简单不过迪文的屏幕,协议太恶心尝试一下大彩串口屏吧,你回喜欢上用的
楼上也是 用这屏的额,通过屏和SD卡给单片机烧录程序可以吗
0
回复
2019-08-14 13:53
@三撅
串口屏开发很简单不过迪文的屏幕,协议太恶心尝试一下大彩串口屏吧,你回喜欢上用的
协议这块没啥吧,大彩的可以了解了解
0
回复
2019-08-14 18:15
@lihui710884923
协议这块没啥吧,大彩的可以了解了解
串口屏原理都类似?
0
回复
2019-08-16 18:05
@liuxiaofei126
串口屏原理都类似?
通讯这块都差不多,主要是协议不一样
0
回复
薄浩楠
LV.5
24
2019-08-16 23:04
这个触摸屏组态用的在线模式还是离线模式呀
0
回复
2019-08-19 08:35
@薄浩楠
这个触摸屏组态用的在线模式还是离线模式呀
PLC上用的组态屏有这两种模式?这个好像没有说明
0
回复
2019-08-23 16:29
@lihui710884923
PLC上用的组态屏有这两种模式?这个好像没有说明

首先我们基本配置一下

配置通信波特率、帧头的两个字节,暂时不启用校验

0
回复
2019-08-23 16:45
@lihui710884923
首先我们基本配置一下[图片]配置通信波特率、帧头的两个字节,暂时不启用校验

看看通讯协议

没有校验的话通讯过程就8个字节

比如

 ① 显示整数数据 1005A A5 05 82 5420 0064

含义:0x5A 0xA5:

帧头;0x 05:

数据长度为 82 53 00 00 64 这 5 个字节;

0x 82:写操作;

0x 5420:变量地址;0x 0064:

数据 100。整数范围:-32768 到 32767,占 2 字节。

0
回复
2019-08-24 11:43
@lihui710884923
看看通讯协议[图片]没有校验的话通讯过程就8个字节比如 ① 显示整数数据 1005A A5 05 82 5420 0064含义:0x5A 0xA5:帧头;0x 05:数据长度为 82 53 00 00 64 这 5 个字节;0x 82:写操作;0x 5420:变量地址;0x 0064:数据 100。整数范围:-32768 到 32767,占 2 字节。

实际上就是变量地址和数据

和单片机差不多,向变量地址里写数据

串口发送:5AA50483000004 

这是一条读系统变量接口Device_ID的帧开头:0x5AA5

数据长度:0x04

从变量空间指定开始地址读取指定长度:0x83

开始地址:0x0000读取数据字长度0x04

收到:5A A5 0C 83 00 00 04 96 57 16 20 27 17 10 25 

帧开头:0x5AA5数据长度:0x0C83 00 00 04 和发送相同Device_ID 96 57 16 20 27 17 10 25 

串口发送:5AA50483001401 显示当前页面ID开始地址:0x0014读取数据字长度0x01

 一个字长此处表示两个字节收到:5A A5 06 83 00 14 01 00 05 

当前页面:0x0005串口发送:5AA50483003101 

读取当前背光亮度值收到:5A A5 06 83 00 31 01 5A 64 

 读取当前背光亮度值0x64表示最大值

0
回复
gxg1122
LV.10
29
2019-08-30 21:27
@lihui710884923
 DGUS 是迪文图形应用服务软件的简称,是基于K600+内核迪文屏所设计的智慧型人机界面系统软件。使用搭载DGUS软件的迪文屏,可帮助用户零代码快速开发全图形触摸屏人机界面。与传统的LCM通过时序或指 令控制显示不同,DGUS屏采用直接变量驱动显示方式,所有的显示和操作都是基于预先设置好的变量配置文件来工作的,整个开发过程通过PC软件来设计完成触控和变量配置文件。
这种DGUS屏的开发图形界面的设计难度怎么样?优势是什么了?
0
回复
2019-08-31 12:21
@gxg1122
这种DGUS屏的开发图形界面的设计难度怎么样?优势是什么了?

这个主要是降低嵌入式中图形界面的开发难度,比起其他GUI软件,比如QT方便多了,特别是难度大大降低

0
回复
2019-09-02 12:47
@lihui710884923
实际上就是变量地址和数据和单片机差不多,向变量地址里写数据串口发送:5AA50483000004 这是一条读系统变量接口Device_ID的帧开头:0x5AA5数据长度:0x04从变量空间指定开始地址读取指定长度:0x83开始地址:0x0000读取数据字长度0x04收到:5AA50C830000049657162027171025 帧开头:0x5AA5数据长度:0x0C83000004和发送相同Device_ID9657162027171025 串口发送:5AA50483001401显示当前页面ID开始地址:0x0014读取数据字长度0x01 一个字长此处表示两个字节收到:5AA506830014010005 当前页面:0x0005串口发送:5AA50483003101 读取当前背光亮度值收到:5AA506830031015A64  读取当前背光亮度值0x64表示最大值

大家可以看到上面的工程界面中,都需要背景图的,这个图就需要用软件来设计了

由于这屏的分辨率是800*480,需要转换一下

0
回复