技术江湖中的各位英雄豪杰,在下这厢有礼了。近一段时间里,在下将空闲时间来解读智能交通方向的相关技术专业知识。
简述:
由于行业领域不同,在下写的这篇文章具有一定的行业性、专业性、针对性。仅针对于全国各信号机厂家相互研讨学习、相互切磋、以达到共同完善自家产品的目的。只要各厂家按照这个标准协议开发,均可接入满足GBT20999-2017协议的信号控制平台系统。
GBT20999-2017相比较GBT20999-2007协议来说,更加的具有统一性、独立性、扩展性、丰富性。曾经在GBT20999-2007协议中相对不完善的内容皆在GBT20999-2017里面得到了全面的改善,在下也将我们公司“哈尔滨松科信息技术有限公司”研发的协议检测软件详细地讲解程序设计和开发过程中的小技巧。
准备工作:
一定要熟读下图所示的三个国标文件,20999-2017标准检测指南-V0.4.pdf、GB/T 20999-2017 交通信号控制机与上位机间的数据通信协议.pdf、附件:信号机通信协议标准GBT 20999-2017应用指引V1.2.pdf。
这三个文档是开发相关的协议详细说明文档、数据CRC检验的算法和设置参数的事务讲解、还有协议检测的标准指南。再三叮嘱各大厂商一定要仔细研读!!!
三个协议文档如果诸位没有,可以私信我的邮箱【514628014@qq.com】,当我看到时会给大家发送这三个文件。当然这些文档在很多国标的网站上也是可以下载到的,诸位豪杰也可自行下载。
前提环境:
1. 诸位厂家需要拥有一台满足待检测GBT20999-2017协议固件的信号机设备。
2. GBT20999-2017一共规范了三种通信类型,即TCP、UDP、RS232。我方检测软件使用的是UDP协议,请确认自家产品满足的通信类型!
3. 我方通过的GBT20999-2017协议检测软件使用的开发语言是JAVA,软件类型为BS架构。应用相关技术是:JFINAL、POSTGRES数据库、JS库就懒得说了。这个做WEB的英雄都懂,在下也仅仅是略懂而已!当然了,各位技术大咖也可以选用其它语言进行程序的开发,因为通信很简单,就是单纯的UDP,很纯洁的UDP,一点也不妩媚的UDP。
4. 这步最终重要,一定要熟读以上三个文档。因为这次协议的设计,详细到某个数据类型的属性ID、元素ID、以及元素值。否则您在软件开发的时候会吃大亏的,特别注意的是数据值的数量是255,如果超过255各位就自行分片吧。您可能看到这里不明白我在说什么,没关系,把文档看懂了就明白我在说什么了。本次检测软件上只要理解协议了,开发并不是难事,麻烦的就是工作量而已,数据的解析、转换、以及操作页面的开发、遥控窗口的功能实现真的是非常非常的麻烦。工作量也是相比较我之前开发的GBT25280-2016复杂和难度更多一些。
哈尔滨松科信息GBT20999-2017检测软件界面部分截图: