在线观看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

    文章

    5354

    瀏覽量

    126850
  • 控制系統
    +關注

    關注

    41

    文章

    6642

    瀏覽量

    110718
  • 以太網
    +關注

    關注

    40

    文章

    5449

    瀏覽量

    172171
  • 運動控制卡
    +關注

    關注

    7

    文章

    114

    瀏覽量

    15486
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    具有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 ?370次閱讀
    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網關

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

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

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

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

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

    C#進行PCIe EtherCAT運動控制卡的項目開發和快速讀取多個IO和軸編碼器位置的例程。
    的頭像 發表于 07-17 14:47 ?817次閱讀
    PCIe EtherCAT<b class='flag-5'>實時</b>運動<b class='flag-5'>控制卡</b>PCIE464的<b class='flag-5'>IO</b>與編碼器<b class='flag-5'>讀寫</b>應用

    運動控制卡伺服電機如何控制

    運動控制卡伺服電機控制是現代工業自動化領域中一項重要的技術,它涉及到運動控制卡、伺服電機、控制算法等多個方面。本文將詳細介紹運動控制卡伺服電
    的頭像 發表于 06-12 14:13 ?957次閱讀

    什么是工業以太網?有何特點?

    工業以太網(Industrial Ethernet)是一種專為工業環境設計的以太網技術,它具有高可靠性、高實時性、高穩定性和高安全性等特點。與傳統的以太網相比,工業
    的頭像 發表于 06-11 10:34 ?3096次閱讀

    簡單易用的以太網數據采集應用開發之C#

    C#語言以太網數據采集的開發。
    的頭像 發表于 05-17 14:25 ?810次閱讀
    簡單易用的<b class='flag-5'>以太網</b>數據采集<b class='flag-5'>卡</b>應用開發之<b class='flag-5'>C#</b>

    STM32407以太網一段時間后不能通訊的原因?怎么解決?

    的問題是,程序跑一段時間之后以太網無法通訊,ping不通,RJ45綠燈常亮,黃燈閃爍。死掉的時間不固定,最短為8個小時,最長15個小時 死掉后程序其它部分正常,也就是程序通過IO
    發表于 04-23 07:30

    【正運動】高速高精,超高實時性的PCIe EtherCAT實時運動控制卡 | PCIE464

    支持RTSys+其他高級上位機編程語言的混合編程支持,能夠進行RTBasic實時多任務處理,極大地提高了指令的實時執行效率。 6、支持C語言編譯實時執行 PCIE464
    發表于 01-24 09:48

    工業以太網的特點 工業以太網的關鍵技術包含哪些?

    工業以太網的特點和關鍵技術。 一、工業以太網的特點 高可靠性:工業以太網采用冗余設計,具有備份機制,當網絡出現故障時,能夠自動切換到備份網絡,確保系統正常運行。 實時性:工業
    的頭像 發表于 01-22 15:41 ?2029次閱讀
    主站蜘蛛池模板: 黄色三级网站| 免费在线播放视频| 未满十八18周岁禁止免费国产| 夜夜夜夜夜夜夜猛噜噜噜噜噜噜| 欧美性色xo影院在线观看| 野外啪啪抽搐一进一出| 男女在线观看视频| 亚洲国产香蕉视频欧美| 网址色| 日本三级强在线观看| 久久成人亚洲| 欧美一区二区三区四区在线观看| 亚洲一级毛片免费观看| 中文在线 | 中文| 欧美a欧美| 一级做a爱片特黄在线观看| 四虎成人免费影院网址| 人与性www| 国产嫩草影院在线观看| 午夜视频在线免费播放| 精品女同| 亚洲免费不卡| 亚洲五月婷| 欧美日韩精品乱国产| 丁香花的视频免费观看| 岛国最新资源网站| 天天爽夜夜爽免费看| 午夜视频一区| 狠狠干狠狠插| 糖心vlog麻豆精东影业传媒| 亚洲精品卡1卡二卡3卡四卡| 欧美专区一区二区三区| 国产成人mv在线观看入口视频 | 国产午夜毛片v一区二区三区| 日操夜干| 1024人成网色www| 国产精品第一页在线观看| 三级理论在线观看| 国产一级爱c片免费播放| 天堂8在线天堂bt| 亚洲一区二区三区在线|