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é)
硬件位置比較輸出和編碼器鎖存:EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)C#開(kāi)發(fā)(六)
深圳市正運(yùn)動(dòng)技術(shù)有限公司
收藏本文     查看收藏

XPCIE1032H功能簡(jiǎn)介

XPCIE1032H是一款基于PCI Express的EtherCAT總線運(yùn)動(dòng)控制卡,可選6-64軸運(yùn)動(dòng)控制,支持多路高速數(shù)字輸入輸出,可輕松實(shí)現(xiàn)多軸同步控制和高速數(shù)據(jù)傳輸。

XPCIE1032H運(yùn)動(dòng)控制卡集成了強(qiáng)大的運(yùn)動(dòng)控制功能,結(jié)合MotionRT7運(yùn)動(dòng)控制實(shí)時(shí)軟核,解決了高速高精應(yīng)用中,PC Windows開(kāi)發(fā)的非實(shí)時(shí)痛點(diǎn),指令交互速度比傳統(tǒng)的PCI/PCIe快10倍。

運(yùn)動(dòng)控制卡XPCIE1032H.png

XPCIE1032H運(yùn)動(dòng)控制卡支持PWM,PSO功能,板載16進(jìn)16出通用IO口,其中輸出口全部為高速輸出口,可配置為4路PWM輸出口或者16路高速PSO硬件比較輸出口。輸入口含有8路高速輸入口,可配置為4路高速色標(biāo)鎖存或兩路編碼器輸入。

XPCIE1032H運(yùn)動(dòng)控制卡搭配MotionRT7運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核,使用本地LOCAL接口連接,通過(guò)高速的核內(nèi)交互,可以做到更快速的指令交互,單條指令與多條指令一次性交互時(shí)間可以達(dá)到3-5us左右。

XPCIE1032H控制卡架構(gòu)圖.png

?XPCIE1032H運(yùn)動(dòng)控制卡與MotionRT7運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核的配合具有以下優(yōu)勢(shì):

優(yōu)勢(shì).png

1.支持多種上位機(jī)語(yǔ)言開(kāi)發(fā),所有系列產(chǎn)品均可調(diào)用同一套API函數(shù)庫(kù);

2.借助核內(nèi)交互,可以快速調(diào)用 運(yùn)動(dòng)指令,響應(yīng)時(shí)間快至微秒級(jí),比傳統(tǒng)PCI/PCIe快10倍;

3.解決傳統(tǒng)PCI/PCIe運(yùn)動(dòng)控制卡在Windows環(huán)境下控制系統(tǒng)的非實(shí)時(shí)性問(wèn)題;

4.支持一維/二維/三維PSO(高速硬件位置比較輸出),適用于視覺(jué)飛拍、精密點(diǎn)膠和激光能量控制等應(yīng)用;

5.提供高速輸入接口,便于實(shí)現(xiàn)位置鎖存;

6.支持EtherCAT總線和脈沖輸出混合聯(lián)動(dòng)、混合插補(bǔ)。

多種上位機(jī)開(kāi)發(fā)方式.png

?使用XPCIE1032H運(yùn)動(dòng)控制卡和MotionRT7運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核進(jìn)行項(xiàng)目開(kāi)發(fā)時(shí),通常需要進(jìn)行以下步驟:

1.安裝驅(qū)動(dòng)程序,識(shí)別控制卡XPCIE1032H;

2.打開(kāi)并執(zhí)行文件“MotionRT710.exe”,配置參數(shù)和運(yùn)行運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核;

3.使用ZDevelop軟件連接到控制器,進(jìn)行參數(shù)監(jiān)控。連接時(shí)請(qǐng)使用PCI/LOCAL方式,并確保ZDevelop軟件版本在3.10以上;

4.完成控制程序開(kāi)發(fā),通過(guò)LOCAL鏈接方式連接到運(yùn)動(dòng)控制卡,實(shí)現(xiàn)實(shí)時(shí)運(yùn)動(dòng)控制。

運(yùn)動(dòng)控制項(xiàng)目開(kāi)發(fā).png

?與傳統(tǒng)PCI/PCIe卡和PLC的測(cè)試數(shù)據(jù)結(jié)果對(duì)比:

核內(nèi)交互數(shù)據(jù).png

我們可以從測(cè)試對(duì)比結(jié)果看出,XPCIE1032H運(yùn)動(dòng)控制卡配合實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT7,在LOCAL鏈接(核內(nèi)交互)的方式下,指令交互的效率是非常穩(wěn)定,當(dāng)測(cè)試數(shù)量從1w增加到10w時(shí),單條指令交互時(shí)間與多條指令交互時(shí)間波動(dòng)不大,非常適用于高速高精的應(yīng)用。

XPCIE1032H控制卡安裝

  • 關(guān)閉計(jì)算機(jī)電源。

  • 打開(kāi)計(jì)算機(jī)機(jī)箱,選擇一條空閑的XPCIE卡槽,用螺絲刀卸下相應(yīng)的擋板條。

  • 將運(yùn)動(dòng)控制卡插入該槽,擰緊擋板條上的固定螺絲。

XPCIE1032H驅(qū)動(dòng)安裝與建立連接參考往期文章 EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)C#開(kāi)發(fā)(一):驅(qū)動(dòng)安裝與建立連接

一、C#語(yǔ)言進(jìn)行運(yùn)動(dòng)控制項(xiàng)目開(kāi)發(fā)

創(chuàng)建項(xiàng)目.png

二、相關(guān)PC函數(shù)指令介紹

相關(guān)PC函數(shù)介紹詳情可參考“ZMotion PC函數(shù)庫(kù)編程手冊(cè) V2.1.1”。

1、硬件位置比較輸出函數(shù)介紹

指令19.png
指令21.png

2、鎖存相關(guān)指令介紹

指令7.png
指令11.png
指令12.png
指令15.png
指令16.png

在form設(shè)計(jì)界面找到需要用到的控件拖拽到窗體中進(jìn)行UI界面設(shè)計(jì),效果如下。

UI設(shè)計(jì)界面.png

三、相關(guān)程序及功能介紹

1.位置比較功能

(1)位置同步輸出PSO的原理與應(yīng)用

PSO(position synchronized output)即位置同步輸出,本質(zhì)是通過(guò)采集實(shí)時(shí)的編碼器反饋位置(無(wú)編碼器可使用輸出的脈沖位置)與比較模式設(shè)定的位置進(jìn)行比較,控制OP高速同步輸出信號(hào),PSO示意圖如下。

PSO示意圖.png

PSO一般與激光器(或點(diǎn)膠噴射閥等設(shè)備)同步輸出信號(hào)進(jìn)行相位同步,在運(yùn)動(dòng)軌跡的所有階段以恒定的空間(或恒定時(shí)間)間隔觸發(fā)輸出開(kāi)關(guān),包括加速、減速和勻速段,從而實(shí)現(xiàn)脈沖能量均勻地作用在被加工物體上。

PSO功能的特點(diǎn)是能高速且穩(wěn)定的輸出信號(hào),因?yàn)檩敵鼍茸銐蚋,所以能夠在整個(gè)運(yùn)動(dòng)軌跡中以固定的距離觸發(fā)輸出信號(hào)而不用考慮總體速度,即在直線部分以很快的速度運(yùn)動(dòng),而在圓角部分減速的同時(shí)也能保證輸出間距恒定。

通常圓角加工部分在整個(gè)加工過(guò)程中占有比較小的部分,這樣在保證加工效果的同時(shí),就可以最大限度地提高產(chǎn)能。

PSO功能.png

正運(yùn)動(dòng)的PSO功能調(diào)用ZAux_Direct_HwPswitch2函數(shù)接口實(shí)現(xiàn),該函數(shù)采用硬件實(shí)現(xiàn)IO的高速比較輸出,響應(yīng)速度達(dá)到微秒級(jí)別,故名硬件比較輸出。

(2)程序流程圖

程序流程圖.png

(3)相關(guān)代碼示例

private void Button2_Click(object sender, EventArgs e)     //運(yùn)動(dòng)按鈕
{
    //更新界面參數(shù)
    updata_value();
    //判斷是否連接控制器
    if (g_handle == (IntPtr)0)
    {
        MessageBox.Show("未鏈接到控制器!", "提示");
        return;
    }
    int iret = 0;
    AxisNum = 0;
    //獲取軸個(gè)數(shù)
    foreach (Control item in this.Controls)
        if (item is CheckBox)
        {
            CheckBox checkBox = (CheckBox)item;
            if (checkBox.CheckState == CheckState.Checked)
                AxisNum++;
        }
    //判斷是否選擇軸
    if (AxisNum == 0)
    {
        MessageBox.Show("沒(méi)選軸!", "提示");
        return;
    }
    int[] axislist = new int[AxisNum];
    float[] Distancelist = new float[AxisNum];
    foreach (int item in axislist)
        axislist[iret++] = -1;
    //獲取運(yùn)動(dòng)的軸數(shù)組和運(yùn)動(dòng)距離
    foreach (Control item in this.Controls)
        if (item is CheckBox)
        {
            CheckBox checkBox = (CheckBox)item;
            if (checkBox.CheckState == CheckState.Checked)
            {
                int axis = Convert.ToInt32(checkBox.Name.Substring(checkBox.Name.Length - 1, 1));
                int index = Array.IndexOf(axislist, -1);
                axislist[index] = axis;
                string DistanceName = "Distance" + axis.ToString();
                Distancelist[index] = float.Parse(((System.Windows.Forms.TextBox)this.Controls.Find(DistanceName, false)[0]).Text);
            }
        }
    //初始化輸出口
    for (int i = 0; i < 3; i++)
        iret = zmcaux.ZAux_Direct_SetOp(g_handle, i, 0);
    //選擇運(yùn)動(dòng)的軸
    iret = zmcaux.ZAux_Direct_Base(g_handle, AxisNum, axislist);
    //初始化運(yùn)動(dòng)參數(shù)
    foreach (int item in axislist)
    {
        iret = zmcaux.ZAux_Direct_SetUnits(g_handle, item, 100);
        iret = zmcaux.ZAux_Direct_SetSpeed(g_handle, item, 100);
        iret = zmcaux.ZAux_Direct_SetAccel(g_handle, item, 2000);
        iret = zmcaux.ZAux_Direct_HwPswitch2(g_handle, item, 2, 0, 0, 0, 0, 0, 0, 0, 0);     //清除前面的比較輸出指令
    }
    iret = zmcaux.ZAux_Direct_HwTimer(g_handle, 2, 0, 0, 0, 0, 0);                      //關(guān)閉硬件定時(shí)器
    //起點(diǎn)輸出口狀態(tài)設(shè)置
    int tempoutstatus = 0;
    if (ModePara2 == 0)
        tempoutstatus = 1;
    else
        tempoutstatus = 0;
    //硬件定時(shí)器設(shè)置
    if (m_Timer_IfOpen == false)
    {
        iret = zmcaux.ZAux_Direct_HwTimer(g_handle, 2, m_Timer_Cycle, m_Timer_Valid, m_Timer_Num, tempoutstatus, ModePara1);
        if (iret != 0)
        {
            string tempstr;
            tempstr = "HwTimer失敗 返回值:" + iret.ToString();
            MessageBox.Show(tempstr, "提示");
            return;
        }
    }
    else
    {
        iret = zmcaux.ZAux_Direct_HwTimer(g_handle, 0, m_Timer_Cycle, m_Timer_Valid, m_Timer_Num, tempoutstatus, ModePara1);
        if (iret != 0)
        {
            string tempstr;
            tempstr = "HwTimer失敗 返回值:" + iret.ToString();
            MessageBox.Show(tempstr, "提示");
            return;
        }
    }
    //HwPswitch設(shè)置
    if (m_POS_IfOpen)          
    {
        //將比較點(diǎn)填入TABLE
        switch (PsoMode)
        {
            case 1:
            case 3:
                iret = zmcaux.ZAux_Direct_SetTable(g_handle, ModePara3, ModePara4 - ModePara3 + 1, fPointPos);          
                break;
            case 25:
            case 26:
                iret = zmcaux.ZAux_Direct_SetTable(g_handle, ModePara5, ModePara4 * 2, fPointPos);
                break;
            case 35:
            case 36:
                iret = zmcaux.ZAux_Direct_SetTable(g_handle, ModePara5, ModePara4 * 3, fPointPos);
                break;
        }
        if (iret != 0)
        {
            string tempstr;
            tempstr = "SetTable失敗 返回值:" + iret.ToString();
            MessageBox.Show(tempstr, "提示");
            return;
        }
        //初始化矢量位置
        switch (PsoMode)
        {
            case 3:
            case 4:
            case 5:
            case 6:
            case 7: zmcaux.ZAux_Direct_SetParam(g_handle, "VECTOR_MOVED", 0, 0); break;
        }
        //PSO指令設(shè)置
        switch (PsoMode)
        {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
                iret = zmcaux.ZAux_Direct_HwPswitch2(g_handle, axislist[0], PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5, ModePara6, ModePara7, ModePara8);
                break;
            case 7:
            case 25:
            case 26:
            case 35:
            case 36:
                iret = ZAux_Direct_HwPswitch2_2D();
                break;
        }
        if (iret != 0)
        {
            string tempstr;
            tempstr = "HwPswitch2失敗 返回值:" + iret.ToString();
            MessageBox.Show(tempstr, "提示");
            return;
        }
    }
    else
    {
        iret = 0;
        iret = zmcaux.ZAux_Direct_HwPswitch2(g_handle, axislist[0], 2, 0, 0, 0, 0, 0, 0, 0, 0);         //清除比較輸出指令
        if (iret != 0)
        {
            string tempstr;
            tempstr = "HwPswitch2失敗 返回值:" + iret.ToString();
            MessageBox.Show(tempstr, "提示");
            return;
        }
    }
    //觸發(fā)示波器
    zmcaux.ZAux_Trigger(g_handle);
    //多軸插補(bǔ)運(yùn)動(dòng)
    iret = zmcaux.ZAux_Direct_Move(g_handle, AxisNum, axislist, Distancelist);
}

2.鎖存功能

(1)鎖存的原理和應(yīng)用

鎖存的原理是通過(guò)高速輸入口的感應(yīng)來(lái)記錄當(dāng)前編碼器的位置。當(dāng)鎖存信號(hào)被觸發(fā)時(shí),當(dāng)前位置信息立即被捕獲到位置鎖存器中,并將前一次鎖存的位置坐標(biāo) 清除。讀取鎖存位置信息時(shí),讀取的是最后一次鎖存信號(hào)觸發(fā)時(shí)鎖存的位置信息。

鎖存一般應(yīng)用于包裝,印刷,點(diǎn)膠,視覺(jué)飛拍等。

鎖存示意圖.png

(2)程序流程圖

鎖存流程圖.png

(3)相關(guān)代碼示例

private void Button1_Click(object sender, EventArgs e)      //啟動(dòng)鎖存
 {
     if (g_handle == (IntPtr)0)
     {
         MessageBox.Show("未鏈接到控制器!", "提示");
         return;
     }
     int iret = 0;
     if (m_Regist_IfOpen == false)
     {
         m_RegistCount = 0;
         iret = zmcaux.ZAux_Direct_SetAtype(g_handle, m_RegistAxis, 1);        //必須是編碼器軸才可以鎖存
         int ReglistListSel = ComboBox1.SelectedIndex;
         if (ReglistListSel >= 0 && ReglistListSel <= 3)
         {
             RegistMode = ReglistListSel + 1;
         }
         else if (ReglistListSel == 4 || ReglistListSel == 5)
         {
             RegistMode = 10 + ReglistListSel;
         }
         else if (ReglistListSel > 5 || ReglistListSel < 9)
         {
             RegistMode = 12 + ReglistListSel;
         }
         iret = zmcaux.ZAux_Direct_Regist(g_handle, m_RegistAxis, RegistMode);
         timer2.Start();
         //m_Regist_IfOpen 標(biāo)志位變true 表示開(kāi)啟了鎖存
         //反轉(zhuǎn)按鈕的設(shè)置
         m_Regist_IfOpen = true;
         //不允許修改鎖存軸軸號(hào)
         //將啟動(dòng)鎖存按鈕變成停止鎖存
         ComboBox1.Enabled = false;
         Button1.Text = "停止鎖存";
     }
     else
     {
         timer2.Stop();
         m_Regist_IfOpen = false;
         ComboBox1.Enabled = true;
         Button1.Text = "啟動(dòng)鎖存";
         DataGridView2.Rows.Clear();    
     }
 }

四、XPCIE1032H的IO接口介紹

1.IO規(guī)格介紹

XPCIE1032H IO接口表格.png

2.IO端子定義

XPCIE1032H IO端子定義圖.png

3.端子定義表

XPCIE1032H端子定義表.png

下文內(nèi)容中效果演示就是使用高速輸出口0實(shí)現(xiàn)PSO高速輸出,高速輸入口0實(shí)現(xiàn)鎖存輸入。

4.IO接線圖

IO接線圖.png

五、效果演示

根據(jù)上面的開(kāi)發(fā)流程操作后,編譯運(yùn)行例程。同時(shí)連接ZDevelop軟件進(jìn)行調(diào)試,對(duì)運(yùn)動(dòng)控制的軸參數(shù)和運(yùn)動(dòng)情況進(jìn)行監(jiān)控。

如下圖設(shè)置: LOCAL連接上控制卡后,首先開(kāi)啟PSO硬件位置比較輸出功能;

第一步: 設(shè)置高速比較輸出口0,首個(gè)比較點(diǎn)的輸出狀態(tài)為1,設(shè)置比較軸為0。設(shè)置4個(gè)比較點(diǎn),比較點(diǎn)坐標(biāo)分別為:100,200,300,400。

第二步: 開(kāi)啟開(kāi)啟編碼器鎖存功能:設(shè)置鎖存軸號(hào)為0,鎖存模式為3。

第三步: 勾選運(yùn)動(dòng)軸號(hào)0并填上運(yùn)動(dòng)距離5000,最后將輸入口0和輸出口0接上。

即當(dāng)軸運(yùn)動(dòng)到100,200,300,400時(shí),都會(huì)觸發(fā)電平變化,并且會(huì)通過(guò)鎖存將鎖存的位置保存下來(lái)。

例程接線示意圖.png

例程接線示意圖

參數(shù)設(shè)置示意圖.png

參數(shù)設(shè)置示意圖

效果演示示意圖.png

效果演示示意圖

示波器波形如下圖所示:

PSO和鎖存示波器波形圖.png

硬件位置比較輸出和編碼器鎖存例程講解:

完整代碼獲取地址

完整代碼下載地址.png

本次,正運(yùn)動(dòng)技術(shù)硬件位置比較輸出和編碼器鎖存:EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)C#開(kāi)發(fā)(六),就分享到這里。

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

正運(yùn)動(dòng)技術(shù)專注于運(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)控制卡等等。

二維碼-02.jpg


 

狀 態(tài): 離線

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

公司名稱: 深圳市正運(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ā)送詢問(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