本帖最后由 ZLDW 于 2018-12-25 13:27 编辑
DGUS屏应用方案(一)太阳能电池边框涂胶机 1 项目背景太阳能电池边框涂胶系统,主要由机械结构、涂胶机、运动机构三大部分构成,运动机构是一个龙门式三轴运动系统,其结构如下图1所示: 图1 涂胶机设备外形 其中X轴负责带着胶枪做横向运动,Y轴上面带有夹具夹持着四根边框纵向移动,Z轴通过气缸带动胶枪进行上下运动,整体运动流程如下图2: 图2 涂胶机工作流程 2 人机界面设计整个系统主要需要五个功能,一个是产线工人生产界面,二是工程师设置参数界面,三是产线产量统计功能界面、四系统异常界面提醒、五试用提醒功能。如下图3: 图3 工作界面 由于单片机需要获取用户进入哪个界面,所以三个控件采用按键返回控件。
2.1 生产界面生产界面主要包括工人工号、姓名、上下班时间、当天产量、开始按钮、停止按钮、返回主界面按钮。如下图4: 图4 生产界面 a) RTC控件用以显示当前时间。 b) 工号是一个6位整数,由单片机通过NFC采集上传。 c) 左侧的变量图标用以显示员工照片,姓名使用变量图标用以显示用户姓名,通过公用一个变量地址,实现用户照片和姓名的绑定。 d) 上班/下班时间为hex变量,当工人刷卡时,单片机获取系统RTC,保存到EEPROM,并回显至液晶屏。 e) 当天产量为4位整型变量,每次完成一组边框,单片机内部变量+1,回显至液晶屏界面,保存到EEPROM。 f) 工作流程图如图5: 图5 生产界面工作流程 2.2 参数界面参数只能由工程师来设置,为了防止工人误操作,故加密码防护,进入需要输入工号和登陆密码,也可以通过刷卡进入。密码界面如下图6: 图6 参数设置的登陆界面 a) 工号栏由变量输入、数据变量显示、变量图标三部分构成,其中变量输入绑定键盘实现手动输入功能,数据变量显示与变量输入绑定到同一个地址,实现键盘输入后数据回显。但是这样存在一个问题,数据变量初始值会显示在工号栏,界面不美观,在这里我通过一个变量图标来遮盖数据变量显示部分,再通过勾选变量输入栏的数据自动上传功能,当单片机收到键盘的确认键时,取消变量图标的显示,从而实现了美观的数据回显功能。 b) 登陆密码为6位整数,通过键盘输入,输入完成点击确认,单片机进行密码校验,回显*号也是通过切换变量图标来实现。参数设置界面图7主要用来设置涂胶机参数,主要包括四根边框的位置,开关胶距离等,为了方便用户设置添加运动控制按键,用户可以使用方向控制按键运动到合适的位置,点击获取位置按键即可获取当前位置并存储到对应的变量中,单片机运动之前会获取这些配置参数。 图7 参数设置界面 a) 用户点击左右方向键,单片机会左右运动,并在当前位置变量实时显示当前位置信息,用户可以点击获取当前位置信息,将当前位置写入EEPROM和液晶屏对应的位置。上下按键实现将边框向前/向后运送一步的功能,具体位置由传感器决定。 b) 位置数据是一个8位整数,用户点击获取位置后,单片机获取当前位置,写入EEPROM和液晶屏对应的位置。 2.3 产量统计功能产量统计以天为单位,循环记录,最多可以存储2000组数据,主要通过对当天产量进行记录,在液晶屏上进行显示。主要界面如下图8: 图8 产量统计界面 a) 序号、产量都是一个4位整型变量,日期是一个hex变量,用户进入产量统计界面后单片机读取EEPROM来获取日期和当天的产量,单片机通过写入对应的变量来显示序号、产量和日期。用户通过上一页下一页下发命令到单片机更新数据域。 2.4 涂胶机异常界当用户点击急停或者涂胶机系统异常时,会触发涂胶机异常界面,此界面无返回,只有当系统恢复正常,由单片机跳转到开机界面。如下图9: 图9 涂胶系统异常界面 2.5 试用到期提醒界面系统第一次开机时会获取RTC时间,记录到EEPROM中。以后每次工人点击运行时,单片机从液晶屏读取RTC信息,与第一次开机时间做对比,如果超过60天,且开启了试用到期提醒功能,则在弹出试用到期提醒界面图10,用户可以在试用到期提醒界面输入密码,来解锁设备。 图10 试用到期界面 3 电控部分系统架构电控部分由stm32f409,欧姆龙位置传感器和24c16 EEPROM、伺服电机、RFID读卡器、DGUS屏五部分构成,采用DGUS屏做人机交互界面,开发方便迅速,系统稳定,系统如下图11: 图11 电控部分系统架构 4 软件部分系统架构软件部分采用回调机制,在中断中进行数据接收,接收完成填入环形buffer,主循环扫描事件,调用相应的回调函数。下面附上中断处理函数,能处理各种场景下收到的触摸屏下发的数据,C#编写,方便移植到单片机。
|