Qt使用 MX Component 插件与三菱PLC通信

作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

MX Component 简介

MX Component 是三菱PLC官方上位机通讯中间件,通过使用该工具,可以在无需具备通信协议及模块知识的状况下实现从计算机至可编程控制器的通信。通过使用 MX Component 提供的一些属性和方法,可以使复杂的串行通信和以太网通信的协议程序开发变得简单方便。

MX Component 的功能

  • 不用考虑通信协议即能与指定的PLC通信;
  • 支持计算机与PLC的所有通信路径;
  • 可实现软元件监视功能,访问特殊功能模块的缓冲存储器;
  • 根据通信设置向导进行配置并能保存为一个逻辑站编号;
  • 支持 Visual Basic、Visual C++、VB Script 和 VBA 编程语言;
  • 可由ASP功能通过 Internet/intranet 监视;

MX Component 支持的路径

  • CPU编程口(COM或USB);
  • GX Simulator PLC仿真程序;
  • 串行通信;
  • 总线连接;
  • 电话线路;
  • MELSECNET/H,10,II;
  • Ethernet;
  • CC-Link;

软件与文档下载

安装 MX Component

  1. 安装 .NET Framework 3.5
    MX Componet 依赖于 .NET Framework 3.5,如果没有安装 .NET Framework 3.5 则会报如下警告,并且退出安装;
    在这里插入图片描述
    .NET Framework 3.5 下载:
    链接:https://pan.baidu.com/s/1sCpFW1uo0-Qu5jPK_Az4UA
    提取码:m5xj

  2. 执行位于本产品 CD-ROM 的 “EnvMEL” 文件夹内的 SETUP.EXE
    本产品的安装开始时,会显示 “This package is not in proper operating environment”(未处于本软件包可运行的环境)这一信息,导致安装未能正常完成。需要先执行 MX Componet 4.16S\EnvMEL\setup.exe
    在这里插入图片描述

  3. 开始安装 MX Componet
    在这里插入图片描述
    一路 next 之后会需要输入一个产品 ID,下图为博主使用的ID:998-598638072
    在这里插入图片描述
    最后安装完成之后需要重启电脑!

安装完成之后的目录解析

  1. 在Windows上安装 MX Component 完成之后会在菜单栏生成如下3个程序:
  • Communication Setup Utility(通讯设置)
  • Label Utility(标签管理)
  • PLC Monitor Utility(可编程控制器监视)
  1. 安装目录下有如下文件:
    在这里插入图片描述
    在这里插入图片描述

通过 Communication Setup Utility 进行通信路径设置

注意:需要以管理员身份运行 Communication Setup Utility
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Using ActiveX controls and COM in Qt

  1. 注意 MX Component 4.16S 提供的控件是32位的,所以QT的编译器也要是32位的才行,如果使用64位编译器编译,会报控件未注册;
CoCreateInstance failure (没有注册类)
QAxBase::setControl: requested control {78703D55-4042-4046-845D-7BBE83FB2F44} could not be instantiated
  1. 添加模块
    QT += axcontainer

  2. 查看COM控件的UUID
    在这里插入图片描述

  3. 使用 dumpcpp 工具生成相关的c++头文件和cpp文件
    dumpcpp工具是ActiveQt模块的命令行工具,主要的功能就是利用二进制库文件或者tlb文件生成相关的c++头文件和cpp文件,并利用QAxObject类重新封装了原来的组件,从而简化原来组件的复杂接口,并借此能够利用qt的meta系统,也就能进一步实现信号与槽的功能,与qt完美结合;

  • ActProgType的UUID为 {78703D55-4042-4046-845D-7BBE83FB2F44}
  • 命令行执行 dumpcpp {78703D55-4042-4046-845D-7BBE83FB2F44} 生成 actprogtypelib.h 和 actprogtypelib.cpp;
    在这里插入图片描述
  1. 把 actprogtypelib.h 和 actprogtypelib.cpp 导入到项目中直接使用
    在这里插入图片描述
原创文章 78 获赞 404 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34139994/article/details/106048110
今日推荐