時間:2018-01-24 11:05:08來æºï¼šç¶²çµ¡è½‰è¼‰
1ã€å¼•言
隨著微處ç†å™¨ã€è¨ˆç®—機和數å—通信技術的飛速發展,計算機控制已經擴展到了幾乎所有的工æ¥é ˜åŸŸã€‚å…¶ä¸ï¼ŒPLC和單片機在å°è¦æ¨¡æŽ§åˆ¶ç³»çµ±ä¸ç²å¾—了廣泛的應用。
åœ¨å¡‘æ–™æ“ å‡ºæ©Ÿæº«åº¦è‡ªå‹•æŽ§åˆ¶ä¸ï¼Œé¸ç”¨S7-200系列PLC作為主控器件,PIC16F877單片機作為溫度數據采集和模數轉æ›èŠ¯ç‰‡ï¼Œå–®ç‰‡æ©Ÿé€šéŽé€šä¿¡ç«¯å£å°‡æ•¸æ“šå‚³è¼¸çµ¦PLC,由于采用了RS-485æŽ¥å£æ¨™æº–,傳輸è·é›¢å¯é”1000m。PLCç¶“éŽPIDé‹ç®—åŽæŽ§åˆ¶åŠ ç†±åœˆä»¥ä¿æŒæº«åº¦æ’定。下é¢çµåˆå¯¦ä¾‹å°±PLC和單片機的通信實ç¾åšä¸€ä¸‹ä»‹ç´¹ã€‚
2ã€ç¡¬ä»¶æ§‹æˆ
2.1ã€PIC16F877單片機
Microchipå…¬å¸çš„PIC16F877å–®ç‰‡æ©Ÿé‡‡ç”¨å“ˆä½›ç¸½ç·šçµæ§‹å’Œç²¾ç°¡æŒ‡ä»¤é›†æŠ€è¡“,具有功耗低ã€é‹è¡Œé€Ÿåº¦é«˜ã€é©…動能力強和外接電路簡潔的特點。PIC16F877單片機內部集æˆäº†ä¸²è¡Œé€šä¿¡æ¨¡å¡Šå³é€šç”¨åŒæ¥/ç•°æ¥æ”¶ç™¼å™¨USARTæ¨¡å¡Šï¼Œä¸»è¦æ‡‰ç”¨ç›®æ¨™æ˜¯ç³»çµ±ä¹‹é–“çš„é è·é›¢ä¸²è¡Œé€šä¿¡ã€‚USART模塊所需的兩æ¢å¼•腳是RC6å’ŒRC7,如圖1所示,當發é€å…許ä½TXEN被置1,就å¯ä»¥æŠŠç™¼é€æ•¸æ“šå¯«å…¥TXREG寄å˜å™¨ä¾†å®Œæˆç™¼é€ã€‚
2.2ã€S7-200系列PLC
S7-200系列PLC通信端å£é‡‡ç”¨ç•°æ¥ä¸²è¡Œé€šä¿¡æ–¹å¼ï¼Œé€šä¿¡ç«¯å£æ¨™æº–采用平衡驅動ã€å·®åˆ†æŽ¥å—çš„RS485æŽ¥å£æ¨™æº–,å¯ä»¥çµ„æˆåŠé›™å·¥ä¸²è¡Œé€šä¿¡ç¶²çµ¡ï¼Œæ§‹æˆåˆ†å¸ƒå¼ç³»çµ±ï¼Œç³»çµ±ä¸æœ€å¤šå¯ä»¥æœ‰32個站。S7-200支æŒå¤šç¨®ä¸²è¡Œé€šä¿¡å”è°ï¼Œåˆ©ç”¨è‡ªç”±ç«¯å£æ¨¡å¼ï¼Œå¯ä»¥é€šéŽèªžå¥è¡¨æˆ–梯形圖編程,實ç¾ç”¨æˆ¶å®šç¾©çš„通信å”è°ï¼Œå¾ˆæ–¹ä¾¿åœ°é€£æŽ¥ä¸åŒå» 家的智能è¨å‚™ã€‚åœ¨è‡ªç”±ç«¯å£æ¨¡å¼ä¸‹ï¼Œå¯ä»¥é€£çºŒåœ°ç™¼é€æˆ–接收255個å—節以內的數據,這在大塊數據通信時是很方便的。
2.3ã€MAX485E芯片
MAX485E芯片是RS-485æŽ¥å£æ¨™æº–專用通信芯片,如圖1所示,RO腳為數據輸出腳,它接收RS-485的差模信號VAB,并轉æ›ç‚ºTTL電平由RO輸出,RE腳為RO的使能端,低電平時é¸é€šRO,輸出有效。DI腳為數據輸入端,它將TTL電平的數據轉æ›ç‚ºå·®æ¨¡ä¿¡è™ŸVAB,并由Aã€B兩腳輸é€å‡ºåŽ»ï¼ŒDE是DI使能端,高電平é¸é€šDI,輸入有效。故Aã€B兩腳既是RS-485ä¿¡è™Ÿè¼¸å…¥ç«¯ï¼ŒåŒæ™‚ä¹Ÿæ˜¯è©²ä¿¡è™Ÿçš„è¼¸å‡ºç«¯ï¼Œé—œéµæ˜¯ç”±ä½¿èƒ½ç«¯REã€DE的電平來決定。
2.4ã€ç¡¬ä»¶é€£æŽ¥åœ–
S7-200PLC采用RS-485æŽ¥å£æ¨™æº–,接收差模信號,而PIC16F877單片機的輸出為TTLé›»å¹³ï¼Œæ‰€ä»¥äºŒè€…åœ¨é€šä¿¡æ™‚å¿…é ˆå…ˆé€²è¡Œè½‰æ›ï¼Œæœ¬ç³»çµ±é‡‡ç”¨MAX485E芯片作為轉æ›èŠ¯ç‰‡ï¼Œç¡¬ä»¶é€£æŽ¥å¦‚åœ–1所示。由PIC16F877單片機的RC4鏿“‡æ•¸æ“šçš„輸入或輸出。
圖1硬件連接圖
3ã€é€šä¿¡å”è°
æœ¬é …ç›®ä¸ç”±äºŽPIC16F877å–®ç‰‡æ©Ÿåªæ˜¯ç™¼é€æ•¸æ“šï¼ŒPLC單純接收數據,所以采用單工串行通信。PLCé‡‡ç”¨è‡ªç”±ç«¯å£æ¨¡å¼å”è°ï¼Œå”è°ç”±èªžå¥è¡¨ç·¨ç¨‹å¯¦ç¾;單片機使用USART模塊的異æ¥ç™¼é€æ¨¡å¼ï¼Œå”è°ç”¨åŒ¯ç·¨èªžè¨€ç·¨ç¨‹å¯¦ç¾ã€‚ç”±PIC16F877單片機的發é€ç·©æ²–çµæ§‹å¯çŸ¥ï¼Œä¸€æ¬¡åªèƒ½é€£çºŒç™¼é€å…©å€‹å—節的數據,故PLC采用å—符接收完æˆä¸æ–·æ¯”è¼ƒæ–¹ä¾¿ã€‚æŽ¥å£æ¨™æº–采用與PLCå´ä¸€è‡´çš„RS-485,接é 采用9é‡D形連接器,傳輸線采用å±è”½é›™çµžç·šï¼Œå–®ç‰‡æ©Ÿå´çš„ç™¼é€æ•¸æ“šéœ€ç¶“轉æ›åŽå†ç™¼é€ã€‚
å—ç¬¦ä¿¡æ¯æ ¼å¼ç‚ºï¼š1ä½èµ·å§‹ä½ï¼Œ8使•¸æ“šä½ï¼Œç„¡æ ¡é©—ä½ï¼Œ1ä½åœæ¢ä½ã€‚
ç•°æ¥é€šä¿¡çš„å—ç¬¦ä¿¡æ¯æ ¼å¼å¦‚圖2所示。
圖2å—ç¬¦ä¿¡æ¯æ ¼å¼
數據ä½çš„發é€é †åºç‚ºä½Žä½åœ¨å‰ï¼Œé«˜ä½åœ¨åŽã€‚
ç•°æ¥é€šä¿¡çš„å‚³è¼¸é€ŸçŽ‡å³æ³¢ç‰¹çއ鏿“‡ç‚º38400bit/s。為æé«˜æ•¸æ“šå‚³è¼¸çš„å¯é æ€§ï¼Œé‡‡ç”¨ç•°æˆ–æ ¡é©—ï¼Œå ±æ–‡é‡‡ç”¨å®šé•·ç™¼é€ï¼Œå‰å››å€‹å—節åƒåŠ ç•°æˆ–æ ¡é©—ï¼Œå ±æ–‡çš„æœ€åŽä¸€å€‹å—ç¯€ç‚ºæ ¡é©—ç¢¼ã€‚PIC16F877單片機的模數轉æ›ç²¾åº¦ç‚º10ä½ï¼Œæ•…溫度值采用雙å—節ä¿å˜ã€‚å ±æ–‡å¹€æ ¼å¼å¦‚表1所示。
表1å ±æ–‡å¹€æ ¼å¼
4ã€åˆå§‹è¨ç½®
4.1ã€PIC16F877å–®ç‰‡æ©Ÿç™¼é€æ•¸æ“šåˆå§‹è¨ç½®
PIC16F877單片機內部集æˆçš„USART模塊使用的波特率應該和S7-200PLC相åŒï¼Œç•¶é‡‡ç”¨é«˜é€Ÿæ³¢ç‰¹çŽ‡æ™‚ï¼Œæ³¢ç‰¹çŽ‡å¯„å˜å™¨SPBRG由下å¼è¨ˆç®—:
SPBRG=F/(16&TImes;波特率)-1
å¼ä¸ï¼šF———單片機時é˜é »çŽ‡ã€‚
單片機的數據ä½ã€æ ¡é©—ä½ã€åœæ¢ä½è¦å’ŒPLC統一。
PIC16F877單片機最多åªèƒ½é€£çºŒç™¼é€å…©å€‹å—節的數據。其åˆå§‹è¨ç½®åŒ¯ç·¨èªžè¨€ç¨‹åºå¦‚下:
LISTP=16F877A;彿Œ‡ä»¤
INCLUDE“P16F877A.INCâ€;彿Œ‡ä»¤
;-------------------é«”1è¨ç½®å程åº-------------------
T1BCFSTATUS,RP1;
BSFSTATUS,RP0;體1
MOVLWD′5′;38400bit/s
MOVWFSPBRG;
MOVLWB′00100100′;ç•°æ¥ï¼Œç™¼é€ä½¿èƒ½
MOVWFTXSTA;高速,8使•¸æ“š
MOVLWB′11101111′;RC6,RC7,
MOVWFTRISC;RC4通信
CLRFINTCON;ç¦æ¢ä¸æ–·
RETURN;å程åºè¿”回
;-------------------é«”0è¨ç½®å程åº-------------------
T0BCFSTATUS,RP0;體0
BSFPORTC,4;RC4=1通信
MOVLWB′10000000′;使能串å£
RETURN;å程åºè¿”回
4.2S7-200PLC接收數據åˆå§‹è¨ç½®
CPU處于STOPæ¨¡å¼æ™‚ï¼Œè‡ªç”±ç«¯å£æ¨¡å¼è¢«ç¦æ¢ï¼Œä½¿ç”¨å…¶å®ƒæ¨¡å¼çš„通信,例如與編程è¨å‚™çš„é€šä¿¡ã€‚åªæœ‰CPU處于RUNæ¨¡å¼æ™‚,æ‰èƒ½ä½¿ç”¨è‡ªç”±ç«¯å£æ¨¡å¼ã€‚如果使用通信端å£0通信,將通éŽç‰¹æ®Šå˜å„²å™¨SMB30進行åˆå§‹è¨ç½®ã€‚
Network1
LDSM0.7//若為RUN模å¼
EU//ä¸Šå‡æ²¿
OSM0.1//或首次掃æ
MOVB16#01,SMB30//38400bit/s,8,N,1
ATCHINT0,8//䏿–·èˆ‡int0連接
ENI//å…è¨±ä¸æ–·
Network2
LDNSM0.7//è‹¥éžRUN模å¼
EU//ä¸Šå‡æ²¿
RSM30.0,1//è¨ç½®ç‚ºPPIå”è°
DTCH8//ç¦æ¢ä¸æ–·
5ã€é€šä¿¡ç¨‹åº
5.1ã€PIC16F877å–®ç‰‡æ©Ÿç™¼é€æ•¸æ“šé€šä¿¡ç¨‹åº
å ±æ–‡é‡‡ç”¨å®šé•·ç™¼é€ï¼Œæ¯ä¸€å¹€å ±æ–‡ç”±äº”個å—節組æˆï¼Œæ¯ä¸€æº«åº¦å€¼éƒ½ç¶“æ•¸å—æ¿¾æ³¢åŽå†ç™¼é€ã€‚由于溫度值變化緩慢,å°é€šä¿¡çš„å¯¦æ™‚æ€§è¦æ±‚è¼ƒä½Žï¼Œåœ¨ç™¼é€æ•¸æ“šé€šä¿¡ç¨‹åºä¸åŠ å…¥äº†è¼ƒå¤šçš„å»¶æ™‚ç¨‹åºã€‚由于波特率時é˜ä¾è³´äºŽç³»çµ±æ™‚基振蕩器,所以單片機進入ç¡çœ 狀態時ä¸èƒ½é€²è¡Œç•°æ¥é€šä¿¡ã€‚單片機發é€Nå€‹æ¸¬æº«é»žæº«åº¦æ•¸æ“šé€šä¿¡ç¨‹åºæµç¨‹åœ–如圖3所示。
圖3å–®ç‰‡æ©Ÿç¨‹åºæµç¨‹åœ–
5.2ã€S7-200PLC接收數據通信程åº
PLC采用å—符接收完æˆä¸æ–·æŽ¥æ”¶æ•¸æ“šï¼Œé€šéŽèµ·å§‹å—ç¯€åˆ¤æ–·æŽ¥æ”¶æ•¸æ“šå¹€çš„é–‹å§‹ï¼Œç”±æ•¸æ“šé•·åº¦æ±ºå®šæŽ¥æ”¶æ•¸æ“šå¹€çš„çµæŸï¼Œé‡‡ç”¨ç•°æˆ–æ ¡é©—æé«˜æŽ¥æ”¶æ•¸æ“šçš„å¯é 性,S7-200PLC在接收完一幀數據åŽè¨ˆç®—å‡ºæŽ¥æ”¶åˆ°æ•¸æ“šçš„ç•°æˆ–æ ¡é©—ç¢¼ï¼Œå¹¶èˆ‡å–®ç‰‡æ©Ÿå‚³é€éŽä¾†çš„æ ¡é©—碼比較,如果ä¸åŒå°±èˆæ£„,ä¸è¦æ±‚é‡ç™¼ã€‚本應用ä¸å‚³é€æ•¸æ“šç‚ºæº«åº¦å€¼ï¼Œèˆæ£„åŽæŽ¥æ”¶ä¸‹ä¸€å€‹æ•¸æ“šå³å¯ã€‚PLCæŽ¥æ”¶æ•¸æ“šé€šä¿¡ç¨‹åºæµç¨‹åœ–如圖4~圖6所示。
6ã€çµè«–
ç”±PIC16F877單片機和S7-200PLC組æˆçš„串行通信系統,采用平衡驅動ã€å·®åˆ†æŽ¥æ”¶çš„RS-485æŽ¥å£æ¨™æº–,與TTLé›»å¹³å…¼å®¹ï¼Œå…·æœ‰é–‹ç™¼ç°¡å–®ã€æˆæœ¬ä½Žçš„優點,經éŽè©¦ç”¨è‰æ˜Žæ€§èƒ½ç©©å®šã€é‹è¡Œå¯é ã€æŠ—å¹²æ“¾èƒ½åŠ›å¼·ã€‚å¦‚æžœéœ€è¦ï¼Œä¹Ÿå¯ä»¥é€²è¡ŒåŠé›™å·¥é€šä¿¡æˆ–略作改動組æˆå¤šæ©Ÿé€šä¿¡ç¶²çµ¡ã€‚
標簽:
上一篇:OPC技術的PC與西門åPLC的實...
下一篇:采用PLC解決車輛分散驅動的åŒ...
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.siyutn.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚
相關資訊