劃線è£ç½®èˆ‡è¥¿é–€å840DSL 數控系統的 TCP 通訊
  1 é …ç›®èƒŒæ™¯
ã€€ã€€æ¦æ¼¢é‡åž‹æ©ŸåºŠé›†åœ˜æœ‰é™å…¬å¸ç”Ÿç”¢åˆ¶é€ çš„æŸå°ˆç”¨æ•¸å— é–‹å”系統,在主機動力é ä¸Šå®‰è£æœ‰å™´å¢¨åŠƒç·šè£ç½®ï¼Œè©²åŠƒç·š è£ç½®æ˜¯ç„¡éŒ«æ–°é–ƒè¯ä¿¡æ¯ç§‘技有é™å…¬å¸æ‡‰æ¦é‡è¦æ±‚特殊定制 的新型產å“ï¼Œèƒ½å¤ å¯¦ç¾åŠƒç·šè£ç½®çš„自動抓å–,å°å·¥ä»¶çš„æ‰¾ æ£ã€åŠ å·¥å”的定ä½ã€ä½™é‡çš„判定ç‰å…·æœ‰å¼•導作用,是整個 數å—é–‹å”ç³»çµ±è‡ªå‹•åŒ–åŠ å·¥çš„é‡è¦ä¸€ç’°(圖1)。
劃線è£ç½®å™´å¢¨è»Ÿä»¶çš„æ•¸æ“šé€šè¨Šæ–¹å¼ç‚ºSocket(TCP/ IP),端å£è™Ÿç‚ºï¼š8045。噴墨軟件為Server端,噴墨軟件
啟動åŽï¼ŒClientå³å¯é€£æŽ¥ã€‚編碼方å¼ï¼šUTF-8。16進制末尾 åŠ æ›è¡Œç¬¦ç‚º0D0A。
ã€€ã€€å™´å¢¨è»Ÿä»¶çš„ä¸»è¦æŽ§åˆ¶è¦æ±‚有:啟動打å°ã€åœæ¢æ‰“å° (表1)。
  該劃線è£ç½®é™¤å™´å¢¨è»Ÿä»¶éœ€è¦å•Ÿå‹•åŠåœæ¢å¤–,還需è¦å™´ å¢¨çš„ç¡¬è§¸ç™¼ä¿¡è™Ÿï¼Œåœ¨åˆæ¬¡è¨è¨ˆæ™‚ä¾é NCUçš„PLC 來控制繼電器的觸點來實ç¾ï¼Œä½†éœ€è¦åœ¨ä¸»æ©Ÿå‹•力é 與劃線è£ç½®ä¸Šå¢žåŠ é¡å¤–çš„å°æŽ¥æ’é 來實ç¾ï¼Œè©²æ©ŸåºŠç„¡æ³•å†å¢žåР尿ޥæ’é ,為 æ¤é€²è¡Œäº†æ”¹é€²è¡Œæ€§è¨è¨ˆï¼Œåœ¨åŠƒç·šè£ç½®å…§å¢žåŠ äº†åŒ—äº¬ç§‘ç‘žèˆˆ æ¥ç§‘技有é™å…¬å¸çš„K-8623E系列以太網測控模塊(圖2),
通éŽTCPå”è°å¯¦ç¾æ•¸å—é‡è¼¸å…¥è¼¸å‡ºçš„監控。無論是噴墨軟 件,還是噴墨的硬觸發物ç†ä¸Šå‡åªéœ€è¦ä¸€æ ¹ç¶²ç·šï¼Œå¤§å¤§åœ° 簡化了控制線路。
  以太網測控的通訊方å¼ç‚ºSocket(TCP/IP)ï¼Œç«¯å£ è™Ÿé»˜èªç‚º8000å’Œ502,該IOå¡ç‚ºServer端,IOå¡å•Ÿå‹•åŽï¼Œ
  Clientå³å¯é€£æŽ¥ã€‚編碼方å¼ï¼šUTF-8。PLCæˆ–ä¸Šä½æ©Ÿç‚ºClient 端。通éŽTCPé€šè¨Šä¸‹ç™¼å•Ÿå‹•å°æ‡‰è¼¸å‡ºé»žï¼Œæ¯”如發é€â€œ@ A1@â€æŽ§åˆ¶è¼¸å‡ºé»ž1打開。當輸入點有信號輸入時,IOå¡ç™¼ é€å°æ‡‰å—符到Client端。例如當輸入點2有信號輸入時,IO å¡å‘Client端發é€â€œ@b2@â€ã€‚
  IO塿•¸å—é‡è¼¸å‡ºé»ž1ã€2ã€3æŽ§åˆ¶ä¸Šä½æ©Ÿå™´å¢¨å‹•作,分別 定義為:噴墨觸發ã€UV燈ã€é–ƒå™´ã€‚
  IO塿•¸å—é‡è¼¸å…¥1ã€2 æ”¶ä¾†è‡ªä¸Šä½æ©Ÿçš„信號定義為缺墨 å ±è¦ã€å™´ç¢¼å®Œæˆ(表2)。
  2 TCP通訊連接的網絡è¨ç½®
  (1)840DSL數控系統的é…ç½®
  æ¦é‡ç ”制的數å—專用開å”專機具有找æ£ç³»çµ±ã€æ©Ÿå™¨è¦– 覺系統ã€åŠƒç·šè£ç½®ç‰å¤šç¨®è‡ªå‹•化è¨å‚™ï¼Œæ‰€æœ‰çš„自動化è¨å‚™ å‡é€šéŽäº¤æ›æ©Ÿèˆ‡NCUçš„X130網絡端å£é€£æŽ¥ï¼Œå¯¦ç¾S7通訊〠TCP通訊ç‰ï¼Œç‚ºæ¤éœ€è¦å°X130å£é€²è¡Œé…置,é‡å°åŠƒç·šè£ç½® 需è¦å°‡ç«¯å£8045ã€8000ã€502æ·»åŠ è‡³é˜²ç«å¢»ä¾‹å¤–。å°X130 å£çš„網絡接å£çš„定義é…置,å¯ä»¥é€šéŽWinSCP軟件開å¡CF里 的定義文件來完æˆï¼Œä¹Ÿå¯ä»¥é€²å…¥åˆ°840DSL數控系統內置的 HMI來完æˆï¼Œé€²å…¥å…§ç½®çš„HMIå¯è¦–化效果更好,如圖3ã€åœ–4 所示。該機床X130çš„IP地å€è¨ç‚º192.168.100.10。
  (2)S7-300 TCP 連接PLCå´é…ç½®
  打開S7-300 PLC 工程文件,點擊èœå–®æ¬„“Optionâ€ä¸‹ 拉列表的“Configure Networkâ€çš„é¸é …,進入到網絡é…ç½® 界é¢(圖5)。
  在網絡é…置界é¢ä¸ï¼Œé»žæ“Šâ€œCPU 317F-3 PN/DPâ€ï¼Œ
  圖 3 X130 ç¶²å£ IP 地å€é 覽
  圖 4 X130 ç¶²å£ç«¯å£é…ç½®
  圖 5 S7-300:Configure Network
  圖 6 S7-300:創建 TCP 連接
  圖 7 S7-300 PLC 作客戶端主動連接
  分別創建兩個“TCP Connectionâ€ï¼ŒID號分別為1å’Œ2。 由于劃線è£ç½®å’Œä»¥å¤ªç¶²æ¸¬æŽ§æ¨¡å¡Šå‡ä½œæœå‹™å™¨,NCUçš„PLC 作客戶端,故兩個“TCP Connectionâ€çš„連接屬性å‡éœ€è¦ é¸ä¸â€œActive connection establishmentâ€(圖6)。通 éŽä½¿ç”¨TCP IP仿真工具測試,840DSL數控系統內置的S7- 300也能作æœå‹™å™¨èˆ‡ä¸Šä½æ©Ÿé€²è¡Œé€šè¨Šï¼Œæ¤æ™‚ä¸å‹¾é¸â€œActive connection establishmentâ€å³å¯(圖7)。
  TCP連接1是PLC與劃線è£ç½®å™´å¢¨è»Ÿä»¶çš„通訊,其IPåœ°å€ åŠç«¯å£å¦‚圖8(a)所示。
  TCP連接2是PLC與以太網測控模塊的通訊,其IP地å€åŠ ç«¯å£å¦‚圖8(b)所示。
  在é…置完網絡組態åŽéœ€è¦å°‡å…¶ä¸‹è¼‰è‡³PLCä¸ï¼Œåœ¨ä¸‹è¼‰çš„ éŽç¨‹ä¸å»ºè°PG與PLC的網線連接至X130å£ï¼Œå¹¶åœ¨ç¶²çµ¡é…ç½® 界é¢ä¸‹é€²è¡Œä¸‹è¼‰ï¼Œä¸è¦åœ¨ç¡¬ä»¶çµ„æ…‹ä¸çš„界é¢ä¸‹é€²è¡Œä¸‹è¼‰ï¼Œ å¦å‰‡å¯èƒ½æœƒä¸‹è¼‰å¤±æ•—,導致實際的網絡組態未進行更改;
  圖 8(a) TCP 連接 1 çš„ IP 地å€åŠç«¯å£è¨ç½®
  圖 8(b) TCP 連接 2 çš„ IP 地å€åŠç«¯å£è¨ç½®
  å¦å¤–在下載éŽç¨‹ä¸éœ€è¦è€å¿ƒç‰å¾…,若未ç‰å¾…ä¸‹è¼‰è‡ªçµæŸè€Œ é‡å•Ÿäº†PLC,則很å¯èƒ½å¼•èµ·PLCæ»æ©Ÿï¼Œæ¤åŽåˆéœ€é€²è¡ŒPLC的總 清æ¢å¾©ï¼Œç”šæ˜¯éº»ç…©ã€‚
  3 PLC程åºçš„編寫
  840DSL æä¾›æ¨™æº–çš„FC1005功能塊,將數據傳輸至 以太網CP以åŠFC1006功能塊,從以太網CPæŽ¥å—æ•¸æ“šï¼Œåœ¨ 《SINUMERIK 840D sl基本功能》手冊ä¸ï¼Œæœ‰å°å…©å€‹åŠŸèƒ½å¡Šçš„ æè¿°ï¼Œåœ¨èª¿ç”¨åŠŸèƒ½å¡Šçš„éŽç¨‹ä¸ï¼Œéœ€è¦æ³¨æ„兩點:1 IDè™Ÿçš„è¨ ç½®ï¼Œè©²ID號與PLCç¡¬ä»¶ç¶²çµ¡çµ„æ…‹ä¸æ‰€è¨ç½®çš„IDè™Ÿä¸€ä¸€å°æ‡‰ã€‚2 其功能塊的接å£åƒæ•¸LADDR:= W#16#8110,是基于840DSL 數控系統的固定值,其è¨å®šå€¼èˆ‡é€šç”¨æ€§PLCä¸ä¸€æ¨£ã€‚
  從劃線è£ç½®å’Œä»¥å¤ªç¶²æ¸¬æŽ§æ¨¡å¡Šçš„æŽ¥å£éœ€æ±‚分æžï¼ŒPLC èˆ‡ä¸Šä½æ©Ÿçš„通訊,其數據內容å‡ç‚ºå—ç¬¦ä¸²æ ¼å¼ã€‚é‡å°å™´ 墨軟件其控制æµç¨‹å¦‚下:當NC執行M64代碼時,將å—符 串“@StartPrint@$R$Lâ€å˜å„²åˆ°å¾…ç™¼é€æ•¸æ“šå€;而當NC 執行M65代碼時,將å—符串“@StopPrint@$R$Lâ€å˜å„²åˆ° å¾…ç™¼é€æ•¸æ“šå€;該數據傳輸éŽç¨‹ä¸å®ŒæˆåŽï¼Œç¶“éŽFC1005 功能塊將待發數據傳輸至以太網CP,劃線è£ç½®æŽ¥æ”¶åˆ°â€œ@ StartPrint@$R$Lâ€æ•¸æ“šæ™‚å°‡å•Ÿå‹•å™´å¢¨è»Ÿä»¶ï¼ŒæŽ¥æ”¶åˆ°â€œ@ StopPrint@$R$Lâ€æ•¸æ“šæ™‚å°‡åœæ¢å™´å¢¨è»Ÿä»¶(圖9)。在S7- 300 PLC ä¸å®šç¾©çš„DB數據塊ä¸ï¼ŒString類型的Byte0用于 å˜å„²å—符串的長度,Byte1用于å˜å„²å—符串的實際長度,自 Byte2å—節開始æ‰ç‚ºå—符串的實際內容。
  為了實ç¾å—符串的復制功能,å¯å¼•用西門åS7-300 標準庫“Standard Libraryâ€ä¸çš„“TI-S7 Converting Blocksâ€ä¸çš„FC81(IBLKMOV)功能塊,在實際使用ä¸ç‚º 了ä¸èˆ‡PLCé …ç›®ä¸çš„其它塊相沖çªï¼Œå¾žæ¨™æº–庫復制åŽéœ€è¦é‡å‘½å。
  圖 9 å•Ÿå‹•åœæ¢å™´å¢¨è»Ÿä»¶æµç¨‹åœ–
  圖 10 Pointer æ•¸æ“šé¡žåž‹çš„æ ¼å¼
  FC81的輸入接å£â€œS_DATAâ€ã€â€œLENâ€ã€â€œD_DATAâ€åƒ 數皆為“Pointerâ€é¡žåž‹ï¼Œå…±å 用6個å—節,“Pointerâ€æŒ‡é‡ é¡žåž‹æ ¼å¼å¦‚圖10所示。
  其ä¸Byte0å’ŒByte1用來表示數據塊(DB)的編號, 如果指å‘çš„å˜å„²å€ä¸æ˜¯DB塊,則值為0;Byte2是è¦è¨ªå•çš„ å˜å„²å€çš„代碼(Memory Area Code);Byte3的低3ä½ã€ Byte4å’ŒByte5的高5ä½ç”¨ä¾†è¡¨ç¤ºè®Šé‡çš„å—節地å€;Byte5çš„ 低3ä½è¡¨ç¤ºè®Šé‡çš„ä½çš„地å€ã€‚
  在PLCä¸å‰µå»ºDB652數據塊,如圖11所示。å—符串 “StartPrintStrâ€ä¸çš„åˆå§‹å€¼ç‚ºâ€œ@StartPrint@$R$Lâ€ï¼Œ å—ç¬¦ä¸²çš„é¦–åœ°å€æŒ‡é‡ç‚º#P0.0,;å—符串“StopPrintStrâ€ä¸ çš„åˆå§‹å€¼ç‚ºâ€œ@StopPrint@$R$Lâ€ï¼Œå—ç¬¦ä¸²çš„é¦–åœ°å€æŒ‡é‡ 為P#64.0。兩種情æ³ä¸‹å…·æœ‰å¯¦éš›å—符信æ¯çš„地å€åˆ†åˆ¥ç‚º P#2.0, P#66.0。å‘ä¸Šä½æ©Ÿç™¼é€æ•¸æ“šçš„æ•¸ “Sendataâ€çš„首 地å€ç‚ºP#136.0。
  // StartPrint,FC651çš„æºæ•¸æ“š L 652
  T DB652.DBW 266 //指定DB數據號
  L P#DBX 2.0
  T DB652.DBD 268
  //StopPrint,FC651çš„æºæ•¸æ“š L 652
  T DB652.DBW 272 L P#DBX 66.0
  T DB652.DBD 274
  // FC651的目標數據,發é€çµ¦ä¸Šä½æ©Ÿ L 652
  T "LineationData".SendDataDBNum L P#DBX 136.0
  T "LineationData".SendDatatDBPtrValue
  調用“IBLKMOVâ€åŠŸèƒ½å¡Šå¯¦ç¾å—ç¬¦ä¸²å¾©åˆ¶åŠŸèƒ½çš„ç¨‹åºæ®µ 如圖12所示。
  西門å840DSL數控系統的FC1005ã€FC1006與S7 - 300 PLC ä¸â€œSIMATIC_NET_CPâ€æ¨™æº–庫ä¸çš„FC5(AG_ SEND)ã€FC6(AG_RECV)大體相似。