我要做一个程序a.exe,这个程序可以通过串口和PLC通讯(RS232),但是这个PLC类型不固定,所以串口通讯会有不同的通讯协议。但是我这个a.exe做好以后又不准备改。(比如客户要我增加支持一种机型我可以很容易支持,添加一个txt或者类似的文件)。请问有没有什么好的思路。

解决方案 »

  1.   

    作个配置文件
    ================================
    设计这个配置文件的学问大了而且要做个解析文件的功能,比较麻烦不如对于不同的PLC实现不同的dll,然后那个exe只是个框架和UI,实际负责通讯的是dll这样实现起来可能还简单,只需要定义好dll和exe之间的接口,也就是导出函数调用规则和名称即可比如,所有plc针对的dll都必须导出以下几个函数:
    create
    open
    send 
    recv
    run
    close
    等,实现固定的功能
      

  2.   

    但是调用不同的DLL的话得先把DLL.lib包含进工程吧?
      

  3.   

    WingForce(初六,履霜,坚冰至。) 的方法不错,不过可以不用dll,改用一个exe,这个exe和你的a.exe进行通讯。当你要使用不同的PLC时候连接不同的exe,这个b.exe专门用来生产通讯命令。a.exe根本不用管通讯规则是什么,直接向b.exe要求发送通讯的命令格式。然后发出去。
      

  4.   

    但是调用不同的DLL的话得先把DLL.lib包含进工程吧?
    ========================================================
    那样是隐式使用dll,可以使用windows API LoadLibrary函数显示调用dll