作者: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 官網下載地址
這裏博主使用的是 MX Component 4.16S 版本,目前官方最新版本爲 4.19L; -
MX Componet 4.16S 下載:
鏈接:https://pan.baidu.com/s/1tCHFfTUiGJ7elOCc-UwNMg
提取碼:nn9e -
MX Componet編程手冊-中文.pdf 下載:
鏈接:https://pan.baidu.com/s/11f2UyMHbG_abWRuH5e_v9Q
提取碼:rv7p -
MX Componet操作手冊-中文.pdf 下載:
鏈接:https://pan.baidu.com/s/1pOouiotJhg588TWBU-mh2Q
提取碼:xuez
安裝 MX Component
-
安裝 .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 -
執行位於本產品 CD-ROM 的 “EnvMEL” 文件夾內的 SETUP.EXE
本產品的安裝開始時,會顯示 “This package is not in proper operating environment”(未處於本軟件包可運行的環境)這一信息,導致安裝未能正常完成。需要先執行 MX Componet 4.16S\EnvMEL\setup.exe;
-
開始安裝 MX Componet
一路 next 之後會需要輸入一個產品 ID,下圖爲博主使用的ID:998-598638072
最後安裝完成之後需要重啓電腦!
安裝完成之後的目錄解析
- 在Windows上安裝 MX Component 完成之後會在菜單欄生成如下3個程序:
- Communication Setup Utility(通訊設置)
- Label Utility(標籤管理)
- PLC Monitor Utility(可編程控制器監視)
- 安裝目錄下有如下文件:
通過 Communication Setup Utility 進行通信路徑設置
注意:需要以管理員身份運行 Communication Setup Utility
Using ActiveX controls and COM in Qt
- 注意 MX Component 4.16S 提供的控件是32位的,所以QT的編譯器也要是32位的才行,如果使用64位編譯器編譯,會報控件未註冊;
CoCreateInstance failure (沒有註冊類)
QAxBase::setControl: requested control {78703D55-4042-4046-845D-7BBE83FB2F44} could not be instantiated
-
添加模塊;
QT += axcontainer
-
查看COM控件的UUID;
-
使用 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;
- 把 actprogtypelib.h 和 actprogtypelib.cpp 導入到項目中直接使用