SerialToEthernet本身继承了一个线程类。它是一个维持线程,功能是判断系统通信状态。如果正常,则每隔6 s打印输出数据流量;如果连接的服务器被关闭,则关闭串口socket及相关的流。它的线程程序中,是一个有系统运行状态标志控制的循环,维持程序运行,每一次循环中首先使该进程睡眠6 000 ms,然后打印输出此时的数据流量。程序的流程如图2、图3、图4所示。

3 系统调试方案 系统调试的主要目的是模拟现场设备与以太网之间的数据转换,将PC机通过串口与以太网接口与系统相连,接线方式如图5所示;用PC机模拟现场的设备,同时,利用PC机作为上位机监控系统运行。
实验中除了运行SerialToEthernet外,还准备了两个简单的用户程序,用于系统调试,分别是HelloWorld和Blinky。 第一步,下载运行HelloWorld。其功能是在以JavaKit作为TINI的系统输出终端(类似于PC机的显示器),打印输出“Hello World”的字符串,用于检验串口O。 第二步,下载运行Blinky。它的功能是与P3.5相连的LED不停闪烁,用于检验I/0口的功能。 第三步,下载运行SerialToEthernet,同时运行上位机上服务器程序TINlServer。TINI系统上运行Serial-ToEthernet,用于实现数据转发功能。为了验证上位机与TINI问的串口通信,上位机上运行串口调试程序,从而用上位机模拟实际的现场串口设备。运行串口调试程序时,在其中把串口设为与TINI的串口参数相同,发送模式设为连续发送。在这样的模拟情况下,从串口调试程序窗口输入的数据,通过串口发送给TINI系统,经过TINI的转发,通过RJ45接口发往上位机。上位机运行服务器程序TINIServer,它将TINI发来的数据不经处理直接通过输出流发送给TINI。经过TINI的转发,数据再次由串口返回上位机,显示在串口调试程序的“接收区”中。数据流向如图6所示。 

4 结论 与传统的工业控制数据转换系统相比,TINI更加廉价,更加紧凑,消耗功率更低,并且易于维护。此外,TINI还支持许多底层的通信接口,具有足够的灵活性,可以适应不同联网的要求。基于TINI的网络数据转换系统方案是低成本而且可靠的。利用Java编程可以提高嵌入式系统软件开发的效率。在本系统的开发过程中。利用Java软件很方便地实现对底层硬件的访问;利用Java自身的特性,可以实现强大的网络功能。
对于设备来说,通过本系统可以利用现有的网络扩展其功能;同时也可以利用以太网络实现对设备的远程诊断控制,实现更加广泛意义上的网络化。
|