吵吵   2015-11-21  阅读:1,276

我的博客更新的频率大降,从每天更,到两三天更,到现在,终于名正言顺的成为了周更侠。但是起码我比起知名公号“二爷鉴书”还高一个段位,人家是心安理得的季更侠。不得不说,大侠,请收下我的膝盖。

有朋友安慰我:“写什么写呢,粉丝越多,只能证明你越孤独,你越要分享倾诉,越说明你的身边没有你的同类,所以不更新了,你就幸福了”,说的好有道理的样子,我考虑一下。

最近东华在切换我们医院的LIS系统,前文提到他们做LIS接口用的是串口服务器,串口服务器负责将串口收到的数据通过网络发送到东华的数据库,数据负责解析数据和发送下单信息。我们之前的做法是怎么样的呢?直接用电脑连接设备,然后通过网络把数据发回到数据库。

于是乎调试仪器的时候就郁闷了,我得把电脑上的串口给拆下来,然后再接到他们的串口服务器上进行调试。这是件相当麻烦的事情,尤其是面对24小时不间断运行的仪器。

怎么办呢?考虑到串口服务器只是一个串口转网口的收发中转站,既然硬件能够实现,软件也一定是能够实现的。

于是乎,我写了一个程序SerialServer,这个程序就是个串口和网口的数据中继程序。一方面当串口发送来数据时,我它负责将受到的数据原封不动的写入到网口中去,另一方面,将网口收到的数据原封不动的写入串口中去。

该程序用vc2010开发,串口通讯采用的是Remon Spekreijse在1997年写的一个多线程的异步串口通讯类CSerialPort,我一直用这个类在开发LIS的设备接口,至今都很稳定。而网络通讯方面则是研究了一下 CAsyncSocket类,这个是微软封装的一个异步Socket,是在底层API上的简单封装,但是足够我们用了。

开发完这个程序之后,我们调试仪器的流程就变成这样子了:

1、先上标本,等到标本扫描下单完成后,我就把老系统的接口关了。

2、打开SerialPort,调试东华的接口,从仪器上发送数据过来,看解析的是否正确。

3、在东华的系统上录入一张单,找一个标本换个条码,然后再上机,看能够得到正确的项目。

4、如果需要传输结果或者上标本的话,就关闭SerialPort,把老系统的LIS接口打开,一切照常运作。

在不关闭仪器,不影响日常工作的情况下,我们完成了设备的调试,哈哈,真的是一个很机智的办法,你说呢?少年。

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

一条回应:“串口转网口的传输程序SerialServer”

  1. 求男带我飞说道:

    辛苦辛苦,谢谢了~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注