仪器信息网APP
选仪器、听讲座、看资讯

说说岛津部分液相类产品通讯协议的破解

  • yuanfanglaik
    2012/02/25
  • 私聊

其他仪器综合讨论

  • 早几年前负责的一个项目需要破解了岛津部分液相类产品的通讯协议,项目完成后就没有下文了,最近翻看这些资料想起曾经还做过这件事情,就拿出来与大家分享下,同时也希望能结交一些这个行业的朋友。因为项目的需要只进行了输液泵、紫外检测器与自动进样器的破解,好像光协议破解累计花了近四个月,当时每天就是围绕电平与信号在转,头都大了,现在想来也不知道自己是怎么过来的,呵呵。
    先说说岛津液相系统的控制组成,PC软件+1个controller box,各种液相系统仪器接入至controller box统一控制,box功能还比较强大,可以接泵、检测器、自动进样器、柱温箱、收集器等一大堆东东。PC软件与controller box之间的通讯用RS232,controller box与个仪器设备之间通过光纤通讯。我的目标就是替代岛津的PC软件与controller box,开发自己的软件与硬件,不过只需要控制泵、检测器、自动进样器就OK。
    要破解通讯协议,涉及的PC程序、controller box、输液泵、紫外检测器与自动进样器都需要用到。PC软件与box之间的232通讯命令的截获很简单,通过将发送与接收的信号引出,用串口小精灵就能截获。不过这是一堆数据,输液泵、检测器与自动进样器的命令都在一起,可以根据协议中的地址位将命令分类。这个时候虽然不能弄清楚协议中各字节的意义,但大体命令类型与协议结构还是有所了解。
    PC软件发送的命令给了box,但box最终发送给输液泵、检测器与自动进样器的命令是不是与该命令是否一致还未知,而且需要替代box,设计box类似功能的硬件与嵌入式程序也就是必须的了。通过不断分析,弄清楚了box与仪器设备之间的通讯协议为HDLC,于是设计基于支持HDLC协议的CPU设计硬件与程序。先用自己设计的硬件接收box发送的控制命令,确定与232接收到的命令大体一致;然后用硬件模拟box发送控制命令,接收仪器返回的命令。经过一条条命令确认,最终明白box只是将232命令进行再次组装并转换成HDLC协议,命令的发送与响应都是在PC软件完成,就这样项目所需要的通讯协议都破解了。
    这里举例说明自动进样器的协议,那些设置命令如排空时间、清洗容量、清洗速度等都简单,来说一个sequence的控制。sequence编程如下:
    Line From To Rep Vol(ul) Stop.t(min)
    0 0 1 2 1.0 2
    1)、对应动作顺序
    0号样品瓶吸样→分析→0号样品瓶吸样→分析→1号样品瓶吸样→分析→1号样品瓶吸样→分析
    2、 对应控制命令
    1)0号样品瓶吸样:
    01 10 77 00
    01 10 10 00
    01 10 FF FF 00 12 C2 FD 80 C0 FD 83 A2 FD 81 FD 84 E0 E5 E4
    01 10 19 00 00 00 01 00 C8 00 29 00 96 00 23 00 32 00 64
    01 10 11 00
    (说明:01 10 19后的00 00表示0号瓶号。)
    吸样过程完成,自动进样器反馈回01 10 2F命令,接收到该命令后控制器发送01 10 1A,开始运行RUN过程;
    分析:01 10 1A
    分析过程完成后,自动进样器反馈回01 10 2A命令,当设置的运行时间长于01 10 2A返回的时间,控制器则等到运行时间到再发送01 10 78,否则01 10 2A接收到就发送01 10 78命令,自动进样器返回至READY状态;
    2)0号样品瓶吸样与分析命令重复;
    3)1号样品瓶吸样:
    01 10 77 00
    01 10 10 00
    01 10 FF FF 00 12 C2 FD 80 C0 FD 83 A2 FD 81 FD 84 E0 E5 E4
    01 10 19 00 01 00 01 00 C8 00 29 00 96 00 23 00 32 00 64
    01 10 11 00
    吸样过程完成,自动进样器反馈回01 10 2F命令,接收到该命令后控制器发送01 10 1A,开始运行RUN过程;
    分析:01 10 1A
    分析过程完成后,自动进样器反馈回01 10 2A命令,当设置的运行时间长于01 10 2A返回的时间,控制器则等到运行时间到再发送01 10 78,否则01 10 2A接收到就发送01 10 78命令,自动进样器返回至READY状态;
    4)1号样品瓶吸样与分析命令重复,当自动进样器返回READY状态,sequence控制完成。

    当时破解的是10A系列产品,岛津的产品已经从10A全面更新为20A,希望能有这方面兴趣爱好的朋友进行进行交流!!!
    +关注 私聊
  • 大陆

    第1楼2012/03/07

    嗯,破解串口通讯协议方法很原始,但也最直接。

    yuanfanglaik(yuanfanglaik) 发表:PC软件与box之间的232通讯命令的截获很简单,通过将发送与接收的信号引出,用串口小精灵就能截获。

0
    +关注 私聊
  • allab

    第2楼2012/08/09

    唉,很多的几个历史老厂就是因为花钱不对路或者不甘于花钱?产品还死在古老的操作上,远远和时代脱节,不知道谁愿意能救他们一下

0
    +关注 私聊
  • a1234567891

    第3楼2012/10/22

    说的好,怎么构建?

0
    +关注 私聊
  • keletin

    第4楼2012/11/27

    现在根本不需要这样,最新的控制器是通过web控制,你发送http页面的链接就可以了。你这个过时不知道多少年了

0
    +关注 私聊
  • DeeperBlue

    第5楼2012/12/21

    应助达人

    楼主破解的是10A,应该是很早以前的产品了。现在都是30A了。20A就可以通过WEB控制了。

0
    +关注 私聊
  • 雾非雾

    第6楼2012/12/22

    应助达人

    破解的目的是为了开发类似产品时用?

0
猜你喜欢最新推荐热门推荐更多推荐
举报帖子

执行举报

点赞用户
好友列表
加载中...
正在为您切换请稍后...