時間:2020-03-17 11:52:37來源:深圳市軟贏科技有限公司
/WMX3/
軟件運動控制怎么用?
在WMX3基礎開發教程的上一篇里,我們講述了使用C#創建工程的操作,相信您對WMX3軟件已有了一定的熟悉。C++同樣也是WMX3的主要編程語言,它的操作步驟與C#有很多相同之處。接下來教程為:使用C++語言創建WMX3工程。
Q1 前言
創建工程概述
開發WMX3應用程序首先要創建工程,C++是WMX3的主要編程語言之一。
C++開發所需添加的庫所在文件夾為C:\ProgramFiles\SoftServo\WMX3\Lib,其中WMX3Api.lib是必要的庫,其它庫為可選。IMDll.dll應復制到可執行程序同一文件夾下。
下面以C++開啟軸使能的程序為例,展示具體創建工程步驟。該方法通用于WMX3_V3.3及以上版本。
操作環境
系統環境:RTX3.7
軟件版本:WMX3_V3.4u1_64bit
VisualStudio2012
編程語言:C++
Q2 步驟
1.利用MicrosoftVisualStudio創建一個Win32控制臺程序,在工程引導中選擇默認的配置。
圖1創建控制臺程序
2.打開配置管理器,當使用64-bit版本的WMX3庫(即RTX64)時,解決方案平臺要切換到X64。
圖2配置管理器
圖3切換平臺
3.打開工程屬性頁面。導航至“配置屬性\C/C++\常規”,點擊“附加包含目錄”旁邊的箭頭,選擇“編輯...”。
在彈出的對話框里,把WMX3安裝目錄下的頭文件目錄包含進來。(默認:"C:\ProgramFiles\SoftServo\WMX3\Include")
圖4配置屬性\C/C++\常規
圖5附加包含目錄
4.導航至“配置屬性\鏈接器\常規”。點擊“附加庫目錄”旁邊的箭頭,選擇“編輯…”。
在彈出的對話框里,把WMX3安裝目錄下的lib目錄包含進來。(默認:"C:\ProgramFiles\SoftServo\WMX3\Lib")。
圖6配置屬性\鏈接器\常規
圖7附加庫目錄
5.導航至“配置屬性\鏈接器\輸入”,點擊“附加依賴性”旁邊的箭頭,然后選擇“編輯…”。
在彈出的對話框里,添加以下的dll文件:
AdvancedMotionApi.lib
ApiBufferApi.lib
CompensationApi.lib
CoreMotionApi.lib
CyclicBufferApi.lib
EventApi.lib
IMDll.lib
IOApi.lib
LogApi.lib
UserMemoryApi.lib
WMX3Api.lib
注意:①IMDLL.lib和WMX3Api.lib是必要的庫,其它庫為可選。
②使用VisualStudio2015或更高版本時,還需要把legacy_stdio_
definitions.lib和legacy_stdio_wide_specifiers.lib添加進列表中
圖8配置屬性\鏈接器\輸入
圖9附加依賴項
6.導航至“配置屬性\生成事件\后期生成事件”。點擊“命令行”旁邊的箭頭,選擇“編輯…”,輸入以下語句:
copy/y"C:\ProgramFiles\SoftServo\WMX3\lib\IMDll.dll""$(OutDir)"
圖10配置屬性\生成事件\后期生成事件
圖11命令行
7.關閉工程屬性頁面,打開程序編寫頁面,添加頭文件,例如:
#include"AdvancedMotionApi.h"
#include"ApiBufferApi.h"
#include"CompensationApi.h"
#include"CoreMotionApi.h"
#include"CyclicBufferApi.h"
#include"EventApi.h"
#include"IOApi.h"
#include"LogApi.h"
#include"UserMemoryApi.h"
#include"WMX3Api.h"
8.添加下面的示例代碼,具體作用為創建設備,開啟通訊,開啟軸0使能,等5秒后關閉軸0使能,然后斷開通訊,關閉設備。
int_tmain(intargc,_TCHAR*argv[])
{
usingnamespacewmx3Api;
usingnamespacestd;
WMX3ApiWmx3Lib;
CoreMotionStatusCmStatus;
CoreMotionWmx3Lib_cm(&Wmx3Lib);
Wmx3Lib.CreateDevice("C:\\ProgramFiles\\SoftServo\\WMX3\\",DeviceType::DeviceTypeNormal,
INFINITE);
Wmx3Lib.SetDeviceName("MotorControl");
Wmx3Lib.StartCommunication(INFINITE);
Wmx3Lib_cm.axisControl->SetServoOn(0,1);
while(true)
{
Wmx3Lib_cm.GetStatus(&CmStatus);
if(CmStatus.axesStatus[0].servoOn)
{
break;
}
Sleep(5000);
}
Wmx3Lib_cm.axisControl->SetServoOn(0,0);
while(true)
{
Wmx3Lib_cm.GetStatus(&CmStatus);
if(!CmStatus.axesStatus[0].servoOn)
{
break;
}
Sleep(1000);
}
Wmx3Lib.StopCommunication(INFINITE);
Wmx3Lib.CloseDevice();
Sleep(3000);
return0;
}
9.打開工具WMX3Console,運行程序,監控通訊和軸的狀態。
當軸號變為綠色且CommunicationState變為On時,證明通訊開啟;ServoOn/Off軸0處變為綠色時,證明軸0使能開啟。
圖12WMX3Console界面
附加說明
對于64位系統,當編譯平臺為32位時應注意下面三點,其他操作步驟不變
①跳過步驟2,無需切換解決方案平臺
②步驟4中WMX3頭文件目錄改為"C:\ProgramFiles\SoftServo\WMX3\Lib\x86"
③步驟7改為輸入以下語句:
copy/y"C:\ProgramFiles\SoftServo\WMX3\lib\x86\IMDll.dll""$(TargetDir)"
聲明:本文為轉載類文章,如涉及版權問題,請及時聯系我們刪除(QQ: 2737591964),不便之處,敬請諒解!
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26