XPCIE1032H功能簡介
XPCIE1032H支持PWM,PSO功能,板載16進16出通用IO口,其中輸出口全部為高速輸出口,可配置為4路PWM輸出口或者16路高速PSO硬件比較輸出口。輸入口含有8路高速輸入口,可配置為4路高速色標鎖存或兩路編碼器輸入。
XPCIE1032H搭配MotionRT7實時內核,使用本地LOCAL接口連接,通過高速的核內交互,可以做到更快速的指令交互,單條指令與多條指令一次性交互時間可以達到3-5us左右。
?XPCIE1032H與MotionRT7實時內核的配合具有以下優勢:
1.支持多種上位機語言開發,所有系列產品均可調用同一套API函數庫;
2.借助核內交互,可以快速調用 運動指令,響應時間快至微秒級,比傳統PCI/PCIe快10倍;
3.解決傳統PCI/PCIe運動控制卡在Windows環境下控制系統的非實時性問題;
4.支持一維/二維/三維PSO(高速硬件位置比較輸出),適用于視覺飛拍、精密點膠和激光能量控制等應用;
5.提供高速輸入接口,便于實現位置鎖存;
6.支持EtherCAT總線和脈沖輸出混合聯動、混合插補。
?使用XPCIE1032H和MotionRT7進行項目開發時,通常需要進行以下步驟:
1.安裝驅動程序,識別XPCIE1032H;
2.打開并執行文件“MotionRT710.exe”,配置參數和運行運動控制實時內核;
3.使用ZDevelop軟件連接到控制器,進行參數監控。連接時請使用PCI/LOCAL方式,并確保ZDevelop軟件版本在3.10以上;
4.完成控制程序開發,通過LOCAL鏈接方式連接到運動控制卡,實現實時運動控制。
?與傳統PCI/PCIe卡和PLC的測試數據結果對比:
關閉計算機電源。
打開計算機機箱,選擇一條空閑的XPCIE卡槽,用螺絲刀卸下相應的擋板條。
將運動控制卡插入該槽,擰緊擋板條上的固定螺絲。
XPCIE1032H驅動安裝與建立連接參考往期文章EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(一):驅動安裝與建立連接。

到正運動技術的下載中心選擇需要的平臺庫文件。
解壓下載的安裝包找到 “Zmcaux.cs”, “zauxdll.dll”, “zmotion.dll” 放入到項目文件中。
1、“Zmcaux.cs”放在項目根目錄文件中,與bin目錄同級。

其他基本軸參數指令:
1、通過LOCAL鏈接方式,按鈕控件的的click事件觸發鏈接控制卡。
2、選擇總線初始化的bas腳本文件下載到控制器rom里面掉電保存。

調用函數庫的ZAux_Execute函數(在線命令),通過在線命令調用basic腳本里面的總線初始化函數-- Ecat_Init()進行總線初始化。
private void EcatInitStart_Btn_Click(object sender, EventArgs e)
{
if (g_handle == (IntPtr)0)
{
MessageBox.Show("未鏈接到控制器!", "提示");
}
else
{
int tmpret;
//-1可能正在執行初始化
if ((BasFlag == true) && (InitStatus != -1))
{
InitStatus = -1;
StringBuilder buffer = new StringBuilder(10240);
tmpret = zmcaux.ZAux_Execute(g_handle, "RUNTASK 1,Ecat_Init", buffer, 0); //任務1重新運行BAS中的初始化函數
if (tmpret != 0)
{
MessageBox.Show("總線初始化失敗!", "提示");
return;
}
else
{
MessageBox.Show("總線初始化成功!", "提示");
}
}
else
{
MessageBox.Show("Bas文件未加載");
return;
}
}
}
4、以匯川驅動器為例,驅動器IO映射的起始地址為DI1,也就是正向超程開關(正硬限位),若要設置負向超程開關,將起始地址加1。

通過按鈕控件的click事件,配置軸的正負軟限位和驅動器IO起始地址(正負硬限位IO映射)。
private void Configure_OK_Button_Click(object sender, EventArgs e)
{
StringBuilder buffer = new StringBuilder(10240);
//正向軟限位設置
zmcaux.ZAux_Direct_SetFsLimit(g_handle, MoveAxis, Convert.ToSingle(FSLimit_Value.Text));
//負向軟限位設置
zmcaux.ZAux_Direct_SetRsLimit(g_handle, MoveAxis, Convert.ToSingle(RSLimit_Value.Text));
//驅動器IO起始地址
zmcaux.ZAux_Execute(g_handle, "DRIVE_IO(" + MoveAxis.ToString() + ") = " +DriveStart_IO_Value.Value.ToString(), buffer, 0);
//正硬限位設置
zmcaux.ZAux_Direct_SetFwdIn(g_handle, MoveAxis, DRIVE_Start_IO);
zmcaux.ZAux_Direct_SetInvertIn(g_handle, DRIVE_Start_IO, 1);
//負硬限位設置
zmcaux.ZAux_Direct_SetRevIn(g_handle, MoveAxis, DRIVE_Start_IO + 1);
zmcaux.ZAux_Direct_SetInvertIn(g_handle, DRIVE_Start_IO + 1, 1);
MessageBox.Show("當前軸配置成功!", "提示");
}
5、通過按鈕控件的MouseDown(鼠標在組件上方并按下時發生)事件來觸發單軸持續運動;MouseUp(鼠標在組件上方并松開時發生)事件來觸發單軸運動的停止。模擬手動運動的調試過程。
6、通過textbook控件的 TextChanged(空間上text屬性更改時發生)事件來修改運動過程中軸的基本參數,定時器會獲取接收。//脈沖當量變化
private void Units_Value_TextChanged(object sender, EventArgs e)
{
zmcaux.ZAux_Direct_SetUnits(g_handle, MoveAxis, Convert.ToSingle(Units_Value.Text));
}
//軸速度變化
private void Speed_Value_TextChanged(object sender, EventArgs e)
{
zmcaux.ZAux_Direct_SetSpeed(g_handle, MoveAxis, Convert.ToSingle(Speed_Value.Text));
}
//加速度變化
private void Accel_Value_TextChanged(object sender, EventArgs e)
{
zmcaux.ZAux_Direct_SetAccel(g_handle, MoveAxis, Convert.ToSingle(Accel_Value.Text));
}
//減速度變化
private void Decel_Value_TextChanged(object sender, EventArgs e)
{
zmcaux.ZAux_Direct_SetDecel(g_handle, MoveAxis, Convert.ToSingle(Decel_Value.Text));
}
7、通過按鈕控件,與文本信息比對,觸發總線軸的使能切換功能。
8、通過復選框的切換、單選框的選擇實現寸動運動調試的功能。
//寸動方向選擇
private void MoveDirection_CheckedChanged(object sender, EventArgs e)
{
if (MoveDirection.Checked == false)
{
MoveDirection.Text = "運動方向: 正";
dir = 1;
}
else
{
MoveDirection.Text = "運動方向: 負";
dir = -1;
}
}
//寸動啟動
private void InchStart_Button_Click(object sender, EventArgs e)
{
if (g_handle == (IntPtr)0)
{
MessageBox.Show("未鏈接到控制器!", "提示");
}
else
{
if (MoveAbs_RadBtn.Checked == true)
{
zmcaux.ZAux_Direct_Single_MoveAbs(g_handle, MoveAxis, dir * Convert.ToSingle(InchDistance_Value.Text));
}
//相對運動
if (MoveOpp_RadBtn.Checked == true)
{
zmcaux.ZAux_Direct_Single_Move(g_handle, MoveAxis, dir * Convert.ToSingle(InchDistance_Value.Text));
}
}
}
9、通過定時器的刷新,對軸參數的接收,初始化信息,IO監控等信息進行實時的反饋。
10、通過按鈕控件的的click事件觸發斷開鏈接。
教學視頻以及源代碼下載地址,更多精彩內容請關注“ 正運動小助手 ”公眾號。
下一篇:重錘物位計常見故障處理
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://m.lfljgfsj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業博覽會
展會城市:合肥市展會時間:2025-09-20