時間:2024-01-12 14:51:39來æºï¼šæ·±åœ³å¸‚æ£é‹å‹•技術有é™å…¬å¸
  XPCIE1032H功能簡介
  XPCIE1032H是一款基于PCI Expressçš„EtherCAT總線é‹å‹•控制å¡ï¼Œå¯é¸6-64軸é‹å‹•控制,支æŒå¤šè·¯é«˜é€Ÿæ•¸å—輸入輸出,å¯è¼•æ¾å¯¦ç¾å¤šè»¸åŒæ¥æŽ§åˆ¶å’Œé«˜é€Ÿæ•¸æ“šå‚³è¼¸ã€‚XPCIE1032H集æˆäº†å¼·å¤§çš„é‹å‹•控制功能,çµåˆMotionRT7é‹å‹•æŽ§åˆ¶å¯¦æ™‚è»Ÿæ ¸ï¼Œè§£æ±ºäº†é«˜é€Ÿé«˜ç²¾æ‡‰ç”¨ä¸ï¼ŒPC Windows開發的éžå¯¦æ™‚痛點,指令交互速度比傳統的PCI/PCIeå¿«10å€ã€‚
  XPCIE1032H支æŒPWM,PSO功能,æ¿è¼‰16進16出通用IOå£ï¼Œå…¶ä¸è¼¸å‡ºå£å…¨éƒ¨ç‚ºé«˜é€Ÿè¼¸å‡ºå£ï¼Œå¯é…置為4è·¯PWMè¼¸å‡ºå£æˆ–者16路高速PSO硬件比較輸出å£ã€‚輸入å£å«æœ‰8路高速輸入å£ï¼Œå¯é…置為4è·¯é«˜é€Ÿè‰²æ¨™éŽ–å˜æˆ–兩路編碼器輸入。
  XPCIE1032Hæé…MotionRT7å¯¦æ™‚å…§æ ¸ï¼Œä½¿ç”¨æœ¬åœ°LOCAL接å£é€£æŽ¥ï¼Œé€šéŽé«˜é€Ÿçš„æ ¸å…§äº¤äº’,å¯ä»¥åšåˆ°æ›´å¿«é€Ÿçš„æŒ‡ä»¤äº¤äº’ï¼Œå–®æ¢æŒ‡ä»¤èˆ‡å¤šæ¢æŒ‡ä»¤ä¸€æ¬¡æ€§äº¤äº’時間å¯ä»¥é”到3-5uså·¦å³ã€‚
  ?XPCIE1032H與MotionRT7å¯¦æ™‚å…§æ ¸çš„é…åˆå…·æœ‰ä»¥ä¸‹å„ªå‹¢ï¼š
  1.支æŒå¤šç¨®ä¸Šä½æ©Ÿèªžè¨€é–‹ç™¼ï¼Œæ‰€æœ‰ç³»åˆ—產å“å‡å¯èª¿ç”¨åŒä¸€å¥—API函數庫;
  2.å€ŸåŠ©æ ¸å…§äº¤äº’ï¼Œå¯ä»¥å¿«é€Ÿèª¿ç”¨é‹å‹•指令,響應時間快至微秒級,比傳統PCI/PCIeå¿«10å€;
  3.解決傳統PCI/PCIeé‹å‹•控制å¡åœ¨Windows環境下控制系統的éžå¯¦æ™‚性å•題;
  4.支æŒä¸€ç¶/二ç¶/三ç¶PSO(高速硬件ä½ç½®æ¯”較輸出),é©ç”¨äºŽè¦–覺飛æ‹ã€ç²¾å¯†é»žè† å’Œæ¿€å…‰èƒ½é‡æŽ§åˆ¶ç‰æ‡‰ç”¨;
  5.æä¾›é«˜é€Ÿè¼¸å…¥æŽ¥å£ï¼Œä¾¿äºŽå¯¦ç¾ä½ç½®éŽ–å˜;
  6.支æŒEtherCAT總線和脈沖輸出混åˆè¯å‹•ã€æ··åˆæ’補。
  ?使用XPCIE1032Hå’ŒMotionRT7é€²è¡Œé …ç›®é–‹ç™¼æ™‚ï¼Œé€šå¸¸éœ€è¦é€²è¡Œä»¥ä¸‹æ¥é©Ÿï¼š
  1.安è£é©…動程åºï¼Œè˜åˆ¥XPCIE1032H;
  2.打開并執行文件“MotionRT710.exeâ€ï¼Œé…ç½®åƒæ•¸å’Œé‹è¡Œé‹å‹•æŽ§åˆ¶å¯¦æ™‚å…§æ ¸;
  3.使用ZDevelopè»Ÿä»¶é€£æŽ¥åˆ°æŽ§åˆ¶å™¨ï¼Œé€²è¡Œåƒæ•¸ç›£æŽ§ã€‚連接時請使用PCI/LOCALæ–¹å¼ï¼Œå¹¶ç¢ºä¿ZDevelop軟件版本在3.10以上;
  4.å®ŒæˆæŽ§åˆ¶ç¨‹åºé–‹ç™¼ï¼Œé€šéŽLOCALéˆæŽ¥æ–¹å¼é€£æŽ¥åˆ°é‹å‹•控制å¡ï¼Œå¯¦ç¾å¯¦æ™‚é‹å‹•控制。
  ?與傳統PCI/PCIeå¡å’ŒPLCçš„æ¸¬è©¦æ•¸æ“šçµæžœå°æ¯”:
  我們å¯ä»¥å¾žæ¸¬è©¦å°æ¯”çµæžœçœ‹å‡ºï¼ŒXPCIE1032Hé‹å‹•控制å¡é…åˆå¯¦æ™‚é‹å‹•æŽ§åˆ¶å…§æ ¸MotionRT7,在LOCALéˆæŽ¥(æ ¸å…§äº¤äº’)的方å¼ä¸‹ï¼ŒæŒ‡ä»¤äº¤äº’的效率是éžå¸¸ç©©å®šï¼Œç•¶æ¸¬è©¦æ•¸é‡å¾ž1wå¢žåŠ åˆ°10wæ™‚ï¼Œå–®æ¢æŒ‡ä»¤äº¤äº’æ™‚é–“èˆ‡å¤šæ¢æŒ‡ä»¤äº¤äº’時間波動ä¸å¤§ï¼Œéžå¸¸é©ç”¨äºŽé«˜é€Ÿé«˜ç²¾çš„æ‡‰ç”¨ã€‚XPCIE1032H控制å¡å®‰è£
  §關閉計算機電æºã€‚
ã€€ã€€Â§æ‰“é–‹è¨ˆç®—æ©Ÿæ©Ÿç®±ï¼Œé¸æ“‡ä¸€æ¢ç©ºé–‘çš„XPCIE塿§½ï¼Œç”¨èžºçµ²åˆ€å¸ä¸‹ç›¸æ‡‰çš„æ“‹æ¿æ¢ã€‚
  § å°‡é‹å‹•æŽ§åˆ¶å¡æ’å…¥è©²æ§½ï¼Œæ“°ç·Šæ“‹æ¿æ¢ä¸Šçš„固定螺絲。
  XPCIE1032H驅動安è£èˆ‡å»ºç«‹é€£æŽ¥åƒè€ƒå¾€æœŸæ–‡ç« EtherCAT超高速實時é‹å‹•控制å¡XPCIE1032Hä¸Šä½æ©ŸC#開發(一):驅動安è£èˆ‡å»ºç«‹é€£æŽ¥ã€‚
  一ã€C#語言進行é‹å‹•æŽ§åˆ¶é …ç›®é–‹ç™¼
  1.到æ£é‹å‹•技術官網的下載ä¸å¿ƒé¸æ“‡éœ€è¦çš„平臺庫文件。
  庫文件下載地å€ï¼šhttp://www.zmotion.com.cn/download_list_21.html
  2.解壓下載的安è£åŒ…找到“ Zmcaux.cs â€ï¼Œâ€œ zauxdll.dll â€ï¼Œâ€œ zmotion.dll â€æ”¾å…¥åˆ°é …目文件ä¸ã€‚
(1)“Zmcaux.csâ€æ”¾åœ¨é …ç›®æ ¹ç›®éŒ„æ–‡ä»¶ä¸ï¼Œèˆ‡bin目錄åŒç´šã€‚
  (2)“zauxdll.dllâ€ï¼Œâ€œzmotion.dllâ€æ”¾åœ¨bin → Debug。
  3.用vsæ‰“é–‹æ–°å»ºçš„é …ç›®æ–‡ä»¶ï¼Œåœ¨å³é‚Šçš„解決方案資æºç®¡ç†å™¨ä¸é»žæ“Šé¡¯ç¤ºæ‰€æœ‰ï¼Œç„¶åŽé¼ 標å³éµé»žæ“Šzmcaux.csæ–‡ä»¶ï¼Œé»žæ“ŠåŒ…æ‹¬åœ¨é …ç›®ä¸ã€‚
  4.雙擊Form1.cs里é¢çš„Form1,出ç¾ä»£ç¢¼ç·¨è¼¯ç•Œé¢ï¼Œåœ¨æ–‡ä»¶é–‹é 寫入using cszmcaux,å¹¶è²æ˜ŽæŽ§åˆ¶å™¨å¥æŸ„g_handle。
  二ã€PC函數介紹
  相關PC函數介紹詳情å¯åƒè€ƒâ€œZMotion PC函數庫編程手冊 V2.1.1â€ã€‚
  在formè¨è¨ˆç•Œé¢æ‰¾åˆ°éœ€è¦ç”¨åˆ°çš„æŽ§ä»¶æ‹–拽到窗體ä¸é€²è¡ŒUI界é¢è¨è¨ˆï¼Œæ•ˆæžœå¦‚下。
  三ã€ç›¸é—œç¨‹åºä»¥åŠè¨è¨ˆæ€è·¯
  本次è¨è¨ˆæ“作æ¥é©Ÿç›¸æ‡‰çš„æµç¨‹åœ–å¦‚ä¸‹ï¼š
  本例程以é‹å‹•控制å¡XPLCIE1032Hæè¼‰MotionRT7å¯¦æ™‚å…§æ ¸ï¼Œé€šéŽEthereCATç¸½ç·šå£æŽ¥ç¯€é»ž0(匯å·é©…動器-0軸),節點1(æ£é‹å‹•擴展模塊EIO16084)1-4è»¸æ˜ å°„ç‚ºç¸½ç·šè»¸ç‚ºä¾‹ï¼š
  注æ„:在總線åˆå§‹åŒ–basic程åºï¼Œé©…動器PDOä¸èƒ½è¨ç½®ç‚º-1ï¼Œå› ç‚ºè©²PDO列表ä¸å«æ•¸æ“šå—å…¸6060ï¼Œä¸æ”¯æŒé©…動器回零。
  關于pdo列表的é…置詳細說明,å¯ä»¥æŸ¥é–±basic編程手冊,æœç´¢DRIVE_PROFILE指令。
  1ã€åˆå§‹åŒ–程åºåŸ·è¡ŒåŽï¼Œé€šéŽZAux_Direct_GetUserVar函數接å£ï¼Œå¯ä»¥è®€å–basic程åºè‡ªå®šç¾©çš„變é‡ã€‚
  本節案例ç²å–的是總線åˆå§‹åŒ–æ˜ å°„è»¸æ•¸é‡ã€ç¸½ç·šåˆå§‹åŒ–起始軸號和總線åˆå§‹åŒ–完æˆç‹€æ…‹ã€‚下圖是事先編輯好的basic程åºçš„自定義變é‡ã€‚
  使用定時器將總線軸數é‡ï¼Œç¸½ç·šèµ·å§‹è»¸è™Ÿï¼Œåˆå§‹åŒ–狀態ç‰ç¸½ç·šåˆå§‹åŒ–ä¿¡æ¯é€²è¡Œç²å–更新。
  ·
  //讀å–basic程åºè‡ªå®šç¾©è®Šé‡--總線åˆå§‹åŒ–的總軸數zmcaux.ZAux_Direct_GetUserVar(g_handle, "Bus_TotalAxisnum", ref EcatAxisNum);//讀å–basic程åºè‡ªå®šç¾©è®Šé‡--總線åˆå§‹åŒ–的總線起始軸號zmcaux.ZAux_Direct_GetUserVar(g_handle, "Bus_AxisStart", ref EcatStartAxisNum);//讀å–basic程åºè‡ªå®šç¾©è®Šé‡--總線åˆå§‹åŒ–çš„åˆå§‹åŒ–狀態zmcaux.ZAux_Direct_GetUserVar(g_handle, "Bus_InitStatus", ref EcatInitStatus)
  2ã€ä½¿ç”¨RTsys軟件,點擊軟件èœå–®æ¬„的幫助→Zbasic幫助→æœç´¢ï¼Œæœç´¢DATUM指令,鏿“‡å›žé›¶æ¨¡å¼å¹¶è¨ç½®å›žé›¶æ¨¡å¼å°æ‡‰çš„åƒæ•¸ã€‚å‡è¨å›žé›¶æ¨¡å¼é¸æ“‡çš„æ˜¯13,需è¦è¨ç½®åŽŸé»žé–‹é—œã€é™ä½é–‹é—œã€å›žé›¶é€Ÿåº¦(SPEED)和爬行速度(CREEP)。該模å¼é€²è¡Œå›žé›¶æ™‚軸以SPEED速度æ£å‘é‹è¡Œï¼Œç¢°åˆ°é™ä½é–‹é—œæœƒå呿Ÿ¥æ‰¾åŽŸé»žã€‚æ‰¾åˆ°åŽŸé»žåŽä»¥CREEP速度åå‘爬行,直到離開原點。
  private void Controllers_DatumPara_Button_Click(object sender, EventArgs e){ if (g_handle == (IntPtr)0) { MessageBox.Show("未連接到控制器!", "æç¤º"); } else { //è»¸åŸºæœ¬åƒæ•¸è¨ç½®,控制器回零的速度是SPEED AxisParaSet(); int[] ret = new int[7]; //è¨ç½®å›žé›¶çˆ¬è¡Œé€Ÿåº¦ ret[0] = zmcaux.ZAux_Direct_SetCreep(g_handle, MoveAxis, Convert.ToSingle(Datum_Creep_Value.Text)); //é…置原點信號。ZMC系列默èªOFF時信號有效,常開傳感器需è¦å轉輸入å£ç‚ºON ret[1] = zmcaux.ZAux_Direct_SetDatumIn(g_handle, MoveAxis, Convert.ToInt32(DatumIO_Value.Text)); ret[2] = zmcaux.ZAux_Direct_SetInvertIn(g_handle, Convert.ToInt32(DatumIO_Value.Text), 1); //æ£ç¡¬é™ä½IOè¨ç½® ret[3] = zmcaux.ZAux_Direct_SetFwdIn(g_handle, MoveAxis, Convert.ToInt32(FWD_IO_Value.Text)); ret[4] = zmcaux.ZAux_Direct_SetInvertIn(g_handle, Convert.ToInt32(FWD_IO_Value.Text), 1); //è² ç¡¬é™ä½IOè¨ç½® ret[5] = zmcaux.ZAux_Direct_SetRevIn(g_handle, MoveAxis, Convert.ToInt32(REV_IO_Value.Text)); ret[6] = zmcaux.ZAux_Direct_SetInvertIn(g_handle, Convert.ToInt32(REV_IO_Value.Text), 1); //è¨ç½®æŽ§åˆ¶å™¨å›žé›¶æ¨¡å¼ Controllers_DatumMode = Convert.ToInt32(Controllers_DatumMode_Value.Text); //定義臨時的變é‡è¨˜éŒ„å„個函數的返回值 int FinalRet = -1; for(int i = 0; i < 7; ++i) { FinalRet *= ret[i]; } if (FinalRet == 0) //說明所有函數的返回值都是0,回零ç‰åƒæ•¸å‡è¨ç½®æˆåŠŸ { MessageBox.Show("æŽ§åˆ¶å™¨å›žé›¶åƒæ•¸è¨ç½®æˆåŠŸ!", "æç¤º"); } else { MessageBox.Show("æŽ§åˆ¶å™¨å›žé›¶åƒæ•¸è¨ç½®å¤±æ•—!", "æç¤º"); } }}
  3ã€ä½¿ç”¨ZAux_Direct_Single_Datum函數,函數語法如下:語法:ZAux_Direct_Single_Datum(é€£æŽ¥å¥æŸ„,軸號,控制器回零模å¼)鏿“‡å›žé›¶çš„軸號,模å¼ä»¥åŠè¨ç½®å®Œåƒæ•¸ï¼Œç¢ºèªåƒæ•¸æŒ‰éˆ•ç„¶åŽé»žæ“Šå›žé›¶æŒ‰éˆ•ï¼Œæ¤æ™‚è»¸ä»¥æŽ§åˆ¶å™¨å›žé›¶åƒæ•¸é€²è¡Œå›žé›¶ã€‚
  ·
  private void Controllers_Datum_Button_Click(object sender, EventArgs e){ if (g_handle == (IntPtr)0) { MessageBox.Show("未連接到控制器!", "æç¤º"); return; } int ret = -1; //觸發示波器 zmcaux.ZAux_Trigger(g_handle); //控制器回零 ret = zmcaux.ZAux_Direct_Single_Datum(g_handle, MoveAxis, Controllers_DatumMode); if(ret != 0) { MessageBox.Show("控制器回零啟動失敗!", "æç¤º"); } else { MessageBox.Show("控制器回零啟動æˆåŠŸ!", "æç¤º"); }}
  4ã€æŸ¥é–±é©…動器手冊→回零模å¼ä»‹ç´¹ï¼Œé¸æ“‡é©…動器支æŒçš„回零模å¼(數據å—å…¸6098),然åŽè¨ç½®è©²å›žé›¶æ¨¡å¼çš„回零高速,回零低速ç‰åƒæ•¸ã€‚
ã€€ã€€åœ¨æœ¬æ¬¡ä¾‹ç¨‹é¸æ“‡çš„æ˜¯æ¨¡å¼19,開始回零時原點開關(HW)為0,以è¨ç½®çš„回零高速Speed(50units/s)æ£å‘開始回零,é‡åˆ°åŽŸé»žé–‹é—œ(HW)為1åŽä»¥å›žé›¶ä½Žé€ŸCreep(20units/s)åå‘爬行,直到原點開關(HW)為0æ™‚åœæ©Ÿï¼Œå›žé›¶å®Œæˆã€‚
  private void Drivers_DatumPara_Button_Click(object sender, EventArgs e){ if (g_handle == (IntPtr)0) { MessageBox.Show("未連接到控制器!", "æç¤º"); return; } int ret1, ret2, ret3; //è¨ç½®é©…動器回零高速 ret1 = zmcaux.ZAux_Direct_SetSpeed(g_handle, MoveAxis, Convert.ToSingle(Datum_HighSpeed_Value.Text)); //è¨ç½®é©…動器回零低速 ret2 = zmcaux.ZAux_Direct_SetCreep(g_handle, MoveAxis, Convert.ToSingle(Datum_LowSpeed_Value.Text)); //è¨ç½®é©…動器回零åç§» ret3 = zmcaux.ZAux_BusCmd_SetDatumOffpos(g_handle, (uint)MoveAxis, Convert.ToSingle(Datum_OffSet_Value.Text)); //è¨ç½®é©…å‹•å™¨å›žé›¶æ¨¡å¼ Drivers_DatumMode = Convert.ToInt32(Drivers_DatumMode_Value.Text); if (ret1 == 0 && ret2 == 0 && ret3 == 0) { MessageBox.Show("é©…å‹•å™¨å›žé›¶åƒæ•¸è¨ç½®æˆåŠŸ!", "æç¤º"); } else { MessageBox.Show("é©…å‹•å™¨å›žé›¶åƒæ•¸è¨ç½®å¤±æ•—!", "æç¤º"); }}
  5ã€ä½¿ç”¨ZAux_BusCmd_Datum函數,函數語法如下:語法:ZAux_BusCmd_Datum(é€£æŽ¥å¥æŸ„,軸號,驅動器回零模å¼)鏿“‡å›žé›¶çš„軸號,模å¼ä»¥åŠè¨ç½®å®Œåƒæ•¸ï¼Œç¢ºèªåƒæ•¸æŒ‰éˆ•ç„¶åŽé»žæ“Šå›žé›¶æŒ‰éˆ•ï¼Œæ¤æ™‚è»¸ä»¥é©…å‹•å™¨å›žé›¶åƒæ•¸é€²è¡Œå›žé›¶ã€‚
  ·
  ·
  private void Drivers_Datum_Button_Click(object sender, EventArgs e){ if (g_handle == (IntPtr)0) { MessageBox.Show("未連接到控制器!", "æç¤º"); return; } int ret = -1; //觸發示波器 zmcaux.ZAux_Trigger(g_handle); //驅動器回零 ret = zmcaux.ZAux_BusCmd_Datum(g_handle, (uint)MoveAxis, (uint)Drivers_DatumMode); if (ret != 0) { MessageBox.Show("驅動器回零啟動失敗!", "æç¤º"); } else { MessageBox.Show("驅動器回零啟動æˆåŠŸ!", "æç¤º"); }}
  四ã€é‹è¡Œæ•ˆæžœ
  打開RTsys編程軟件,通éŽLocalé€£æŽ¥åˆ°æŽ§åˆ¶å™¨ï¼ŒåŒæ¥ä¸Šä½æ©Ÿçš„軸ç‰ç‰åƒæ•¸ã€‚ç„¶åŽåœ¨å·¥å…·æ¬„→示波器界é¢ï¼Œæ‰“開示波器觀察波形。
ã€€ã€€é¸æ“‡å¥½æ•¸æ“šæºå’Œç·¨è™Ÿï¼Œé»žæ“Šå•Ÿå‹•;åœ¨ä¸Šä½æ©Ÿç•Œé¢é»žæ“Šå›žé›¶æŒ‰éˆ•,回到RTsysè»Ÿä»¶é»žæ“Šæ‰‹å‹•è§¸ç™¼ï¼Œè§€å¯Ÿå°æ‡‰å›žé›¶æ¨¡å¼çš„æ³¢å½¢ã€‚
  ⊙控制器回零:以模å¼13(軸以SPEED速度æ£å‘é‹è¡Œï¼Œç¢°åˆ°é™ä½é–‹é—œæœƒå呿Ÿ¥æ‰¾åŽŸé»žã€‚æ‰¾åˆ°åŽŸé»žåŽä»¥Creep速度åå‘爬行,直到離開原點)為例,抓å–的圖形如下。
ã€€ã€€âŠ™ç¸½ç·šé©…å‹•å™¨å›žé›¶ï¼šæŸ¥é–±é©…å‹•å™¨æ‰‹å†Šï¼Œé¸æ“‡é©…動器支æŒçš„回零模å¼ã€‚
  這里以模å¼19為例,回零啟動時,原點信號為0,以回零高速(50units/s)æ£å‘回零é‹è¡Œ;當原點信號為1時以回零低速Creep(20units/s)åå‘爬行;冿¬¡é‡åˆ°ä¸‹é™æ²¿å°‡åœæ©Ÿ,回零完æˆã€‚
完整代碼ç²å–地å€
â–¼
  本次,æ£é‹å‹•技術EtherCAT驅動器回零與控制器回零:EtherCAT超高速實時é‹å‹•控制å¡XPCIE1032Hä¸Šä½æ©ŸC#開發(ä¹),就分享到這里。
  更多精彩內容請關注“æ£é‹å‹•å°åŠ©æ‰‹â€å…¬çœ¾è™Ÿï¼Œéœ€è¦ç›¸é—œé–‹ç™¼ç’°å¢ƒèˆ‡ä¾‹ç¨‹ä»£ç¢¼ï¼Œè«‹å’¨è©¢æ£é‹å‹•技術銷售工程師:400-089-8936。
  本文由æ£é‹å‹•技術原創,æ¡è¿Žå¤§å®¶è½‰è¼‰ï¼Œå…±åŒå¸ç¿’,一起æé«˜ä¸åœ‹æ™ºèƒ½åˆ¶é€ æ°´å¹³ã€‚æ–‡ç« ç‰ˆæ¬Šæ¸æ£é‹å‹•æŠ€è¡“æ‰€æœ‰ï¼Œå¦‚æœ‰è½‰è¼‰è«‹æ³¨æ˜Žæ–‡ç« ä¾†æºã€‚
上一篇:應用案例 | PITTMAN Motors為...
下一篇:伺æœé›»æ©Ÿå’Œæ¥é€²é›»æ©Ÿçš„工作狀...
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.hysjfh.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚
相關資訊