注:本文为博主参考书籍和他人文章并加上自己的理解所编,作为学习笔记使用并将其分享出去供大家学习。若涉及到引用您的文章内容请评论区告知!如有错误欢迎指正!
MX Component 4.16S是三菱PLC官方上位机通讯中间件 ,C#,vb.net,c++.net和三菱PLC通讯时,可以调用该软件DLL和PLC通讯,使用非常方便。
可以去三菱官网下载,需先注册账号。这里上传俩份手册MX Component Version 4 操作手册.pdf这份手册介绍MX Component工具的安装卸载及使用步骤注意事项,错误信息等。通过使用通用的函数,可以使迄今为止麻烦且复杂的串行通信及以太网通信的程序开发变得异常简单。MX Component Version 4编程手册.pdf这份手册介绍MX Component控件函数使用方法及编程步骤。
序列号:117-570766844(测试可用),也可以重新从官网免费获取。
解压后先安装EnvMEL文件夹中的setup 安装完成后直接运行解压后文件夹中的setup即可:
之后公司什么的随意设置,在输入注册码:117-570766844
如果遇到下面图片显示内容,允许安装即可:
安装完成后就会显示如下图片:
运行
首先打开设置程序:
点击wizard:
设置站号:
然后点击next;
PC侧通讯设置:
(1)、选择通讯接口:网卡、串口等
(2)、选择PLC
(3)、设置通讯超时
然后点击next; PLC侧通讯设置方式1:
(1)、PLC和PC网线直连可以选择选择”以太网端口直连”:
(2)、选择网卡(会带出本机IP地址):
PLC侧通讯设置方式2:
可以选择人工输入IP地址或者在网络中搜寻CPU:
然后点击next;
网络设置:
站号类型:本站 PLC类型:FX5U
然后点击next;
输入注释:
然后点击finish;
设置完成之后就可以在Target Setting界面看到你的设置参数:
在List View界面看到所有的PLC的通讯设置:
在connection Test界面测试通讯: 点击test:
测试成功:
注意:QT安装时编译器一定要选上32位的,因为MX Component 4.16S提供的控件是32位的,使用64位编译器编译是,会报控件未注册。
双击qt-opensource-windows-x86-5.12.3.exe启动安装包
接着,会提示你登陆 Qt 账户。这个 Qt 账户对普通人来说没什么必要,所以直接点击下面的“Skip”跳过即可。
随后,便会弹出真正的开始安装界面,点击“下一步”。
在安装文件夹的界面,建议大家不要将 Qt 安装在系统盘 C 盘(比如我在此作了更改,将其安装到 D 盘。当然,你安装在 C 盘也是可以的),其他保持默认即可。继续点击“下一步”
下面,就到了重点了。在选择组件界面,请务必要选对安装 Qt 所需要的组件,否则你安装以后是无法正常运行的。
首先,点击各项前面的 > 箭头展开子项的内容。
在 Qt5.12.3 一项中,如果你是使用 MinGW 进行编译,请务必选中 MinGW 模块。而如果你希望调用 VS 的编译器进行编译,则需要勾选对应的 VS 模块。当然,如果希望进行安卓开发,则安卓模块是少不了了。
至于其余的一些模块,则可以根据自身需要勾选。这里着重介绍下 Qt WebEngine 和三个后面带TP的模块项。Qt WebEngine是谷歌开源的 Web 浏览器引擎模块,而带 TP 的模块则表示此模块目前是技术预览版。
我的建议是,如果你是初学,这些则可以不选。千万不要以为柿子西瓜一箩筐什么都选上是最好的,这样一来是增大存储空间,二来多多少少会影响 Qt 运行时的速度,增加不必要的内存消耗。
下面,接着看工具项(Tools)的选择。
第一项是CDB的调试器,如果你仅使用 MinGW进行编译,则此项可以不选。
第二项虽然名字带 MinGW,但只是用于交叉编译的(交叉编译即在某一平台上编译用于其他平台的程序),如果用不到,也可以不选。
至于第三项,那是用于 Perl 的。如果你电脑中本身没有安装 Perl,那是装不上的。
选择完成后,继续点击“下一步”
接着,在打开的页面中勾选“我已经阅读并同意条款”(原文是英文)。然后,继续一路点击“下一步”,直到安装完成就可以了。
1,运行QT软件,进入欢迎界面,点击“New Project”新建工程。
选择项目类型,模版后,确认
指定工程文件存放的路径,及工程名后,点击“下一步”
选择交叉编译器,因为MX Component控件是使用32位的编译器的,因此我们选用MinGW 32—bit交叉编译器。
dumppcpp {63885648-1785-41A4-82D5-C578D29E4DA8}
并回车。(6)将dicomax.h 和dicomax.cpp导入项目,创建对象就行了。
在项目栏中TEST 工程文件夹中右击,在弹出的窗口中点击“Add Existing Directory…”
选中 actutltypelib.cpp,actutltypelib.h 点击OK.文件添加成功如图:
在工程文件 TEST.pro 中加入:
QT +=axcontainer
在项目栏中,右击->”Add New…”
在页面中选择QT->QT 设计师界面类->Choose…
选择窗口模版后执行下一步
设计好的登录界面如下:
login_form.h文件内容如下:
#ifndef LOGIN_FORM_H
#define LOGIN_FORM_H
#include
namespace Ui {
class login_form;
}
class login_form : public QDialog
{
Q_OBJECT
public:
explicit login_form(QWidget *parent = nullptr);
~login_form();
signals:
public slots:
void login();//点击登录按钮是执行的槽函数
private:
Ui::login_form *ui;
};
#endif // LOGIN_FORM_H
login_form.cpp文件内容如下:
#include "login_form.h"
#include "ui_login_form.h"
#include
#include
login_form::login_form(QWidget *parent) :
QDialog(parent),
ui(new Ui::login_form)
{
ui->setupUi(this);
//设置窗体标题
this->setWindowTitle(tr("登录界面"));
ui->user_name->setPlaceholderText(tr("输入用户名"));
ui->user_password->setPlaceholderText(tr("输入密码"));
ui->user_password->setEchoMode(QLineEdit::Password);
//单击登录按钮时 执行 LoginForm::login 槽函数(自定义);
//单击退出按钮时 执行 LoginForm::close 槽函数(窗体的关闭函数,不用自己写)
connect(ui->enter_Button,&QPushButton::clicked,this,&login_form::login);
connect(ui->exit_Button,&QPushButton::clicked,this,&login_form::close);
}
login_form::~login_form()
{
delete ui;
}
void login_form::login()
{
//获得userNameLEd输入框的文本:userNameLEd->text();
//trimmed()去掉前后空格
//tr()函数,防止设置中文时乱码
if(ui->user_name->text() == tr("") && ui->user_password->text() == tr(""))
{
accept();//关闭窗体,并设置返回值为Accepted
}
else
{
//标题 内容 OK按钮
QMessageBox::warning(this, tr("警告!"),tr("用户名或密码错误!"),QMessageBox::Yes);
//清空输入框内容
ui->user_name->clear();
ui->user_password->clear();
//光标定位
ui->user_name->setFocus();
}
}
main.cpp内容如下:
#include "mainwindow.h"
#include
#include
#include "login_form.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowTitle("主界面");//设置窗体标题
w.move((QApplication::desktop()->width() - w.width()) / 2,
(QApplication::desktop()->height() - w.height()) / 2);
login_form login;
login.move((QApplication::desktop()->width() - w.width()) / 2,
(QApplication::desktop()->height() - w.height()) / 2);
if (login.exec() == QDialog::Accepted)//调用login.exec(),阻塞主控制流,直到完成返回,继续执行主控制流
{
w.show();
return a.exec();
}
else
return 0;
}
Open 通信线路、电话线路的打开
Close 通信线路的关闭
SetDevice 软元件1 点的设置(4 字节数据)
GetDevice 软元件1 点的数据获取(4 字节数据)
GetCpuType 可编程控制器CPU 型号读取
SetCpuStatus 可编程控制器CPU 的远程RUN/STOP/PAUSE
通过网线将PLC与电脑连接在一起,当打开上位机时,点击打开,plc与上位机将建立通信,run,stop可以远程控制PLC的运行与停止。界面可以实时显示各轴的运行状态,也可以通过上位机更改PLC的参数设置。
在设计三轴伺服移动平台控制系统中,我们用上位机代替按钮或开关来操作,上位机的主要作用是从用户窗口上接收信息,并将它转换成读写指令,再送给PLC,它同时能接收PLC发来的命令并加以执行。
在这个系统中,工作时的上位机界面包括主界面如下图所示。主界面分为三个页面,分别是通信页面,调试页面,监控页面。
上位机操作步骤如下:
(1)在系统调试之前先打开上位机应用程序,以实现控制系统的调节;
(2)进入通信页面,点击打开按键,将会建立与PLC的通信通道。点击RUN或者STOP进行PLC远程运行或停止。
(3)在通信页面可以读取PLC任意软元件中储存的值,右侧是进行软元件单个读写与连续读写的画面。
(4)在调试页面可以指定相应轴的各种参数,控制各个轴的运行状态。例:在与PLC通信正常的情况下,先进行复位操作,复位完成后,点击停止退出复位状态。点击测试进入调试状态。此时在调试界面中,点击指令速度编辑框,输入相应轴的移动速度,点击相应轴的使能按键,当值为正值是相应使能的轴正转,当值为负值时相应轴反向移动,即反转。
(5)左侧的状态指示,实时显示三轴移动平台的运行情况,可以点击相应的按键,进行运行状态的切换。
(6)点击监视页面,进入监视状态,在此页面可以形象的查看相应轴的移动状态。
https://download.csdn.net/download/qq_41868529/11390517
本文完。