一 ã€ç³»çµ±ä»‹ç´¹
確ä¿åˆæ ¼çš„供氣å“質,滿足穩定的氣æºå£“力,自動調節供氣æµé‡ç‰æ˜¯ç©ºå£“站自動控制的基本任務。空壓機è¨å‚™è‡ªå¸¶çš„單片機控制器已經能很好的控制單臺空壓機,但ä¸å…·å‚™å°ç©ºå£“系統的整體調控能力。在空壓系統ä¸ï¼Œç›¸å°å–®è‡ºç©ºå£“æ©Ÿçš„èª¿æ•´ï¼Œç³»çµ±çš„æ•´é«”è¯æŽ§å…·æœ‰æ›´é‡è¦çš„æ„ç¾©ã€‚
è¯æŽ§ç³»çµ±æœ€ä¸»è¦çš„功能是å¯ä»¥å¯¦ç¾ç©ºå£“機機組(包括æ¯è‡ºç©ºå£“機的åŽè™•ç†è¨å‚™ï¼‰çš„è¯éŽ–æŽ§åˆ¶ï¼Œèƒ½æ ¹æ“šç¸½ç®¡å£“åŠ›å’Œç©ºå£“æ©Ÿçš„é‹è¡Œç‹€æ…‹æ™ºèƒ½åœ°åŠ å¸è¼‰å°æ‡‰çš„空壓機ç‰ä»¥ä¿è‰ç®¡ç¶²çš„供氣穩定。
è¯æŽ§æœ‰å…©ç¨®æ¨¡å¼ï¼šæ™‚é–“é †åºæ¨¡å¼ã€å›ºå®šé †åºæ¨¡å¼ã€‚å…©è€…çš„è¯æŽ§åŽŸç†æ˜¯ä¸€è‡´çš„ã€‚åªæ˜¯æ™‚é–“é †åºæ¨¡å¼ä¸å„臺空壓機æ¯éš”ä¸€å€‹è¼ªæ›æ™‚é–“å°±æŒ‰é †åºæ™‚間判斷一次,具體工作模å¼åƒè€ƒã€Šé †åºæŽ§åˆ¶èˆ‡é€šè¨Šå”è°æ‰‹å†Šã€‹ï¼Œè€Œå›ºå®šæ¨¡å¼çš„å•Ÿå‹•é †åºæ˜¯ä¿æŒä¸è®Šçš„。
ç©ºå£“æ©Ÿè¯æŽ§ç³»çµ±åœ–ï¼š

工控機é¸ç”¨ç ”è¯å·¥æŽ§æ©Ÿï¼Œç›£æŽ§è»Ÿä»¶ç‚ºçµ„態王。å°ç¾å ´å„類數據åŠç³»çµ±è¨å®šåƒæ•¸é€²è¡Œå¯¦æ™‚é¡¯ç¤ºï¼Œç‚ºç³»çµ±å ±è¦å’Œé 程數據監控æä¾›ä¸€å€‹æ•¸æ“šä¿¡æ¯äº¤äº’å¹³è‡ºï¼›å°æ©Ÿçµ„å„類é‹è¡ŒæŽ§åˆ¶è¦æ±‚進行命令觸發,為介入系統實時改變系統é‹è¡Œç‹€æ…‹æä¾›ä¸€å€‹æŽ§åˆ¶å‘½ä»¤æ“作平臺。
1#EC20PLCå’Œ2#EC20 PLC分別為兩個空壓機站的控制ä¸å¿ƒå®Œæˆçµ„態與單片機的數據交æ›å’Œå˜å„²ä»¥åŠå·¥æŽ§æ©Ÿå„類控制信號處ç†ã€‚主è¦çš„自動控制任務都由PLC自行完æˆï¼Œçµ„æ…‹åªèƒ½é¸æ“‡å…·é«”的機組é‹è¡Œæ–¹å¼ï¼Œä»¥åŠç‰¹å®šç‹€æ…‹ä¸‹å°å–®è‡ºæ©Ÿçµ„的單一é‹è¡Œæ–¹å¼æ”¹è®Šã€‚å„臺空壓機的信號通éŽRS485總線連接至PLCï¼›
由于空壓機自帶的單片機控制器æä¾›äº†RS485通訊接å£ï¼Œæ‰€æœ‰çš„æ•¸æ“šé‡‡é›†å’ŒæŽ§åˆ¶åŠŸèƒ½éƒ½é€šéŽé€šè¨ŠæŽ¥å£ä¾†å¯¦ç¾ï¼Œåœ¨åŽŸæœ‰çš„æŽ§åˆ¶ç³»çµ±åŸºç¤Žä¸Šï¼Œå¢žåŠ 2臺PLCï¼Œæ”¹é€²å’Œå¢žåŠ æŽ§åˆ¶è»Ÿä»¶å³å¯å¯¦ç¾ç©ºå£“系統的整體控制與連網監控。
二 ã€è¨å‚™å·¥è—
PLCæŽ§åˆ¶éƒ¨åˆ†æ˜¯ç³»çµ±çš„æ ¸å¿ƒéƒ¨åˆ†ï¼šè€Œä¾›æ°£å£“åŠ›æ˜¯ç³»çµ±å„種é‹è¡Œç‹€æ…‹æ”¹è®Šèˆ‡ä¿æŒçš„唯一指標。簡言之:壓力å°äºŽä¾›æ°£å£“åŠ›è¦æ±‚下é™å°±è¦æ›´å¤šçš„供氣機組é‹è¡Œä»¥å¢žåŠ ä¾›æ°£é‡ï¼Œå£“åŠ›å¤§äºŽä¾›æ°£å£“åŠ›è¦æ±‚上é™å°±è¦æŠŠç•¶å‰é‹è¡Œä¾›æ°£æ©Ÿçµ„減少以減少供氣é‡ã€‚而處于上下é™ä¹‹é–“çš„å£“åŠ›å€¼æ™‚å°±ä¿æŒç•¶å‰æ©Ÿçµ„çš„é‹è¡Œç‹€æ…‹ä¸è®Šã€‚
就單臺空壓機而言,其å¯ä»¥è‡ªè¡Œé€²è¡Œä¾›æ°£é‡å¤§å°çš„調節。當一臺機器é‹è¡Œæ™‚ï¼Œå®ƒçš„ä¾›æ°£é‡æ˜¯ä¸€å€‹å¾žé›¶åˆ°æœ€å¤§æ°£é‡ä¹‹é–“æµ®å‹•çš„å€¼è€Œä¸æ˜¯ä¸€å€‹é¡å®šè¼¸å‡ºçš„å®šå€¼ã€‚æ‰€ä»¥åœ¨æ•´å€‹ä¾›æ°£æ–¹æ¡ˆä¸æˆ‘們用改變é‹è¡Œæ©Ÿçµ„臺數的方法來改變å°ç®¡ç¶²çš„供氣。æ¯è‡ºæ©Ÿçµ„æœ‰åŠ è¼‰ã€æ»¿è¼‰ã€å¸è¼‰ã€å’Œåœæ©Ÿå››ç¨®ç‹€æ…‹ã€‚åŠ è¼‰åˆ°æ»¿è¼‰ä¹‹é–“ï¼Œä¾›æ°£é‡çš„值是0到最大值的éŽç¨‹ï¼›å¸è¼‰æ˜¯åœæ¢ä¾›æ°£çš„狀態但機組ä»åœ¨é‹è¡Œï¼›è€Œåœæ©Ÿæ˜¯æ©Ÿçµ„ä¸ä¾›æ°£ä¹Ÿä¸é‹è¡Œã€‚
一個æ£å¸¸çš„供氣æµç¨‹å¦‚下:

把確定在網機組數與機組ä¸é–“é‹è¡Œç‹€æ…‹çµåˆèµ·ä¾†å°±æ§‹æˆäº†æŽ§åˆ¶æ€è·¯çš„æœ€åŸºæœ¬ç’°ç¯€ã€‚å³é€šéŽå£“åŠ›å ±è¦ç¢ºå®šæ©Ÿçµ„數目需è¦å¢žåŠ æˆ–æ¸›å°‘ï¼Œå¦‚æžœå·²ç¶“åœ¨ä¸é–“ç‹€æ…‹äº†åŠ è¼‰ã€æ»¿è¼‰ã€å¸è¼‰ä»»æ„一個,就按增氣或減氣的方å‘移動ä¸é–“狀態直到é‹è¡Œåˆ°é‚Šç•Œç‹€æ…‹ï¼›ç•¶åˆ°é”邊界狀態時按增氣或減氣的方å‘移動到下一臺。當然如è¦ç©©å®šä¸‹ä¾†å¿…é ˆæ˜¯åœ¨ä¸é–“狀態,邊界狀態是ä¸èƒ½ç©©å®šçš„。
ä¸‰ã€æŽ§åˆ¶ç¨‹åº
ç©ºå£“æ©Ÿè¯æŽ§ç³»çµ±ä¸»è¦æ˜¯PLCèˆ‡å–®ç‰‡æ©Ÿäº¤æ›æ•¸æ“šå¹¶ç¢ºå®šæ¯è‡ºç©ºå£“機的é‹è¡Œæ–¹å¼ã€‚
程åºçš„編寫主體上分兩大部分:讀數據部分和寫數據部分,æµç¨‹åœ–如下:
[align=center]

[/align]
(一)讀å–單片機的信æ¯
æ ¹æ“šç©ºå£“æ©ŸæŽ§åˆ¶å™¨å…§å–®ç‰‡æ©Ÿçš„ç›¸é—œModbus通訊å”è°ï¼Œç·¨å¯«é€šè¨Šâ€œè®€ä¿¡æ¯æŒ‡ä»¤â€çš„æ•¸æ“šå¹€ï¼Œä»¥PLCä¸çš„Modbus通訊指令發給控制器內的單片機,單片機響應åŽè¿”回相應的數據幀。通éŽè¿”回幀的相應å—符串判斷與控制器相連的空壓機的å„種故障狀態工作狀態以åŠç©ºå£“機的å„種壓力溫度數據,并將返回的å„é¡žæ•¸æ“šå˜æ”¾åœ¨ç›¸æ‡‰çš„æ•¸æ“šå¯„å˜å™¨ã€‚
在該å程åºçš„開始部分,執行站地å€åŠ 1çš„æ“ä½œï¼Œå³æ¯é€²å…¥è®€æ•¸æ“šå程åºå°±æœƒè®€å–上次讀éŽçš„程åºçš„下一臺;é 站地å€çš„䏿–·è®ŠåŒ–我們實ç¾äº†è®€å–數據通訊的輪詢æ“作。

Modbus指令åªéœ€è¦ä¸€æ¬¡ä¸Šå‡æ²¿ä½œç‚ºç™¼é€ä½¿èƒ½ï¼Œç¬¬ä¸€å‘¨æœŸsm124沒有開åˆçš„ç‹€æ…‹è®ŠåŒ–å³æ²’æœ‰ä¸Šå‡æ²¿ï¼Œæ‰€ä»¥ç¬¬ä¸€å‘¨æœŸéŽåŽé sm1çš„å¸¸é–‰ä¸Šå‡æ²¿ä½œç‚ºModbus指令的發é€ä½¿èƒ½ã€‚æ¯æ¬¡ç™¼é€çš„åŒæ™‚é 發é€ä½¿èƒ½çš„ä¸Šå‡æ²¿æŠŠsm135ã€sm136清ä½ã€‚sm135ã€sm136èˆ‡é€šè¨Šç¨‹åºæ²’æœ‰ä»»ä½•ç›´æŽ¥é—œç³»ï¼Œåªæ˜¯è²«ç©¿ç¨‹åºæ‰€å¿…é ˆçš„æ¨™å¿—ä½ã€‚
(二)å‘單片機ä¸å¯«å…¥ç›¸é—œä¿¡æ¯
整個寫信æ¯éƒ¨åˆ†åˆ†ä¸‹é¢ä¸‰å¡Šï¼š
a.é‚輯判斷é‹ç®—部分
供氣壓力是系統å„種é‹è¡Œç‹€æ…‹æ”¹è®Šèˆ‡ä¿æŒçš„唯一指標。壓力å°äºŽä¾›æ°£å£“åŠ›è¦æ±‚下é™å°±è¦æ›´å¤šçš„供氣機組é‹è¡Œä»¥å¢žåŠ ä¾›æ°£é‡ï¼Œå£“åŠ›å¤§äºŽä¾›æ°£å£“åŠ›è¦æ±‚上é™å°±è¦æŠŠç•¶å‰é‹è¡Œä¾›æ°£æ©Ÿçµ„減少以減少供氣é‡ã€‚而處于上下é™ä¹‹é–“çš„å£“åŠ›å€¼æ™‚å°±ä¿æŒç•¶å‰æ©Ÿçµ„çš„é‹è¡Œç‹€æ…‹ä¸è®Šã€‚
æŒ‰ç…§å·¥è—æŽ§åˆ¶é‚輯來構æˆé‚輯判斷é‹ç®—部分,并且機組按照先開åŽåœçš„åŽŸå‰‡é †åºå•Ÿå‹•(1ã€2ã€3â†â†’3ã€2ã€1)。
為ä¿è‰æ•¸æ“šçš„æ£ç¢ºæ€§ï¼Œéœ€è¦åˆ¤æ–·è®€ä¿¡æ¯å程åºçš„站地å€èˆ‡å¯«ä¿¡æ¯ç¨‹åºå°‡åŸ·è¡ŒæŽ§åˆ¶æ“ä½œçš„ç«™åœ°å€æ˜¯å¦ä¸€è‡´ï¼Œç„¶åŽéœ€è¦åˆ¤æ–·ç›¸æ‡‰çš„æ•…障信æ¯å¯„å˜å™¨æ˜¯å¦ç‚º0,為0è‰æ˜Žç„¡æ•…障或輕故障,ä¸ç‚º0則ä¸å‘該站發任何控制指令并馬上å°ä¸‹ä¸€è‡ºæ“作。
ç”±äºŽæˆ‘å€‘å°æ•…障進行了分類,所以å¯ä»¥æ ¹æ“šä¸åŒé¡žåˆ¥çš„æ•…障進行ä¸åŒçš„æŽ§åˆ¶æ“作:
1. 類故障ä¸è®€ä¸å¯«ï¼ˆç›¸æ‡‰çš„æ•…障信æ¯å¯„å˜å™¨ç‚º1)
2. 類故障åªè®€ä¸å¯«ï¼ˆç›¸æ‡‰çš„æ•…障信æ¯å¯„å˜å™¨ç‚º2)
3. 沒有故障紀錄(相應的故障信æ¯å¯„å˜å™¨é»˜èªå€¼ç‚º0)
å°æ•…障分類的控制ç–略是很有價值的,在以åŽçš„æŽ§åˆ¶éŽç¨‹æ ¹æ“šæ•…éšœé¡žåˆ¥æˆ–è€…å¯ä»¥ä½œç‚ºé‹è¡Œæ…‹çš„類別,進行有所å€åˆ†çš„æŽ§åˆ¶ã€‚ä¸ç®¡æ˜¯é€šè¨ŠæŽ§åˆ¶æ–¹å¼é‚„是數å—I/O控制方å¼ï¼Œç›¸ä¿¡éƒ½å¯ä»¥åœ¨æŸç¨®ç¨‹åº¦ä¸Šé‡‡ç”¨é€™é¡žç°¡ä¾¿æœ‰æ•ˆçš„æ–¹æ³•。
b.æ•¸æ“šå¹€çµæ§‹éƒ¨åˆ†
åœ¨é€™å€‹éƒ¨åˆ†é‡Œä¸»è¦æ˜¯ç™¼é€æ•¸æ“šå¹€çš„æ•´é«”架構。
c.Modbus通訊指令發é€éƒ¨åˆ†
指令發é€éƒ¨åˆ†å’Œè®€æ•¸æ“šå程åºé¡žä¼¼ï¼Œå°±ä¸å†å¤šä»‹ç´¹äº†ã€‚
å®¢æˆ¶é‚„è¦æ±‚æ©Ÿçµ„é †åºå¯ä»¥ä»»æ„æ‰“äº‚ï¼Œä½†æ˜¯é †åºè™Ÿé—œè¯è‘—整個控制æµç¨‹åˆä¸èƒ½æäº‚所以åªèƒ½æŠŠæ©Ÿå™¨è™Ÿæ”¾åˆ°ä¾ç…§å›ºå®šé †åºæŽ’列的機器號寄å˜å™¨é‡Œé¢åŽ»ï¼Œæ‰“äº‚é€™äº›æ©Ÿå™¨è™Ÿå¯„å˜å™¨é‡Œé¢å˜æ”¾è‘—çš„æ©Ÿå™¨è™Ÿçš„é †åºä¾†å¯¦ç¾æ©Ÿçµ„é †åºçš„ä»»æ„æ€§ã€‚主程åºä¸åŠ å…¥äº†åˆ¤æ–·æ©Ÿçµ„ä¿¡æ¯çš„部分,還是判斷故障信æ¯å¯„å˜å™¨å…§çš„å€¼ï¼Œå…ˆæ ¹æ“šé€™äº›å€¼åˆ¤æ–·å‡ºæœ‰å¤šå°‘è‡ºæ©Ÿçµ„åœ¨ç¶²ï¼Œç„¶åŽæ ¹æ“šæ•…éšœä¿¡æ¯å¯„å˜å™¨å…§çš„值判斷哪臺機組退網,退網的機組編號放在網內最åŽä¸€è‡ºæ©Ÿçµ„機器號寄å˜å™¨çš„åŽé¢æ©Ÿå™¨è™Ÿå¯„å˜å™¨é‡Œé¢ã€‚進網的時候åªéœ€æ”¹å¯«æ•…障信æ¯å¯„å˜å™¨ï¼Œç›¸æ‡‰çš„在網機組臺數å¯è‡ªè¡Œåˆ¤æ–·å‡ºä¾†ã€‚é€™æ¨£é€²ç¶²é€€ç¶²çš„é †åºå°±è®Šæˆäº†å…ˆé€€å…ˆé€²ã€‚
å››ã€ç¸½çµ
ç©ºå£“æ©Ÿç³»çµ±è¯æŽ§å¯ä»¥æ ¹æ“šå¯¦éš›éœ€è¦è‡ªå‹•é–‹æ©Ÿæˆ–åŠ è¼‰ç©ºå£“æ©Ÿä»¥ä¿æŒç³»çµ±å£“åŠ›ã€‚æœ‰æ•ˆä¿æŒäº†ç³»çµ±å…§ç©ºæ°£å£“åŠ›ç©©å®šã€‚èª¿æ•´äº†æ•´é«”çš„è² è¼‰å¹³è¡¡ï¼Œæ¸›å°‘äº†æŽ’æ°£æ”¾ç©ºï¼Œç¯€ç´„äº†æ›´å¤šçš„èƒ½æºï¼Œæé«˜äº†ç›£æŽ§ç³»çµ±çš„免颿œ‰æ•ˆæ€§ï¼ŒçœŸæ£å¯¦ç¾äº†ç„¡äººè‡ªå‹•化æ“作。