在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以太網IO控制卡:C#實時讀寫時間測試

正運動技術 ? 來源:正運動技術 ? 作者:正運動技術 ? 2024-11-21 13:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文導讀

今天,正運動小助手給大家分享一下 運動控制卡之ECI 0系列IO板卡的用法,并測試一下多個IO讀寫的速度。ECI其他系列IO板卡的輸入輸出使用也類似,讀寫速度也類似,可以供參考。

一、ECI0032/ECI0064 IO卡硬件介紹

ECI0032/ECI0064等ECI 0系列運動控制卡支持以太網RS232通訊接口電腦相連,接收電腦的指令運行,支持ZCAN擴展,可擴展128路AD,64路DA;272路輸入和272路輸出。

wKgZoWc-yimAYOvVAAGca4_hoFQ742.png

ECI0032 IO控制卡

wKgaoWc-yimAJ7WiAAGmh-8L8ko918.png

ECI0064 IO控制卡

ECI0032/ECI0064等ECI 0系列運動控制卡采用了優化的網絡通訊協議可以實現實時的邏輯控制和IO狀態的監控。

ECI0032/ECI0064等ECI 0系列IO卡的應用程序可以使用VC、VB、VS、C++C#等軟件開發,程序運行時需要動態庫zmotion.dll,調試時可以將RTSys軟件同時連接控制器,從而方便調試、方便觀察。

wKgZoWc-yi-AaDv7AACKu2V7pi0143.png

ECI0032典型連接配置圖:

wKgaoWc-yi-AWXb7AAEOxxxRkrk464.png

ECI0064典型連接配置圖:

wKgZoWc-yi-AEPZUAAEjrmHDKNs188.png

二、IO接口介紹

1. IO電源注意事項

wKgaoWc-yi-AJoSxAAHw5JlZReU228.png

ECI0032/ECI0064和其他控制卡不一樣,它正常工作需要兩個電源同時供電(內部電源、IO電源)。

值得注意的是:給內部電源和IO電源供電的電源推薦使用2個獨立的24V電源,防止IO電路上的干擾直接通過電源傳輸到控制卡的內部電路上影響控制卡的正常工作。

2.輸入口功能介紹

wKgZoWc-yjCAZwwxAACyM6xvp8o652.png

通用輸入口接線圖參考

wKgaoWc-yjCAMr-EAAEtYfm_Za4101.png

通用輸入口的硬件規格

通過硬件參數我們發現通用輸入口的輸入方式是NPN漏型信號,所以在IO傳感器的選擇上大家要注意選擇NPN類型的傳感器。ZMC系列及ECI其他系列等產品的輸入也類似,詳見對應產品的硬件手冊。

如何驗證控制卡輸入口硬件功能是否正常 ?

根據上圖的輸入口等效電路圖分析: 當輸入口和EGND導通的時候輸入口就可以捕獲到信號。那么我們可以準備一根導線,導線的一段接IO電源的地(EGND),導線的另外一端去不停的觸碰對應輸入口的端子。同時打開RTSys/ZDevelop軟件連接控制卡后打開輸入口監控界面去觀察對應的輸入口狀態是否會根據觸碰的情況而變化,如果對應輸入口和EGND導通對應輸入口狀態就顯示綠燈,輸入口和EGND不導通對應的輸入口狀態就顯示紅燈,那么輸入口的硬件就是正常的。

wKgZoWc-yjGAAcjxAAJdLBoqT-Q870.png

RTSys輸入口監控界面

wKgaoWc-yjGAa8XGAAI1IciU5pM753.png

輸入口0(IN0)與EGND導通的輸入口視圖

wKgZoWc-yjGANaJgAAI3Vm0ts-I545.png

輸入口0(IN0)與EGND不導通的輸入口視圖

3.輸出口功能介紹

wKgaoWc-yjGAEES1AADxGq3hHi8133.png

通用輸出口接線圖參考

wKgZoWc-yjOAMHXhAAFE4bFdUtk298.png

通用輸出口的硬件規格

通過硬件參數我們發現通用輸出口的輸出方式是NPN漏型信號,所以輸出口輸出的時候是一個0V的信號,也就是和EGND導通的信號。ZMC系列及ECI其他系列等產品的輸出也類似,詳見對應產品的硬件手冊。

如何驗證控制卡輸出口硬件功能是否正常 ?

根據上圖的輸出口等效電路圖分析: 當輸出口輸出時,OUT口是和EGND導通的。雖然輸出的時候輸出口的電壓也是0V但輸出口沒有輸出的時候,輸出口的狀態是一個高阻態的狀態。所以驗證輸出口的功能是不推薦使用萬用表的電壓檔去測試,而是通過萬用表的導通檔去打導通測試輸出口的功能是否正常。 (萬用表打到導通檔,如果是紅黑表筆之間是導通的,那么萬用表會發出滴滴的聲音。不同的萬用表的叫聲不同,大家可以把萬用表打到導通檔后短接紅黑表筆聽聽聲音就知道你的萬用表是什么音色了)

wKgaoWc-yjOAfdvyAAJOvLcKBA4548.png

萬用表導通檔檔位圖

這樣的話我們可以打開RTSys/ZDevelop軟件連接控制器后打開輸出口監控界面,在輸出口監控界面去操作對應的輸出口開關,同時把萬用表打到導通檔,然后萬用表的紅表筆觸碰對應輸出口的接線端子,黑表筆觸碰IO電源的地EGND。

觀察當RTSys軟件打開輸出口的時候萬用表是否是導通的(萬用表是否有滴滴聲),關閉輸出口的時候萬用表是否是未導通狀態(萬用表是否有滴滴聲),如果是那么輸出口的硬件是正常的。

wKgZoWc-yjOAW98lAAIXWefwRt0006.png

RTSys輸出口監控界面

wKgaoWc-yjSAa0jTAALvgWIMR7M293.png

輸出口0(OP0)未輸出的萬用表導通檔測試情況

wKgZoWc-yjSAW925AALz5qw-8Rs823.png

輸出口0(OP0)輸出時的萬用表導通檔測試情況

演示視頻可點擊→以太網IO控制卡:C#實時讀寫時間測試查看。

4.控制器基本信息

wKgaoWc-yjSAPewZAAEHZk-ENW8863.png



三、C#語言進行ECIO板卡的開發

1.在VS2015菜單“文件”→“新建”→ “項目”,啟動創建項目向導。

wKgZoWc-yjSAGWe_AAD__fZlIhs282.png

2.選擇開發語言為“Visual C#”和.NET Framework 4以及Windows窗體應用程序。

wKgaoWc-yjSAWlY2AAGlpr0T410124.png

3.找到廠家提供的光盤資料里面的C#函數庫,路徑如下(64位庫為例)。

A、進入廠商提供的光盤資料找到“8.PC函數”文件夾,并點擊進入。

wKgZoWc-yjWAO0W2AADJ1keIcXU250.png

B、選擇“函數庫2.1”文件夾。

wKgaoWc-yjWAJdEsAAB-Q3v-ECA296.png

C、選擇“Windows平臺”文件夾。

wKgaoWc-yjWAPOKCAACOlKS_M3w103.png

D、根據需要選擇對應的函數庫這里選擇64位庫。

wKgZoWc-yjWAa7lNAABdqvV4DT0224.png

E、解壓C#的壓縮包,里面有C#對應的函數庫。

wKgaoWc-yjWAUnJXAAB6xrum3Dk161.png

F、函數庫具體路徑如下。

wKgZoWc-yjaAJq5cAACuKsxQKPw439.png

4.將廠商提供的C#的庫文件以及相關文件復制到新建的項目中。

A、將zmcaux.cs文件復制到新建的項目里面中。

wKgaoWc-yjaAMkxxAADanyrxhu0763.png

B、將zaux.dll和zmotion.dll文件放入bindebug文件夾中。

wKgZoWc-yjaAYI9-AAEHMmwJc_U552.png

5.用vs打開新建的項目文件,在右邊的解決方案資源管理器中點擊顯示所有,然后鼠標右鍵點擊zmcaux.cs文件,點擊包括在項目中。

wKgaoWc-yjaAZwC5AAHU5luK_GY171.png

6.雙擊Form1.cs里面的Form1,出現代碼編輯界面,在文件開頭寫入 using cszmcaux,并聲明控制器句柄g_handle。

wKgZoWc-yjeAI0IbAAFJcOHGipE850.png

7.至此項目新建完成,可進行C#項目開發。

四、PC函數介紹

1.PC函數手冊也在光盤資料里面,具體路徑如下。

wKgaoWc-yjeAQ_ClAADXqtfFM_Y949.png

2.鏈接控制器,獲取鏈接句柄。

wKgZoWc-yjeAdeV0AAG3FXtaDCg728.png

3.快速讀取多個輸入口當前狀態接口說明。

wKgaoWc-yjeAaV6_AAGbbee1KeU524.png

4.快速讀取多個輸出口當前狀態接口說明。

wKgZoWc-yjeAIi33AAHXA3NSg4Q154.png

五、C#快速讀取多個IO狀態的測試例程

1. 例程界面如下

wKgaoWc-yjiAFKQjAAKiXqNsdeA145.png

2.鏈接按鈕的事件處理函數中調用鏈接控制器的接口函數ZAux_OpenEth(),與控制器進行鏈接,鏈接成功后啟動定時器1監控控制器的IO狀態。

//鏈接控制器
privatevoidLinkButton_Click(objectsender,EventArgse)
{
zmcaux.ZAux_OpenEth(IP_comboBox.Text,outg_handle);
if(g_handle!=(IntPtr)0)
{
//MessageBox.Show("控制器鏈接成功!","提示");
timer1.Enabled=true;
LinkButton.BackColor=Color.FromArgb(200,255,200);
}
else
{
MessageBox.Show("控制器鏈接失敗,請檢測IP地址!","警告");
LinkButton.BackColor=Color.FromArgb(255,200,200);
}
}

3.通過定時器1監控控制器的IO狀態。

//定時器更新IO信息
privatevoidtimer1_Tick(objectsender,EventArgse)
{
intj,k;
intTestNum=50;
//快速讀取輸入口狀態接口時間測試
byte[]InState=newbyte[4];
DateTimebeforeDT=System.DateTime.Now;
for(intcount=0;count>k)&1)==1)
{
InStatus[i].BackColor=Color.FromArgb(200,255,200);
}
else
{
InStatus[i].BackColor=Color.FromArgb(255,200,200);
}
}
}
DateTimeafterDT=System.DateTime.Now;
//計算beforeDT與afterDT的時間差
TimeSpants=afterDT-beforeDT;
InMoitoring.Text="輸入口監控_刷新時間:"+(ts.TotalMilliseconds*1000/TestNum).ToString()+"us";
//快速讀取輸出口狀態接口時間測試
byte[]OutState=newbyte[4];
DateTimebeforeDTOP=System.DateTime.Now;
for(intcount=0;count>k)&1)==1)
{
OutStatus[i].BackColor=Color.FromArgb(200,255,200);
}
else
{
OutStatus[i].BackColor=Color.FromArgb(255,200,200);
}
}
}
DateTimeafterDTOP=System.DateTime.Now;
//計算beforeDTOP與afterDTOP的時間差
ts=afterDTOP-beforeDTOP;
OutMoitoring.Text="輸出口監控_刷新時間:"+(ts.TotalMilliseconds*1000/TestNum).ToString()+"us";
}

4.多個輸入口狀態讀取速度測試函數如下。

//多個輸入口狀態讀取交互速度測試
privatevoidReadInTest_Click(objectsender,EventArgse)
{
intj,k;
inttestNum=Convert.ToInt32(TestNum.Text.ToString());
intreadInNum=Convert.ToInt32(ReadInNum.Text.ToString());
//快速讀取輸入口狀態接口時間測試
byte[]InState=newbyte[4];
DateTimebeforeDT=System.DateTime.Now;
for(intcount=0;count>k)&1)==1)
{
InStatus[i].BackColor=Color.FromArgb(200,255,200);
}
else
{
InStatus[i].BackColor=Color.FromArgb(255,200,200);
}
}
}
}
DateTimeafterDT=System.DateTime.Now;
//計算beforeDT與afterDT的時間差
TimeSpants=afterDT-beforeDT;
//總耗時ms
ReadInTotTime.Text=ts.TotalMilliseconds.ToString("0.00");
//平均耗時us
ReadInTime.Text=(ts.TotalMilliseconds*1000/testNum).ToString("0.00");
}

5.多個輸出口狀態讀取速度測試函數如下。

//多個輸出口狀態讀取交互速度測試
privatevoidReadOutTest_Click(objectsender,EventArgse)
{
intj,k;
inttestNum=Convert.ToInt32(TestNum.Text.ToString());
intreadOutNum=Convert.ToInt32(ReadOutNum.Text.ToString());
//快速讀取輸入口狀態接口時間測試
byte[]OutState=newbyte[4];
DateTimebeforeDT=System.DateTime.Now;
for(intcount=0;count>k)&1)==1)
{
OutStatus[i].BackColor=Color.FromArgb(200,255,200);
}
else
{
OutStatus[i].BackColor=Color.FromArgb(255,200,200);
}
}
}
}
DateTimeafterDT=System.DateTime.Now;
//計算beforeDT與afterDT的時間差
TimeSpants=afterDT-beforeDT;
//總耗時ms
ReadOutTolTime.Text=ts.TotalMilliseconds.ToString("0.00");
//平均耗時us
ReadOutTime.Text=(ts.TotalMilliseconds*1000/testNum).ToString("0.00");}

6.多個輸出口狀態設置速度測試函數如下。

//多個輸出口狀態設置交互速度測試
privatevoidWriteOutTest_Click(objectsender,EventArgse)
{
inttestNum=Convert.ToInt32(TestNum.Text.ToString());
intwriteOutNum=Convert.ToInt32(WriteOutNum.Text.ToString());
//快速讀取輸入口狀態接口時間測試
byte[]OutState=newbyte[4];
DateTimebeforeDT=System.DateTime.Now;
for(intcount=0;count

7.多個IO狀態與上位機交互速度測試結果如下。

(1)32個輸入輸出口讀寫1000次,交互速度測試結果:

wKgZoWc-yjiAd-W_AAKcdcM1zxk383.png

(2)32個輸入輸出口讀寫1W次,交互速度測試結果:

wKgaoWc-yjiAS_cgAAKp5fZ-iVw069.png

(3)32個輸入輸出口讀寫10W次,交互速度測試結果:

wKgZoWc-yjiAOf49AAKdZlGBdqI622.png


六、分析與結論

以上分別是對32個輸入口的讀速度,32個輸出口的讀速度,32個輸出口的寫速度進行測試,從上面的運行效果圖的數據顯示來看,

無論是輸入口還是輸出口它們的交互速度都保持在200us左右,并且效果十分穩定。

當測試次數從1000次增加到1W次,甚至10W次,平均每次的交互速度還是保持在200us左右。

wKgaoWc-yjmALER5AACBMVQIWTk292.png

完整代碼獲取地址

wKgZoWc-yjmABx_fAACklSv3Ryg481.png

本次,正運動技術以太網IO控制卡:C#實時讀寫時間測試 ,就分享到這里。

更多精彩內容請關注“ 正運動小助手 ”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。

本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等 。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測試
    +關注

    關注

    8

    文章

    5668

    瀏覽量

    128567
  • 控制系統
    +關注

    關注

    41

    文章

    6770

    瀏覽量

    111945
  • 以太網
    +關注

    關注

    40

    文章

    5610

    瀏覽量

    175364
  • 運動控制卡
    +關注

    關注

    7

    文章

    119

    瀏覽量

    15795
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    車載網絡測試技術的進化之路#CAN #車載以太網 #TSN #時間敏感網絡

    車載以太網
    北匯信息POLELINK
    發布于 :2025年06月26日 18:12:48

    C#上位機與運動控制卡網絡通訊的周期上報

    使用C#上位機編程實現運動控制卡網絡通訊的周期上報功能
    的頭像 發表于 06-26 13:59 ?65次閱讀
    <b class='flag-5'>C#</b>上位機與運動<b class='flag-5'>控制卡</b>網絡通訊的周期上報

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制

    Microchip LAN9211-ABZJ 集成 10/100 以太網 PHY的以太網控制
    的頭像 發表于 06-04 14:56 ?309次閱讀
    Microchip LAN9211-ABZJ 集成 10/100 <b class='flag-5'>以太網</b> PHY的<b class='flag-5'>以太網</b><b class='flag-5'>控制</b>器

    運動控制卡網絡通訊的心跳檢測之C#上位機編程

    使用C#上位機編程實現運動控制卡網絡通訊的心跳檢測功能
    的頭像 發表于 12-24 10:54 ?1002次閱讀
    運動<b class='flag-5'>控制卡</b>網絡通訊的心跳檢測之<b class='flag-5'>C#</b>上位機編程

    運動控制卡周期上報實時數據IO狀態之C++篇

    使用C++進行運動控制卡的周期上報功能實現
    的頭像 發表于 12-17 13:59 ?774次閱讀
    運動<b class='flag-5'>控制卡</b>周期上報<b class='flag-5'>實時</b>數據<b class='flag-5'>IO</b>狀態之<b class='flag-5'>C</b>++篇

    TOSUN 車載以太網仿真測試解決方案

    TOSUN車載以太網仿真測試解決方案隨著自動駕駛、車聯網和智能化系統的廣泛應用,車載電子組件和傳感器的數量與復雜性都在持續增加,為了滿足這些更為復雜性的需求,車載以太網作為一種新型車載網絡進入汽車網
    的頭像 發表于 12-07 01:07 ?827次閱讀
    TOSUN 車載<b class='flag-5'>以太網</b>仿真<b class='flag-5'>測試</b>解決方案

    工業以太網的應用場景分析

    、濕度、震動和電磁干擾。 實時性 :工業以太網支持實時通信,確保數據傳輸的低延遲,這對于需要快速響應的自動化系統至關重要。 兼容性 :工業以太網與標準
    的頭像 發表于 11-07 14:26 ?2089次閱讀

    具有PMIC和汽車以太網的AM263x控制卡

    電子發燒友網站提供《具有PMIC和汽車以太網的AM263x控制卡.pdf》資料免費下載
    發表于 10-31 09:33 ?0次下載
    具有PMIC和汽車<b class='flag-5'>以太網</b>的AM263x<b class='flag-5'>控制卡</b>

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發應用

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發應用
    的頭像 發表于 10-10 10:15 ?723次閱讀
    PCIe<b class='flag-5'>實時</b>運動<b class='flag-5'>控制卡</b>的雙盤視覺篩選機上位機開發應用

    用于控制邊緣設備的工業以太網IO-link網關

    電子發燒友網站提供《用于控制邊緣設備的工業以太網IO-link網關.pdf》資料免費下載
    發表于 09-03 11:26 ?0次下載
    用于<b class='flag-5'>控制</b>邊緣設備的工業<b class='flag-5'>以太網</b>到<b class='flag-5'>IO</b>-link網關

    利用TSN以太網特性改善工業以太網控制器的時序

    電子發燒友網站提供《利用TSN以太網特性改善工業以太網控制器的時序.pdf》資料免費下載
    發表于 08-30 10:53 ?0次下載
    利用TSN<b class='flag-5'>以太網</b>特性改善工業<b class='flag-5'>以太網</b><b class='flag-5'>控制</b>器的時序

    車載以太網與傳統以太網的區別

    車載以太網與傳統以太網在多個方面存在顯著的差異,這些差異主要體現在傳輸速率、實時性、可靠性、物理層標準、應用場景以及技術發展等方面。
    的頭像 發表于 07-25 11:12 ?3293次閱讀

    PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應用# 正運動技術# 運動控制卡

    編碼器運動控制卡
    正運動技術
    發布于 :2024年07月23日 09:37:31

    PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應用

    C#進行PCIe EtherCAT運動控制卡的項目開發和快速讀取多個IO和軸編碼器位置的例程。
    的頭像 發表于 07-17 14:47 ?1386次閱讀
    PCIe EtherCAT<b class='flag-5'>實時</b>運動<b class='flag-5'>控制卡</b>PCIE464的<b class='flag-5'>IO</b>與編碼器<b class='flag-5'>讀寫</b>應用
    主站蜘蛛池模板: 永久免费视频网站在线观看 | 国产黄色a三级三级三级 | 免费大片黄国产在线观看 | 成人黄色免费 | 欧美午夜在线观看 | 久久国产乱子伦精品免费强 | 亚洲乱码中文字幕综合 | 亚洲情网| a级毛片免费网站 | 性孕妇洗澡video国产 | 亚洲成a人不卡在线观看 | www亚洲欲色成人久久精品 | haodiaose在线精品免费观看 | 18男女很黄的视频 | 亚洲午夜影视 | eeuss久久久精品影院 | 看全色黄大色大片免费久久怂 | 特黄三级| 51影院在线观看成人免费 | www.色婷婷.com | 老色鬼久久综合第一 | 国产成人精品亚洲77美色 | 日本免费大黄 | 亚洲成人精品 | 久久riav国产精品 | 人人干人人做 | 美女视频一区二区三区在线 | 色综合狠狠 | 日本大片免aaa费观看视频 | 日韩三级在线观看视频 | 国内精品久久久久影院薰衣草 | 男女无遮挡一进一出性视频 | 国内一级野外a一级毛片 | 黄色小视频免费看 | 欧美视频a | 国产偷啪视频一区 | 免费看黄视频网站 | 日本特级黄录像片 | 午夜视频在线观看免费高清 | 成人午夜剧场 | 手机亚洲第1页 |