后台与机器端关于DTU的相关通讯流程
由于公司是做自动售卖机系统的,所以最近在做Java的过程中接触到了后台与机台端的一系列的通讯,想记录下自己的一点心得和想法,抛砖引玉,有相关技术的牛人还请多多指教。
首先我先介绍一下DTU这个概念,DTU是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备,可能这个概念有点笼统,我理解的是将机器端的指令通过DTU转化为相应的数据发送给服务器端,相应的后台发送相应信息,DTU负责接收转化并传输到机台端进行处理。
介绍了DTU的概念之后,接下来来说一下我们后台与机器端的通讯的相关流程。
举个例子来说,后台想要发送一个指令给机台端让机台端出货。
1首先,后台与机台端开发人员商定好一个通讯规则并且按照DTU协议封装,然后后台发送消息将其递交给TCP服务。
2将消息发送到TCP服务后,TCP封装数据。
3TCP服务将封装好的数据推送给DTU。
4DTU再根据DTU协议来解析数据。
5设备接收到指令,找到相对应的指令,然后执行相应的操作。
在设备收到相应消息之后这整个流程并没有结束,机台端还要向后台发送一个反馈,反馈是否出货成功的指令。具体流程如下:
1设备返回响应结果给DTU。
2DTU根据相应协议封装数据信息。
3DTU将封装好的数据信息发送到TCP服务。
4TCP服务收到反馈信息后,然后根据协议解析相应数据。
5最后将解析后的数据发送给后台。
可以参照下图进行理解。
后台与机台端的通讯流程大致就是这样,毕竟初学者,可能有一些地方理解的不到位,望大家海涵。
一切安好,便是晴天。
Tank
可以通过串口方式与DTU相连接,RTU通过DTU与互联网上中心建立起来的通道,进行数据的交互,北京有家专业做DTU的公司还不错,我们公司曾经用过他们家的CG16,楼主可以问下他们公司,希望能帮助你
你的意思就是说要在手机上查看dtu传的数据,
方法一,最简单的方式是用云组态这样的系统(ScadaCloud),不用客户端,不用电脑,将dtu和设备连接,协议用modbus RTU,dtu直接将数据发到scadacloud的服务器上,直接用手机访问那个主页就行,还可以用手机控制,只是dtu需要用该公司的。亲自试过,能行通。
方法二,借助于通用的组态软件,组态软件接收dtu数据,然后将组态软件的工程做个网络发布,最后用手机来登录查看和控制,缺点就是需要一台电脑,还需要电脑联网。亲自试过,可以实现。
方法三,联系dtu的厂家,看看有没有安卓版的dtu客户端软件,手机上装一个客户端,或许要进行软件的二次开发。没试过!
DTU里的卡可以让移动公司给它设置成固定的IP,也可以不做成固定的ip,固定不固定问题不大。dtu里面设置的有中心的ip地址,他会主动连接中心,一旦连接上就会永久在线,在线是用心跳包来保持的。手机ip不固定,可以先让dtu把数据发到代理服务器上,再用手机去代理服务器上取数据,这种方式没试过,不知道能行通不能。
有问题再探讨。
快速鉴别GPRS DTU稳定性的方法 由于GPRS
DTU大多用于遥远的监测现场,因此GPRS DTU的稳定性就变得非常重要。
2003年,市场上出现GPRS DTU产品,但并不成熟,导致用户普遍损失较大,给GPRS
DTU形成不良口碑,也制约了其市场发展。2006年,市场上出现真正成熟稳定的GPRS
DTU产品,情况有所好转,GPRS行业应用市场开始稳步发展。2008年,GPRS核心模块普遍内嵌TCP/IP协议,降低了技术门槛,然而也有很多厂家利用这种便利,在对GPRS通信技术并未深入了解的情况下推出的GPRS
DTU,其产品存在各种性能隐患。
很多用户选用GPRS
DTU,仅在前期做了一些简单测试就结束选型工作,实际上是很不充分的。如果选用了不稳定的GPRS DTU并大量应用, 无异于给自己的监测系统埋下了一颗定时炸弹!
如何能够在一开始,就能全面而快速的测试GPRS DTU稳定性? 这已经成为一个重要课题!
遗憾的是,大多GPRS DTU厂家都只是宣扬自己产品稳定性好,而对于具体的稳定性测试方法,则闭口不谈!
这里,是经过验证的GPRS DTU稳定性测试流程,希望帮助用户掌握一套全面的,可操作的GPRS
DTU鉴别方法,这套测试方法,可以让很多质量低劣的GPRS DTU显出原形!
一)在线空闲测试
测试原因:测试GPRS DTU自己维持已建链路的能力,当没有数据时,GPRS
DTU通过心跳保持自己的连接,GPRS DTU应至少能维持平均1小时以上的链路持续时间,不发生断线重连。
测试方法:让GPRS
DTU连上数据中心后不发任何数据,观察它能维持链路多久,时间越长越好。本项测试临近结束时,应向数据中心和DTU各发几个数据包,来验证该DTU保持的
空闲链路是真实可用的,如果DTU或数据中心任何一方无法收到对方的数据包,则为不合格。
二)数据中心关闭后恢复测试
测试原因:数据中心在以后运行和维护过程中,肯定会出现临时停止暂停服务的情况,因此需要测试GPRS
DTU在数据中心恢复后的快速恢复能力。
测试方法:
1)让数据中心关闭短时间,如1分钟,然后恢复数据中心,看DTU是否能快速连接上来,恢复时间应该在5分钟内,越快越好,重复多次该项测试,DTU必须能100%恢复连接,只要出现一次DTU始终无法恢复连接的现象,即为不合格。
2)让数据中心关闭长时间,如60分钟,然后恢复数据中心,看DTU是否能快速连接上来,恢复时间应该在5分钟内,越快越好,重复多次该项测试,DTU必须能100%恢复连接,只要出现一次DTU始终无法恢复连接的现象,即为不合格。
三)频繁双向小数据量测试
测试原因:测试GPRS DTU频繁收发小数据包的能力,因为日常运行中主要是小数据包的频繁双向收发。
测试方法:在数据中心和DTU端,每10秒向对方发送一个100字节左右的数据包,持续30分钟,并进行统计,是否出现网络断线的情况,以及双方是否出现数据包丢失的情况,最好的结果是:没有发生断线重连,也没有丢失任何数据包,如果出现DTU断线后再也不上线,或上线后无法继续双向收发数据,即为不合格。
小技巧:可以将DTU的串口2,3短接起来形成环路测试,这样只需要在数据中心发送就可以进行双向测试。
四)双向大数据压力测试
测试原因:某些应用需要临时传输大数据量,因此该项测试也是非常必要的。
测试方法:在数据中心和DTU端,每2秒都向对方发送一个1000字节左右的数据包,持续30分钟,并进行统计,是否出现网络断线的情况,以及双方是否出现数据包丢失的情况,一般来说,压力测试下,GPRS
DTU可能会出现断线重连,也会丢失数据包。但断线重连的次数不应超过10次,而且次数越小越好。如果出现DTU断线后再也不能上线,或上线后无法继续双向收发数据,即为不合格。
五)去天线测试
测试原因:某些现场,因先现场某些原因,可能出现GPRS/GSM信号临时中断或变弱,信号恢复正常后,GPRS
DTU应能自动恢复连接,并续传数据到数据中心。
测试方法:
1)短时间去天线:当GPRS DTU在线时,去掉GPRS
DTU的天线1分钟,然后重新装上天线,并且在去掉GPRS DTU天线的时候下,依次向GPRS DTU提交3个100字节左右的数据包,当插上天线后,GPRS
DTU必须能自动快速恢复连接,速度越快越好,并能续传期间的数据到数据中心,3个数据包全部丢失的为不合格,数据全部上传的为最佳。
2)长时间去天线:当GPRS DTU在线时,去掉GPRS
DTU的天线30分钟,然后重新装上天线,当插上天线后,GPRS DTU必须能自动恢复连接,恢复时间应小于10分钟,超出30分钟或更长间未恢复连接的,为不合格。
六)重复上电测试
测试原因:某些时候,现场会出现临时断电然后恢复的情况,GPRS DTU应能保证可靠的登录数据中心。
测试方法:将GPRS DTU上电,然后等待GPRS
DTU连接上数据中心,每次DTU都能在2分钟内登录到数据中心,重复进行20次测试,一旦发现有一次DTU始终无法连接到数据中心,则为不合格,如有条件可以增大测试次数。
七)拨号及短信干扰测试
测试原因:在DTU登录或在线运行过程中,可能会收到一些不明短信或电话呼叫, GPRS
DTU应能保证这些情况不影响其正常工作。
测试方法:将DTU上电,然后等待10秒左右,开始向DTU发送2条短信,以及2次呼叫,DTU应能正确的连接上数据中心。
在连接数据中心成功后,再向DTU发送2条短信,以及2次呼叫,观察5分钟,看DTU是否能维持链路,然后双向发送10个数据包,看是否能正常收发。
八)看门狗测试(选测)
测试原因: 如果一个GPRS
DTU,即使前面的测试项都通过了,但是如果它的内部看门狗没做好,那也是有隐患的,在现场长时间连续运行,很可能还会出问题。
测试方法:看门狗的测试方法有多种,一般在内部CPU的数据总线或地址总线上,瞬间短路几个管脚,让其程序跑飞,或者RAM数据错乱,也可利用外部强干扰源进行干扰,在这种情况下,有良好看门狗机制的产品,其CPU能够在20秒内复位,如果不能复位则不合格,重复多次测试该项,DTU必须能100%复位。
这项功能要求测试人员对DTU主板比较熟悉,而且不一定方便操作,所以设为选测项。但如有测试操作条件的,建议进行该项测试。
九)去卡测试(选测)
测试原因:如果GPRS DTU应用现场恶劣,如振动或有腐蚀性气体,则可能造成SIM卡短时接触不良,GPRS
DTU应能自动恢复,我们用临时取卡来模拟这种情况。
测试方法:在GPRS DTU连接数据中心时,去掉卡3秒钟左右再插上,看GPRS
DTU是否会掉线及正常收发数据,去掉卡60秒钟左右再插上,看GPRS
DTU是否会掉线。如果临时取卡再上卡后,DTU再也无法自动连接中心的,建议不应用这类DTU到现场有振动或有腐蚀性气体的环境。
十)电源波动测试(选测)
测试原因:如果GPRS DTU应用现场采用电池或太阳能供电,有可能出现较大范围的电源波动,GPRS
DTU应能适应这种电源波动。
测试方法:以12V电池为例,电压波动范围可能在5伏到14伏之间波动,所以我们在GPRS
DTU连接数据中心时,将外部电源从3伏到16伏进行缓慢的升降,模拟电池的充放电情形,这项测试GPRS DTU出现复位是正常的,我们主要看GPRS
DTU是否会出现再也无法连接数据中心的情况。如果经过供电电源波动后,DTU再也无法自动连接中心的,建议不应用这类DTU到现场为电池供电的环境。
十一)欠费测试(选测)
测试原因:在GPRS
DTU常年运行过程中,很可能会出现因SIM卡欠费,导致无法使用GPRS业务,从而通信连接中断的情况,在进行充值后,GPRS DTU应自动恢复与中心的连接。
测试方法:找一张欠费的SIM卡插入GPRS
DTU,等待10分钟,由于欠费,DTU是无法登录数据中心的,这时用手机拨打该号码,提示为已停机或已限制呼入,这时给SIM卡充值,然后用手机拨打该号码,提示为对方振铃或彩铃,就表示该卡已经充值成功,GSM业务已经恢复,等待10分钟左右,看DTU是否能自动连接到数据中心,如果DTU始终无法自行连接数据中心,并且必须要人工复位一次才能恢复连接到数据中心,则视为不合格。
补充一条,如果该DTU支持电话呼叫或发短信来进行复位,并经过测试方法有效,则应视为合格。
十二)域名解析测试(选测)
测试原因:有的应用系统,使用了域名来代替固定IP地址,这会增加一个域名解析的环节,由于域名解析服务存在临时失效的情况,因此在使用域名解析时,需要加测这个项目。
测试方法:
1)域名失效模拟,将动态域名失效,或者静态域名设置指向为一个无效地址,将DTU设置为通过域名寻找数据中心,上电后DTU将无法连接到数据中心,这时,恢复域名的指向,然后观察DTU是否
能自动连接到数据中心,恢复时间越短越好,如果DTU始终无法自动连接数据中心,则为不合格。
2)将设置好域名的GPRS
DTU,在连接数据中心成功后,进行去天线测试(参见第五项),看是否通过测试,未通过测试的为该项不合格。
3)将设置好域名的GPRS
DTU,在连接数据中心成功后,进行数据中心关闭后恢复测试(参见第二项),看是否通过测试,未通过测试的为该项不合格。
如果域名解析测试不合格,建议不应用这类DTU到使用域名解析数据中心IP地址的系统中。
其他测试项:
1)高低温测试,请参考电子产品通用测试方法。
2)冲击振动测试,请参考电子产品通用测试方法。
对于DTU与组态软件的通信问题,首先要确定使用的哪家公司的软件。根据软件公司的产品在其产品库中寻找是否有相对应的DTU驱动。如果驱动都没有的话,就是与中心建立连接,那数据也无法正确解析。
在确认型号及驱动都正常的情况下,我们以CM3160P(GPRS DTU)与组态王为例进行讲解:
配置过程分为三部分DTU配置、下位机配置和组态王配置。
1、DTU配置
首先通过串口线将DTU与计算机串口连接,点击配置工具软件的读模块配置按钮,然后接通电源即可读取DTU内的参数配置,根据下位机的通信参数来设置DTU的通信参数(详情见DTU使用说明书)
注:需保证DTU,下位机,组态王三者的通信参数设置为一致)
图一
设置中心端服务器域名地址或固定IP地址:124193195122 端口号:5001
注:端口号需与组态王软件中的端口号完全一致,
选择传输模式为组态软件模式,并填写模块电话号码(此ID号与图八组态王软件中DTU设备标识信息需要完全一致)配置完成后点击保存所有配置按钮,保存配置完成整个配置过程。
2、下位机设定
根据不同厂家提供的modbus协议设定方法设定,组态王支持标准的modbus协议。
注:注意下位机的接线方式是RS232还是RS485。
具体接线方式与通讯参数设置方法参考仪表厂家所提供的说明书。
3、组态王通讯设置
定义IO设备
定义GPRS---虚拟串口设备
下面在组态王653中文版中中定义GPRS DTU设备。
例如:
使用莫迪康(MODICON)PLC(MODBUS RTU协议)作为现场的数据采集设备,组态王通过厦门才茂的GPRS设备和长英的仪表通过modbus协议做数据通讯。在组态王中定义设备的步骤如下:
1 点击左边树状菜单中的设备---COM1然后双击“新建”进行I/0设备定义。如下图所示:
图二
2 选择串口设备,定义实际设备(即莫迪康PLC),如下图所示:
图三
3 指定莫迪康PLC的逻辑名称,如下图所示:
图四
4 给仪表选择一个虚拟串口,如下图所示:
图五
选择虚拟串口(GPRS设备):选择该项,表示组态王通过GPRS和串口设备通讯。如果不选用此选项表示组态王直接和设备通讯。
5 在虚拟串口上定义GPRS设备,如图六所示:
图六
逻辑名称:虚拟串口上定义的GPRS设备名称,用户自己定义
设备选择:从下拉菜单中选择组态王支持的GPRS设备。例如选择厦门才茂(桑荣)的DTU设备,如上图所示。
DTU设备标识信息和设备端口号:这两个参数要和GPRS DTU硬件中的相应设置一致,组态王通过此信息来找相应的GPRS设备。
选择已定义的虚拟设备:当选定“选择已定义的虚拟设备”复选框时,在下拉框中将显示已经定义的虚拟设备。用户可以选择已经定义的虚拟设备(此项选择用于1个具有485接口的GPRS DTU下连接多个具有相同协议的数据采集终端设备的情况)。
6 定义设备地址:GPRS下挂的实际设备的地址,如下图所示:
图七
7 继续单击“下一步”按钮,则弹出“设备配置向导——通讯参数”对话框 ,如下图所示:
图八
8 继续单击“下一步”按钮,则弹出“设备配置向导——信息总结”对话框如下图所示:
图九
至此设备定义完毕,系统会生成两种设备的图标:
虚拟串口设备(即GPRS DTU设备)和GPRS DTU设备下挂的实际设备如下图所示:
图十
9、设置通讯端口参数
对于不同的通讯设备,其通讯端口通讯的参数是不一样的,如波特率、数据位、校验位等。所以在定义完设备之后,还需要对计算机通讯时通讯端口的参数进行设置。如上节中定义设备时,选择了KVCOM1口,则在工程浏览器的目录显示区,选择“设备”,双击“KVCOM1”图标,弹出“设置串口——KVCOM1”对话框,如下图所示。
图十一
在“通讯参数”栏中,选择设备对应的波特率、数据位、校验类型、停止位等,这些参数的选择可以参考组态王的相关设备帮助或按照设备中通讯参数的配置。“通讯超时”为默认值,除非特殊说明,一般不需要修改。“通讯方式”是指计算机一侧串口的通讯方式,是RS232或RS485,一般计算机一侧都为RS232,按实际情况选择相应的类型即可。
10、运行后GPRS DTU连接成功显示
1下位机的数据位、校验位、波特率和DTU是否一致,还有就是数据的协议是否统一使用TCP或者UDP协议。
2确保你DTU使用的SIM卡用足够的金钱以及开通相关的GPRS或者3G服务。
3检查选择的端口是否正确,以及可以尝试重启设备。
1\用户设备通过232/485等接口,连接DTU
2\DTU通过GPRS网络将数据发送到指定的服务器
3、有权限的用户用过网络访问服务器
这样就建立了用户设备通过DTU和服务器与远端的用户电脑之间建立的数据通信。
我开发过DTU,欢迎交流
GPRS DTU是指基于GPRS方式的数据传输模块,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据,通过GPRS无线通信网络进行传送的无线终端设备。例如四信GPRS DTU F2114。
DTU的主要功能:
永远在线;
DTU数据终端能够保持与GPRS/CDMA网络的连接,能够实时检测网络的状态保持通讯链路畅通;
自动拨号;
当由于网络或外部电源关闭等原因造成DTU与网络链路中断时,DTU能够自动发起拨号,重新与网络指定IP建立连接。
透明传输;
所谓透明传输是指用户数据通过网络传输以后,到达串口端是严格按照数据原码输出的,不需要用户进行协议解码等处理。
标准UDP/TCP数据传输;
用户可以根据数据的特点选择使用通讯协议,UDP协议是“无链接的数据传输协议”,TCP协议是“可靠的数据传输协议”;
选择UDP进行数据传输时,数据通常具有可再现性、丢失数据不影响全局的特点,例如对温度、压力、流量、GPS位置信息等采集数据。
选择TCP进行数据传输时,通常数据是要求完整的,不可或缺的数据。
固定IP和支持动态域名;
DTU不但支持与固定IP建立连接,还能够支持动态域名解析,此特点为没有固定IP的用户使用DTU提供了解决方案。
总的来说,DTU无线通讯终端(GPRS DTU F2114)的出现,适应了远距离数据传输通讯的要求,尤其适合数据采集点分散、位置偏远、无人职守、有线通讯安装施工不便、成本高的行业,例如气象、环保、水利、电力、石油管线监控、城市管网监控、工业监控、交通以及POS机智能零售业等,极大提高了数据通讯能力,节约人力物力成本,实现了数据通讯的跨越。
0条评论