想用VB开发一套程序,采集PLC的数据,如果用MSCOMM控件结合PLC的通信协议做好不好?问题是最终用户不会打开你的程序采集数据,用户也有自己的一套程序,希望能调用你做好的函数或者什么的来采集PLC数据到他的程序里,这该怎么做?
还有一个问题,用ZIGBEE的无线通信模块连接RS232串口,这样通信能一点对多点吗?那个ZIGBEE通信模块是有一点对多点功能的,但怎样区分是哪台PLC呢,设置站号吗?
还有一个问题,用ZIGBEE的无线通信模块连接RS232串口,这样通信能一点对多点吗?那个ZIGBEE通信模块是有一点对多点功能的,但怎样区分是哪台PLC呢,设置站号吗?
1、推荐解决方案:用VC做串口通讯DLL,供客户调用。(客户用大多数开发环境编程均能调用)
补充解决方案:客户用什么变成,如果是VB,那么可以用VB做ocx控件,客户调用接收数据。
凑合解决方案:如果用户需要把数据写到数据库中,而且数据库不是独占的那种,那么你直接写一个VB程序将数据写入数据库。2、RS232通讯物理上只能一对一通讯。除非在计算机端就是多串口模式的,每个串口对一个设备。或者是其它情况。
VC设计上就是做一些比较底层的工作,适合做串口或网络通讯方面的编程。
DLL接口定义好了之后,修改你的实现升级程序不会影响别人的程序或影响比较小。
使用静态链接的DLL你不需要再额外增加其它东西,确保主流的环境均能使用(VC/VB/VS2003/VS2005/DEPHI等),VB做了之后多数情况下需要安装一些控件,比较麻烦,而且做库的话除了VB其它程序调用也挺烦人的。
用VB做EXE,那么要涉及进程与进程间通讯(消息、写文件、TCP等方式),这样增加不稳定的因素。
DLL是用MSCOMM控件做还是API?