引言
å»£æ±æŸé‰›é‹…礦é‹è½‰å·¥å€çš„空氣壓縮機組是采礦生產ä¸çš„é—œéµè¨å‚™ï¼Œå…±æœ‰å…臺進å£çš„è‹±æ ¼ç´¢è˜CENTAC空氣壓縮機,它的é‹è¡Œç©©å®šèˆ‡å¦ç›´æŽ¥é—œç³»åˆ°æ•´å€‹ç¤¦å€çš„安全生產和經濟效益。
åŽŸä¸Šä½æ©Ÿç›£æŽ§è»Ÿä»¶ç‚ºè‹±æ ¼ç´¢è˜å…¬å¸çš„CEM2.52,由于其數據處ç†é‡å¤§ï¼Œæ•¸æ“šæ›´æ–°é€Ÿåº¦æ…¢ï¼›å¹¶ä¸”è»Ÿä»¶å¿…é ˆé‹è¡Œåœ¨Windows英文版æ“作平臺上,æ“作人員很難看懂英文數據,軟件版本也無法å‡ç´šï¼›å¦å¤–ï¼Œä¸Šä½æ©Ÿçš„å ±è¦åŠŸèƒ½å¤±æ•ˆï¼Œé 程æ“作與管ç†åŠŸèƒ½ç„¡æ³•å¯¦ç¾ï¼Œé€ æˆæ“ä½œäººå“¡ç„¡æ³•åŠæ™‚發ç¾å•題,處ç†çªç™¼äº‹ä»¶ã€‚為了解決上述å˜åœ¨çš„å•題,æé«˜ç”Ÿç”¢è‡ªå‹•化程度,決定å°ç©ºæ°£å£“ç¸®æ©Ÿçµ„åŽŸæœ‰çš„ç›£æŽ§ç³»çµ±é€²è¡Œæ”¹é€ ã€‚æŽ§åˆ¶ç³»çµ±é–“çš„é€šè¨Šæ˜¯æ”¹é€ éŽç¨‹ä¸çš„難點,本文介紹了采用Modbus通訊å”è°å¯¦ç¾ä¸Šè¿°é€šè¨Šçš„æ–¹æ³•,采用力控組態軟件開發了空氣壓縮機監控系統,實ç¾äº†ç©ºæ°£å£“縮機組的智能化控制,使得空氣壓縮機é‹è½‰ç©©å®šã€å¯é ã€ç²¾åº¦é«˜ã€ç¶è·æ–¹ä¾¿ï¼Œè€Œä¸”ä¿è‰äº†ç¤¦å€çš„安全生產,具有直接的經濟效益。
1 Modbus通訊å”è°
1.1å”è°
Modbuså”è°æ˜¯ç”±MODICONå…¬å¸ç‚ºå…¶æŽ§åˆ¶å™¨è¨è¨ˆçš„一種å¯é è€Œæœ‰æ•ˆçš„å·¥æ¥æŽ§åˆ¶ç³»çµ±é€šä¿¡å”è°ã€‚從功能上看,å¯ä»¥èªç‚ºæ˜¯ä¸€ç¨®ç¾å ´ç¸½ç·š[1]。Modbuså”è°å®šç¾©äº†æ¶ˆæ¯åŸŸæ ¼å¼å’Œå…§å®¹çš„å…¬å…±æ ¼å¼ï¼Œä½¿æŽ§åˆ¶å™¨èƒ½èªè˜å’Œä½¿ç”¨æ¶ˆæ¯çµæ§‹ï¼Œè€Œç„¡éœ€è€ƒæ…®é€šä¿¡ç¶²çµ¡çš„æ‹“æ’²çµæ§‹ï¼Œå®ƒæè¿°äº†ä¸€å€‹æŽ§åˆ¶å™¨è¨ªå•其它è¨å‚™çš„éŽç¨‹ã€‚當采用Modbuså”è°é€šä¿¡æ™‚,æ¤å”è°è¦å®šæ¯å€‹æŽ§åˆ¶å™¨éœ€è¦çŸ¥é“自己的è¨å‚™åœ°å€ï¼Œè˜åˆ¥æŒ‰åœ°å€ç™¼ä¾†çš„æ¶ˆæ¯ï¼Œå¦‚何響應來自其它è¨å‚™çš„è«‹æ±‚ï¼Œå¦‚ä½•åµæ¸¬éŒ¯èª¤å¹¶è¨˜éŒ„。其數據通訊采用主—從方å¼ï¼Œä¸»æ©Ÿåªèƒ½æœ‰1臺,æ¯å€‹å¾žæ©Ÿéƒ½æœ‰æŒ‡å®šçš„地å€ï¼Œåœ°å€èŒƒåœåœ¨0~247之間(其ä¸0為廣æ’地å€ï¼‰ï¼Œåªæœ‰ä¸»æ©Ÿå…·æœ‰ä¸»å‹•權,從機åªèƒ½å°ä¸»æ©Ÿç™¼é€çš„命令作出響應。當主機端發出數據請求消æ¯ï¼ˆæŸ¥è©¢ï¼‰æ™‚,從機端接收到æ£ç¢ºæ¶ˆæ¯åŽå°±å¯ä»¥ç™¼é€æ•¸æ“šåˆ°ä¸»æ©Ÿç«¯ä»¥éŸ¿æ‡‰è«‹æ±‚;主機端也å¯ä»¥ç›´æŽ¥ç™¼æ¶ˆæ¯ä¿®æ”¹å¾žæ©Ÿç«¯çš„æ•¸æ“šï¼Œå¯¦ç¾è®€å’Œå¯«ã€‚查詢—回應周期如圖1ã€‚å¦‚æžœé‡‡ç”¨å»£æ’æ–¹å¼ï¼ˆåœ°å€ç‚º0)查詢,從機ä¸ä½œä»»ä½•回應。

1.2 ä¿¡æ¯å¡Šæ ¼å¼
Modbus通訊時主機發出的指令å—ç¬¦ä¸²çš„é€šå¸¸æ ¼å¼å¦‚表1。
從機地å€ï¼šä¸»æ©ŸæŒ‡æ˜Žçš„æŽ¥æ”¶å‘½ä»¤çš„從機地å€ã€‚
åŠŸèƒ½ç¢¼ï¼šåŠŸèƒ½ç¢¼æ±ºå®šæœ¬æ¬¡é€šè¨Šè¦æ±‚從機執行的動作,功能碼å 1個å—節,MODBUSå¯èƒ½çš„åŠŸèƒ½ä»£ç¢¼èŒƒåœæ˜¯å進制的1~255ã€‚å…¶ä¸æœ‰äº›ä»£ç¢¼é©ç”¨äºŽæ‰€æœ‰çš„æŽ§åˆ¶å™¨ï¼Œæœ‰äº›æ˜¯é‡å°æŸç¨®MODICON控制器,有些是為用戶ä¿ç•™æˆ–備用。表2為Modbuså”è°è¦å®šçš„æ¨™æº–功能碼,æŸäº›è¨å‚™çš„Modbuså”è°åªå…¼å®¹å…¶ä¸çš„一部分功能碼,表ä¸çš„功能碼為16進制數。

數據起始地å€ï¼šé€šè¨Šæ™‚讀出ã€å¯«å…¥æ•¸æ“šçš„起始地å€ã€‚Modbusæœ‰å¤šç¨®æ‰¹é‡æ•¸æ“šæ“作功能碼,å¯åŒæ™‚讀出或寫入多個具有連續地å€çš„æ•¸æ“šã€‚數據起始地å€å 用2個å—節。
數據é‡ï¼šå‘½ä»¤ä¸é€²è¡Œè®€å‡ºæˆ–寫入的數據數é‡ï¼Œé€™äº›æ•¸æ“šå¾žèµ·å§‹åœ°å€é–‹å§‹é€£çºŒåœ°å€æŽ’åˆ—ï¼Œåœ¨å°æ¨¡æ“¬é‡é€²è¡Œæ“作時,æ¯å€‹æ•¸æ“šå…·æœ‰2å—ç¯€ï¼›åœ¨å°æ•¸å—é‡é€²è¡Œæ“作時æ¯8個數據為1個å—節。數據é‡å 用2個å—節。
1.3æ•¸æ“šæ ¼å¼
Modbus通訊å”è°è¦å®šäº†2種通訊方å¼ã€‚RTU(REMOTE TERMINAL UNIT)方å¼é€šè¨Šé‡‡ç”¨8ä½å—ç¯€çš„äºŒé€²åˆ¶æ•¸æ“šé€šè¨Šï¼Œæ•¸æ“šæ ¡é©—é‡‡ç”¨CRCå¾ªç’°å†—ä½™æ ¡é©—ï¼Œé€šè¨Šé€Ÿåº¦è¼ƒå¿«ï¼›ASCIIæ–¹å¼é‡‡ç”¨7ä½ASCIIç¢¼é€²è¡Œé€šè¨Šï¼Œæ•¸æ“šæ ¡é©—é‡‡ç”¨LRCé‚è¼¯å†—ä½™æ ¡é©—ï¼Œé€šè¨Šé€ŸçŽ‡è¼ƒæ…¢ã€‚åœ¨ä¸€å€‹é€šè¨Šç³»çµ±ä¸ï¼Œåªèƒ½é¸ç”¨ä¸€ç¨®é€šè¨Šæ–¹å¼ï¼Œå…©ç¨®æ–¹å¼ä¸èƒ½å¹¶ç”¨ã€‚為了減少網絡數據傳輸é‡ï¼Œåœ¨æˆ‘們的應用系統ä¸ä¸€èˆ¬ä½¿ç”¨RTU通訊方å¼ã€‚
2 系統的硬件組æˆ
下ä½ç›£æŽ§ç«™é‡‡ç”¨å…å€‹è‹±æ ¼ç´¢è˜å–®ç‰‡æ©Ÿå°å…臺空氣壓縮機進行控制,包括å°å£“åŠ›ã€æŒ¯å‹•ã€æº«åº¦ï¼Œæ²¹æº«ã€æ²¹å£“ç‰åƒæ•¸çš„監控,æ¯å€‹å–®ç‰‡æ©Ÿå¤–接一個通用通訊模塊,上ä½ç›£æŽ§ç«™é‡‡ç”¨å·¥æŽ§æ©Ÿï¼Œç”±äºŽç¾å ´æŽ§åˆ¶ç«™èˆ‡å·¥æŽ§æ©Ÿç›¸è·60må·¦å³ï¼Œä½¿ç”¨RS485/RS232 轉æ›å™¨ï¼Œè½‰æ›å™¨èˆ‡ç¾å ´æŽ§åˆ¶ç«™é‡‡ç”¨RS485總線,工控機與轉æ›å™¨ä¹‹é–“采用RS232總線,這樣既解決了傳輸è·é›¢éŽé 而無法連接å•題,也æé«˜äº†ç³»çµ±çš„æŠ—干擾能力。其硬件組æˆModbus通訊網絡如圖2所示。軟件平臺采用WindowsXP,é¸ç”¨ä¸‰ç¶ç§‘技有é™å…¬å¸çš„力控組態軟件。
3 力控的I/Oé©…å‹•é…ç½®
在使用力控軟件進行組態時,I/Oè¨å‚™é©…å‹•é…置為:采用標準的Modbus,é¸RTU串行å£é€šè¨Šæ–¹å¼ï¼ŒæŒ‰è¨å‚™åœ°å€å¾ž01—06匹é…å…臺ç¾å ´æŽ§åˆ¶æ©Ÿï¼Œæ•¸æ“šæ›´æ–°å‘¨æœŸç‚º500毫秒,超時時間為8秒,使用串å£ï¼ˆRS232/422/485)通訊,COM1端å£è¨ç½®èˆ‡ç¾å ´æŽ§åˆ¶æ©Ÿçš„端å£åƒæ•¸è¨ç½®ä¸€æ¨£ç‚º9600.8.ç„¡.1
4 通訊éŽç¨‹
Modbuså”è°é€šè¨Šæ™‚主機首先å‘從機發é€é€šè¨Šè«‹æ±‚命令å—符串,從機接收到命令å—符串åŽï¼Œæ ¹æ“šå‘½ä»¤å—符串ä¸çš„命令碼å‘主機作出相應的回ç”,完æˆä¸€æ¬¡é€šè¨Šï¼Œæ•´å€‹çš„網絡通訊都是由主機進行調度。下é¢èˆ‰ä¾‹èªªæ˜Ž04å’Œ05åŠŸèƒ½ç¢¼å¯¦ç¾æ¨¡æ“¬é‡æ•¸æ“šè®€å–å’Œé 程æ“作功能的通訊éŽç¨‹[2]。
例1:å‡å®šä¸»æ©Ÿè¦æ±‚讀å–01從機的系統壓力數值時,主機將發é€å¦‚表3所示的通訊請求命令å—ç¬¦ä¸²ï¼Œåœ¨è‹±æ ¼ç´¢è˜å–®ç‰‡æ©Ÿä¸ç³»çµ±å£“力數據起始地å€ç‚ºåå…進制代碼0BBE(Modbuså”è°è¦å®šé€šè¨Šå—符串ä¸çš„åœ°å€æ¯”實際地å€å°â€œ1â€ï¼‰ï¼Œæ£å¸¸æƒ…æ³ä¸‹å¾žæ©Ÿå›žä¿¡å—符串如表4。
從機地å€å³01號機的è¨å‚™åœ°å€ï¼Œæ•¸æ“šé‡0002è¡¨ç¤ºå˜æ”¾ç³»çµ±å£“力數值有兩個寄å˜å™¨ï¼Œè©²ä½å 兩個å—節。
è‹±æ ¼ç´¢è˜å–®ç‰‡æ©Ÿæ˜¯ä¸€å€‹32使µ®é»žæ•¸è™•ç†å™¨ï¼Œæ•¸æ“šâ€œ42DCD4C6â€ç¶“éŽIEEE32使µ®é»žæ•¸è½‰æ›åŽå¾—出系統壓力為110.4156psi。
例2:å‡å®šä¸»æ©Ÿè¦æ±‚é 程啟動01從機,主機將發é€å¦‚表5所示的通訊請求命令å—ç¬¦ä¸²ï¼Œåœ¨è‹±æ ¼ç´¢è˜å–®ç‰‡æ©Ÿä¸é 程啟動數據起始地å€ç‚ºåå…進制代碼00E0,æ£å¸¸æƒ…æ³ä¸‹å¾žæ©Ÿå›žä¿¡å—符串如表6。
從機回信的å—符串與主機發é€çš„通訊請求命令å—ç¬¦ä¸²æ‡‰è©²æ˜¯åŒæ¨£çš„,數據“FF00â€è¿«ä½¿01從機的é 程啟動繼電器線圈打開,數據“0000â€è¿«ä½¿01從機的é 程啟動繼電器線圈關閉。
5 çµæŸèªž
利用Modbuså”è°å¯¦ç¾äº†ç¤¦å€ç©ºæ°£å£“縮機監控系統ä¸çš„上ä½å·¥æŽ§æ©Ÿèˆ‡ä¸‹ä½è‹±æ ¼ç´¢è˜é€šç”¨é€šè¨Šæ¨¡å¡Šçš„æ•¸æ“šé€šè¨Šï¼Œé–‹ç™¼äº†ç©ºæ°£å£“縮機監控系統。é‹è½‰å…©å€‹å¤šæœˆä¾†çš„æƒ…æ³è¡¨æ˜Žï¼Œè©²ç³»çµ±é‹è¡Œå¯é ,ç¶è·æ–¹ä¾¿ï¼Œç›£æŽ§éŽç¨‹é¡¯ç¤ºå½¢è±¡ç›´è§€ï¼Œç‚ºç¤¦å€é‹è½‰å·¥å€æœ€çµ‚實ç¾â€œç„¡äººå€¼ç,少人值守â€çš„ç›®æ¨™å¥ å®šäº†åŸºç¤Žã€‚