迪文bin文件
开发事项_计算机软件及应用_IT计算机_专业资料
目录
第1章:bin文件数据格式 .................................................................................... 4 1.1 12_PYK_ALL_DGUS.bin: ................................................................... 4 1.2 13触控配置文件.bin: .......................................................................... 4 1.3 14变量配置文件.bin: .......................................................................... 4 22.bin:.......................................................................................................... 4 第2章 液晶屏的存储空间.................................................................................. 5 2.1 DGUS寄存器区...................................................................................... 5 2.2 图片存储区............................................................................................. 7 2.3 用户RAM区 ......................................................................................... 7 2.4 FLASH区 ................................................................................................ 8 2.5 曲线缓存区............................................................................................. 8 第3章 串口通信.................................................................................................. 9 3.1 三种通信电平......................................................................................... 9 3.2 普通数据格式......................................................................................... 9 3.3 五条指令............................................................................................... 10 3.4 DGUS寄存器的访问............................................................................ 10 3.5 用户RAM区的访问 ........................................................................... 12 3.6 FLASH区的访问 .................................................................................. 12 3.7 曲线缓存区的访问............................................................................... 13 第4章 DGUS屏的基本开发............................................................................ 13 4.1 DGUS液晶屏上可操作的资源............................................................ 13 4.2 图片....................................................................................................... 13 4.3 图标....................................................................................................... 14 4.4 字库....................................................................................................... 14 4.5 DGUS液晶屏开发步骤........................................................................ 15 4.6 DWIN_SET文件夹中配置文件的类型............................................... 15
4.6.1 字库说明:................................................................................ 15
4.6.2 图片说明:................................................................................ 16
4.6.3 系统配置说明:........................................................................ 16
4.7 界面中的变量与触控........................................................................... 16 4.8 用户自定义变量地址的分配............................................................... 17 4.9 DGUS屏运行周期的概念.................................................................. 19 4.10 变量显示刷新的实质......................................................................... 19 4.11 DGUS液晶屏运行周期的利用率 ...................................................... 20
第5章 DGUS液晶屏的进阶开发.................................................................... 21 5.1 编程基础.............................................................................................. 21 5.2 OS的工作寄存器 ................................................................................. 23 5.3 OS指令集可寻址的存储器空间 ......................................................... 24 5.4 OS的程序结构 ..................................................................................... 24
第6章 各控件使用说明.................................................................................... 25 6.1 变量图标显示:............................................................................ 25 6.2 动画图标显示: .......................................................................... 25 6.3 滑动刻度指示: ............................................................................ 25 6.4 艺术字变量显示: ...................................................................... 25 6.5 图片动画显示: ........................................................................... 25 6.6 图标旋转指示:.......................................................................... 25 6.7 位变量图标显示:...................................................................... 26 6.8 数据变量显示:........................................................................... 27 6.9 文本显示: ................................................................................... 27 6.10 动态文本显示: ........................................................................ 28 6.11 表盘时钟显示: ......................................................................... 28 6.12 文本RTC显示:...................................................................... 28 6.13 时间变量显示:........................................................................ 28 6.14 实时曲线显示:......................................................................... 28
6.14.1 曲线的缩放功能...................................................................... 32 6.15 基本形显示: ............................................................................ 33 6.16 特殊行业应用:......................................................................... 38 6.17 硬件参数配置: ........................................................................ 38 6.18 转动调节:................................................................................ 40 6.19 按压数据同步返回: ................................................................ 40
第7章 描述指针指令举例................................................................................ 43
7.1 数据变量显示....................................................................................... 43
7.2 数据变量上电不显示0实现方法....................................................... 44
第1章:bin文件数据格式
1.1 12_PYK_ALL_DGUS.bin:
是一个拼音输入法,一个固定文件软件自带的不用生成。
1.2 13触控配置文件.bin:
从0X00地址开始是各个触控按钮的配置信息,结束一个触控配置信息后再接着下一个触控按钮的配置,每个触控按钮配置信息占16个字节的整数倍,多余空间补零。每个按钮配置信息按其配置功能的多少在占空间字节数,各个按钮所占空间不等。每个页面的按钮配置信息按添加顺序排列先后,先排首页所有触控按钮,排完后,再依次排到最后一页所有触控按钮排完。
(各按钮配置信息字节数详见PDF《迪文_DGUS屏开发指南》第27页开始)
1.3 14变量配置文件.bin:
从0X00地址开始是各个变量的配置信息,先排首页的变量配置信息,每个变量配置信息占16个字节的整数倍,多余空间补零。若没有很多变量信息,则留出足够大的空间后再排下一页变量配置信息,依次排到最后一页,每个页面固定分配2KB或4KB变量储存空间,每个页面最多可以设置64或128个变量。14变量配置文件.bin最大2MB,最多可以配置1024个页面。
(各变量配置信息字节数详见PDF《迪文_DGUS屏开发指南》第41页开始)
22.bin:
是用来储存变量配置的初始化数据的,即每个变量的初始值如图
按地址最靠前的一个地址*2位起始地址写初始化数据,一个地址占2个字节,不能发生地址冲突。 23.bin:为OS汇编代码编译器编译后自动生成的文件。
第2章 液晶屏的存储空间 DGUS液晶屏共有6个主要的存储空间,如表1所示:
2.1 DGUS寄存器区
此存储空间共包含256个字节,见图2中的“寄存器区”。
通过这些寄存器,用户可以实现指令方式的液晶屏背光控制、蜂鸣器控制、
界面切换、获取RTC时钟、修改RTC时钟、对FLASH空间的读写访问、DGUS
定时器控制、液晶屏复位控制等功能。表3为DGUS寄存器空间的详细说明。
2.2 图片存储区
DGUS屏具有224MB(256MB版本的K600+内核)或者2016MB(2G版本的K600+内核)的图片存储空间,不同分辨率的屏,可存储的最大图片数量不同,如下表2所示:
2.3 用户RAM区
见图2,品内部具有一个28K Word的RAM区,每个地址为一个双字节的word,高字节在前,低字节在后。地址范围0000H~6FFFH。此存储空间主要用于给用户见面上的变量分配地址,未被分配的RAM地址,用户也可当做普通的RAM存储器来使用。
2.4 FLASH区
见图2,屏内部具有一个16M Word的FLASH区,每个地址为一个双字节的word,高字节在前,低字节在后。整个存储空间被划分为128个大小相同的区块,并依次编号为0号扇区、1号扇区、......127号扇区,每个扇区的大小为128K Word。其中0号~23号扇区被系统使用,用户指令不能访问。24号~127号扇区用户可以用来存储自定义的字库或者图标库等资源。但64号~127号扇区用户也可以用作自己的FLASH区,例如可以用来保存一些需要掉电保存的历史数据等。
2.5 曲线缓存区
DGUS液晶屏内部舍友专门的类似FIFO性质的曲线数据缓存区,可同时满足8条曲线的数据缓存。用户对此空间只能写,不能读。
第3章 串口通信
3.1 三种通信电平
DGUS液晶屏根据型号的差异,会分别具有COMS、RS232、RS485三种通信电平方式中的一种或两种。这款液晶屏使用的是3.3V的TTL电平。
我们一般判断是否通信的话,就是在sscom32中发送指令看有没有返回数据。 客户选择好串口号 波特率及帧头帧尾,按照以下的格式发送指令,能返回相关的数据就是通信成功。
5A A5 03 81 0001
返回内核版本号
5A A5 表示:帧头(可改)
03 表示:数据长度(以字节为单位)
81 表示:读取DGUS屏寄存器指令
00 表示:寄存器(存储DGUS 屏内核版本号的寄存器序号)
01 表示:版本号为01个字节长度
串口返回:5A A5 04 81 00 01 71
3.2 普通数据格式
单字节数据格式:1位起始位、8位数据位、1位停止位。
帧头:用户可以定义两个字节的帧头,默认设置为0x5AA5。
数据长度:在一条指令中,从“指令字”开始的后面所有数据的字节数。如果带CRC校验,2字节校验值计入数据长度。
指令字:迪文自定义的5个指令字之一,分别为0x80、0x81、0x82、0x83、0x84。
CRC校验:此校验为可选项,生成多项式为:X16+X15+X2+1,校验和为高字节在前,低字节在后。只有“指令字”和“数据域”参加校验和预算,“帧头”和“数据长度”不参加计算。
3.3 五条指令
DGUS液晶屏共有5条通信指令。如下图所示,这五条指令被分为3组,一组(0x80、0x81)用于对DGUS寄存器区的访问,一组(0x82、0x83)用于对用户RAM区的访问,一组(0x84)用于刷新曲线。
3.4 DGUS寄存器的访问
0x80指令:用于执行对DGUS寄存器区的写操作。
0x81指令:用于执行对DGUS寄存器区的读操作。
假设帧头为0x5AA5,无CRC校验,帧格式如下。
其他寄存器写指令举例:
控制亮度: 5A A5 03 80 01 20一半的亮度范围(亮度范围00~40)
蜂鸣器: 5A A5 03 80 02 20单位10ms最大FF
复位指令: 5A A5 04 80 EE 5A A5 相当如掉电之后再上电的效果
页面切换: 5A A5 04 80 03 0001
RTC: 5A A5 0A 80 1F 5A 15 07 03 00 16 05 59(更改为2015年07月03日16:05:59星期 用的00自动换算)5A A5 03 81 20 10 返回:公历时间加农历年月日癸巳蛇5A A5 13 81 20 10 13 11 08 05 18 18 56 13 10 06 B9 EF CB C8 C9
DF
触摸屏校准:5A A5 03 80 EA 5A (后会一次出现白色小叉叉,推荐用笔尖点击,电阻屏)
关闭触摸功能:5A A5 03 80 0B 00 5A A5 03 80 0B 01(01-FF开启)
按键触发: 5AA5 03 80 4F (00~FF) 勾选后指令控制触摸按键功能(右上角键控选项是01到FF之间可以设置255个键,把按钮设置键控之后,软件界面显示颜色会变灰,这个时候就需要:发指令触发5a a5 03 80 4F 01。触控就不起作用 如果想触控和键控同时触发,需要再复制一个上去,一个设置键控,一个不设置,‘黄色’和‘灰色’的方块可以覆盖存在的,灰色的键控放在此页面
的任意位置都可以)
3.5 用户RAM区的访问
0x82指令:用于执行对RAM寄存器区的写操作。
0x83指令:用于执行对RAM寄存器区的读操作。
假设帧头为0x5AA5,无CRC校验,帧格式如下。
3.6 FLASH区的访问
如图4所示,再DGUS的5条指令中,没哟专门访问FLASH存储区的指令,那么实现对FLASH区的读写操作如下:
在DGUS的寄存器区中,0x40~0x49寄存器地址控制着用户RAM区和FLASH区之间的数据交换,用户通过串口访问FLASH区,也就是通过这几个DGUS寄存器的控制来实现的。
读FLASH操作顺序:首先使用0x80指令将制定FLASH区块内的数据复制到RAM区,然后使用0x83指令讲RAM区中的数据读出来。
写 FLASH操作顺序:首先使用0x82指令将数据预写到RAM区,然后使用0x80指令讲RAM区块内的数据写入FLASH中。
在指令的读写操作未完成之前,可以使用0x81指令循环查询40H寄存器,直至其归零为止。
3.7 曲线缓存区的访问
如图4所示,0x84指令专门用于曲线数据的更新,指令格式如下。
假设帧头为0x5AA5,无CRC校验。
第4章 DGUS屏的基本开发
4.1 DGUS液晶屏上可操作的资源
在DGUS液晶屏上,可操作的资源主要有3种,分别为图片、图标、字库。
4.2 图片
图片文件必须为bmp格式,24位色,其他格式的图片迪文不予识别。
图片的分辨率必须与对应的迪文屏的分辨率相同。例如屏的型号为DMT80480T070_18WT,那么与之相匹配的图片分辨率就为8020*480,如果装入分辨率不匹配的图片,则会导致花屏。
迪文屏是按照图片文件名中的前缀名进行存储的,其实编号为0,依次递增。例如0logo.bmp、1主界面.bmp、.......、100数字键盘.bmp。迪文屏上电后默认显示第0幅图片。
4.3 图标
迪文DGUS液晶屏所指的图标分辨率小于255*255的图片文件,命名方式与图片相同,即前缀名为存储序号。
直接图标文件迪文DGUS屏是不能装载和识别的,需要是先把所有图标设计好并放在一个自定义的文件夹中,然后使用“DWIN_ICO生成工具”生成一个.ico的图标库文件,这个图标库文件名的前缀也必须是数字开头,数字即其在FLASH存储器空间的存储编号。例如名称为24.ico图标库文件,其存储位置为FLASH存储器空间的第24号扇区,需要注意的是,根据图标库文件的大小,其实际占用的扇区数量有可能大于1个,这个在给图标库分配存储扇区是需要注意,一面多个存储文件之间发生交叠。
使用迪文的图标生成工具制作好图标库文件后,将其移至HMI工程目录中的DEWIN_SET文件夹中,然后在DGUS配置软件中才能预览到此库文件。
4.4 字库
迪文DGUS液晶屏只支持点阵字库,不支持矢量字库。
字库的属性包括:字符大小、字体、字库编码方式、存储编号。
迪文屏出厂预装了4*8~64*128分辨率的ASCII码字库,文件名为0_DWIN_ASC.HZK(大小可以随意调用 最大是64*128),即其存储在FLASH存储区的第0号扇区。
其他字库需要客户自己生成并存储在FLASH存储区的24号以后的扇区。(将字库文件放在DWIN_SET文件夹中即可在软件中预览并调用)
4.5 DGUS液晶屏开发步骤
A:设计制作图片、图标、字库等迪文屏所须的素材。
B:运行迪文HMI配置工具软件,新建HMI工程,设置好分辨率和工程路径,添加图片,在界面上添加所需的“变量”和“触控”并设置好其属性,编译工程。 C:配置串口波特率、帧头等系统参数。
D:将工程目录中生成的DWIN_SET文件夹,拷贝到一张文件系统为FAT32的SD卡的根目录下,给迪文屏上电,插卡后迪文屏会自动读取DWIN_SET文件夹中所有的配置文件并保存到FLASH中。待所有文件下载完成后,将SD卡拔出,之后迪文屏就按照下载的配置文件运行。
4.6 DWIN_SET文件夹中配置文件的类型
图片文件:*.bmp
触控配置文件:13*.bin
变量配置文件:14*.bin
字库文件:*.HZK / *.DZK
图标库文件:*.ICO
其他二进制文件:*.bin
系统配置文件:CONFIG.txt
除了CONFIG.txt文件外,其他文件都有一个前缀序号,此序号即文件在FLASH存储空间中所处扇区的编号。
4.6.1 字库说明:
存储在FLASH区里面。
DGUS屏一共有32MB字库空间,分割128个成固定容量大小256kB说明: 0号字库(大小可以随意调用 最大是64*128 ),它的大小占用了12个空间 12是GBK录入输入法文件
13是触控配置文件
14是显示配置文件
15-21是系统预留
22是初始值加载文件
23是os二次开发软件写ASM文件编译生成后下载到屏里面的文件
24开始是用户自定义从:如图标库大小大于256KB,假设为257KB,那么将占用两个字库空间,假设字库命名“40-指示灯.ICO” 大小为257KB,那么占用了40,41 两个字库空间,下一个图标库不能写为41.ICO,必须由42序号命名开始。
4.6.2 图片说明:
存储在图片存储区。
图片文件必须是和DGUS屏分辨率相同的24位色BMP格式文件。命名从0号界面开始(图片命名序号和字库命名序号不冲突),后面可加入注释比如:00_密码进入界面.bmp ,01_密码按钮效果.bmp等等。
4.6.3 系统配置说明:
config.txt 下面是一个
配置,DGUS软件系统配置点击自动生成或手动修改。
R1=07 ;波特率,07=115200
R2=2C ;2CH=00101100B 参考开发指南R2寄存器定义
.2 .3 .5位配置
R3=5A;帧头高字节
R6=40;触摸屏控制背光启用后,点击触摸屏后背光亮度(00-40)
R7=10;触摸屏控制背光启用后,一段时间不点击,背光关闭的亮度
R8=1E;30秒不点击触摸屏,触摸屏背光降低到上面R7=10
RA=A5;帧头低字节
RUN_DWIN_OS;启用os (STOP_DWIN_OS;关闭os)
TP_CORRECT ;插卡配置时开启触摸屏校准一次
RC=00;参考RC寄存器8个位的配置
4.7 界面中的变量与触控
变量:即界面上可以改变显示状态的量,用户可以通过指令或者其他的方式来控制其显示状态。变量又分为很多种,例如图标变量、数据变量、时间变量、文本变量等,各种变量都有一个公共的属性,即变量地址(变量空间)。变量地
址即用户在设置变量的属性时,在用户RAM区中为其分配的变量空间。用户可以通过指令来控制变量,也就是通过指令来修改为其分配的RAM空间中的数值来实现的。有了这个属性,变量也可以理解为是一种容器,对于用户的控制程序来说,读写的只是容器中的数值,但这种数值在LCD的界面上却可以各种形式变现出来,比如以数据的形式、图标的形式、指针的形式、表格的形式、动画的形式、曲线的形式等。
触控:迪文DGUS液晶屏只支持单点触控。触控的不同种类,即代表了点击后液晶屏会有不同的行为。比如“基本触控”,点击后除了可以有按压效果和切换界面的功能外,没有其他任何的动作;而“按键值返回”除了具备“基本触控”的功能外,还可以同时改变某一变量的数值。
4.8 用户自定义变量地址的分配
如图n所示,界面设计好以后,用户即可在每个界面上添加自己的变量,同时为每一个变量指定一个RAM首地址,不同的变量所占用的地址空间可能也不相同。但对于“整型变量”来说,为其设置的首地址也就是其RAM空间。
由“3串口通信”章节可知,DGUS串口的通信指令都是连续地址的访问,如果界面上各个变量的地址范围差距比较大,就会给读写操作带来麻烦,因为必须通过几条指令才能完成对若干变量的读写。因此建议如图n所示方式的变量地
址分配原则。
在针对一个完整的HMI工程时,建议如图n的变量空间分配原则。给每一
个界面分配一个稍微大一点的RAM区域,以便后续工程的升级或者改动。
4.9 DGUS屏运行周期的概念
DGUS液晶屏支持四种可选的运行周期,分别为200ms、180ms、120ms、80ms。
如图n所示,DGUS驱动程序内有一个定时器,此定时器按照用户配置的“运行周期”产生中断,每产生一次中断,DGUS程序就将当前用户界面上的变量刷新一次。
4.10 变量显示刷新的实质
如图n所示,DGUS程序按照用户指定的运行周期,不断的将用户RAM区中相关地址中的数据刷新到当前显示的界面上,同时,如果有客户通过触摸屏录入了数据,那么这个数据就会被写入相关的RAM地址中。也就是说,DGUS程序会周期性的完成显示界面与用户RAM区之间的数据交互。
由以上阐述的DGUS周期的实质,我们自然会得到一个结论:用户通过串口读写用户RAM区是随机的,基本没有时间上的限制,但是变量由RAM区更新到界面上去显示却是周期性的。在这个前提下,假如目前的DGUS周期是200ms,在这200ms的时间内,用户如果发送了两条以上的更新同一变量的指令,那实质上真正起作用的是最后一条指令。由此得出,用户在编写自己的变量刷新程序时,发送刷新变量指令的周期应不小于DGUS运行周期,因为发多了没有什么意义(曲线刷新除外)。
4.11 DGUS液晶屏运行周期的利用率
刷新一个页面上所有的变量所消耗的CPU时间,与用户定义的变量的多少和类型有关,但绝大多数情况下,执行刷新变量显示实际使用的时间都小于DGUS的周期时间,如下图所示。
第5章 DGUS液晶屏的进阶开发
DGUS液晶屏除了可以完成前面所述的基本功能外,用户也可以像使用单片机一样对其进行编程操作。
5.1 编程基础
如前所述,如果DGUS液晶屏只是进行基本的开发使用,那其一方面只能作为一个从机来使用,而且串口上也只能传输迪文的通信指令,另一方面,液晶屏只是能起到一个显示和键盘的作用,无法进行更复杂一些的功能操作。
为了解决上述问
,也为了能够更有效的利用DGUS液晶屏运行周期中剩余的时间片(如4.11所述),迪文公司设计了一套指令集,叫做OS指令集,形式上类似于汇编语言,执行结构上类似于可编程控制器PLC。下图为DGUS程序与OS程序之间的关系示意图。DGUS屏在执行完变量的刷新显示后,利用剩余的OS周期时间,再去执行一次用户的OS程序,也就是说,DGUS程序与OS程序在时间顺序上是串联的关系。
如图n所示,增加OS程序后,DGUS液晶屏的运行周期被有效的利用起来。
5.2 OS的工作寄存器
OS具有256个工作寄存器,分别命名为R0~R255,其中R0~R9在程序中有
特殊的用途,其余寄存器用户可以随便使用。
5.3 OS指令集可寻址的存储器空间
如图n所示,OS指令集可以寻址DGUS寄存器空间、用户RAM区、FLASH空间以及曲线缓存区。
5.4 OS的程序结构
编写OS程序与编写单片机程序类似,但是OS程序的执行结构与单片机程序截然不同,这一点需要客户必须理解,否则OS程序不会被正确执行。
对于任何一次新的DGUS周期,OS程序总是首先从用户编写的第一行程序开始执行,直至遇到”END”指令才从OS程序中退出,再次回到新DGUS周期入口,这一点与PLC(可编程控制器)类似。
需要注意的是,在编写OS程序时,只能将OS的程序结构写成由上到下的顺序执行的结构,OS的整体结构中也不能有“死循环(类似C语言中的while)”或者长时间的延时程序段,否则液晶屏会表现出“反应迟钝”或者不停的蓝屏(复位)。
为了让OS程序能够实现较复杂的控制逻辑,OS指令集提供的“比较跳转”和“#函数#调用”等指令,利用它们可以实现绝大部分的控制流程。
第6章 各控件使用说明
6.1 变量图标显示:
多数用于开关图标转换控制,与“键值返回”控件配合使用,对应变量地址相同,该返回的键值对应变量图标的上下限值即可。
6.2 动画图标显示:
多数与“弹出菜单选择”配合使用,对应变量地址相同,菜单弹出窗口键值:关闭窗口:0x00ff;开始:0x0001;停止:0x0000
6.3 滑动刻度指示:
必须与“拖动调节”配合使用才能看到效果,变量地址相同,起始和终止的返回值,对应和滑动刻度指示的起始和终止变量的刻度值一一对应即可。还可以加一个文本显示来看对应的值变化。
6.4 艺术字变量显示:
位数为其能显示的最大位数,可与"增量调节"一起使用,选择“按字写入变量”,变量地址对应。
6.5 图片动画显示:
在动画的起始图标处放置一个控件,若要实现循环播放需在动画的最后一页在设置一个同样的控件(可复制)。
6.6 图标旋转指示:
控件方框左上角坐标对准旋转中心,对应所选图标的旋转中心,起始变量值为其起始角度对应的变量值
,中间平分,起始角度对应的值为实际起始角度对应值的两倍填写,角度指示图如下:
6.7 位变量图标显示:
与“增量调节”一起使用,增量调节位控制的写入位对应“位变量图标”位
控制对应,调节方式只能是++,循环调节,步长为1,上限1下限0。显示模式说明:移动模式说明:
6.8 数据变量显示:
只能显示ASCII码,可与“变量数据录入”一起使用,键盘键值不能用完全键值定义。
6.9 文本显示:
可与“文本录入”“GBK录入”一起使用,文本长度决定显示长度,水平间隔和垂直间隔是字与字之间以像素为单位的间隔。
6.10 动态文本显示:
可单独使用,也可以与“文本录入”“GBK录入”一起使用。在DGUS软件上所画区域应短于显示文字长度。滚屏间距越大滚动速度越快。
6.11 表盘时钟显示:
可单独使用,每个图标必须为竖直的图标,时间显示与RTC文本显示的时间相对应。
6.12 文本RTC显示:
可单独使用,也可以和 “RTC设置”配套使用,来设置时间。“RTC设置”的第一个位置是设置时间时,时间框的右下角坐标。时间显示不可以改成中文。若设置时间不合法,不可改变时间。
6.13 时间变量显示:
单独使用,不与其他控件配合使用。该显示由串口下载0-F的数据进液晶屏,输入"A"~"F"时屏上就显示相同的数据,这需要液晶屏内核版本较高,若间隔号多于数据则多余的间隔号不显示,若数据多于间隔号,则从最左边留一个字节开始依次到最后一个间隔号,后面的数据之间没有间隔号。串口发送数据格式为:5A A5 06 82 00 96 00 32 AA
5A A5 帧头
06 数据长度
82 写RAM区指令
00 96 变量地址
00 32 AA 写入显示的16进制数据
6.14 实时曲线显示:
Y- Central:Y坐标中心(DGUS软件的Y坐标值);VD-Central:要采集的数据的最大值与最小值的和的50%,比如(0,1000),VD-central为(1000+0)*50%=500。
显示曲线就向变量地址发送数据即可。配置颜色等属性向属性变量地址发送个属性值。
纵轴放大倍数:
(Xs,Ys) (Xe,Ye) 为曲线控件的左上角,右下角坐标。Vmax和Vmin 为采集数据的最大值与最小值。
按二进制,8个位区分每个通道,通道使用置1,不使用置0。
比如0x01 为0通道,8个位分别是0000 0001,转换成十六进制为0x01.
0x11 为4通道和0通道同时使用,8个位分别是 0001 0001,转换成十六进制为0x11
0x13 为4通道,1通道,0通道同时使用,8个位分别是0001 0011,转换成十六进制为0x13
以此类推。
曲线在X坐标方向步进的像素点间隔,单位是像素点,设置成5表示X方
向每隔5个像素点置一个Y方向的点,所以我们只需要往曲线通道里面置一个Y坐标点即可。
例:
采集数据范围500到700,所以VD-central 为(500+700)*50%=600
纵轴放大倍数为:(320*256)/(700-500)=409.6,向下取舍为409
这个
中的320为Ye值减去Ys值,实际为曲线控件的高度,可以直接在组态软件右上角得到,H值就是。
设置好后,发送指令:
发送500的数据,曲线会显示在控件的最下方。
指令 5A A5 04 84 01 01F4
5A A5 帧头
04 数据长度
84 写曲线指令
01 曲线0通道
01F4 数据500的十六进制
发送700的数据,曲线会显示在控件的最上方。
曲线是不能自己显示X,Y坐标的,如果有这种显示坐标的需求,可以将坐标做在界面图上。
上图中的黑色方格就是做在界面图片上的。
6.14.1 曲线的缩放功能
设置描述指针是 1000(调节曲线 X,Y 轴的放大时会用到)
Y_Central :曲线显示控件的 Y 坐标的中心点 即 210
VD_Central : (纵坐标最大值+纵轴最小值)/2 , Y 轴范围是 0-5V ,设置了一位整数,两位小数,DGUS 屏发送指令都是十六进制的整型数,数据需要放大 100倍显示,即纵坐标最大值为 500,最小值纵坐标为 0,即 VD_Central =(500+0)/2=250纵轴放大倍数:(Ye-Ys)*256/(Vmax-Vmin)=356*256/500=182.272, 小数省去即 182通道设置为 0,横轴间隔设置为 10(发送数据点的间隔,用户可自定义)
4、设置曲线的描述指针为 1000,描述指针+08 的指向的地址是修改曲线显示 Y 轴的放大与缩小,即 Y 轴设置的增量调节的变量地址为 1008。
描述指针+09 的低字节指向的地址是修改曲线显示 X 轴的放大与缩小,即 X 轴设置的增量调节的变量地址为 1009的低字节。
6.15 基本形显示:
这四项分别代表虚线的组成部分:1个像
素的实线再10个像素的隐形再20个像素的实线再30个像素的隐形线组成的虚
线。
串口发送如下命令测试;
250)位置画一个半径为32,颜色为红色的圆; 实现功能:在屏(310,
发送命令:5AA5 0F 82 0020 0005 0001 0136 00FA 0020 F800
指令说明:
5AA5 :指令帧头;
0F :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0005 :表示画圆指令;
0001 :表示画一个圆;
0136 :表示中心X坐标;
00FA :表示中心Y坐标;
0020 :表示圆半径为32;
F800 :表示圆颜色为红色;
画矩形
5AA5 11 82 0090 0003 0001 00A1 0136 00FA 0168 F800
11: 16进制的数据长度(10进制的17)
0090:地址
0003:画矩形指令
0001:画矩形的个数为1
00A1 0136:左上角坐标
00FA 0168:右下角坐标
F800:颜色值(红色)。
实现功能:矩形区域填充
发送命令:5AA5 11 82 0093 0004 0001 0004 0001 0136 00FA F800
实现功能:在屏(310,250)位置画两个同心圆,一个半径为32,颜色为红
色,另一个半径为64,颜色为黑色;
发送命令:5AA5 17 82 0020 0005 0002 0136 00FA 0020 F800 0136 00FA 0040
0000
指令说明:
5AA5 :指令帧头;
17 :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0005 :表示画圆指令;
0002 :表示画两个圆;
0136 :表示第一个圆的中心X坐标;
00FA :表示第一个圆的中心Y坐标;
0020 :表示圆半径为32;
F800 :表示第一个圆颜色为红色;
0136 :表示第二个圆的中心X坐标;
00FA :表示第二个圆的中心Y坐标;
0040 :表示圆半径为64;
0000 :表示第二个圆颜色为黑色;
实现功能:剪切图片ID为1的一个区域(左上角坐标:0,0;右下角坐标:
100,100)显示到当前页的(48,48)位置显示;
发送命令:5AA5 15 82 0020 0006 0001 0001 0000 0000 0064 0064 0030 0030
指令说明:
5AA5 :指令帧头;
15 :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0006 :代表剪切图片功能;
0001 :代表只剪切一次;
0001 :表示剪切图片的ID,存储位置;
0000 :表示剪切图片的左上角X坐标;
0000 :表示剪切图片的左上角Y坐标;
0064 :表示剪切图片的右下角X坐标;
0064 :表示剪切图片的右下角Y坐标;
0030 :表示显示到当前页的左上角X坐标; 0030 :表示显示到当前页的左上角Y坐标; 实现功能:剪切图片ID为1和2的一个区域(左上角坐标:0,0;右下角坐
标:100,100)分别显示到当前页的(48,48)、(150,150)位置显示;
23 82 0020 0006 0002 0001 0000 0000 0064 0064 0030 0030 发送命令:5AA5
0002 0000 0000 0064 0064 0096 0096
指令说明:
5AA5 :指令帧头;
23 :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0006 :代表剪切图片功能;
0002 :代表只剪切两次;
0001 :表示剪切图片的ID,也即是存储到屏的图片编号; 0000 :表示剪切图片ID为1的左上角X坐标; 0000 :表示剪切图片ID为1的左上角Y坐标; 0064 :表示剪切图片ID为1的右下角X坐标; 0064 :表示剪切图片ID为1的右下角Y坐标; 0030 :表示显示到当前页的左上角X坐标; 0030 :表示显示到当前页的左上角Y坐标; 0002 :表示剪切图片的ID,也即是存储到屏的图片编号;
0000 :表示剪切图片ID为2的左上角X坐标; 0000 :表示剪切图片ID为2的左上角Y坐标; 0064 :表示剪切图片ID为2的右下角X坐标; 0064 :表示剪切图片ID为2的右下角Y坐标; 0096 :表示显示到当前页的左上角X坐标; 0096 :表示显示到当前页的左上角Y坐标; 实现功能:在首页上画一条线,连接(0,0)和(100,100)两点;
发送命令:5AA5 11 82 0020 0002 0001 F800 0000 0000 0064 0064
指令说明:
5AA5 :指令帧头;
11 :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0002 :代表连线功能;
0001 :代表画一条线;
F800 :表示连线的颜色为红色;
0000 :表示第一个点的左上角X坐标; 0000 :表示第一个点的左上角Y坐标; 0064 :表示第二个点的右下角X坐标; 0064 :表示第二个点的右下角Y坐标; 实现功能:在首页上画两条线,连接(0,0)、(100,100)、(200,100)三点;
发送命令:5AA5 15 82 0020 0002 0001 F800 0000 0000 0064 0064
指令说明:
5AA5 :指令帧头;
15 :长度,包括后面数据的长度;
82 :写变量指令;
0020 :变量指针;
0002 :代表连线功能;
0001 :代表画一条线;
F800 :表示连线的颜色为红色;
0000 :表示第一个点的左上角X坐标;
0000 :表示第一个点的左上角Y坐标; 0064 :表示第二个点的右下角X坐标; 0064 :表示第二个点的右下角Y坐标; 00C8 :表示第二个点的右下角X坐标; 0064 :表示第二个点的右下角Y坐标; 实现功能:在首页上画一点,(100,100)的一点; 发送命令:5AA5 0D 82 0020 0001 0001 0064 0064 0000
指令说明:
5AA5 :指令帧头;
0D :长度,包括后面数据的长度; 82 :写变量指令;
0020 :变量指针;
0001 :代表置点功能;
0001 :代表画一个点;
0064 :表示第一个置点的X坐标; 0064 :表示第一个置点的Y坐标; 0000 :表示第一个点的颜色为黑色 实现功能:在首页上画两点,(100,100)、(200,200)的两点;
发送命令:5AA5 13 82 0020 0001 0002 0064 0064 0000 00C8 00C8 F800
指令说明:
5AA5 :指令帧头;
13 :长度,包括后面数据的长度; 82 :写变量指令;
0020 :变量指针;
0001 :代表置点功能;
0002 :代表画两个点;
0064 :表示第一个置点的X坐标; 0064 :表示第一个置点的Y坐标; 0000 :表示第一个点的颜色为黑色 00C8 :表示第二个置点的X坐标; 00C8 :表示第二个置点的Y坐标;
F800 :表示第二个点的颜色为红色
假设定义的基本图形地址为0001,帧头为5A A5,现需要反色显示区域
(000EH,013BH)(01D9H,01AFH),使用命令000D 指令格式:5A A5 11 82 0001 000D 0001 000E 013B 01D9 01AF FFFF
5A A5:帧头
11:数据长度为17,用16进制表示为11。
82:表示写数据存储器
0001:表示一个反色区域
000E 013B:表示反色区域左上角坐标
01D9 01AF:表示反色区域右下角坐标
FFFF:表示反色选定的区域
6.16 特殊行业应用:
该功能没有用。
6.17 硬件参数配置:
用于实现触控修改背光亮度调节。屏幕亮度范围是0x00-0x40。 需要定义两个硬件参数配置:
进入页面设置一个硬件参数配置,如下图。
进入设置界面以后,设置如下。
根据开发指令硬件参数配置的说明。
控制背光的寄存器地址是0x01.设置增量调节的变量地址为6F01。
至此这个工程设置完毕。
6.18 转动调节:
可与“图标旋转指示”和“数据变量显示”一起使用,外内径的差值区域为
可以触摸改变变量值的区域。
起始角度和终止角度的限定条件如下所示:
6.19 按压数据同步返回: 该功能有三种状态:
1,触摸屏第一次按压下去时
2,触摸屏第一次按压后,持续按压下时 3,触摸屏松开时
每种状态有三种模式:
0x00模式时,不做任何操作
0x01模式:把VP1S变量地址的LEN1字节长度的数据复制到VP1T变量地址里面
0x02模式:把VP1S变量地址里面的LEN1字节长度数据上传到串口
0x03模式:把VP1S里面的LEN1字节长度数据复制到VP1T指向的DGUS寄存器地址
0x00模式时,不做任何操作
0x01模式:把VP2S变量地址的LEN2字节长度的数据复制到VP2T变量地址里面
0x02模式:把VP2S变量地址里面的LEN2字节长度数据上传到串口
0x03模式:把VP2S里面的LEN2字节长度数据复制到VP2T指向的DGUS寄存器地址
0x00模式时,不做任何操作
0x01模式:把VP3S变量地址的LEN3字节长度的数据复制到VP3T变量地址里面
0x02模式:把VP3S变量地址里面的LEN3字节长度数据上传到串口
0x03模式:把VP3S里面的LEN3字节长度数据复制到VP3T指向的DGUS寄存器地址
例:
第一次按压为0x01模式,表示把0x0050地址里面的10字节数据复制到0x0000地址里面。
持续按压时为0x02模式,表示把0x0060地址里面的10个字节数据上传到串口
松开按压时为0x03模式,表示把0x0070地址里面的2个字节数据写到DGUS寄存器0x02寄存器里面。(写2个字节,相当于同时写了0x02与0x03寄存器)
此功能返回的数据,与其它功能返回的数据不同,不带帧头等。
比如某“按键返回”功能返回的数据为:
5A A5 06 83 0000 01 0001
5A A5 帧头
06 数据长度
83 指令
0000变量地址
01返回一个字长数据
0001 返回的数据
而使用同步数据返回功能,返回到串口的数据没有5A A5 06 83 0000 01, 只有一个0001返回到串口,如果需要有帧头,可以自己将帧头等数据写到变量地址里面。
当处于“持续按压”状态时,功能是在持续动作的,比如选择0x02模式,数据会不间断的上传到串口,直到“持续按压”状态结束,松开为止
如上例子中几个变量地址里面的数据,可以通过22文件默认写入(见22文件初始化文档介绍),可掉电保存,也可以通过下位机发指令给变量地址赋值,掉电不保存。
第7章 描述指针指令举例
7.1 数据变量显示
如何修改数据变量显示的颜色。
解决办法:公式:描述指针+地址=属性地址,如图。
例改变显示位置5A A5 07 82 5001 0000 0000 数据框会出现位置在(0,0)
例:数据变量显示的描述指针设置5000,控制颜色的变量地址就,5003.
控制坐标的地址就是5001.
使用82 指令:5A A5 05 82 5003 F800。修改成红色。
7.2 数据变量上电不显示0实现方法
方法1:
需要使用描述指针。假如数据变量的描述指针是5000,变量地址是0001.
发送指令:5A A5 05 82 50 00 FF 00 就可以隐藏数据变量显示。
发送指令:5A A5 05 82 50 00 00 01. 5A A5 05 82 00 01 00 099,显示数据变量9。这里应用可以这样应用,设置开关做键值上去,对应描述指针的变量地址和FF00或变量地址的键值。
方法2:
例如800*480的屏,数据变量的描述指针是5000,5A A5 07 82 5001 0320
01E0,发送这个指令将其显示的位置移动到(800,480)的像素点去了。要显示回来那只能找到原来的坐标点发指令在移回来了。
上表中0x04 0x000D就是说多个描述指针的间隔长度,所以显示框的变量,描述指针间隔10H个地址间距可以通用,可以这样统一设置方便计算,建议描述指针可以设置4000到6F00之间,变量地址4000H之前,这样就不会产生冲突
6F00到6FFF之间的变量地址是硬件参数部分用的 不推荐使用这个部分。6FFF之外的变量地址不要使用,会出现不可预计的错误。
*********注意 mini屏变量地址0000到07FF,描述指针不能超过*******
隐藏文本显示的原理和数据变量一样。
文本举例
改变字体颜色5a a5 05 82 1003 0030
改变字体大小数据变量5a a5 05 82 1004 00 30 发1004,只需要改x方向点阵数 0030 就是改成0号字库48的点
文本录入5a a5 05 82 100A 3060文本ascII录入的xy点阵数都要改,GBK录入不可改变大小。
图标变量显示
图标描述指针显示背景色指令举例:假设描述指针为5000,图标库位置为
24,5a a5 05 82 5007 1801 显示背景
5a a5 05 82 5007 1800 不显示背景