网站大量收购闲置独家精品文档,联系QQ:2885784924

DTU产品介绍.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DTU产品介绍

动态库介绍 A 动态库的作用 用于解析DDP协议,如果DTU启用了DDP传输协议,则中心可以采用动态库来进行快速开发。(DDP协议可以通过宏电授权获取,以进行更高要求的开发) 当前最新版本动态库文件: 文件名:wcomm_dll.dll 版本:V2.2 * DTU产品介绍 Page: * 动态库介绍 B 主要函数 启动服务:start_net_service 停止服务:stop_net_service 选择通讯协议:SelectProtocol 设置工作模式:SetWorkMode 发送数据:do_send_user_data 接收数据:do_read_proc 使一DTU下线并重启:do_close_one_user2 获取一DTU状态:get_user_info 获取在线DTU数量:get_online_user_amount 取消当前的阻塞读取动作:cancel_read_block 查询DTU参数:do_read_param 设置DTU参数:do_update_param * DTU产品介绍 Page: * 动态库介绍 C 动态库支持三种数据读取模式 消息模式 非阻塞模式 阻塞模式 消息模式指的是动态库收到DTU的数据、注册等动作时,会通过一个windows消息发送给用户的窗口,用户可以在该窗口的消息事件中调用do_read_proc函数进行读取,然后对数据进行处理。 非阻塞模式指的是用户必须启动一个线程或定时器不停的调用do_read_proc函数来轮询,检测是否有DTU数据到达。当没有数据时do_read_proc函数会直接返回,并指示本次操作没有读取到数据。 阻塞模式指导是用户必须启动一个线程不停的调用do_read_proc函数,当没有收到数据时do_read_proc函数会阻塞,一直到有数据才返回(也可以用cancel_read_block 函数取消阻塞)。 通过SetWorkMode函数选择读取模式。 * DTU产品介绍 Page: * 动态库介绍 D 数据读取 用户程序读取DTU的数据通过do_read_proc函数完成。本函数会返回一个数据结构,用户需要关注: “DTU身份识别码”、“数据包类型”、“数据包有效长度”、“数据”。 用户程序需要判断“数据包类型”,当其为0x09时就是用户的数据,其他的类型一般不用处理。 do_read_proc函数是一个串行执行的函数,用户不必起多个线程来分别执行本函数。 一般来说,用户程序要建立一个缓冲区来存放do_read_proc函数读取到底数据,再由另外一个线程进行处理。对于消息模式的读取方法这点尤其重要,如果读取到数据后直接进行处理,有可能导致丢包。 数据发送 用户程序调用do_send_user_data函数可以将数据发送给DTU。该函数内部进行了同步处理,用户可以多个线程来执行。 * DTU产品介绍 Page: * 动态库介绍 E DTU参数配置 用户程序可以调用do_read_param函数向DTU发送请求查询参数的指令,DTU收到后会将所需要查询的参数打包返回给数据服务中心,用户程序可以在do_read_proc函数中截获该参数包( “数据包类型” 为0x0b)。 用户程序可以调用do_update_param函数向DTU发送配置参数的指令,DTU收到后会对参数进行合法性检查,如果合法将会将参数保持到FLASH中,另外,还会返回成功或失败,用户程序可以在do_read_proc函数中截获该包( “数据包类型” 为0x0d表示成功,为0x04表示失败)。 * DTU产品介绍 Page: * 动态库介绍 F 维护在线DTU列表 动态库在接收到DTU的注册信息后会进行登记,并维护一个列表。当DTU发送心跳或数据时会更新该DTU的最后通讯时间,用户的程序要利用这点来判断DTU是否在线: DTU的在线报告时间设置为X秒,中心程序启动一个Y秒定时器(或线程)定时比较DTU的最后通讯时间是否已经超过X秒,如果超过了则需要调用do_close_one_user2函数将其清除。 本功能涉及函数 调用do_close_one_user2函数清除离线DTU信息。 调用get_online_user_amount函数获取在线DTU数量。 调用get_user_info函数获取指定DTU的信息(主要是在线状态标志)。 * DTU产品介绍 Page: * DEMO例程 DEMO例程的作用 提供源代码,供用户参考以快速实现自己的应用系统。 目前提供以下几种语言的版本 Vc 6.0、Vb 6.0、delphi 6.0、V、C# 主要功能 数据收发 分别演示三种数据读取模式 定时发送 以16进制或文本方式显示收到的数据 DTU在线检测 DTU参数远程配置 可以选择UDP或

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档