我的博客更新的频率大降,从每天更,到两三天更,到现在,终于名正言顺的成为了周更侠。但是起码我比起知名公号“二爷鉴书”还高一个段位,人家是心安理得的季更侠。不得不说,大侠,请收下我的膝盖。
有朋友安慰我:“写什么写呢,粉丝越多,只能证明你越孤独,你越要分享倾诉,越说明你的身边没有你的同类,所以不更新了,你就幸福了”,说的好有道理的样子,我考虑一下。
最近东华在切换我们医院的LIS系统,前文提到他们做LIS接口用的是串口服务器,串口服务器负责将串口收到的数据通过网络发送到东华的数据库,数据负责解析数据和发送下单信息。我们之前的做法是怎么样的呢?直接用电脑连接设备,然后通过网络把数据发回到数据库。
于是乎调试仪器的时候就郁闷了,我得把电脑上的串口给拆下来,然后再接到他们的串口服务器上进行调试。这是件相当麻烦的事情,尤其是面对24小时不间断运行的仪器。
怎么办呢?考虑到串口服务器只是一个串口转网口的收发中转站,既然硬件能够实现,软件也一定是能够实现的。
于是乎,我写了一个程序SerialServer,这个程序就是个串口和网口的数据中继程序。一方面当串口发送来数据时,我它负责将受到的数据原封不动的写入到网口中去,另一方面,将网口收到的数据原封不动的写入串口中去。
该程序用vc2010开发,串口通讯采用的是Remon Spekreijse在1997年写的一个多线程的异步串口通讯类CSerialPort,我一直用这个类在开发LIS的设备接口,至今都很稳定。而网络通讯方面则是研究了一下 CAsyncSocket类,这个是微软封装的一个异步Socket,是在底层API上的简单封装,但是足够我们用了。
开发完这个程序之后,我们调试仪器的流程就变成这样子了:
1、先上标本,等到标本扫描下单完成后,我就把老系统的接口关了。
2、打开SerialPort,调试东华的接口,从仪器上发送数据过来,看解析的是否正确。
3、在东华的系统上录入一张单,找一个标本换个条码,然后再上机,看能够得到正确的项目。
4、如果需要传输结果或者上标本的话,就关闭SerialPort,把老系统的LIS接口打开,一切照常运作。
在不关闭仪器,不影响日常工作的情况下,我们完成了设备的调试,哈哈,真的是一个很机智的办法,你说呢?少年。
如无特别说明,本博客文章皆为原创。转载请说明,来自吵吵博客。
吵吵微信朋友圈,请付款实名加入: