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

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

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

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

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