摘è¦ï¼šä»‹ç´¹äº†HG-2003åž‹æº«å‡æ¸¬æŽ§ç½®çš„æ¸¬æŽ§å°è±¡å’Œçµæ§‹è¨è¨ˆã€‚詳細討論了è£ç½®ä¸æ‰€é‡‡ç”¨çš„西門åå…¬å¸çš„S7-200åž‹PLCå’ŒPC機之間串行通信程åºçš„è¨è¨ˆèˆ‡å¯¦ç¾ï¼Œå³S7-200梯形圖通信程åºè¨è¨ˆèˆ‡å¯¦ç¾ä¸çš„細節和難點。簡è¦ä»‹ç´¹äº†ä¸Šä½PC機通信程åºçš„è¨è¨ˆã€‚該通信功能的實ç¾ç¢ºä¿äº†è©²è£ç½®çµæ§‹ç°¡å–®ã€å¯é 性高ã€ä¾¿äºŽäºŒæ¬¡é–‹ç™¼ã€‚
é—œéµè©žï¼šRS-232串行通信 å¯ç·¨ç¨‹æŽ§åˆ¶å™¨ è‡ªç”±ç«¯å£æ¨¡å¼ æ•¸æ“šç·©æ²–å€ PC/PPI電纜
HG-2003åž‹æº«å‡æ¸¬æŽ§è£ç½®æ˜¯ç†è€…與我國北京æŸç§‘å¸ç ”ç©¶è¯è¯åˆé–‹ç™¼çš„ä¸€å¥—å°ˆé–€ç”¨äºŽé«˜å£“æ™¶é–˜ç®¡é–¥æº«å‡æª¢æ¸¬è©¦é©—的測控è£ç½®??紤]到PLCåŠå…¶ç¶²çµ¡å·²è¢«å…¬èªç‚ºç¾ä»£æ¸¬æŽ§è£ç½®é–‹ç™¼çš„幾大支柱之一,而且從近幾年的統計數å—來看,PLC產å“在世界范åœå…§çš„產é‡ã€éŠ·é‡é«˜å±…儿¸¬æŽ§å™¨ä»¶æ¦œé¦–ï¼Œå› æ¤ç†è€…æ±ºå®šæœ¬æ¸¬æŽ§ç³»çµ±çš„æ ¸å¿ƒå™¨ä»¶é‡‡ç”¨å¯ç·¨ç¨‹æŽ§åˆ¶å™¨ï¼ˆPLC),其基本功能å¯é€šéŽè»Ÿä»¶ç·¨ç¨‹å¯¦ç¾ã€‚PLC的三大亮點是:(1)集電控ã€é›»å‚³ã€é›»å„€ä¸‰é›»äºŽä¸€é«”;(2ï¼‰ç¶²çµ¡çš„æ€§èƒ½åƒ¹æ ¼æ¯”é«˜ï¼›ï¼ˆ3)å¯é 性高。這些亮點就使得整個測控è¨å‚™çµæ§‹ç°¡å–®ã€å¯é æ€§é«˜ï¼ŒåŒæ™‚也為實ç¾ç³»çµ±æŽ§åˆ¶åŠŸèƒ½çš„äºŒæ¬¡é–‹ç™¼å¥ å®šäº†è‰¯å¥½çš„æŠ€è¡“åŸºç¤Žã€‚æœ¬æ–‡ä¸»è¦è¨Žè«–è¨å‚™ä¸æ‰€é‡‡ç”¨çš„西門åå…¬å¸çš„S7-200åž‹PLCå’ŒPC機之間的串行通信å•題。
1ã€æº«å‡æ¸¬æŽ§ç³»çµ±æ•´é«”介紹
1.1 HG-2003測控è£ç½®çš„æ¸¬æŽ§å°è±¡åŠçµæ§‹
先來介紹一下該溫å‡è©¦é©—測控è£ç½®çš„基本工作æµç¨‹ã€‚10kVé›»æºé€²ç·šç¶“éŽé€²ç·šæ¡†ä¸çš„高壓斷路器CB和高壓隔離開關柜ä¸çš„隔離開關G(用于在è¨å‚™æª¢ä¿®æˆ–ç¶è·æ™‚å½¢æˆä¸€å€‹æ˜Žé¡¯çš„æ–·é»žï¼‰åŽï¼ŒåŠ åœ¨10kV轉æ›è®Šå£“器T1ä¸Šã€‚è©²è®Šå£“å™¨å°‡ä¸‰ç›¸é›»è½‰åŒ–ç‚ºå–®ç›¸é›»ã€‚é€™ä¸»è¦æ˜¯ç”±äºŽåšå¯¦é©—æ™‚è² è¼‰é›»æµå¾ˆå¤§ï¼Œå¦‚果使用三相電æºï¼Œå®¹æ˜“é€ æˆè² è·é›»æµçš„ä¸å¹³è¡¡å¾žè€Œé€ æˆè©¦é©—故障。在轉æ›è®Šå£“器的輸出端(二次å´ï¼‰é€£æŽ¥å–®ç›¸æº«å‡è©¦é©—變壓器T2。該溫å‡è®Šå£“å™¨çš„ä¸€æ¬¡å´æ‡‰åŠ è£ç”¨äºŽç„¡åŠŸåŠŸçŽ‡è£œå„Ÿçš„é›»å®¹æŸœï¼ŒäºŒæ¬¡å´å‰‡é€šéŽæœ‰è¼‰åˆ†æŽ¥é–‹é—œç›´æŽ¥é€£æŽ¥è©¦é©—å“(å³é«˜å£“晶閘管閥)進行溫å‡è©¦é©—。
從基本工作æµç¨‹ä¸é›£çŸ¥é“測控è£ç½®çš„æ¸¬æŽ§å°è±¡ï¼Œæœ¬è£ç½®çš„具體測控å°è±¡å¦‚表1所示。
表1 測控å°è±¡è¡¨
測控è£ç½®çš„物ç†çµæ§‹åˆ†ç‚ºå…©éƒ¨åˆ†ï¼šæ“ä½œæŽ§åˆ¶è‡ºå’Œè©¦å€æŽ§åˆ¶ç®±ã€‚å…¶ä¸ï¼Œè©¦å€æŽ§åˆ¶ç®±å³PLC控制箱被安è£åœ¨è©¦é©—å€çš„隔離開關框內。æ“作控制臺å³PCæ©Ÿäººæ©Ÿè¾¦æ˜¯éžæ›²ç›´æ“作臺則安è£åœ¨æŽ§åˆ¶å®¤å…§ã€‚由于二者之間相è·ç´„40m,所以采用PC/PPIé›»çºœå‚³è¼¸æ¸¬æŽ§ä¿¡è™Ÿæ™‚éœ€åŠ è£ä¸ç¹¼å™¨ã€‚
1.2 HG-2003測控è£ç½®çš„基本功能
æœ¬æ¸¬æŽ§ç³»çµ±çš„åŸºæœ¬åŠŸèƒ½åŒ…æ‹¬ï¼šé–‹é—œåˆ†åˆæŽ§åˆ¶æŒ‡ç¤ºåŠŸèƒ½ï¼›è¨å‚™å’Œè©¦å“çš„éŽæµã€éŽå£“ã€éŽç†±å ±è¦åŠä¿è·åŠŸèƒ½ï¼›å„種æ“作連鎖功能,如電æºé–‹é—œæŸœå…§10kVé›»æºæ–·è·¯å™¨å’Œéš”é›¢é–‹é—œæŸœå…§çš„æ‰‹å‹•éš”é›¢é–‹é—œã€æŽ§åˆ¶å®¤é–€è§¸é»žã€è©¦é©—大廳門觸點間的連鎖ä¿è·åŠŸèƒ½ç‰ï¼Œå¹¶è¨æœ‰ç›¸é—œçš„å ±è¦æç¤ºç•«é¢ã€‚這些功能å¯ä»¥é¿å…æ“ä½œé †åºå‡ºéŒ¯ã€‚
2ã€S7-200通信程åºçš„è¨è¨ˆèˆ‡å¯¦ç¾
2.1 PC機與S7-200的通信方å¼
西門åS7-200 PLC的通信功能較強,有多種通信方å¼å¯ä¾›ç”¨æˆ¶é¸æ“‡ï¼Œå¦‚:單主站方å¼ã€å¤šä¸»ç«™æ–¹å¼ä»¥åŠä½¿ç”¨èª¿åˆ¶è§£èª¿å™¨çš„é 程通信方å¼ç‰ã€‚在本測控è£ç½®ä¸ï¼Œç†è€…采用單主站方å¼ã€‚在é‹è¡ŒWindows或Windows NTæ“作æ“作的個人計算機(PC機)上安è£STEP 7-Micro/WIN32編程軟件åŽï¼ŒPC機就å¯ä½œç‚ºé€šä¿¡ä¸çš„主站。它å¯èˆ‡ä¸€å€‹æˆ–多個從站相連,STEP 7-Micro/WIN 32æ¯æ¬¡å’Œä¸€å€‹S7-200 CPU通信,但å¯ä»¥è¨ªå•網絡上的所有CPU。該通信方å¼çš„硬件é…置為PLC到PC機通信å£çš„電纜連接器,å³å¸¶RS-232å£çš„隔離型PC/PPI電纜,用五個DIPé–‹é—œè¨ç½®æ³¢ç‰¹çŽ‡å’Œå…¶å®ƒé…ç½®é …ã€‚å®ƒæ”¯æŒçš„æ³¢ç‰¹çŽ‡ç‚º9.6kbps或19,2kbps,支æŒçš„å”è°ç‚ºPPIå”è°ã€‚這里并沒有使用PPIå”è°ï¼Œè€Œæ˜¯ä½¿ç”¨PC/PPI電纜和自由端å£é€šä¿¡åŠŸèƒ½ä¾†å¯¦ç¾S7-200 CPU與PCæ©Ÿé–“çš„é€šä¿¡ã€‚è‡ªç”±ç«¯å£æ¨¡å¼æ˜¯è¨ˆç®—機或其它帶有串行通信接å£çš„è¨å‚™èˆ‡S7-200 CPUä¹‹é–“é€šä¿¡çš„ä¸€ç¨®å»‰åƒ¹å’Œéˆæ´»çš„æ–¹æ³•。它以用戶定義的通信å”è°ç‚ºåŸºç¤Žï¼Œé€šéŽä½¿ç”¨ç›¸é—œçš„䏿–·æŒ‡ä»¤å’Œå°ˆç”¨çš„通信指令控制S7-200 CPU通信å£çš„æ“ä½œæ¨¡å¼ï¼Œå¯¦ç¾èˆ‡å¤šç¨®æ™ºèƒ½è¨å‚™çš„連接。

å…·é«”åœ°èªªï¼Œæ‰€è¬‚è‡ªç”±é€šä¿¡ç«¯å£æ¨¡å¼æ˜¯æŒ‡CPU的串行通信接å£å¯ç”±ç”¨æˆ¶ç¨‹åºæŽ§åˆ¶çš„一種通信æ“作模å¼ï¼Œå…¶æ¢¯å½¢åœ–程åºå¯ä»¥ä½¿ç”¨æŽ¥æ”¶å®Œæˆä¸æ–·ã€å—ç¬¦æŽ¥æ”¶ä¸æ–·ã€ç™¼é€å®Œæˆä¸æ–·ã€ç™¼é€æŒ‡ä»¤ï¼ˆXMT)和接收指令(RCVï¼‰ç‰æŽ§åˆ¶é€šä¿¡éŽç¨‹ã€‚在該模å¼ä¸‹ï¼Œé€šä¿¡å”è°å®Œå…¨ç”±ç”¨æˆ¶ç¨‹åºæŽ§åˆ¶ã€‚
CPU處于STOPæ¨¡å¼æ™‚ï¼Œè‡ªç”±é€šä¿¡ç«¯å£æ¨¡å¼è¢«ç¦æ¢ï¼ŒCPU釿–°å»ºç«‹ä½¿ç”¨å…¶å®ƒå”è°çš„通信,例如與編程è¨å‚™çš„é€šä¿¡ã€‚åªæœ‰ç•¶CPU處于RUNæ¨¡å¼æ™‚,æ‰èƒ½ä½¿ç”¨è‡ªç”±é€šä¿¡ç«¯å£æ¨¡å¼ã€‚通éŽå°‡ç‰¹æ®Šå¯„å˜å™¨å—節SM30或SM130çš„å”è°é¸æ“‡åŸŸï¼ˆmm)置1å¯ä»¥å°‡é€šä¿¡ç«¯å£è¨ç½®ç‚ºè‡ªç”±ç«¯å£æ¨¡å¼ï¼Œè™•äºŽè©²æ¨¡å¼æ™‚ä¸èƒ½èˆ‡ç·¨ç¨‹è¨å‚™é€šä¿¡ã€‚
å¯ä»¥ç”¨åæ˜ CPU模塊上的工作方å¼é–‹é—œç•¶å‰ä½ç½®çš„特殊å˜å„²å™¨ä½SM0.7ä¾†æŽ§åˆ¶è‡ªç”±ç«¯å£æ¨¡å¼çš„進入。當SM0.7為1時,工作方å¼é–‹é—œè™•于RUNä½ç½®ï¼Œå¯é¸æ“‡è‡ªç”±ç«¯å£æ¨¡å¼ï¼›ç•¶SM0.7為0時,工作方å¼é–‹é—œè™•于TEMä½ç½®ï¼Œæ‡‰é¸æ“‡PC/PPIå”è°æ¨¡å¼ï¼Œä»¥ä¾¿ç”¨äºŽç·¨ç¨‹è¨å‚™ç›£è¦–或控制CPU模塊的æ“作。
2.2 è‡ªç”±ç«¯å£æ¨¡å¼ä¸‹PLC串行通信程åºçš„編程è¦é»ž
計算機與å¯ç·¨ç¨‹æŽ§åˆ¶å™¨é€šä¿¡æ™‚,為了é¿å…通信ä¸çš„儿–¹çˆç”¨é€šä¿¡ç·šï¼Œä¸€èˆ¬é‡‡ç”¨ä¸»å¾žå·¥ä½œæ–¹å¼ï¼Œå³è¨ˆç®—機為主機,å¯ç·¨ç¨‹æŽ§åˆ¶å™¨ç‚ºå¾žæ©Ÿï¼›åªæœ‰ä¸»æ©Ÿæ‰æœ‰æ¬Šä¸»å‹•發é€è«‹æ±‚å ±æ–‡ï¼Œå¾žæ©Ÿæ”¶åˆ°åŽè¿”å›žéŸ¿æ‡‰å ±æ–‡ã€‚ä¸‹é¢ä¸»è¦è«‡ä¸€è«‡ç·¨ç¨‹éŽç¨‹ä¸æ‡‰æ³¨æ„的幾個å•題。
é¦–å…ˆæ˜¯é›»çºœåˆ‡æ›æ™‚間的處ç†ã€‚å› ç‚ºä½¿ç”¨äº†PC/PPI電纜,所以在S7-200 CPU的用戶程åºä¸æ‡‰è€ƒæ…®é›»çºœçš„åˆ‡æ›æ™‚間。S7-200 CPU接收到RS232è¨å‚™çš„è«‹æ±‚å ±æ–‡åˆ°å®ƒç™¼é€éŸ¿æ‡‰å ±æ–‡çš„延鲿™‚é–“å¿…é ˆå¤§äºŽç‰äºŽé›»çºœçš„åˆ‡æ›æ™‚間。波特率為9600bpså’Œ19200bpsï¼Œé›»çºœçš„åˆ‡æ›æ™‚間分別為2mså’Œ1ms。在梯形圖程åºä¸å¯ç”¨å®šæ™‚䏿–·å¯¦ç¾åˆ‡æ›å»¶æ™‚。
其次就是通信å¯é 性的處ç†ï¼Œæ ¡é©—碼的采用是æé«˜é€šä¿¡å¯é æ€§æœ€å¸¸ç”¨çš„æŽªæ–½ä¹‹ä¸€ã€‚ç”¨å¾—è¼ƒå¤šçš„æ˜¯ç•°æˆ–æ ¡é©—ï¼Œå³å°‡æ¯ä¸€å¹€ä¸çš„第一個å—符(ä¸åŒ…括起始å—ç¬¦ï¼‰åˆ°è©²å¹€ä¸æ£æ–‡çš„æœ€åŽä¸€å€‹å—符作異或é‹ç®—ï¼Œå¹¶å°‡ç•°æˆ–çš„çµæžœï¼ˆå±•哿ˆ–æ ¡é©—ç¢¼ï¼‰ä½œç‚ºå ±æ–‡çš„ä¸€éƒ¨åˆ†ç™¼é€åˆ°æŽ¥æ”¶ç«¯ã€‚接收方接收到數據åŽè¨ˆç®—å‡ºæ‰€æŽ¥æ”¶åˆ°çš„æ•¸æ“šçš„å±•å“æˆ–æ ¡é©—ç¢¼ï¼Œå†èˆ‡ç™¼é€æ–¹å‚³éŽä¾†çš„æ ¡é©—碼比較,如果ä¸åŒï¼Œå¯ä»¥åˆ¤æ–·é€šä¿¡æœ‰èª¤ã€‚
最åŽéœ€æ³¨æ„的是防æ¢èµ·å§‹å—符ã€çµæŸå—符與數據å—ç¬¦çš„æ··æ·†ã€‚å› ç‚ºå ±æ–‡çš„èµ·å§‹å—ç¬¦å’ŒçµæŸå—ç¬¦åªæœ‰8ä½ï¼ŒæŽ¥æ”¶åˆ°çš„å ±æ–‡æ•¸æ“šå€å…§å‡ºç¾èˆ‡èµ·å§‹å—ç¬¦æˆ–çµæŸå—符相åŒçš„æ•¸æ“šå—符的機率很大,這å¯èƒ½æœƒå¼•èµ·å—符混淆?ï¼Ÿæ¢¢æ ½è¯Žlé€å‰å°æ•¸æ“šä½œæŸç¨®è™•ç†ï¼Œä¾‹å¦‚鏿“‡èµ·å§‹å—ç¬¦å’ŒçµæŸå—符為æŸäº›ç‰¹æ®Šçš„值,而將數å—å—符轉化為BCD碼或ASCII碼åŽå†ç™¼é€ï¼Œé€™æ¨£å¯ä»¥é¿å…出ç¾ä¸Šè¿°çš„æƒ…æ³ï¼Œä½†æ˜¯æœƒå¢žåŠ ç·¨ç¨‹çš„å·¥ä½œé‡å’Œæ•¸æ“šå‚³ é€çš„æ™‚間。
2.3 通信程åºä¸é—œéµæŒ‡ä»¤çš„使用與說明
ç™¼é€æŒ‡ä»¤XMT(Transmitï¼‰ç”¨äºŽå•Ÿå‹•è‡ªç”±ç«¯å£æ¨¡å¼ä¸‹æ•¸æ“šç·©æ²–å€ï¼ˆTBL)數據的發é€ï¼ŒæŒ‡ä»¤æ ¼å¼å¦‚圖1æ‰€ç¤ºã€‚é€šéŽæŒ‡å®šçš„通信端å£ï¼ˆPORT),將å˜å„²åœ¨æ•¸æ“šç·©æ²–å€ï¼ˆTBL)ä¸çš„ä¿¡æ¯ç™¼é€ã€‚使ENO=0的錯誤æ¢ä»¶ï¼šSM4.3(é‹è¡Œæ™‚間),0006(間接尋å€ï¼‰ï¼Œ009(在端å£0åŒæ™‚XMT/RCV),000B(在端å£1åŒæ™‚XMT/RCV)。
XMT指令å¯ä»¥æ–¹ä¾¿åœ°ç™¼é€1~255個å—ç¬¦ï¼Œå¦‚æžœæœ‰ä¸æ–·ç¨‹åºé€£æŽ¥åˆ°ç™¼é€çµæŸäº‹ä»¶ä¸Šï¼Œåœ¨ç™¼é€å®Œç·©æ²–å€ä¸çš„æœ€åŽä¸€å€‹å—符時,端å£0æœƒç”¢ç”Ÿä¸æ–·äº‹ä»¶9,端å£1æœƒç”¢ç”Ÿä¸æ–·äº‹ä»¶26??梢员O視發é€å®Œæˆç‹€æ…‹ä½SM4.5å’ŒSM4.6çš„è®ŠåŒ–ï¼Œè€Œä¸æ˜¯ç”¨ä¸æ–·é€²è¡Œç™¼é€ã€‚數據緩沖å€ä¸çš„èµ·å§‹å—ç¬¦å’ŒçµæŸå—符是å¯é¸é …,第一個å—節的“å—ç¬¦æ•¸â€æ˜¯è¦ç™¼é€çš„å—節數,它本身并ä¸ç™¼é€å‡ºåŽ»ã€‚
接收指令RCV(Receive)å¯ä»¥æ–¹ä¾¿åœ°æŽ¥æ”¶ä¸€å€‹æˆ–多個å—ç¬¦ï¼Œæœ€å¤šå¯æŽ¥æ”¶255個å—ç¬¦ã€‚é€šéŽæŒ‡ä»¤çš„通信端å£ï¼ˆPORT),將接收信æ¯å˜å„²åœ¨æ•¸æ“šç·©æ²–å€ï¼ˆTBL)ä¸ã€‚數據緩沖å€ä¸çš„第一個å—節用來累計接收到的å—節數,它本身ä¸èƒ½æŽ¥æ”¶åˆ°ï¼Œèµ·å§‹å—ç¬¦å’ŒçµæŸå—符是å¯é¸é …ã€‚å¦‚æžœæœ‰ä¸æ–·ç¨‹åºé€£æŽ¥åˆ°æŽ¥æ”¶çµæŸäº‹ä»¶ä¸Šï¼Œåœ¨æŽ¥æ”¶å®Œæœ€åŽä¸€å€‹å—符時,端å£0ç”¢ç”Ÿä¸æ–·äº‹ä»¶23,端å£1ç”¢ç”Ÿä¸æ–·äº‹ä»¶24。
使ENO=0的錯誤æ¢ä»¶ï¼šSM86.6å’ŒSM186.6(RCVåƒæ•¸éŒ¯èª¤ï¼‰ï¼ŒSM4.3(é‹è¡Œæ™‚間),0006(音接尋å€ï¼‰ï¼Œ009(在端å£0åŒæ™‚XMT/RCV),000B(在端å£1åŒæ™‚XMT/RCV)。CPU䏿˜¯åœ¨è‡ªç”±ç«¯å£æ¨¡å¼ã€‚
å¯ä»¥ç›£è¦–SM86.6或SM186.6çš„è®ŠåŒ–ï¼Œè€Œä¸æ˜¯ç”¨ä¸æ–·é€²è¡Œå ±æ–‡æŽ¥æ”¶ã€‚SM86.6或SM186.6為éžé›¶æ™‚,RCVæŒ‡ä»¤æœªè¢«æ¿€æ´»æˆ–æŽ¥æ”¶å·²ç¶“çµæŸã€‚æ£åœ¨æŽ¥æ”¶å ±æ–‡æ™‚,它們為0。
ç•¶è¶…æ™‚æˆ–æ ¡é©—éŒ¯èª¤æ™‚ï¼Œè¦è‡ªå‹•䏿¢å ±æ–‡æŽ¥æ”¶åŠŸèƒ½ã€‚å¿…é ˆç‚ºå ±æ–‡æŽ¥æ”¶åŠŸèƒ½å®šç¾©ä¸€å€‹å•Ÿå‹•æ¢ä»¶å’Œä¸€å€‹çµæŸæ¢ä»¶ã€‚
RCV指令å…許通éŽåƒæ•¸è¨å®šé¸æ“‡å ±æ–‡é–‹å§‹æ¢ä»¶å’Œå ±æ–‡çµæŸæ¢ä»¶ï¼Œå³è¨å®šç‰¹æ®Šå˜å„²å™¨å—節SM86~SM94(用于端å£0)和SM186~SM194(用于端å£1)。

å¦å¤–兩個比較é‡è¦çš„æŒ‡ä»¤æ˜¯ç²å–與è¨ç½®é€šä¿¡å£åœ°å€æŒ‡ä»¤ã€‚ç²å–通信å£åœ°å€æŒ‡ä»¤ï¼ˆGET ADDR指令)用來讀å–PORT指定的CPUå£çš„站地å€ï¼Œå¹¶å°‡æ•¸å€¼æ”¾å…¥ADDR指定的地å€ä¸ã€‚è¨ç½®é€šä¿¡å£åœ°å€æŒ‡ä»¤ï¼ˆSET ADDR指令)用來將通信å£ï¼ˆPORT)站地å€è¨ç½®ç‚ºADDR指定的數值。è¨ç½®çš„æ–°åœ°å€ä¸èƒ½æ°¸ä¹…ä¿å˜ï¼Œæ–·é›»åŽåˆä¸Šé›»ï¼Œé€šä¿¡å£åœ°å€å°‡æ¢å¾©ç‚ºä¸Šæ¬¡çš„地å€å€¼ï¼ˆç”¨ç³»çµ±å¡Šä¸‹è¼‰çš„地å€ï¼‰ã€‚圖2為使用RCV指令和接收完æˆä¸æ–·æŽ¥æ”¶æ•¸æ“šçš„é€šä¿¡ç¨‹åºæµç¨‹åœ–。
3ã€è¨ˆç®—機通信程åºçš„è¨è¨ˆèˆ‡å¯¦ç¾
3.1 Windows環境下的PC機通信程åº
在Windows環境下,æ“作系統通éŽé©…å‹•ç¨‹åºæŽ§åˆ¶å„硬件資æºï¼Œä¸å…許用戶åƒåœ¨DOS環境下那樣直接å°ä¸²å£é€²è¡Œåº•層的æ“作。為æ¤ï¼ŒVisual Basicæä¾›äº†ä¸€å€‹ä¸²è¡Œé€šä¿¡æŽ§ä»¶ï¼šMSComm控件。程åºå“¡åªéœ€è¨ç½®å’Œç›£è¦–MSComm控件的屬性和事件,就å¯ä»¥å‹æ˜“而易舉地實ç¾ä¸²è¡Œé€šä¿¡ã€‚
3.2 MSComm控件的屬性
MSComm控件主è¦å±¬æ€§å¦‚下:(1)Comm Port:è¨ç½®å¹¶è¿”回通信端å£è™Ÿã€‚(2)Settings:以å—符的形å¼è¨ç½®å¹¶è¿”回波特率ã€å¥‡å¶æ ¡é©—ä½ã€æ•¸æ“šä½å’Œåœæ¢ä½ã€‚å…¶ä¸å—符nã€oã€eåˆ†åˆ¥ä»£è¡¨ç„¡æ ¡é©—ã€å¥‡æ ¡é©—ã€å¶æ ¡é©—。(3)Port Open:è¨ç½®å¹¶è¿”回通信端å£ç‹€æ…‹ã€‚è¨ç½®ç‚ºTure時,打開端å£ï¼›è¨ç½®ç‚ºFlase時,關閉端å£ã€‚å¦å¤–,還有Inputã€Outputã€Input Modeã€In Buffer Countç‰å±¬æ€§ï¼Œé€™é‡Œä¸å†ä¸€ä¸€ä»‹ç´¹ã€‚
3.2 MSCommæŽ§ä»¶è™•ç†æŽ¥æ”¶ä¿¡æ¯çš„æ–¹å¼
MSComm控件æä¾›å…©ç¨®è™•ç†æ–¹å¼ï¼šï¼ˆ1)事件驅動方å¼ï¼šRTHreshold屬性éž0時,收到å—符或傳輸線發生變化時就會產生串å£äº‹ä»¶On Commã€‚é€šéŽæŸ¥è©¢CommEvent屬性å¯ä»¥æ•ç²å¹¶è™•ç†é€™äº›é€šä¿¡äº‹ä»¶ã€‚(2)查詢方å¼ï¼šé€šéŽæŸ¥è©¢Iuput Buffer Count(接收緩沖å€çš„å—ç¯€æ•¸ï¼‰å±¬æ€§å€¼ï¼Œè™•ç†æŽ¥æ”¶åˆ°çš„ä¿¡æ¯ã€‚本è£ç½®ä¸é‡‡ç”¨äº‹ä»¶é©…å‹•æ–¹å¼ã€‚
用Visual Basic語言è¨è¨ˆä¸²è¡Œé€šä¿¡ç¨‹åºç°¡å–®å¯¦ç”¨ï¼Œé—œéµæ˜¯å¦‚何形æˆä¸€å€‹å‹å¥½çš„用戶界é¢ã€‚編程的細節這里ä¸å†è©³è¿°ã€‚
隨著工æ¥PC機的推出,個人計算機在工æ¥ç¾å ´æ”¯è¡Œçš„å¯é 性å•é¡Œä¹Ÿå¾—åˆ°äº†è§£æ±ºã€‚å› æ¤åœ¨å„類測控è¨å‚™ä¸å¯¦ç¾PLCå’ŒPC機間的串行通信有著é‡å¤§çš„æ„ç¾©ã€‚é€™æ¨£ä¸€æ–¹é¢æœ‰åŠ©äºŽå°‡å€‹äººè¨ˆç®—æ©Ÿé–‹ç™¼æˆç°¡æ˜“工作站或者工作終端,實ç¾é›†ä¸é¡¯ç¤ºã€é›†ä¸å ±è¦åŠŸèƒ½ï¼›å¦ä¸€æ–¹é¢ä¹Ÿå¯æŠŠå€‹äººè¨ˆç®—機開發æˆPLC編程終端,通éŽç·¨ç¨‹å™¨æŽ¥å£æŽ¥å…¥PLC網絡,進行編程ã€èª¿è©¦åŠç›£æŽ§ï¼Œå¹¶æœ€çµ‚é”到PLC測控è¨å‚™çµæ§‹ç°¡å–®ã€é‹è¡Œå¯é ã€ç¶è·å®¹æ˜“ã€ä¾¿äºŽäºŒæ¬¡é–‹ç™¼çš„æŠ€è¡“特點。