工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 工控编程 查看内容

在iFIX中如何通过VBA编程实现RS485通讯?

2018-9-2 22:23| 发布者: gk-auto| 查看: 1514| 评论: 0

摘要: 关键词:iFIXVBA编程RS485通讯摘要:最近有个网友遇到一个问题,现场有块仪表,采购的时候没有注意通讯协议。买到后发现仪表只支持RS485自由口协议。这样就不能用现有的Mb1驱动直接读数。需要自己开发程序。本文介绍 ...
  • 关键词: iFIX VBA编程 RS485通讯
  • 摘要:最近有个网友遇到一个问题,现场有块仪表,采购的时候没有注意通讯协议。买到后发现仪表只支持RS485自由口协议。这样就不能用现有的Mb1驱动直接读数。需要自己开发程序。本文介绍了基于MScomm控件的串口通讯。
  • 来源:中国工控

最近有个网友遇到一个问题,现场有块仪表,采购的时候没有注意通讯协议。买到后发现仪表只支持RS485自由口协议。这样就不能用现有的Mb1驱动直接读数。需要自己开发程序。本文介绍了基于MScomm控件的串口通讯。

我们首先在ifix后台添加一个窗体。选择窗体后。在菜单栏里找到“工具”。选择附加控件,向下滑动找到“Microsoft Communications Control version V6.0 SP”勾选上以后点击确定。然后你会发现工具箱多了一个电话一样的控件。将控件拖到窗体。

这时候发发现报错了。错误信息“对于指定的操作,该使用者不受信任”。出现这个问题的原因是windows的更新补丁限制了一些activex控件的使用。网上有很多解决办法。我这里操作的办法是:

第一:下载安装VB6.0企业版软件

第二:安装VB6的SP6补丁,这个补丁可以独立下载安装。或者下载VB6.0的时候注意下载Visual Basic 6.0 SP6集成安装简体中文企业版。这个里面有SP6的补丁。直接安装就可以了。

第三:安装一个针对vb控件的更新包(Microsoft Visual Basic 6.0 Service Pack 6 Cumulative Update)。

以上三步完成后,再去拖拽MScomm控件,便可以使用了。

下面就可以编写通讯程序了。首先我们先查看仪表的通讯协议。我们看下发送的串行命令码包含哪些内容。我们这里以基恩士LS-7070激光测距传感器为例。

首先看通讯手册,设置串口参数,波特率:9600;数据长度:8;停止位:1;奇偶校验:无校验;如果读取仪表的测量值,需要发送的命令为“M q,r cr”。转换为16进制的话为:4D 71 2C 0D

编辑窗体的程序,如下:

这样便可以试着跟设备通讯了。当然这种方式仅仅是简单的实现通讯。如果想要持续、稳定的和设备保持长时间的通讯,还需要对上面的程序作出很多修改。


路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

热门文章