快捷搜索:  汽车  科技

人机交互触摸屏高度(DGUS屏人机交互控制)

人机交互触摸屏高度(DGUS屏人机交互控制)4.采用串口转以太网模块连接电脑,上位机软件实时监控并控制,11路AD采样输入,都可以通过拨码开关来控制,16路开关量输入(监控设备的开关状态),17路开关输出(通过继电器控制,带指示灯),EEPROM存储一些设定参数,模拟量DAC输出3.通讯采用RS232和485,协议在27楼一 、mini-PLC整体功能1.整体电源采用24V开关电源供电2.单片机型号为STM32F103ZE,100个引脚

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

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

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

人机交互触摸屏高度(DGUS屏人机交互控制)(1)

最终的产品是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,多任务执行

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

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

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

人机交互触摸屏高度(DGUS屏人机交互控制)(2)

人机交互触摸屏高度(DGUS屏人机交互控制)(3)

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

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

整体的功能挺多的

人机交互触摸屏高度(DGUS屏人机交互控制)(4)

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

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

人机交互触摸屏高度(DGUS屏人机交互控制)(5)

我们触摸开是,键值为1

我们触摸关时,键值为0

人机交互触摸屏高度(DGUS屏人机交互控制)(6)

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

人机交互触摸屏高度(DGUS屏人机交互控制)(7)

人机交互触摸屏高度(DGUS屏人机交互控制)(8)

首先我们基本配置一下

人机交互触摸屏高度(DGUS屏人机交互控制)(9)

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

看看通讯协议

人机交互触摸屏高度(DGUS屏人机交互控制)(10)

没有校验的话通讯过程就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表示最大值

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

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

人机交互触摸屏高度(DGUS屏人机交互控制)(11)

这里选择转换的分辨率

人机交互触摸屏高度(DGUS屏人机交互控制)(12)

选择转换就可以了

人机交互触摸屏高度(DGUS屏人机交互控制)(13)

对于图像编辑这块,可以分享一个简单的软件Adobe Fireworks CS6

人机交互触摸屏高度(DGUS屏人机交互控制)(14)

人机交互触摸屏高度(DGUS屏人机交互控制)(15)

DGUS软件这块后续实际应用再介绍

这是PLC的硬件主控图

人机交互触摸屏高度(DGUS屏人机交互控制)(16)

基本参数

1.11路AD采样输入,全部光耦隔离

2.232通讯

3.485通讯

4.24C02存储

5.1DAC转换

6.16路开关量输入

7.17路开关输出

这是PLC的驱动电路这块

人机交互触摸屏高度(DGUS屏人机交互控制)(17)

采用传统的ULN2003和三极管驱动

每路都有开关指示灯

AD采样可以用拨码开关

多路工业接口

对于PLC和外设状态实时监控这块,使用了串口转以太网模块USR-TCP232-T2

图形基本原理

人机交互触摸屏高度(DGUS屏人机交互控制)(18)

串口转以太网模块需要用AT配置

人机交互触摸屏高度(DGUS屏人机交互控制)(19)

这是实物,可以看看

人机交互触摸屏高度(DGUS屏人机交互控制)(20)

我们使用了以下几个引脚

人机交互触摸屏高度(DGUS屏人机交互控制)(21)

Link 引脚为 T2 建立通讯连接的状态指示引脚,建立通讯连接时,此管脚会输出低电平,无连接建立则输 出高电平。当 T2 处于 TCP 模式时,建立通讯连接后,Link 引脚会自动拉低,否则处于拉高状态。当 T2 处于 UDP 模式时,Link 引脚一直处于拉低状态。USR-TCP232-T2 产品中“Link”备用引脚,可作 Link 指示

这是电机驱动板

人机交互触摸屏高度(DGUS屏人机交互控制)(22)

这是驱动板成品

人机交互触摸屏高度(DGUS屏人机交互控制)(23)

这是主控板

人机交互触摸屏高度(DGUS屏人机交互控制)(24)

在这简单分享一下UCOS实时操作系统

任务的结构--任务控制块首先这个任务控制块是非常的大的,这里面使用很多的宏定义,估计是可以让使用者使用的时候按需配置。所以这里只是整理一些必须要用到的功能,不常用的不讲,讲了就会变成一本书了。

(1)任务的关键 OS_STK == 任务的堆栈,用于保存任务的信息,最主要的是保存在程序的运行的SP指针。任务切换的实质就是SP指针的变化,通过SP指针的变化,可以跳转到你想要去的任何的一块不受保护的地址去。

(2)任务的链表: struct os_tcb *OSTCBNext; 指向下一个任务,此处使用链表是可以通过指针访问下一个任务的内容,可以使用这个双向链表放置到某些队列当中,实现同优先级的多任务。

(3)事件控制块:OS_EVENT *OSTCBEventPtr; 是一个技术组件,用于后面的消息和消息队列,邮箱和信号量等的设计。

首先对OS初始化

人机交互触摸屏高度(DGUS屏人机交互控制)(25)

然后建立任务

人机交互触摸屏高度(DGUS屏人机交互控制)(26)

一是创建任务函数

二是关闭OS中断

三是打开OS中断

这个我们在stm32程序中也见过,用过软件定时器的坛友明白,临界中断的关闭和打开

可以看一下

人机交互触摸屏高度(DGUS屏人机交互控制)(27)

前面说了实时操作系统的初始化,创建任务,还少一个心跳,就是实时操作系统的时钟节拍

我们采用stm32内核的滴答定时器作为1ms心跳

1.先使能滴答定时器中断

所以在设定滴答定时器初始化函数时,只需设定:

人机交互触摸屏高度(DGUS屏人机交互控制)(28)

就能满足uCOS-II想要的节拍时间了。

2.中断服务

人机交互触摸屏高度(DGUS屏人机交互控制)(29)

底层程序这块就介绍到这

介绍一下触摸屏主界面

人机交互触摸屏高度(DGUS屏人机交互控制)(30)

1.RTC实时显示

2.温度、压力等信息上传

3.主要是切换到其他界面控制

4.外设状态上传

针对其他界面介绍。其他界面都有 主界面按钮切换,这是PLC的外设状态实时上传

人机交互触摸屏高度(DGUS屏人机交互控制)(31)

较复杂的外设参数设定,主要是烘干这块

人机交互触摸屏高度(DGUS屏人机交互控制)(32)

热泵参数设定

人机交互触摸屏高度(DGUS屏人机交互控制)(33)

外设的开停机控制

人机交互触摸屏高度(DGUS屏人机交互控制)(34)

其他页面不一一介绍了

开始组装调试,上下两块板子采用铜柱对接,排针电气连接

人机交互触摸屏高度(DGUS屏人机交互控制)(35)

人机交互触摸屏高度(DGUS屏人机交互控制)(36)

人机交互触摸屏高度(DGUS屏人机交互控制)(37)

最后需要把工程文件放到SD卡里,SD卡开插到触摸屏板子上

人机交互触摸屏高度(DGUS屏人机交互控制)(38)

人机交互触摸屏高度(DGUS屏人机交互控制)(39)

我们上电就可以加载我们的图像界面了

最后就是这个mini-PLC图,已经上电了

人机交互触摸屏高度(DGUS屏人机交互控制)(40)

这是主函数,非常简洁标准的

人机交互触摸屏高度(DGUS屏人机交互控制)(41)

创建了几个任务,发送任务,接受任务,多任务的看门狗设计

最后总结

DGUS屏的PLC,巧妙的利用通用的STM32单片机,实现了非常智能化的工程控制,比如电磁阀,压缩机,风机,抽湿风机等设备

实现双重控制和监控,一是现场用DGUS屏的PLC,二是通过PLC的串口转以太网模块连接电脑,坐在办公室也可以实时控制监控各个设备状态

猜您喜欢: