摘 è¦ï¼šæœ¬æ–‡ä»‹ç´¹äº†åŸºäºŽModbus通訊å”è°çš„Rs-485總線在é…電控制系統ä¸çš„æ•´é«”çµæ§‹ï¼Œå¹¶ä¸”é‡é»žé—¡è¿°äº†Rs-485總線ç¾å ´æ™ºèƒ½ç¯€é»žï¼ˆä»¥æ£æ³°é›»å™¨è‚¡ä»½å…¬å¸ç”Ÿç”¢çš„NST1-H型智能控制器為例)的硬件電路實ç¾åŠè»Ÿä»¶æµç¨‹è¨è¨ˆçš„æ–¹æ³•。
é—œéµè©žï¼šModbuså”è°; Rs-485總線; 智能控制器
引言
  隨著輸é…電自動化程度越來越高,傳統的輸é…é›»æ“作和控制方å¼å·²ä¸å†é©æ‡‰ç•¶ä»Šçš„ç™¼å±•è¦æ±‚,自動化控制系統得到越來越多的é‹ç”¨ã€‚RS-485å› ç¡¬ä»¶è¨è¨ˆç°¡å–®ã€æŽ§åˆ¶æ–¹ä¾¿ã€æˆæœ¬ä½Žå»‰ç‰å„ªé»žå»£æ³›æ‡‰ç”¨äºŽå·¥å» 自動化ã€å·¥æ¥æŽ§åˆ¶ç‰é ˜åŸŸã€‚å› æ¤é‡å°ç•¶å‰è¼¸é…電行æ¥çš„è¨å‚™ç¾ç‹€å’Œç™¼å±•需è¦ï¼Œæœ¬æ–‡å°‡ä»‹ç´¹ä¸€ç¨®åŸºäºŽMODBUS通訊å”è°çš„ Rs-485總線技術進行通信的智能斷路器控制系統。
æŽ§åˆ¶ç³»çµ±æ•´é«”çµæ§‹
  基于Rs-485總線的é…電自動化控制系統由智能斷路器ã€ç›£æŽ§è¨ˆç®—機和Rs-485控制網絡3部分構æˆã€‚
  智能斷路器是直接é¢å‘é‹è¡Œç¾å ´çš„æ™ºèƒ½ç¯€é»žï¼Œå…¶æ ¸å¿ƒæŽ§åˆ¶å™¨ä»¶æ™ºèƒ½æŽ§åˆ¶å™¨ï¼Œä¸»è¦åŠŸèƒ½æ˜¯é‡‡é›†ç¾å ´é›»æµã€é›»å£“ã€é »çއåŠåŠŸçŽ‡å› ç´ ç‰æ•¸å€¼ï¼ŒæŒ‰ç…§ä¸€å®šçš„æŽ§ç®—方法å°é…電控制回路的斷路器進行控制æ“作;å°‡ç¾å ´æª¢æ¸¬åˆ°çš„é›»æµã€é›»å£“ã€æ–·è·¯å™¨åˆ†åˆé–˜ç‹€æ…‹ç‰ä¿¡æ¯é€šéŽRs-485總線通信網絡傳é€è‡³ç›£æŽ§æ©Ÿï¼Œå¹¶å¯¦æ™‚處ç†ç›£æŽ§æ©Ÿä¸‹å‚³çš„é™æŽ§åˆ† /åˆé–˜ç‰å„種命令。
  監控計算機的主è¦åŠŸèƒ½æ˜¯å°ç¾å ´æ™ºèƒ½ç¯€é»žçš„é‹è¡Œåƒæ•¸é€²è¡Œå¯¦æ™‚檢測,ç²å¾—ç¾å ´é‹è¡Œæ•¸æ“šï¼Œç›£æ¸¬ç³»çµ±ç‹€æ…‹ç•°å¸¸ï¼Œå¹¶æ ¹æ“šæ•…éšœä¿¡æ¯ç™¼å‡ºç›¸æ‡‰çš„å ±è¦ä¿¡è™Ÿ;以å‹å¥½çš„圖形界é¢ç›´è§€æŒ‡ç¤ºç•¶å‰å„智能斷路器的é‹è¡Œç‹€æ³åŠåƒæ•¸ä¿¡æ¯;å¯¦ç¾æ•…障記錄管ç†ï¼Œå¹¶å¯¦ç¾é 程控制智能斷路器分/åˆé–˜åŠŸèƒ½ã€‚
  Rs -485控制網絡部分主è¦ç”±Rs-485通信接å£ã€é€šä¿¡ä»‹è³ªã€æŽ¥å£é›»è·¯ã€Modbus通訊å”è°åŠç›¸æ‡‰çš„通信軟件組æˆã€‚Rs-485通信接å£å¯¦ç¾æ™ºèƒ½ç¯€é»žèˆ‡ç›£æŽ§è¨ˆç®—機之間的串行連接;Modbus通訊å”è°åˆ¶å®šäº†æ¶ˆæ¯åŸŸæ ¼å±€å’Œå…§å®¹çš„å…¬å…±æ ¼å¼ï¼Œç‚ºæ™ºèƒ½ç¯€é»žèˆ‡ç›£æŽ§è¨ˆç®—機之間æä¾›é€šä¿¡è¦ç´„;é€šä¿¡ä»‹è³ªç‚ºé›™çµžç·šï¼Œè² è¼‰é€£æŽ¥åœ¨Aã€B線之間。
ç¾å ´æ™ºèƒ½ç¯€é»žè¨è¨ˆ
  為了深入說明Rs-485總線接å£åœ¨è¼¸é…電自動化系統ä¸çš„æ‡‰ç”¨ï¼Œæœ¬æ–‡ä»¥æµ™æ±Ÿæ£æ³°é›»å™¨è‚¡ä»½å…¬å¸ç”Ÿç”¢çš„NST1-H智能控制器為例,簡è¦ä»‹ç´¹è©²æ™ºèƒ½æŽ§åˆ¶å™¨çš„總體è¨è¨ˆï¼Œå¹¶çµ¦å‡ºå¯¦ç¾Rs-485通信的硬件電路和軟件æµç¨‹åœ–。
ç¾å ´æ™ºèƒ½ç¯€é»žç¸½é«”çµæ§‹
ã€€ã€€å¦‚å‰æ‰€è¿°ï¼Œæ™ºèƒ½æŽ§åˆ¶å™¨åœ¨è‡ªå‹•控制系統ä¸éœ€å®Œæˆç¾å ´æ•¸æ“šé‡‡é›†å’Œè™•ç†ã€æŽ§åˆ¶å™¨å„執行器件的控制åŠèˆ‡é 程監控計算機之間的通信ç‰ä¸»è¦å·¥ä½œï¼Œå› æ¤æ™ºèƒ½æŽ§åˆ¶å™¨çš„è¨è¨ˆæ˜¯æ•´å€‹ç³»çµ±çš„é—œéµéƒ¨åˆ†ã€‚å…¶çµæ§‹æ¡†åœ–如圖1所示。
  考慮到å¯é æ€§ã€æ€§åƒ¹æ¯”ç‰å› ç´ ï¼Œæ™ºèƒ½æŽ§åˆ¶å™¨CPU采用三è±ç³»åˆ—單片機M30201。智能控制器è¨è¨ˆé‡‡ç”¨çµæ§‹åŒ–è¨è¨ˆæ–¹æ³•,包括四大部分:RS-485通信接å£é›»è·¯éƒ¨åˆ†ã€é›»æºç®¡ç†éƒ¨åˆ†ã€ä¿¡è™Ÿè¼¸å‡ºåŸ·è¡Œéƒ¨åˆ†ã€I/O接å£éƒ¨åˆ†ã€‚å…¶ä¸I/O接å£éƒ¨åˆ†åŒ…括ç¾å ´æ•¸æ“šé‡‡é›†ã€éµç›¤è¼¸å…¥èˆ‡é¡¯ç¤ºå’ŒåŸ·è¡Œå™¨çš„æŽ§åˆ¶ä¿¡è™Ÿè¼¸å‡ºç‰å·¥ä½œã€‚下é¢ç°¡è¦ä»‹ç´¹RS-485通信接å£é›»è·¯çš„硬件實ç¾ã€‚
智能控制器Rs-485接å£é›»è·¯è¨è¨ˆ
  在æŸäº›å·¥æ¥æŽ§åˆ¶é ˜åŸŸï¼Œç”±äºŽç¾å ´æƒ…æ³å分復雜,å„個節點之間å˜åœ¨å¾ˆé«˜çš„共模電壓。雖然Rs-485接å£é‡‡ç”¨çš„æ˜¯å·®åˆ†å‚³è¼¸æ–¹å¼ï¼Œå…·æœ‰ä¸€å®šçš„æŠ—共模干擾的能力,但當共模電壓超éŽRs-485æŽ¥æ”¶å™¨çš„æ¥µé™æŽ¥æ”¶é›»å£“ï¼Œå³å¤§äºŽ+12V或å°äºŽ-7V時,接收器就無法æ£å¸¸å·¥ä½œï¼Œåš´é‡æ™‚甚至會燒毀芯片和儀器è¨å‚™ã€‚為消除æ¤å•題,增強智能控制器在通信ä¸çš„æŠ—干擾能力,本è¨è¨ˆé‡‡ç”¨äºŒæ¬¡é›†æˆèŠ¯ç‰‡MAX1480進行信號隔離,接å£é›»è·¯å¦‚圖2所示。
  本è¨è¨ˆçš„ç•°æ¥é€šä¿¡æ•¸æ“šä»¥å—節的方å¼å‚³é€ï¼Œåœ¨æ¯ä¸€å€‹å—節傳é€ä¹‹å‰ï¼Œå…ˆè¦é€šéŽä¸€å€‹ä½Žé›»å¹³èµ·å§‹ä½å¯¦ç¾æ¡æ‰‹ã€‚為防æ¢å¹²æ“¾ä¿¡è™Ÿèª¤è§¸ç™¼ROï¼ˆæŽ¥æ”¶å™¨è¼¸å‡ºï¼‰ç”¢ç”Ÿè² è·³è®Šï¼Œä½¿æŽ¥æ”¶ç«¯MCU進入接收狀態,在RO腳外接3kΩ上拉電阻;P3.4與DE腳之間通éŽ74HC86實ç¾å相控制,以防æ¢MCU上電時å°ç¸½ç·šçš„干擾。
MODBUS通訊å”è°åŠç·¨ç¨‹
  本è¨è¨ˆé‡‡ç”¨Modbus通信å”è°çš„RTU通訊模å¼ï¼Œæ¶ˆæ¯ç™¼é€è‡³å°‘è¦ä»¥3.5個å—符時間的åœé “間隔開始。網絡è¨å‚™ä¸æ–·åµæ¸¬ç¶²çµ¡ç¸½ç·šï¼ŒåŒ…括åœé “間隔時間內。當第一個域(地å€åŸŸï¼‰æŽ¥æ”¶åˆ°ï¼Œæ¯å€‹è¨å‚™éƒ½é€²è¡Œè§£ç¢¼ä»¥åˆ¤æ–·æ˜¯å¦ç™¼å¾€è‡ªå·±çš„。一個典型的消æ¯å¹€å¦‚ä¸‹æ‰€ç¤ºï¼šèµ·å§‹ä½ è¨å‚™åœ°å€ 功能代碼 數據 CRCæ ¡é©— çµæŸç¬¦ã€‚監控計算機通éŽå°‡è¦è¯çµ¡çš„æ™ºèƒ½æŽ§åˆ¶å™¨çš„åœ°å€æ”¾å…¥æ¶ˆæ¯ä¸çš„地å€åŸŸä¾†é¸é€šæ™ºèƒ½æŽ§åˆ¶å™¨ã€‚當智能控制器發é€å›žæ‡‰æ¶ˆæ¯æ™‚ï¼Œå®ƒæŠŠè‡ªå·±çš„åœ°å€æ”¾å…¥å›žæ‡‰çš„地å€åŸŸä¸ï¼Œä»¥ä¾¿ç›£æŽ§è¨ˆç®—æ©ŸçŸ¥é“æ˜¯å“ªä¸€å€‹è¨å‚™åšå‡ºå›žæ‡‰ã€‚地å€0是用作廣æ’地å€ï¼Œä»¥ä½¿æ‰€æœ‰çš„æ™ºèƒ½æŽ§åˆ¶å™¨éƒ½èƒ½èªè˜ã€‚當消æ¯å¾žç›£æŽ§è¨ˆç®—機發往智能控制器時,功能代碼域將告之智能控制器需è¦åŸ·è¡Œå“ªäº›è¡Œç‚ºã€‚在這里主è¦ä½¿ç”¨åˆ°2種功能碼,03H:讀寄å˜å™¨æ•¸æ“š;06H:寫寄å˜å™¨æ•¸æ“šã€‚讀寄å˜å™¨çš„內容包括開關分/åˆé–˜ç‹€æ…‹ã€ç•¶å‰é›»æµå€¼ã€é›»å£“å€¼ã€æ•…障記錄值ç‰ã€‚智能控制器回應時,它使用功能代碼域來指示是æ£?;貞o誤)還是有æŸç¨®éŒ¯èª¤ç™¼ç”Ÿï¼ˆç¨±ä½œç•°è°å›žæ‡‰ï¼‰ã€‚å°æ£?;貞?,智能控制器僅回應相應的功能代碼。å°ç•°è°å›žæ‡‰ï¼Œæ™ºèƒ½æŽ§åˆ¶å™¨è¿”回一ç‰åŒäºŽæ£å¸¸ä»£ç¢¼çš„代碼,并將功能代碼首ä½ç½®ç‚ºé‚輯1。例如:一從監控計算機發往智能控制器的消æ¯è¦æ±‚è®€ä¸€çµ„ä¿æŒå¯„å˜å™¨ï¼Œå°‡ç”¢ç”Ÿå¦‚下功能代碼:0 0 0 0 0 0 1 1 (åå…進制03H) å°æ£?;貞?ï¼Œæ™ºèƒ½æŽ§åˆ¶å™¨åƒ…å›žæ‡‰åŒæ¨£çš„功能代碼。å°ç•°è°å›žæ‡‰ï¼Œå®ƒè¿”回: 1 0 0 0 0 0 1 1 (åå…進制83Hï¼‰é™¤åŠŸèƒ½ä»£ç¢¼å› ç•°è°éŒ¯èª¤ä½œäº†ä¿®æ”¹å¤–,智能控制器將一ç¨ç‰¹çš„代碼放到回應消æ¯çš„æ•¸æ“šåŸŸä¸ï¼Œç›£æŽ§è¨ˆç®—機應用程åºå¾—到異è°çš„回應åŽé‡ç™¼ä¿¡æ¯ï¼Œç›´åˆ°æ™ºèƒ½æŽ§åˆ¶å™¨èƒ½å¤ æ£ç¢ºéŸ¿æ‡‰;通éŽå¯«å¯„å˜å™¨å¯å¯¦ç¾é–‹é—œé™æŽ§åˆ†/åˆé–˜æŽ§åˆ¶åŠæ›´æ”¹æ™ºèƒ½æŽ§åˆ¶å™¨ç³»çµ±åƒæ•¸ç‰åŠŸèƒ½ã€‚åœ¨æœ€åŽä¸€å€‹å‚³è¼¸å—符之åŽï¼Œä¸€å€‹è‡³å°‘3.5個å—符時間的åœé “標定了消æ¯çš„çµæŸï¼Œä¸€å€‹æ–°çš„æ¶ˆæ¯å¯åœ¨æ¤åœé “åŽé–‹å§‹ï¼Œå¦‚æžœåœé “時間å°äºŽ3.5個å—符時就會引起CRCæ ¡é©—éŒ¯èª¤ã€‚åœ¨ç¨‹åºä¸è¨ç½®ä¸€å€‹å¹€è¨ˆæ™‚å™¨ï¼Œç•¶ç·šè·¯ä¸Šæœ‰æ•¸æ“šæ™‚å°±åˆ·æ–°è©²è¨ˆæ™‚å™¨ï¼Œç·šè·¯ç©ºé–‘æ™‚å‰‡åœæ¢åˆ·æ–°ï¼Œè¨ˆæ™‚時間é”到3.5幀時計時器被軟件清除,而下一幀則為地å€å¹€ï¼Œé™äºŽç¯‡å¹…關系,下é¢ç°¡å–®çµ¦å‡ºMODBUSé€šä¿¡ä¸æ™ºèƒ½æŽ§åˆ¶å™¨æŸ¥è©¢ç™¼é€è™•ç†ç¨‹åºæµç¨‹åœ–(圖3ï¼‰å’ŒæŽ¥æ”¶ä¸æ–·è™•ç†ç¨‹åºæµç¨‹åœ–(圖4)。
  
[align=center]

[/align]
  由于Modbus編程主è¦éœ€è™•ç†å¥½CRCæ ¡é©—ç¢¼çš„ç”ŸæˆåŠæ•¸æ“šåŒ…開始標志的測試,下é¢çµ¦å‡ºCRCæ ¡é©—ç¢¼çš„ç”Ÿæˆæµç¨‹ï¼Œè¦‹åœ–5。
 
çµæŸèªž
  Modbuså”è°æ˜¯ç›®å‰å¾—到廣泛應用的通信å”è°ï¼Œè€Œå…¶æ§‹ç‘的硬件平臺Rs-485總線具有硬件è¨è¨ˆç°¡å–®ã€æŽ§åˆ¶æ–¹ä¾¿ã€æˆæœ¬ä½Žå»‰ç‰å„ªé»žï¼Œåœ¨å·¥æŽ§è‡ªå‹•化系統ä¸å°‡å¾—到越來越多的應用。
åƒè€ƒæ–‡ç»ï¼š
  《CAN總線在啤酒發酵éŽç¨‹æŽ§åˆ¶ç³»çµ±ä¸çš„æ‡‰ç”¨ã€‹â€”ä½•ç”¨è¼ é»ƒè€€å¿—
  《Modbus通信å”è°åŠç·¨ç¨‹ã€‹â€”朱å°è¥„