玛纳斯| 桦川| 云安| 濠江| 交城| 太湖| 周村| 宝丰| 南沙岛| 恒山| 色达| 弥渡| 衡阳县| 绍兴县| 东至| 寿光| 阜新市| 沛县| 杭锦后旗| 大同县| 榆中| 茄子河| 侯马| 栖霞| 穆棱| 宁海| 惠安| 衡阳市| 卢氏| 巴塘| 乾安| 阳高| 平远| 桐柏| 嘉兴| 青州| 武山| 大方| 灵台| 康保| 金川| 和龙| 樟树| 罗定| 玉屏| 宽城| 五寨| 宜君| 浏阳| 嘉善| 汉寿| 汉南| 达坂城| 徽州| 巴南| 金塔| 晋城| 高港| 江孜| 石林| 永寿| 承德县| 辽中| 江油| 阿鲁科尔沁旗| 黑山| 北票| 秀山| 齐河| 永福| 定远| 简阳| 浪卡子| 汝阳| 普洱| 江门| 贵阳| 乡宁| 临淄| 富宁| 正安| 贺州| 晋中| 南宫| 铜梁| 山东| 淄博| 德庆| 织金| 普定| 汉南| 武汉| 德庆| 清河门| 抚松| 正宁| 胶南| 兰溪| 灵丘| 奉贤| 巴彦| 汉沽| 福州| 宝山| 宜章| 苏尼特左旗| 裕民| 宁乡| 弋阳| 东山| 栖霞| 宁南| 雅江| 芜湖县| 竹山| 平山| 凌源| 霍州| 宜春| 肃北| 岱岳| 眉山| 郁南| 额尔古纳| 宁强| 武夷山| 贵港| 长治县| 岱岳| 万宁| 滴道| 阳新| 将乐| 巍山| 集美| 绩溪| 宁陵| 天峻| 托克逊| 嘉义市| 甘肃| 扎鲁特旗| 大连| 荥阳| 白沙| 岚皋| 永靖| 临澧| 渭源| 大庆| 长白山| 清河门| 乌苏| 竹山| 新密| 邗江| 浙江| 南召| 波密| 贾汪| 弥勒| 乌当| 长顺| 赤水| 新会| 运城| 内丘| 大渡口| 寻乌| 金州| 察隅| 宿豫| 衡山| 句容| 阿克苏| 青铜峡| 长顺| 余庆| 资兴| 陵水| 佳木斯| 莒县| 北安| 儋州| 平山| 郁南| 蕲春| 额尔古纳| 叶城| 枣强| 东莞| 六盘水| 雄县| 镇宁| 玉屏| 定陶| 霸州| 镇平| 瓦房店| 仁怀| 甘泉| 日土| 定州| 浏阳| 五峰| 崇礼| 荆门| 桂平| 岗巴| 大埔| 湘乡| 利辛| 昌都| 呼和浩特| 隆回| 新邵| 太仆寺旗| 淳安| 扶绥| 滁州| 紫阳| 乌拉特中旗| 马尾| 宝山| 平江| 澄迈| 陆河| 上思| 武乡| 陈仓| 宝坻| 安福| 萨迦| 临猗| 武陵源| 翁牛特旗| 五营| 苍山| 礼县| 平潭| 驻马店| 万州| 和县| 蕲春| 泗县| 绍兴市| 宜川| 珠穆朗玛峰| 明光| 江门| 韩城| 威县| 石龙| 东兰| 共和| 克什克腾旗| 峨眉山| 奈曼旗| 宜黄| 睢宁| 陆丰| 比如| 佛冈| 连云区| 澳门英皇赌场
发 帖  

[经验] 如何对DWIN的86盒或线控器进行二次开发?

4 小时前  133
分享
0
一、产品二次开发指南
1. 86盒开发场景总述
1.1. 通讯接口
86盒有对外的一个485接口,所以针对该接口有以下三种使用情况:
1、支持迪文命令接口82H\83H,通过这两个命令接口实现对内部变量的读和写
2、支持Modbus_slave模式,86盒工作在modbus slave模式,通过该模式,外部实现对内部变量的读和写(modbus命令只支持 03H,10H读写)
3、支持modbus_Master模式,该模式需要编写迪文OS,利用迪文屏上的CPU,实现对外部的控制。
开发包目录下有三个文件夹,App_82H83HAPP_Modbus_slaveAPP_OS。里面有对应的应用工程。
如何切换86盒的三个工作模式?
Lib文件夹下的 00.lib01.libT5OS_VXX.bin三个文件,以及上面说的所需要的对应工作模式下的DWINOS_main.bin文件,拷贝到SD卡的 DWIN_SET目录下,然后插卡进行升级。升级一般是先上电,再插升级的SD卡,会出现蓝色屏幕提示升级过程。以后再切换模式,只需升级对应的DWINOS_main.bin文件即可。
1.2. 功能实现
新的迪文DGUSII开发平台,所有的功能都是通过变量接口进行的。0000-0FFF变量接口为系统功能接口,请查阅相关的开发指南。8000H-FFFF作为库和图片等的缓冲区。
接下来的介绍,会从86盒的硬件和库方面进行介绍,通过接口对内部的变量进行有序的操作之后,可以实现对应的功能。


2. Demo展示
51传感器连接之后,就可以显示传感器的值,继电器三档可控,同时PWM2会输出不同的电压值,以便用户接EC风机或直流风机的PWM控制端实现风速可控,支持氦氪云远程控制
DEMO_035_002A_01
DEMO_043_014A_01
3. 硬件介绍
86盒里面有2PCB,分别为显示板和外设控制板。两个板之间通过FCC10_1.0线连接,线缆的定义为:5V PPWM2 PPWM1 PIO3 PRXD PTXD PIO2 PIO1 PIO0 GND
86盒有内置WIFI模块,用的是氦氪云的WIFI模块,可以参考其官网上的资料进行开发。WIFI模块占用T5芯片的UART4
T5芯片还引出一个串口到背板,转化为485电路后,通过接线柱引出,占用的是UART5
显示板上通过T5的编程,可以驱动线缆上信号的变化,进而控制外设控制板上的继电器和PWM以及485总线。

(以下接线柱定义,顺序有所不同,请以拿到的实物为准)
86盒(5继电器)接线柱定义
1
2
3
4
5
6
7
8
9
10
11
L
N
K1
K2
K3
K4
K5
5V(OUT)
GND
485-(B)
485+(A)


86盒(3继电器+2PWM)接线柱定义

1
2
3
4
5
6
7
8
9
10
11
L
N
K1
K2
K3
PWM1
PWM2
5V(OUT)
GND
485-(B)
485+(A)

86盒(单485总线)接线柱定义

1
2
3
4
5
VCC
GND
485-
485+
5V(OUT)

4. 软件介绍
由于是基于T5UID1平台的产品,所以参考T5UID1开发指南和基于T5的DWIN_OS开发指南是必不可少的。
请联系迪文工程师拿到《T5UID1开发指南》以及《基于T5的DWIN_OS开发指南》两个文件。

为了完成86盒的开发工作,实现完整的控制和UI输入与输出,需要经过以下步骤:
1、地址规划分配
2、DGUS的UI人机交互界面设计----用迪文提供的 DGUSv6.03及更高版本
3、编写OS,实现应用层逻辑。



一、地址规划
查阅T5UID1的开发指南,T5UID1平台有128Kbytes数据变量空间,而OS系统中每个地址是Word类型,所以总共地址空间是0-0xFFFF。而其中0x0100-0x0FFF 变量存储器空间被系统保留使用,0x1000-0xFFFF 变量存储空间用户可以自由使用。
另外,产品中会提供一些基本的库,所以规划了 0xA000-0xFFF空间被库提前占用,所以实际编程中应用程序可用的空间为0x1000-0x9FFF。

由于在DGUS设计中,UI中的很多控件会绑定一个数据变量,而且为了便于DCS系统设计,最好需要把输入数据和输出数据以及中间数据进行规划。
比如新风应用中,把传感器等的数据都连续存放,把继电器,风机速度输出等变量连续存放,通过modbus总线就可以通过块读(0x03)和块写(0x10)两个指令完成数据交换。

二、UI人机交互界面设计
    请联系迪文的客服部门索要DGUS软件的视频教程,开发出满足需求的交互UI。这里省略。

三、编写OS
    T5的OS性能强大,运算速度很快。OS是用一套特殊的汇编语言指令集实现的,指令集请参考《基于T5的DWIN_OS开发指南》。
    编译器请使用迪文的  T5_OS_BUILDER 2.0.6.0 及以后版本。

    为了便于86盒的应用开发,提供了简单的库,可以实现最基本的一些功能。
    当然这些库,也是用OS编写的,只是进行了LIB封装。你也可以不用库,自己用OS写代码,实现应有的功能。

5. 程序框架和库调用
APP_OS、APP_Modbus_slave、App_82H83H这三个程序是对86盒的三个应用程序例子。这三个的区别主要是485接口工作在不同的协议上,APP_OS工作在modbus_master下,APP_Modbus_slave工作在Modbus_slave下,App_82H83H工作在指令接口82H,83H读写指令。82H,83H是迪文屏通用的读写寄存器指令,在开发指南中都有描述。
相应的下载
6. 基本库介绍
6.1. 基本定时
地址定义如下:
VP_SYS_TIMER_ACC            EQU E200H ;定时累加器,不要改动
VP_SYS_TIMER_SEC_PULSE      EQU E201H   ;基本秒脉冲
VP_SYS_TIMER_SEC_PULSE_SLOT EQU E202H     ;高字节表示时隙0-7   低字节每125ms会变1,脉冲形式;(高字节为2并且低字节为1同时满足时,可以认为秒信号A到来;高字节为3并且低字节为1同时满足,也是一个秒信号B到来,但A、B两个秒信号差125ms。)
VP_SYS_TIMER_MM_ACC         EQU E203H ;分钟定时累加器,不要改动
VP_SYS_TIMER_MM_PULSE       EQU E204H  ;分钟定时脉冲,每1分钟会变1一次


6.2. 蜂鸣器
新版本的蜂鸣器不需要通过该接口进行配置,硬件功能已合并到T5UID1的功能接口中。所以请先确定自己拿到的产品版本。

VP_BEEP_EN            EQU    F420H    ;高字节为0x5A表示使能,低字节无效   不使能的话,对 F421H寄存器直接写入响的时长,也可以让蜂鸣器产生响声
VP_BEEP_LAST_MSCNT    EQU    F421H    ;总共响的时长,持续递减,减到0就不再响了。直接向该地址写数,也可以让蜂鸣器响。
如果需要按屏幕,蜂鸣器就响,就将 VP_BEEP_EN写 5A00H,但这种响声是按任意屏幕都会响,如果需要按到真实的键上,需要将VP_BEEP_EN关闭,然后用OS写代码,向VP_BEEP_LAST_MSCNT中写你希望的时长就行。
VP_BEEP_LAST_MSCNT中写入一个非0的数,蜂鸣器就会响,每ms数值减1,减到0后,蜂鸣器就停止响了。

6.3. RTC
0xF430  -  0xF433  设置时钟时间  D7:0x5A表示有效,其余值无效,设置成功后自动清零;D6-D0:   yy:mm:dd:ww:hh:mm:ss   hex码
RTC时间的读取,在OS中可以读取,在T5UID1开发指南中,可以查到接口地址。
UI上显示时钟,只需将时钟控件放到页面上就可以了。
如果需要设置时钟,接口在 0xF430-0xF433中,按要求写入接口就可以了。
注意86盒的相关应用设置时钟接口在00.lib库里实现的,并不是T5UID1中实现的,所以不能用T5UID1开发指南的设置RTC接口。

6.4. 温度
86盒中有一个不太精准的温度,可以通过接口将环境温度大致读到。
VP_NTC_TEMP_INT                         EQU   F440H  ;温度整数部分
VP_NTC_TEMP_DEC                        EQU  F441H   ;温度小数部分
VP_NTC_TEMP_ALL                        EQU  F442H    ;定点温度 1位小数 = VP_NTC_TEMP_INT*10 +VP_NTC_TEMP_DEC
6.5. 外设控制
86盒的外设控制主要是控制继电器和PWM的值。使用前,在初始化代码处需要初始化外设的类型。然后在需要控制继电器的时候,向对应的寄存器写入10就可以达到吸合和断开的目的。
VP_PERI_TYPE                   EQU   F450H  ;外设类型   0:无外设,即单485总线款 13继电器+2PWM类型     25继电器类型
VP_PERI_REL1_SET           EQU   F451H
VP_PERI_REL2_SET           EQU   F452H
VP_PERI_REL3_SET           EQU   F453H

VP_PERI_REL4_SET           EQU   F454H
VP_PERI_REL5_SET           EQU   F455H

VP_PERI_PWM1_DUTY_SET        EQU   F456H        ;占空比 0-1000    0:恒0    1000:恒1
VP_PERI_PWM2_DUTY_SET        EQU   F457H

例如:需要先设F450H为1,3继电器+2PWM类型,然后向 F451H-F453H写入1,则对应的继电器吸合,写0则断开。向F456H中写对应的占空比,就能得到对应的PWM或0-10V电平输出。注意,50%点空比需要写入500,10%占空比需要写 100。
6.6. 485通讯
APP_OS、APP_Modbus_slave、App_82H83H这三个程序是对86盒的三个应用程序例子。这三个的区别主要是485接口工作在不同的协议上,APP_OS工作在modbus_master下,APP_Modbus_slave工作在Modbus_slave下,App_82H83H工作在指令接口82H,83H读写指令。82H,83H是迪文屏通用的读写寄存器指令,在开发指南中都有描述。



VP_变量地址
定义
说明

EA00H
Modbus 启用标记
0x5AA5 表示启用 Modbus_Master 通信
0x5AAA 表示启用 Modbus_Slave  通信
0x5AAB 表示启用 82H,83H读写指令
其余值,不启用 modbus功能


EA01H-EA0F
驱动占用
其中:
EA01H:modbus_slave_ID_addr,当工作在modbus_slave模式时,设定本地地址。高字节保留,低字节为从机地址。上电默认为01地址。
EA04H是82H,83H读写指令的配置寄存器,高字节D1表示自动上传地址的高位,比如自动上传地址为2000H-20FFH区,那么D1=20H;低字节D0,bit7:区域初始化,必须配置为1,bit0:CRC-16校验使能,0不使能,1使能CRC校验

EA10H
ModBus结构命令起始地址



MODBUS 指令   00 字节
0x5A=本条指令有效其他=本条指令无效


01
读写的 Modbus 设备地址


02
读/写使用的 Modbus 指令,只支持 03H和10H


03
读写数据长度,单位 word


04:05
本条指令处理定时时间,包含指令传送时间,单位为 ms。对于读指令,定时时间是从机响应的最长时间。


06:07
4 个字节规定了 Modbus 读写指令的发送方式
0x0000:****所有页面下均执行指令0x0001age_ID 仅在指定页面下执行指令0x0002:VP 仅在 VP 指向的变量缓冲区低字节内容为 0x5A 时才执行指令,所有相关指令执行完后自动清零 VP 指向的内容


08:09
06:07的参数


0A:0B
本条指令读写数据在 DGUS 屏变量存储区的起始地址。


0C:0D
本条指令读写的数据在 Modbus 设备上的数据起始地址。



















6.6.1. 485 modbus_master模式
    这种模式,86盒是主控,控制逻辑需要OS编写。只实现了modbus-master的0x03和0x10指令,其余没有实现。
需要对MODBUS进行操作的话,只需配置相应的结构体即可。
结构体定义见EA10H地址(上表):

通过查看示例代码,程序最后会有结构体的定义:
MODBUS_STRUCT_TABLE:   DB   5AH,01H,03H,08H,02H,00H,00H,00H,00H,00H,40H,00H,00H,00H,00H,00H,    5AH,01H,10H,08H,02H,00H,00H,00H,00H,00H,40H,08H,00H,08H,00H,00H
实现了向01从机地址读和写的过程。
第一条:5AH,01H,03H,08H,02H,00H,00H,00H,00H,00H,40H,00H,00H,00H,00H,00H,
读指令,向01从机地址读,长度8words,最长等待从机响应时间为 512ms(02H,00H),从机的寄存器超始地址是0000H,读到本地起始地址是 4000H
第二条5AH,01H,10H,08H,02H,00H,00H,00H,00H,00H,40H,08H,00H,08H,00H,00H
写指令,向01从机地址写,长度8words,最长等待从机响应时间为512ms,将本地起始地址4008H处写入从机起始地址0008H

如果电脑上有USB485功能,可以通过串口助手看到modbus协议数据。

6.6.2. 485 modbus_slave模式
EA00H地址写为 5AA5H,即可将485接口配置为slave模式。只支持 03H,10H指令。
6.6.3. 485_8283H模式
参考EA00地址,将其写为5AABH,即可实现8283H模式。
外部485主机可以通过以上两条读写指令,读写86盒内部的寄存器
<p>

评论

高级模式
您需要登录后才可以回帖 登录 | 注册
标签:非我族类 老虎机技巧 育红路工程里

发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表
南滨花园 钦州电视台 晁寨村委会 前玉皇庙村委会 宝仪花苑
普明社区 白茅 泥坪 安生乡 木塔寨村北
手机赌博游戏 博彩推荐 澳门威尼斯人注册官网 威尼斯人网址 龙虎斗平台
澳门永利官网 开元棋牌 庄闲游戏娱乐 美高梅官网 联众棋牌
真人博彩 澳门葡京网上赌场 MG招财鞭炮 澳门百老汇网上 老虎机破解
葡京国际 澳门威尼斯人网上注册 博彩公司大全 现金扎金花 澳门大发888注册
老虎机定位器 澳门大富豪网址 现金三公注册网址 牛牛游戏下载 现金骰宝 年度十大电子游戏 大小点游戏 玩什么游戏可以挣钱 电子游戏厅 方法奇葩赌博网 巴黎人网站 pt电子游戏哪个最会爆 澳门巴黎人游戏 澳门龙虎斗注册 澳门大富豪网站 押大小排行 真钱打牌 明升网站 十三水技巧 电子游戏下载 二十一点平台 现金网游戏开户平台 澳门百老汇游戏官网 皇博压大小 真钱捕鱼 跑马机游戏 赌博技巧 巴比伦赌场官网 现金三公 地下网址 捕鱼游戏技巧 英皇网站 手机玩游戏赚钱平台 现金网排行 pt电子游戏注册 赌博技巧 电脑玩游戏赚钱平台 海立方游戏 ag电子游戏排行 希尔顿官网 太阳网上压大小 现金赌钱游戏 现金棋牌游戏 真人网站网址 地下开户 九五至尊娱乐网址 澳门梭哈游戏官网 奇葩袖赌博网 鸿胜国际压大小 博狗扑克游戏 德州扑克游戏规则 庄闲代理 奔驰宝马老虎机下载 现金三公开户注册 免费试玩电子游戏 GT压大小 新濠天地注册 现金老虎机网站 纸牌赌博种类 乐天堂开户 澳门永利平台 电脑版捕鱼达人 玩电子游戏入门 斗牛游戏 bbin压大小 网上电子游戏网址 澳门网络下注平台 明升国际网址 明升娱乐 捕鱼达人电子游戏 mg电子游戏试玩 二十一点游戏赌场 澳门万利赌场官网 大小对比网站 现金电子游戏 电子游戏实用技术 老虎机破解器 澳门梭哈官网 澳门百老汇赌场注册 千炮捕鱼兑换现金 网上合法赌场 PT电子游戏 波克棋牌官方下载 天天棋牌 凤凰棋牌 美少女战士电子游戏 什么游戏可以赚人民币 银河国际娱乐 澳门番摊官网 澳门梭哈官网 胜博发电子游戏 电子游戏打鱼机 澳门现金网 大三巴网站 PT电子游戏 澳门银河国际娱乐