999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測(cè)之C#上位機(jī)編程
深圳市正運(yùn)動(dòng)技術(shù)有限公司
收藏本文     查看收藏

· 本文導(dǎo)讀 ·

今天,正運(yùn)動(dòng)小助手給大家分享一下如何使用C#上位機(jī)編程實(shí)現(xiàn) 運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測(cè)功能。

01 ECI2618B硬件介紹

ECI2618B經(jīng)濟(jì)型多軸運(yùn)動(dòng)控制卡是一款脈沖型、模塊化的網(wǎng)絡(luò)型運(yùn)動(dòng)控制卡。控制卡本身最多支持6軸,可擴(kuò)展至12軸的運(yùn)動(dòng)控制,用以實(shí)現(xiàn)直線插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、同步跟隨、虛擬軸以及機(jī)械手指令等簡(jiǎn)單的軌跡控制需求;采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實(shí)現(xiàn)實(shí)時(shí)的運(yùn)動(dòng)控制。

ECI2618B.png

ECI2618B控制卡功能特點(diǎn):

(1)本身支持6差分脈沖軸+4單端脈沖軸運(yùn)動(dòng)控制,最多可擴(kuò)展至12軸運(yùn)動(dòng)控制。

(2)脈沖輸出模式:脈沖/方向或雙脈沖。

(3)AXIS接口支持編碼器位置測(cè)量,可以配置為手輪輸入模式。

(4)專(zhuān)用的手輪輸入接口。

(5)每軸最大輸出脈沖頻率10MHz。

(6)通過(guò)CAN總線,最多可擴(kuò)展到256個(gè)隔離輸入口和256個(gè)隔離輸出口。

(7)軸正負(fù)限位信號(hào)口/原點(diǎn)信號(hào)口可以隨意配置到任何輸入口。

(8)通用數(shù)字輸出口最大輸出電流可達(dá)500mA,可直接驅(qū)動(dòng)部分電磁閥。

(9)支持點(diǎn)位運(yùn)動(dòng)、電子凸輪、直線插補(bǔ)、圓弧插補(bǔ)、連續(xù)插補(bǔ)運(yùn)動(dòng)、機(jī)械手指令。

(10)支持Basic多文件多任務(wù)編程。

(11)多種程序加密手段,保護(hù)客戶的知識(shí)產(chǎn)權(quán)。

ECI2618B架構(gòu)圖.png

ECI2000系列經(jīng)濟(jì)型多軸運(yùn)動(dòng)控制卡可用于電子半導(dǎo)體設(shè)備(檢測(cè)類(lèi)設(shè)備、組裝類(lèi)設(shè)備、鎖附類(lèi)設(shè)備、焊錫機(jī))、點(diǎn)膠設(shè)備和流水線等12軸以?xún)?nèi)脈沖應(yīng)用場(chǎng)合。

控制器支持windows、linux、Mac、Android、wince各種操作系統(tǒng)下的開(kāi)發(fā),提供vc、c#、vb.net、labview等各種環(huán)境的dll庫(kù),如下圖。上位機(jī)軟件編程參考《ZMotion PC函數(shù)庫(kù)編程手冊(cè)》。

API.png

02 為什么要進(jìn)行心跳檢測(cè),作用是什么

1. 實(shí)時(shí)監(jiān)測(cè):

通過(guò)檢測(cè)上位機(jī)與下位機(jī)的通信狀態(tài),可以實(shí)時(shí)監(jiān)測(cè)上位機(jī)是否正常連接和通訊。一旦發(fā)現(xiàn)上位機(jī)掉線,系統(tǒng)可以及時(shí)采取相應(yīng)的應(yīng)對(duì)措施,避免因?yàn)榈艟導(dǎo)致通訊中斷或數(shù)據(jù)丟失。

2. 系統(tǒng)穩(wěn)定性:

上位機(jī)是控制系統(tǒng)的核心部分,掉線可能會(huì)導(dǎo)致整個(gè)系統(tǒng)失去控制。掉線檢測(cè)可以保障系統(tǒng)的穩(wěn)定性,及時(shí)發(fā)現(xiàn)掉線情況并進(jìn)行處理,保持系統(tǒng)正常運(yùn)行。

3. 數(shù)據(jù)完整性:

上位機(jī)通常負(fù)責(zé)與用戶界面交互、數(shù)據(jù)處理和決策,數(shù)據(jù)的完整性對(duì)系統(tǒng)運(yùn)行至關(guān)重要。通過(guò)掉線檢測(cè),系統(tǒng)可以及時(shí)發(fā)現(xiàn)掉線情況,保證數(shù)據(jù)的完整性和準(zhǔn)確性。

4. 故障診斷:

掉線檢測(cè)可以作為系統(tǒng)故障診斷的一種手段,通過(guò)監(jiān)測(cè)上位機(jī)的狀態(tài),可以幫助確定系統(tǒng)出現(xiàn)問(wèn)題的具體原因,加快故障排查和修復(fù)的速度。

03 BASIC語(yǔ)言進(jìn)行心跳檢測(cè)腳本語(yǔ)言編寫(xiě)

(一)前情提要

心跳檢測(cè)的實(shí)現(xiàn)主要是兩個(gè)部分組成:

1.上位機(jī)周期修改變量;

2.控制器程序周期檢測(cè)變量并在掉線的時(shí)候執(zhí)行一些急停操作。

在示例中,上位機(jī)程序會(huì)周期修改Heart_Status,控制器程序會(huì)周期掃描Heart_Status,并在檢測(cè)到變量的值異常的時(shí)候打開(kāi)輸出口,模擬掉線急停的操作。

流程圖如下所示:

流程圖.png

(二)創(chuàng)建變量

'**************************心跳相關(guān)變量定義************************
Global Heart_StarFlag               '開(kāi)始通訊標(biāo)識(shí)變量
Global Heart_Status                 '通訊標(biāo)識(shí)變量
Global Heart_Time                   '心跳超時(shí)時(shí)間
Global Heart_OutNum                 '急停OP數(shù)量
Global OutList_Address              '急停OUTmodbus_long起始地址(Ps:3系列以下,自定義變量為24位浮點(diǎn)數(shù),32位精度丟失,用modbus_long來(lái)代替)
GLOBAL CONST cVer=CONTROL
Heart_StarFlag =-1
Heart_Status = 0
Heart_OutNum = 10
OutList_Address =0
dim i,j

(三)開(kāi)啟掃描

掃描流程:

1.等待上位機(jī)發(fā)送掃描開(kāi)始指令;

2.根據(jù)控制器信號(hào)進(jìn)入不同掃描程序(原理一樣只是實(shí)現(xiàn)略有不同);

3.將通訊標(biāo)識(shí)變量置1;

4.等待一個(gè)超時(shí)時(shí)間;

5.判斷通訊標(biāo)識(shí);

6.如果為1表示上位機(jī)沒(méi)有進(jìn)行通訊,掉線狀態(tài)。進(jìn)行掉線保護(hù)操作;

7.為0表示進(jìn)行通訊,正常狀態(tài)。開(kāi)啟下一次掃描。

WHILE TRUE
    WAIT until Heart_StarFlag = 1                       '等待PC軟件連接
    DELAY Heart_Time                                    'PC連接之后,延時(shí)一個(gè)超時(shí)時(shí)間,避免上位
    WHILE TRUE
    if Heart_Status = 0 then Heart_Status = 1           '等待PC上修改通訊變量
        ticks = Heart_Time                              '超時(shí)判斷處理,等待PC上修改Heart_Flag = 0
        WAIT until ticks < 0 or Heart_Status=0
             if Heart_Status = 1 THEN
                RAPIDSTOP(2)
                WAIT IDLE
                OP(0,31,MODBUS_LONG(OutList_Address))   'MODBUS_LONG存儲(chǔ)32位整型按位控制掉線急停IO
                Heart_StarFlag=-1
                Heart_Status = 0 ELSE
                OP(0,31,0)
            Endif
    WEND
WEND
end

04 C#語(yǔ)言進(jìn)行心跳檢測(cè)開(kāi)發(fā)

(一)新建WinForm項(xiàng)目并添加函數(shù)庫(kù)

1.在VS2010菜單“文件”→“新建”→“項(xiàng)目”,啟動(dòng)創(chuàng)建項(xiàng)目向?qū)А?/p>

1.png

2.選擇開(kāi)發(fā)語(yǔ)言為“Visual C#”和.NET Framework 4以及Windows窗體應(yīng)用程序。

2.png

3.找到廠家提供的光盤(pán)資料里面的C#函數(shù)庫(kù),路徑如下(32位庫(kù)為例)。

(1)進(jìn)入廠商提供的光盤(pán)資料找到“04PC函數(shù)”文件夾,并點(diǎn)擊進(jìn)入。

3.png

(2)選擇“01PC函數(shù)庫(kù)V2.1”文件夾。

4.png

(3)選擇“windows平臺(tái)”文件夾。

5.png

(4)根據(jù)需要選擇對(duì)應(yīng)的函數(shù)庫(kù),這里選擇32位庫(kù)。

6.png

(5)解壓C#壓縮包,里面有C#對(duì)應(yīng)的函數(shù)庫(kù)。

7.png

(6)函數(shù)庫(kù)具體路徑如下。

8.png

4.將廠商提供的C#的庫(kù)文件以及相關(guān)文件復(fù)制到新建的項(xiàng)目中。

(1)將Zmcaux.cs文件復(fù)制到新建的項(xiàng)目里面中。

9.png

(2)將zauxdll.dll和zmotion.dll文件放入bin\debug文件夾中。

10.png

5.用vs打開(kāi)新建的項(xiàng)目文件,在右邊的解決方案資源管理器中點(diǎn)擊“顯示所有文件”,然后鼠標(biāo)右擊Zmcaux.cs文件,點(diǎn)擊“包括在項(xiàng)目中”。

11.png

12.png

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

13.png

(二)PC函數(shù)介紹

1.PC函數(shù)手冊(cè)可在光盤(pán)資料查看,具體路徑如下。

14.png

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

15.png

3.下載并運(yùn)行控制器程序。

16.png

4.設(shè)置控制器程序參數(shù)。

17.png

18.png

05 C#例程建設(shè)之網(wǎng)絡(luò)通訊的心跳檢測(cè)

(一)前情提要

上位機(jī)軟件的主要功能:

1.下載并運(yùn)行控制器程序;

2.設(shè)置掃描參數(shù);

3.開(kāi)啟和關(guān)閉心跳檢測(cè);

4.設(shè)置急停IO。

界面如下圖所示:

19.png

(二)例程講解

1.連接控制器獲取句柄,上位機(jī)操作通過(guò)獲取到的句柄來(lái)操作控制器。

//連接控制器,控制器默認(rèn)IP是192.168.0.11
ZauxErr = zmcaux.ZAux_OpenEth("192.168.0.11", out g_Handle);
if (0 != ZauxErr)
{
    AlmInifFile.Write(DateTime.Now.ToString("F"), "ZAux_OpenEth執(zhí)行錯(cuò)誤,錯(cuò)誤碼:" + ZauxErr.ToString(), "錯(cuò)誤碼信息");
}

20.png

2.下載心跳bas程序

函數(shù)介紹:

通過(guò)OpenFileDialog獲取控制器程序路徑,然后通過(guò)openFile判斷文件是否為空,最后通過(guò)ZAux_BasDown將控制器程序下載到控制器。

private void btnFile_Click(object sender, EventArgs e)
{
    string m_strOpenFileName;
    FileStream openFile;
    OpenFileDialog fileOpen = new OpenFileDialog();
    fileOpen.Filter = "Basic Files (*.bas)|*.bas|All Files (*.*)|*.*";
    fileOpen.RestoreDirectory = true;
    fileOpen.FilterIndex = 1;
    if (fileOpen.ShowDialog() == DialogResult.OK)
    {
        m_strOpenFileName = fileOpen.FileName;
        try{
            openFile = new FileStream(fileOpen.FileName, FileMode.Open, FileAccess.Read);
            openFile.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Open Failed!");
            return;
        }
        ret = zmcaux.ZAux_BasDown(g_handle, m_strOpenFileName, 0);
        controlReturnQue.Enqueue(ret);
        if (ret == 0)
        MessageBox.Show("心跳程序已成功加載");
    }
}

21.png

22.png

3.啟動(dòng)心跳檢測(cè)

函數(shù)介紹:

首先通過(guò)SetTimeOutPara設(shè)置掃描參數(shù),然后 ZAux_Direct_SetUserVar 設(shè)置Heart_StarFlag心跳標(biāo)示變量。啟動(dòng)控制器掃描程序,隨后開(kāi)啟上位機(jī)掃描程序。

private void btnStart_Click(object sender, EventArgs e)
{
    SetTimeOutPara();
    ret = zmcaux.ZAux_Direct_SetUserVar(g_handle, "Heart_StarFlag", 1);
    controlReturnQue.Enqueue(ret);
    timeOut = 0;
    timer1.Enabled = true;
    timer1.Interval = int.Parse(tbxUpTimer.Text);
    tbState.Text = "已啟動(dòng)";
}
//上位機(jī)掃描程序
private void timer1_Tick(object sender, EventArgs e)
{
    ret = zmcaux.ZAux_Direct_SetUserVar(g_handle, "Heart_Status", 0);
    controlReturnQue.Enqueue(ret);
    if (ret != 0)
    timeOut++;
    if (timeOut > 1)
    {
        tbState.Text = "未啟動(dòng)";
        timer1.Stop();
    }
}

23.png

24.png

4.RTSys的使用

(1)打開(kāi)【RTSys】軟件,點(diǎn)擊【連接】輸入控制器的IP(默認(rèn)IP:192.168.0.11)。

25.png

26.png

(2)打開(kāi)輸出口界面,即可通過(guò)輸出口觀察是否掉線。

27.png

(三)教學(xué)視頻


 

完整代碼獲取地址

二維碼.png

本次,正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測(cè)之C#上位機(jī)編程,就分享到這里。

更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開(kāi)發(fā)環(huán)境與例程代碼,請(qǐng)咨詢(xún)正運(yùn)動(dòng)技術(shù)銷(xiāo)售工程師:400-089-8936。

本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來(lái)源。

二維碼.png

正運(yùn)動(dòng)技術(shù)專(zhuān)注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國(guó)家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來(lái)自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國(guó)內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國(guó)內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動(dòng)控制卡_運(yùn)動(dòng)控制器_EtherCAT運(yùn)動(dòng)控制卡_EtherCAT控制器_運(yùn)動(dòng)控制系統(tǒng)_視覺(jué)控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺(jué)定位_XPCIe/XPCI系列運(yùn)動(dòng)控制卡等。


 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱(chēng): 深圳市正運(yùn)動(dòng)技術(shù)有限公司
聯(lián) 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽(yáng)光工業(yè)園A1棟5樓
郵  編: 518100
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(一):驅(qū)動(dòng)安裝、內(nèi)核配置與使用
AI視覺(jué)外觀檢測(cè)在全自動(dòng)測(cè)包機(jī)中的應(yīng)用
C#上位機(jī)與運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的周期上報(bào)
DELTA機(jī)械手多物料視覺(jué)分揀的應(yīng)用
正運(yùn)動(dòng)×Eplan再啟新篇 | 24款新品模型上線,打造電氣設(shè)計(jì)全鏈路閉環(huán)
激光振鏡運(yùn)動(dòng)控制器在玻璃激光鉆孔上的應(yīng)用
EtherCAT運(yùn)動(dòng)控制卡應(yīng)用開(kāi)發(fā)教程之Java
賦能柔性制造:MotionRT750實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核,提效不止10%!
AI視覺(jué)外觀檢測(cè)技術(shù)在NR功率電感質(zhì)量控制中的方案應(yīng)用
PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464同步跟隨/皮帶跟隨加工應(yīng)用
機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)在背靠背點(diǎn)膠焊錫機(jī)上的應(yīng)用
PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464點(diǎn)膠工藝中的同步/提前/延時(shí)開(kāi)關(guān)膠
更多文摘...
立即發(fā)送詢(xún)問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved