摘è¦ï¼šæœ¬æ–‡åˆ†æžäº†PROFIBUS-DPç¾å ´ç¸½ç·šçš„基本特性和通訊å”è°ï¼Œä»‹ç´¹äº†ä¸€ç¨®åŸºäºŽèµ«å„ªè¨ŠåµŒå…¥å¼æ¨¡å¡ŠCOM-Cçš„PROFIBUS-DP主站系統的è¨è¨ˆæ–¹æ¡ˆï¼Œå¹¶åœ¨DCSç³»çµ±ä¸æˆåŠŸæ‡‰ç”¨ã€‚ç›®å‰ï¼Œè©²ç³»çµ±å·²æŠ•å…¥ç¾å ´é‹è¡Œï¼Œç©©å®šå¯é ,å–得很好的實效。
é—œéµå—:PROFIBUS-DP主站;ç¾å ´ç¸½ç·šï¼›DCSç³»çµ±ï¼›åµŒå…¥å¼æ¨¡å¡Š
[align=center]The design of PROFIBUS-DP Master system based on Hilscher embedded module
ZHANG Xiao-gang, DENG Wu-peng
(1. Zhejiang SUPCON Technology Co., Ltd, Hangzhou, 310053
2. Hilscher Gesellschaft für Systemautomation mbH Shanghai Representative Office, Shanghai, 200010)
張曉剛1,鄧梧鵬2
(1. æµ™æ±Ÿä¸æŽ§æŠ€è¡“è‚¡ä»½æœ‰é™å…¬å¸ 浙江 æå·ž310053ï¼›
2. 德國赫優訊自動化系統有é™å…¬å¸ä¸Šæµ·ä»£è¡¨è™• 上海 200010)[/align]
Abstract: This paper analyzes the character and protocol of PROFIBUS-DP, and introduces one solution of PROFIBUS-DP Master system based on Hilscher embedded module, which is applied in DCS successfully. The system runs steadily on the field, and gets good feedback from customers.
Key words: PROFIBUS-DP Master, Fieldbus, DCS, Embedded module
0 引言
ç¾å ´ç¸½ç·šæ˜¯ç•¶ä»Šè‡ªå‹•åŒ–é ˜åŸŸæŠ€è¡“ç™¼å±•çš„ç†±é»žä¹‹ä¸€ï¼Œè¢«è½ç‚ºè‡ªå‹•åŒ–é ˜åŸŸçš„è¨ˆç®—æ©Ÿå±€åŸŸç¶²ã€‚å®ƒçš„å‡ºç¾ï¼Œæ¨™å¿—è‘—å·¥æ¥æŽ§åˆ¶æŠ€è¡“é ˜åŸŸåˆä¸€å€‹æ–°æ™‚代的開始,并將å°è©²é ˜åŸŸçš„發展產生é‡è¦å½±éŸ¿ã€‚
ä½œç‚ºææ´²é¦–屈一指的開放å¼ç¾å ´ç¸½ç·šPROFIBUS(Process Fieldbus)已經被全世界所接å—,æˆç‚ºåœ‹éš›åŒ–的開放å¼ç¾å ´ç¸½ç·šæ¨™æº–,并在ä¸åœ‹ç™¼å±•è¿…é€Ÿï¼Œå»£æ³›æ‡‰ç”¨äºŽåŠ å·¥åˆ¶é€ ã€éŽç¨‹ç‰è‡ªå‹•åŒ–é ˜åŸŸä¸ã€‚
ç›®å‰ï¼Œè¶Šä¾†è¶Šå¤šçš„國內自動化è¨å‚™åˆ¶é€ 商都已開發出了帶有PROFIBUS從站接å£çš„è¨å‚™ï¼Œå¹¶åœ¨å¸‚å ´ä¸Šç²å¾—廣泛的èªå¯ã€‚然而,自主開發的帶有PROFIBUS主站通訊接å£çš„è¨å‚™å»å¾ˆå°‘ã€‚æœ¬æ–‡ä»‹ç´¹äº†ä¸€ç¨®åŸºäºŽåµŒå…¥å¼æ¨¡å¡ŠCOM-Cçš„PROFIBUS-DP主站系統的è¨è¨ˆæ–¹æ¡ˆï¼ŒåŸºäºŽè©²æ–¹æ¡ˆè¨è¨ˆçš„產å“å·²ç¶“åœ¨æµ™æ±Ÿä¸æŽ§çš„WebField ECS-100 DCS系統ä¸å¾—到æˆåŠŸæ‡‰ç”¨ã€‚
1 PROFIBUS-DP通訊å”è°
1.1 PROFIBUS的組æˆ
PROFIBUS是由西門åå…¬å¸æŽ¨å‡ºçš„ä¸€ç¨®é–‹æ”¾å¼ç¾å ´ç¸½ç·šæ¨™æº–,是德國標準(DIN19245ï¼‰å’Œææ´²æ¨™æº–(EN50170)的ç¾å ´ç¸½ç·šæ¨™æº–,并已ç´å…¥åœ‹é𛿍™æº–IEC 61158ä¸ã€‚它是一種具有廣泛應用范åœçš„ã€é–‹æ”¾çš„æ•¸å—通信系統,特別é©ç”¨äºŽå·¥å» 自動化和éŽç¨‹è‡ªå‹•åŒ–é ˜åŸŸã€‚
PROFIBUS由相互兼容的三個部分組æˆï¼Œå³PROFIBUS-FMSã€PROFIBUS-DPã€PROFIBUS-PA。
PROFIBUS-FMS:用于車間級通用的控制åŠé€šä¿¡ä»»å‹™ï¼Œæ˜¯ä¸€å€‹ä»¤ç‰Œç’°çµæ§‹ã€å¯¦æ™‚多主網絡。
PROFIBUS-DP:是一種高速且優化的通信方案,主è¦ç”¨äºŽå¯¦ç¾ç¾å ´ç´šæŽ§åˆ¶èˆ‡åˆ†å¸ƒå¼I/OåŠå…¶ä»–ç¾å ´ç´šè¨å‚™ä¹‹é–“的通信。
PROFIBUS-PA:專為éŽç¨‹è‡ªå‹•化而è¨è¨ˆï¼Œç¬¦åˆæœ¬å¾å®‰å…¨è¦èŒƒï¼Œé©ç”¨äºŽé˜²çˆ†å€çš„æ‡‰ç”¨ã€‚
PROFIBUS這三層å”è°ä½¿å…¶æˆç‚ºèƒ½å¤ æä¾›åˆ¶é€ æ¥è‡ªå‹•化ã€å·¥ç¨‹è‡ªå‹•åŒ–ã€æ¨“宇自動化以åŠé›»åŠ›è‡ªå‹•åŒ–å®Œæ•´è§£æ±ºæ–¹æ¡ˆçš„å”¯ä¸€çš„ç¾å ´ç¸½ç·šç³»çµ±ã€‚
1.2 PROFIBUS-DP
PROFIBUS-DPå”è°è¨è¨ˆç”¨äºŽç¾å ´å±¤çš„快速數據交æ›ï¼Œä¸å¤®å¯ç·¨ç¨‹æŽ§åˆ¶å™¨ï¼ˆå¦‚,PLCã€PC或éŽç¨‹æŽ§åˆ¶ç³»çµ±ï¼‰é€šéŽå¿«é€Ÿä¸²è¡Œé€£æŽ¥èˆ‡åˆ†æ•£çš„ç¾å ´è¨å‚™ï¼ˆå¦‚,I/Oã€é©…動器ã€é–¥é–€æˆ–變é€å™¨ï¼‰é€²è¡Œé€šä¿¡ã€‚便“šå„ç¨®æ‡‰ç”¨é ˜åŸŸçš„ç‰¹æ®Šéœ€æ±‚ï¼Œå·²ç¶“ç”¨ç‰¹æ®ŠåŠŸèƒ½é€æ¥åœ°æ“´å±•了DPçš„åŸºæœ¬åŠŸèƒ½ï¼Œç›®å‰æœ‰ä¸‰ç¨®ç‰ˆæœ¬ï¼šDP-V0,DP-V1å’ŒDP-V2,æ¯ä¸€ç¨®ç‰ˆæœ¬éƒ½æœ‰è‡ªå·±å°ˆç”¨çš„é—œéµç‰¹æ€§ï¼Œå¦‚圖1所示。版本的這種å€åˆ¥ï¼Œä¸»è¦åæ˜ äº†ä¾æ“šä¸æ–·å¢žé•·çš„æ‡‰ç”¨éœ€æ±‚而完æˆçš„è¦èŒƒå·¥ä½œçš„æ™‚é–“é †åºã€‚
[align=center]

圖1 PROFIBUS-DPå„版本的主è¦åŠŸèƒ½[/align]
DP-V0æä¾›DP基本功能,包括循環的數據交æ›ï¼Œä»¥åŠç«™è¨ºæ–·ã€æ¨¡å¡Šè¨ºæ–·å’Œç‰¹å®šé€šé“的診斷。
DP-V1包å«ä¾æ“šéŽç¨‹è‡ªå‹•åŒ–çš„éœ€æ±‚è€Œå¢žåŠ çš„åŠŸèƒ½ï¼Œç‰¹åˆ¥æ˜¯ç”¨äºŽåƒæ•¸è³¦å€¼ã€æ“ä½œã€æ™ºèƒ½ç¾å ´è¨å‚™çš„å¯è¦–åŒ–å’Œå ±è¦è™•ç†ç‰çš„éžå¾ªç’°çš„æ•¸æ“šé€šä¿¡ã€‚æ¤å¤–,DP-V1æœ‰ä¸‰ç¨®é™„åŠ çš„å ±è¦é¡žåž‹ï¼šç‹€æ³å ±è¦ï¼Œåˆ·æ–°å ±è¦å’Œåˆ¶é€ å•†å°ˆç”¨çš„å ±è¦ã€‚
DP-V2包å«ä¸»è¦æ ¹æ“šé©…å‹•æŠ€è¡“çš„éœ€æ±‚è€Œå¢žåŠ çš„å…¶å®ƒåŠŸèƒ½ã€‚ç”±äºŽå¢žåŠ çš„åŠŸèƒ½ï¼Œå¦‚ç‰æ™‚åŒæ¥å¾žç«™æ¨¡å¼å’Œå¾žç«™èˆ‡å¾žç«™é€šä¿¡ç‰ï¼ŒDP-V2也å¯ä»¥è¢«å¯¦ç¾ç‚ºé©…動總線,用于控制驅動軸的快速é‹å‹•時åºã€‚
2 PROFIBUS-DP主站系統è¨è¨ˆ
PROFIBUS是一種開放的標準,原則上,該å”è°å¯ä»¥åœ¨ä»»ä½•處ç†å™¨ä¸Šå¯¦ç¾ã€‚ç›®å‰ï¼Œè‡ªå‹•åŒ–å» å•†åœ¨é–‹ç™¼PROFIBUS-DP主站è¨å‚™æ™‚ï¼Œä¸»è¦æœ‰ä»¥ä¸‹ä¸‰ç¨®è§£æ±ºæ–¹æ¡ˆï¼š
1. 軟PROFIBUS主站,該方案完全由軟件來實ç¾PROFIBUSå”è°ï¼Œç”±å¾®è™•ç†å™¨ä¾†é‹è¡Œå®Œæ•´çš„å”è°å †æ£§ã€‚該方案開發難度和開發風險都特別大,開發周期也長,而且需è¦é–‹ç™¼äººå“¡å°PROFIBUSå”è°ã€æ¡†æž¶ç‰¹åˆ¥ç†Ÿæ‚‰ã€‚產å“開發出來åŽï¼Œéœ€è¦é€ææ´²é€²è¡Œå”è°ä¸€è‡´æ€§æ¸¬è©¦å’Œèªè‰ã€‚
2. 專用ASICèŠ¯ç‰‡å¤–åŠ æ“´å±•å›ºåŒ–ç¨‹åºFirmware,該方案是采用較多的一種,由專用的ASIC芯片實ç¾PROFIBUSå”è°æ•¸æ“šéˆè·¯å±¤çš„ä»‹è³ªè¨ªå•æŽ§åˆ¶åŠŸèƒ½ï¼›è€Œæ•¸æ“šéˆè·¯å±¤çš„其他功能和應用層的功能則由微處ç†å™¨é‹è¡Œå…¶æ“´å±•固化程åºå¯¦ç¾ã€‚但是,目å‰åœ‹å…§å¸‚å ´å¾ˆé›£è³¼è²·åˆ°Firmware,如果由用戶自己編寫Firmwareå‰‡é›£åº¦å¢žåŠ ï¼Œé–‹ç™¼å‘¨æœŸä¹Ÿé•·ï¼ŒåŒæ¨£éœ€è¦é€ææ´²é€²è¡Œå”è°ä¸€è‡´æ€§æ¸¬è©¦å’Œèªè‰ã€‚
3. åµŒå…¥å¼æ¨¡å¡Šä¸»ç«™ï¼Œè©²æ–¹æ¡ˆæ˜¯é–‹ç™¼PROFIBUS-DP主站è¨å‚™é‡‡ç”¨æœ€å¤šçš„一種,模塊內部已經集æˆå°ˆç”¨çš„ASIC芯片和固化程åºFirmware。該方案開發難度和開發風險都大大減少,開發周期縮減,并且å”è°å·²ç¶“通éŽäº†ä¸€è‡´æ€§æ¸¬è©¦å’Œèªè‰ã€‚
æœ¬æ–‡é‡‡ç”¨çš„æ˜¯ç¬¬ä¸‰ç¨®æ–¹æ¡ˆâ€”â€”åµŒå…¥å¼æ¨¡å¡Šä¸»ç«™ï¼Œä½¿ç”¨çš„æ˜¯å¾·åœ‹èµ«å„ªè¨Šï¼ˆHilscher)自動化系統有é™å…¬å¸çš„åµŒå…¥å¼æ¨¡å¡ŠCOM-CN-DPM(PROFIBUS-DP Master),由該模塊實ç¾PROFIBUS-DP主站å”è°ï¼Œä¸»æ©Ÿç³»çµ±é€šéŽåµŒå…¥å¼æ¨¡å¡Šæä¾›çš„雙端å£å…§å˜ï¼ˆDual-Port Memory,DPM)接å£èˆ‡æ¨¡å¡Šé€²è¡Œæ•¸æ“šé€šä¿¡ï¼Œç”¨æˆ¶ä¸éœ€è¦é—œå¿ƒPROFIBUSå”è°çš„具體實ç¾ï¼Œåªéœ€å¾€DPM接å£è®€/寫數據就å¯ä»¥ï¼Œå› æ¤ï¼Œè©²æ¨¡å¡Šå°±åƒä¸€å€‹å…§å˜ï¼Œä½¿ç”¨èµ·ä¾†éžå¸¸æ–¹ä¾¿ã€‚
2.1 硬件è¨è¨ˆ
åµŒå…¥å¼æ¨¡å¡ŠCOM-CN-DPMæä¾›çµ¦ç”¨æˆ¶çš„ç¡¬ä»¶æŽ¥å£æœ‰X1å’ŒX2兩個排é‡é€£æŽ¥é ,X1連接é (50æ ¹ç®¡è…³ï¼‰ï¼Œå³é›™ç«¯å£å…§å˜æŽ¥å£ï¼ŒåŒ…å«èˆ‡ä¸»æ©Ÿé€šä¿¡å¿…å‚™çš„æŽ§åˆ¶ç·šã€æ•¸æ“šç·šå’Œåœ°å€ç·šã€‚X2連接é (30æ ¹ç®¡è…³ï¼‰ï¼Œå³ç¾å ´ç¸½ç·šæŽ¥å£ï¼ŒåŒ…å«PROFIBUS信號線以åŠLED狀態指示燈。
åµŒå…¥å¼æ¨¡å¡ŠCOM-C與主機接å£é›»è·¯å¦‚圖2所示。由于PROFIBUSå”è°éƒ½ç”±æ¨¡å¡Šå…§éƒ¨å¯¦ç¾ï¼Œå› æ¤ç”¨æˆ¶æ‡‰ç”¨ç¨‹åºåªéœ€é€šéŽæä¾›çš„API接å£å’Œè¨ªå•æ–¹å¼ï¼Œå°é›™ç«¯å£å…§å˜é€²è¡Œè®€/寫æ“作。通éŽç¾å ´ç¸½ç·šæŽ¥å£ï¼Œå°‡PROFIBUS信號線引出,åªéœ€åœ¨æ¯æ¿ä¸Šé€£æŽ¥ä¸€å€‹9é‡D-Sub連接é ï¼Œé€šéŽæ¤æŽ¥å£å°‡æ¨¡å¡Šé€£æŽ¥åˆ°PROFIBUS-DP網絡ä¸ã€‚è©²æ¨¡å¡ŠåŒæ™‚æä¾›LED狀態指示燈,å¯å°‡LEDä¿¡è™Ÿç·šå¼•å‡ºåˆ°æ¯æ¿ä¸Šï¼Œæ–¹ä¾¿ç”¨äºŽè¨ºæ–·æ¨¡å¡Šçš„通信狀æ³ã€‚
[align=center]

圖2 åµŒå…¥å¼æ¨¡å¡Šèˆ‡ä¸»æ©ŸæŽ¥å£é›»è·¯[/align]
由于該模塊已經集æˆå¯¦ç¾PROFIBUSå”è°çš„æ‰€æœ‰å¿…å‚™é›»è·¯ï¼Œå› æ¤åœ¨å¤–åœé›»è·¯è¨è¨ˆçš„æ™‚候éžå¸¸ç°¡å–®æ–¹ä¾¿ï¼Œå…¶é›»è·¯é€£æŽ¥èˆ‡MCU和內å˜çš„連接相似。在該主站系統ä¸ï¼ŒåŒæ™‚é‚„è¨è¨ˆäº†ä»¥å¤ªç¶²æŽ¥å£ï¼Œæ–¹ä¾¿é 程文件的下載。
2.2 軟件è¨è¨ˆ
åµŒå…¥å¼æ¨¡å¡ŠCOM-Cæä¾›çš„ä¸»æ©ŸæŽ¥å£æ˜¯é›™ç«¯å£å…§å˜DPM,用戶應用程åºé€šéŽDPM接å£ä¾†è¨ªå•è©²æ¨¡å¡Šã€‚åŒæ™‚,為了æé«˜æ•´å€‹ç³»çµ±çš„實時性和å¯é 性,主機系統使用的是實時多任務æ“作系統Linuxã€‚å› æ¤ï¼Œåœ¨é€²è¡Œè»Ÿä»¶è¨è¨ˆæ™‚,主è¦å®Œæˆé©…動程åºä»¥åŠæ‡‰ç”¨ç¨‹åºçš„編寫。
2.2.1 雙端å£å…§å˜DPMçµæ§‹
åµŒå…¥å¼æ¨¡å¡ŠCOM-Cæä¾›çš„雙端å£å…§å˜DPMæŽ¥å£æ˜¯8KByte的地å€ç©ºé–“ï¼Œå…¶å…·é«”çµæ§‹å¦‚圖3所示。
[align=center]

圖3 雙端å£å…§å˜åœ°å€ç©ºé–“[/align]
用戶應用程åºé€šéŽé›™ç«¯å£å…§å˜DPM來訪å•PROFIBUS-DPä¸»ç«™åµŒå…¥å¼æ¨¡å¡ŠCOM-C,該雙端å£å…§å˜åˆ†ç‚ºå…©å€‹éƒ¨åˆ†ï¼Œå”è°ç„¡é—œï¼ˆå¾ªç’°æ•¸æ“šåœ°å€ç©ºé–“)與å”è°ç›¸é—œï¼ˆéžå¾ªç’°æ•¸æ“šåœ°å€ç©ºé–“)。循環數據包å«PROFIBUS-DP主站與從站之間相互交æ›çš„éŽç¨‹æ˜ åƒè¼¸å…¥è¼¸å‡ºæ•¸æ“šï¼Œéžå¾ªç’°æ•¸æ“šåŒ…å«èˆ‡PROFIBUS-DPå”è°ç›¸é—œçš„åƒæ•¸ã€å ±æ–‡ã€å‘½ä»¤ã€ç‹€æ…‹ç‰æ•¸æ“šã€‚
â— éŽç¨‹æ˜ åƒè¼¸å‡ºæ•¸æ“šï¼šä¸»æ©Ÿç”¨æˆ¶ç¨‹åºç™¼é€çµ¦PROFIBUS-DP從站的輸出數據。
â— éŽç¨‹æ˜ åƒè¼¸å…¥æ•¸æ“šï¼šPROFIBUS-DP從站發é€çµ¦ä¸»æ©Ÿç”¨æˆ¶ç¨‹åºçš„輸出數據。
◠發é€éƒµç®±ï¼šä¸»æ©Ÿç”¨æˆ¶ç¨‹åºç™¼é€çµ¦PROFIBUS-DP從站的éžå¾ªç’°å ±æ–‡ä¿¡æ¯ï¼Œå‘½ä»¤ã€è¨ºæ–·ã€é…置文件下載ç‰ã€‚
◠接收郵箱:PROFIBUS-DP從站發é€çµ¦ä¸»æ©Ÿç”¨æˆ¶ç¨‹åºçš„éžå¾ªç’°å ±æ–‡ä¿¡æ¯ï¼Œå¾žç«™å ±è¦ã€ç‹€æ…‹ã€é…置文件上傳ç‰ã€‚
â— å”è°åƒæ•¸ï¼šPROFIBUS-DPå”è°åƒæ•¸ä¿¡æ¯ï¼Œæ³¢ç‰¹çއã€çœ‹é–€ç‹—時間ã€å¾ªç’°æ™‚é–“ç‰ã€‚
â— å”è°ç‹€æ…‹ï¼šPROFIBUS-DP網絡狀態信æ¯ï¼Œç¶²çµ¡ç‹€æ…‹ã€éŒ¯èª¤ã€è¶…時ç‰ã€‚
â— ç³»çµ±ç‹€æ…‹ï¼šåµŒå…¥å¼æ¨¡å¡ŠCOM-Cä¸é‹è¡Œçš„æ“ä½œç³»çµ±çš„ç‹€æ…‹ä¿¡æ¯å’Œæ¨¡å¡Šçš„基本信æ¯ã€‚
◠狀態/æ¡æ‰‹æ¨™å¿—:è¨å‚™åˆå§‹åŒ–狀態信æ¯ï¼ŒéŽç¨‹æ˜ åƒè¼¸å…¥è¼¸å‡ºæ•¸æ“šå’Œéƒµç®±å ±æ–‡åŒæ¥ä½ï¼Œæ¨¡å¡Šå¯«ï¼Œä¸»æ©Ÿæ‡‰ç”¨ç¨‹åºè®€ã€‚
◠命令/æ¡æ‰‹æ¨™å¿—:用戶應用程åºç‹€æ…‹ä¿¡æ¯ï¼ŒéŽç¨‹æ˜ åƒè¼¸å…¥è¼¸å‡ºæ•¸æ“šå’Œéƒµç®±å ±æ–‡åŒæ¥ä½ï¼Œä¸»æ©Ÿæ‡‰ç”¨ç¨‹åºå¯«ï¼Œæ¨¡å¡Šè®€ã€‚
2.2.2 驅動程åºçš„è¨è¨ˆ
赫優訊æä¾›åŸºäºŽPCI接å£ã€Compact-PCI接å£å’ŒISA接å£çš„Linuxè¨å‚™é©…動,在該系統ä¸ï¼Œä¸»æ©ŸCPU直接å°åµŒå…¥å¼æ¨¡å¡ŠCOM-C進行訪å•ï¼Œå› æ¤å¯ä»¥å€Ÿé‘’æä¾›çš„Linuxè¨å‚™é©…動代碼,進行移æ¤ã€‚
Linuxè¨å‚™é©…動主è¦å®Œæˆå°åµŒå…¥å¼æ¨¡å¡ŠCOM-C雙端å£å…§å˜çš„訪å•,æä¾›ä¸€å€‹é€šç”¨çš„é©…å‹•ç¨‹åºæŽ¥å£ï¼Œç”¨æˆ¶ç¨‹åºé€šéŽèª¿ç”¨æŽ¥å£å‡½æ•¸ä¾†è¨ªå•PROFIBUSä¸»ç«™åµŒå…¥å¼æ¨¡å¡ŠCOM-C。Linuxè¨å‚™é©…動的框架如圖4所示,這樣åšçš„好處就是,如果以åŽè¦ä½¿ç”¨èµ«å„ªè¨Šå…¬å¸çš„其它類型的ç¾å ´ç¸½ç·šï¼ˆå¦‚DeviceNetã€CANopenï¼‰åµŒå…¥å¼æ¨¡å¡ŠCOM-C, Linuxè¨å‚™é©…å‹•ä¸éœ€è¦æ”¹è®Šï¼Œç›´æŽ¥å¯ç”¨ã€‚
[align=center]

圖4 è¨å‚™é©…動框架[/align]
Linuxè¨å‚™é©…動主è¦å¯¦ç¾çš„函數如表1。
[align=center]表1 Linuxè¨å‚™é©…動函數表

[/align]
2.2.3 應用程åºçš„è¨è¨ˆ
應用程åºä¸»è¦å¯¦ç¾çš„功能:é…置文件的é 程接收和下載,與é 程監控系統網絡數據的收發,網絡監控ç‰ç‰ã€‚
網絡é…置工具SyCon生æˆçš„網絡é…置文件,å¯å°Žå‡ºæˆDBMæ ¼å¼çš„æ–‡ä»¶ï¼Œç„¶åŽé€šéŽMailboxï¼ˆå ±æ–‡çš„å½¢å¼ï¼‰ä¸‹è¼‰åˆ°åµŒå…¥å¼æ¨¡å¡Šçš„Flashä¸ã€‚é…置文件下載æµç¨‹å¦‚圖5所示。
[align=center]

圖5 é…置文件下載æµç¨‹[/align]
部分代碼如下:
/***** 下載é…置文件 *****/
memset(&txMsg.data, 0, sizeof(txMsg.data));
/* 讀出DBM文件ä¸çš„ç›¸é—œä¿¡æ¯ ï¼Š/
fseek(pfFile, 40, SEEK_SET);
fread(&ul, 1, 4, pfFile);
…….
usFileLength=*(unsigned short*)&txMsg.data[9];
usFileLength=(unsigned short)usFileLength*2;
memcpy(&txMsg.data[17], &abTemp[0], 34);
/* å»ºç«‹ç¬¬ä¸€å€‹å ±æ–‡ */
txMsg.rx = 0x00;
txMsg.tx = 0xff;
txMsg.ln = 51;
txMsg.nr = ++bNo;
txMsg.a = 0;
txMsg.f = 0;
txMsg.b = 6;
txMsg.e = 4;
txMsg.data[0] = 3;
if ( SendReceiveMessage(&txMsg, &rxMsg, 10000L)) goto LeaveProgram;
fseek(pfFile, 44, SEEK_SET);
iRead=fread(&txMsg.data[0], 1, DOWNLOAD_LEN, pfFile);
usTransmittedLength = 0;
/* è¶…éŽä¸€å€‹å ±æ–‡çš„æœ€å¤§é•·åº¦ï¼Œé€²å…¥å¾ªç’°ï¼Œé€£çºŒç™¼é€å ±æ–‡ï¼Š/
txMsg.ln = (unsigned char)(iRead);
txMsg.nr = ++bNo;
txMsg.e = 8;
do
ï½›
usTransmittedLength+=(unsigned short)iRead;
if ( SendReceiveMessage(&txMsg, &rxMsg, 1000L)) goto LeaveProgram;
iRead=fread(&txMsg.data[0], 1, DOWNLOAD_LEN, pfFile);
txMsg.ln = (unsigned char)iRead;
txMsg.nr = ++bNo;
txMsg.e = 8;
ï½ while (iRead = = DOWNLOAD_LEN);
/* ç™¼é€æœ€åŽä¸€å€‹å ±æ–‡ */
txMsg.e = 0xc;
usTransmittedLength += (unsigned short)iRead;
if ( SendReceiveMessage(&txMsg, &rxMsg, 15000L)) goto LeaveProgram;
/***** 下載é…ç½®æ–‡ä»¶çµæŸ *****/
3 PROFIBUS-DP主站模塊在DCS系統ä¸çš„æ‡‰ç”¨
WebFieldç³»åˆ—æŽ§åˆ¶ç³»çµ±æ˜¯æµ™æ±Ÿä¸æŽ§æŠ€è¡“è‚¡ä»½æœ‰é™å…¬å¸ç‚ºé©æ‡‰ç¶²çµ¡æŠ€è¡“的發展,特別是Internetã€Web技術的發展而推出的基于網絡技術的控制系統。該系統èžåˆäº†æœ€æ–°çš„ç¾å ´ç¸½ç·šæŠ€è¡“ã€åµŒå…¥å¼è»Ÿä»¶æŠ€è¡“ã€å…ˆé€²æŽ§åˆ¶æŠ€è¡“與網絡技術,實ç¾äº†å¤šç¨®ç¸½ç·šå…¼å®¹å’Œç•°æ§‹ç³»çµ±ç¶œåˆé›†æˆã€‚å„種國內外DCSã€PLCåŠç¾å ´æ™ºèƒ½è¨å‚™éƒ½å¯ä»¥æŽ¥å…¥åˆ°WebField系列控制系統ä¸ï¼Œå¯¦ç¾ä¼æ¥å…§éŽç¨‹æŽ§åˆ¶è¨å‚™ä¿¡æ¯çš„共享。
WebFieldç³»åˆ—æŽ§åˆ¶ç³»çµ±çµæ§‹å¦‚圖6所示。
[align=center]

圖6 ç³»çµ±çµæ§‹åœ–[/align]
由圖å¯è¦‹ï¼ŒWebField系列控制系統包å«ç®¡ç†ä¿¡æ¯ç¶²ã€æ“作網ã€éŽç¨‹æŽ§åˆ¶ç¶²å’ŒI/O總線4層網絡。
管ç†ä¿¡æ¯ç¶²é‡‡ç”¨é€šç”¨çš„ä»¥å¤ªç¶²æŠ€è¡“ï¼Œç”¨äºŽå·¥å» ç´šçš„ä¿¡æ¯å‚³é€å’Œç®¡ç†ï¼Œæ˜¯å¯¦ç¾å…¨å» ç¶œåˆç®¡ç†çš„ä¿¡æ¯é€šé“。æ“作網采用快速以太網技術,實ç¾C/S模å¼ä¸‹æœå‹™å™¨èˆ‡å®¢æˆ¶ç«¯çš„æ•¸æ“šé€šè¨ŠåŠæ“ä½œç¶²ç¯€é»žçš„æ™‚é–“åŒæ¥ã€‚éŽç¨‹æŽ§åˆ¶ç¶²ï¼ˆSCnetIIç¶²ï¼‰å¯¦ç¾æ“作站節點與控制站的連接,完æˆä¿¡æ¯ã€æŽ§åˆ¶å‘½ä»¤çš„傳輸與發é€ï¼Œé‡‡ç”¨é›™é‡åŒ–冗余è¨è¨ˆï¼Œä½¿å¾—ä¿¡æ¯å‚³è¼¸å¯é ã€é«˜é€Ÿã€‚I/O總線是控制站內部通信網絡,包括SBUSã€PROFIBUSã€Modbusã€DeviceNetç‰ç¾å ´ç¸½ç·šã€‚
基于COM-C模塊è¨è¨ˆçš„PROFIBUS-DP主站系統是WebField系列DCSä¸éŽç¨‹æŽ§åˆ¶ç¶²ç¯€é»žä¹‹ä¸€ã€‚å®ƒè§£æ±ºäº†ç³»çµ±èˆ‡å…¶ä»–å» å®¶æ¸¬æŽ§ç³»çµ±å’Œæ™ºèƒ½è¨å‚™çš„互è¯å•題,用于將標準PROFIBUS-DP從站è¨å‚™é€£å…¥ç³»çµ±ï¼Œé€šéŽéˆæŽ¥å™¨å’Œè€¦åˆå™¨é‚„å¯ä»¥æŽ¥å…¥PROFIBUS-PAè¨å‚™ã€‚通éŽSCNetⅡ通訊å”è°ï¼Œå…¶ä»–å» å®¶æ¸¬æŽ§ç³»çµ±å’Œæ™ºèƒ½è¨å‚™çš„éŽç¨‹åƒæ•¸å¯æˆåŠŸåœ°èˆ‡ç³»çµ±å…§æŽ§åˆ¶ç«™ã€æ“作站ç‰é€²è¡Œä¿¡æ¯é›™å‘通信,實ç¾çµ„æ…‹ã€ç®¡ç†ã€é¡¯ç¤ºã€æ“作åŠé‹ç®—ç‰åŠŸèƒ½ï¼Œå¾žè€Œä½¿ç•°ç¨®è¨å‚™æˆç‚ºWebField系列DCS的一部分。
PROFIBUS網絡é…置工具SyConå¯å®‰è£äºŽå·¥ç¨‹å¸«ç«™ï¼Œé€šéŽSyCon組態軟件æä¾›çš„API函數,å¯å¯¦ç¾PROFIBUS組態到DCS組態軟件的完全信æ¯å…±äº«ï¼Œå¾žè€Œå¯¦ç¾æ•´å€‹æŽ§åˆ¶ç³»çµ±çš„一體化組態。
基于PROFIBUS-DP主站模塊開發的主站å¡å·²ç¶“æˆåŠŸæ‡‰ç”¨äºŽWebField系列DCSä¸ï¼Œå¹¶ä¸”在éŽç¨‹æŽ§åˆ¶ç¶²ã€PROFIBUS-DP網絡都å¯ä»¥é€²è¡Œå†—ä½™é…置,ä¿è‰äº†PROFIBUS網絡信æ¯å‚³è¼¸çš„å¯é 性。截至目å‰ï¼Œè©²PROFIBUS-DP主站å¡å·²ç¶“在ç¾å ´æœ‰å¹¾ç™¾å€‹æˆåŠŸçš„æ‡‰ç”¨ã€‚
4 çµæŸèªž
æœ¬æ–‡åœ¨ç ”ç©¶PROFIBUS-DPç¾å ´ç¸½ç·šé€šè¨Šå”è°çš„基礎上,æå‡ºäº†é«˜å¯é 性的PROFIBUS-DP主站è¨è¨ˆæ–¹æ¡ˆï¼Œå¹¶ä¸”在DCSç³»çµ±ä¸æˆåŠŸæ‡‰ç”¨ï¼Œå·²æŠ•å…¥ç¾å ´é‹è¡Œï¼Œç©©å®šå¯é ,å–得很好的實效。目å‰ï¼Œåœ‹å…§å» 家多é™äºŽå°åœ‹å¤–產å“的系統集æˆåŠPROFIBUS-DP從站產å“的開發,å°PROFIBUS-DP主站產å“çš„ç ”ç©¶é–‹ç™¼ç”šå°‘ï¼Œå› æ¤æœ¬æ–‡å°é–‹ç™¼PROFIBUS-DP主站產å“具有借鑒作用。
åƒè€ƒæ–‡ç»ï¼š
[1] ä¸åœ‹ç¾å ´ç¸½ç·šå°ˆæ¥å§”員會(CPO)秘書處。ç¾å ´ç¸½ç·šPROFIBUS基礎知è˜åŠç”¨æˆ¶å®‰è£ã€æŠ•é‹å°Žå‰‡[M].
[2] PROFIBUS International Business Office. PROFIBUS Specification EN 50170 Vol 2. 1998
[3] Hilscher Gesellschaft für Systemautomation mbH. Toolkit Manual [EB/OL]. http://www.hilscher.com/support_manuals.html
[4] Hilscher Gesellschaft für Systemautomation mbH. Device Driver Manual [EB/OL]. http://www.hilscher.com/support_manuals.html
[5] Hilscher Gesellschaft für Systemautomation mbH. PROFIBUS-DP Master Protocol Interface Manual [EB/OL].
http://www.hilscher.com/support_manuals.html
作者簡介
張曉剛(197811——) ç”· å·¥å¸ç¢©å£« æµ™æ±Ÿä¸æŽ§æŠ€è¡“è‚¡ä»½æœ‰é™å…¬å¸å·¥æ¥é€šè¨ŠæŠ€è¡“部高級工程師 專門從事工æ¥é€šè¨Šç¶²çµ¡æŠ€è¡“çš„ç ”ç©¶å’ŒDCSè¨å‚™çš„開發
è¯ç³»æ–¹å¼ï¼š
æµ™æ±Ÿä¸æŽ§æŠ€è¡“è‚¡ä»½æœ‰é™å…¬å¸
地å€ï¼šæµ™æ±Ÿçœæå·žå¸‚濱江å€å…和路309è™Ÿä¸æŽ§ç§‘æŠ€åœ’A4
郵編:310053
Email:zhangxg@supcon.com
鄧梧鵬(198004 ——) ç”· å·¥å¸ç¢©å£« 德國赫優訊自動化系統有é™å…¬å¸æŠ€è¡“主管 專門從事ç¾å ´ç¸½ç·šã€å¯¦æ™‚å·¥æ¥ä»¥å¤ªç¶²æŠ€è¡“çš„ç ”ç©¶ã€‚
è¯ç³»æ–¹å¼ï¼š
德國赫優訊自動化系統有é™å…¬å¸ä¸Šæµ·ä»£è¡¨è™•
地å€ï¼šä¸Šæµ·å¸‚黃浦å€äººæ°‘è·¯885號淮海ä¸è¯å¤§å»ˆ2208室
郵編:200010
Email:wdeng@hilscher.com
電話: 021-63555161*18