想用VB开发一套程序,采集PLC的数据,如果用MSCOMM控件结合PLC的通信协议做好不好?问题是最终用户不会打开你的程序采集数据,用户也有自己的一套程序,希望能调用你做好的函数或者什么的来采集PLC数据到他的程序里,这该怎么做?
    还有一个问题,用ZIGBEE的无线通信模块连接RS232串口,这样通信能一点对多点吗?那个ZIGBEE通信模块是有一点对多点功能的,但怎样区分是哪台PLC呢,设置站号吗?

解决方案 »

  1.   


    1、推荐解决方案:用VC做串口通讯DLL,供客户调用。(客户用大多数开发环境编程均能调用)
       补充解决方案:客户用什么变成,如果是VB,那么可以用VB做ocx控件,客户调用接收数据。
       凑合解决方案:如果用户需要把数据写到数据库中,而且数据库不是独占的那种,那么你直接写一个VB程序将数据写入数据库。2、RS232通讯物理上只能一对一通讯。除非在计算机端就是多串口模式的,每个串口对一个设备。或者是其它情况。
      

  2.   

    补充一下,也可以写成com组件给第三方程序调用
      

  3.   

    用户不一定用VB,也不一定做数据库,最好能适用于多种情况。YFY,你的推荐方案只能用VC做吗?我目前只会VB,做这个VB和VC哪种比较好呢?
      

  4.   

    呵呵,都能实现功能,根据你的使用环境,推荐使用VC。写DLL没有那么难的,网上也有现成的源码,你参考了之后修改即可。关键是串口通讯的协议制定很重要,不然找问题和升级功能就会比较麻烦。但VC做有一些优势:
    VC设计上就是做一些比较底层的工作,适合做串口或网络通讯方面的编程。
    DLL接口定义好了之后,修改你的实现升级程序不会影响别人的程序或影响比较小。
    使用静态链接的DLL你不需要再额外增加其它东西,确保主流的环境均能使用(VC/VB/VS2003/VS2005/DEPHI等),VB做了之后多数情况下需要安装一些控件,比较麻烦,而且做库的话除了VB其它程序调用也挺烦人的。
    用VB做EXE,那么要涉及进程与进程间通讯(消息、写文件、TCP等方式),这样增加不稳定的因素。
      

  5.   

    OPC优秀毕业设计  内含串口通信 及 OPC服务器
      

  6.   

    串口通讯的协议应该是PLC的通信协议吧,不是我制定的吧?
    DLL是用MSCOMM控件做还是API?
      

  7.   

    DLL可以用API做,也可以用VC框架中的类做,一般不用控件。