在读取本地时间时采取获取系统启动后tick个数来作为基准并进行时间暂存,即:

即使出现当前tick小于暂存tick时重置tick=0,从而可以保证在出问题时在两个tick之后会自动恢复,同时重新初始化TRDP协议栈。
经过修改并进行多台设备长时间运行测试,该方式完全可以满足实际系统需要。到目前为止,运行该系统的CCU设备装车几十台(辆),没有再发生一起不发送过程数据的问题。
4 FTP账户问题
在交叉编译环境下,设置目标机为FTP服务器,使用电脑FTP工具登录,并传输文件到目标机进行软件开发测试时会非常方便。VxWorks也提供该项功能,设置也比较简单:在工程中双击Kernel Configuration即可打开组建配置界面,在Network Components--Network Applications--FTP Components中即可找到FTP组件,添加FTP Server后,对其进行相应设置,保存重新编译后即可使用了,见图4。

若想限制FTP登录人员,可以设置账号密码,设置方式为在Network Components下,Network Authentication Components组件下,IPCOM authentication configurations下有Auth configuration #1~#6,最多可以设置6个账号密码,见图5。每当需要登录FTP时,可选择任意一个账号登录。当不设置任何账号密码时默认为匿名登录,只可查看及下载数据,不可进行上传、修改、删除等操作。

但是在实际中,只要添加FTP组件后就会有一个管理员账户,其用户名和密码并不复杂,况且该账号密码并不会在组件配置界面显示。只要知道目标机IP(此并非难事),使用该账号密码均可通过FTP登录目标机,并可进行任何操作,危险系数较大。经过多次测试,该账号密码广泛存在于VxWorks 6.5版本中。
5 结论
本文首先阐述了TRDP协议栈所处的软硬件系统环境,解决了其从VxWorks高版本、Power PC平台移植到VxWorks低版本、X86平台下遇到的问题;其次针对以太网组播数据有时发送失败原因进行了分析与解决;最后指出并测试出VxWorks 6.5系统下的FTP组件确实存在后门问题。该协议栈已经在动力集中动车组中应用,经过历时两年的考验,在北京东郊铁科院环铁试验场的环线测试及重庆北-赶水东线路试验,到兰州局20万公里运用考核,该方案稳定可靠。以上均是基于作者在课题研究中遇到的问题并在解决问题后的经验总结,并提供一些解决问题的思路,希望对读者有所帮助。
参考文献
[1] IEC61375-2-3 Electronic railway equipment-Train communication network(TCN)-Part 2-3:TCN communication profile(IEC 61375-2-3 Edition 1.0)[S].2015.
[2] 任宝兵.城轨车辆中央控制单元设计[D].大连:大连理工大学,2014.
[3] VxWorks OS Libraries API Reference 5.5(Edition 2)[S].2003.
作者信息:
周浩尚1,2,高照玲3
(1.中车大连电力牵引研发中心有限公司,辽宁 大连116052;
2.动车组和机车牵引与控制国家重点实验室,辽宁 大连116052;3.大连东软信息学院 电子工程系,辽宁 大连116023)
,