急求:VB做双串口通信

wanwei9317 2007-06-25 03:50:27
请教各位高手:我用VB的MSComm控件做关于计算机的双串口通信,我是在做一个测量系统,需要采集数据并实时传送至触摸屏显示。流程是这样的:计算机一个串口接三菱FX1S系列的PLC,另一个串口接测量传感器(该传感器输出数字量);PLC控制测量的进程因而计算机何时读取数据需要PLC通知。就是说PLC给计算机发送一信号,计算机接收到该信号后从传感器采集数据,然后再将采集到的数据送往PLC。这种方案可以实现吗?如果可以的话PLC向PC发送采集数据信号这一功能是不是必须得用PC与PLC通信中的下位机请求功能?我本来是采用三菱的专用协议实现PLC与PC通信的?这样的话二者有没有什么影响啊? 非常着急 再次谢谢各位
...全文
402 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2007-10-17
  • 打赏
  • 举报
回复
楼主的方案可以实现。这样做的好处是回避了 PLC 的编程,而使用楼主熟悉的 PC 应用编程。虽然我也认为 8 楼的方案更合理。

不必使用多线程。不使用的理由是,在 PLC <-> PC 之间,PLC 是主动的,而在 PC <-> sensor 之间,PC 是主动的,且两层通讯有顺序关系。另外,在 VB 中,多线程很不稳定。
熊孩子开学喽 2007-10-16
  • 打赏
  • 举报
回复
我觉得楼主的方法似乎有点问题.
一般(99.9%)来说,PLC是用来主控的,PC是用来监控的.
也就是说,当没有PC的时候,光PLC就可以单独控制外部设备.而PC只是用来做高级数据处理和一些非常用的手动控制.
因为在工控的概念里,PC是不可靠的(即使是再好的工控计算机),PLC是可靠的(即使是再低段的PLC).即:拿掉PC不影响工作.
而楼主的设计则恰好违背了这个理念.

一般来说是这么做的:
整套工作流程,通过PLC编程,保存在PLC内部,外部数据的采样和控制命令的发送都由PLC担任,由于PLC编程采用的是"点"的概念.
并且这些"点"是可以通过通讯接口由PC来访问的.因此,PC就可以通过RS232或485等接口向位于PLC内的这些"点"来进行"复位"或"置位"等动作.类似于触发PLC上的一个个子程序.
PLC上也可以配置A/D或者I/O等接口来获取或输出信号.当PLC接受到外部设备的信号之后可以将内部的某个"点"置位,然后PC上只要轮询这个"点"的状态,就可以知道数据采集是否完成.如果完成,则到PLC放置数据的地址"点"去读出内容.

至于什么多线程和ACTIVEX都不是重要的.

一般来说,PLC都有带开发包,内含一个DDE SERVER类的程序(部分PLC默认不带,要单独买)
该软件内封装了该系列的PLC的通讯协议,你只需要用DDE的方法和这个软件通讯就能控制PLC了.

还有一种就是"组态软件",工业控制上比较流行的,其基本概念也是DDE SERVER + 上层控制,好处在于它所封装的PLC协议非常非常多.你只要选中一个就可以直接用.

扯远了,我只是想告诉楼主把连接方式改成: 外设<->PLC<->PC
robin嘟嘟 2007-10-10
  • 打赏
  • 举报
回复
学习中,帮顶!
guxing110 2007-10-10
  • 打赏
  • 举报
回复
关注中
zzyong00 2007-06-26
  • 打赏
  • 举报
回复
你可以用activeX EXE ,在activeX EXE 中检测PLC,当有信号时触发事件(raise event),在主线程中事件处理过程中添加处理代码
wanwei9317 2007-06-26
  • 打赏
  • 举报
回复
To:zzyong00
你能不能说详细点,我不懂啊!activeX EXE 是什么?怎么用?
wanwei9317 2007-06-25
  • 打赏
  • 举报
回复
我用的是VB6.0,可以用双线程吗?我对双线程不太了解,他是不是只是对计算机和PLC之间的,使用一个线程一直不断的检测PLC用来控制PC采集数据的寄存器的状态,而另一个线程为主线程?用双线程怎么做啊?
SCLIREN 2007-06-25
  • 打赏
  • 举报
回复
用专用协议或者自定义协议都可以,你连专用协议都搞通了,串口对你应该没有难度了。

加MSCOMM1 MSCOMM2分别处理就可以。
如果用VB2005的话建议用2个线程去建立,那么可以实现实时数据交换。
CathySun118 2007-06-25
  • 打赏
  • 举报
回复
可以实现

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧