摘 è¦ï¼šè«–述了一種PROFIBUS-DP從站開發方案,為自主開發 具有PROFIBUS-DP通信功能產å“的用戶,以OEMæ–¹å¼æä¾›PROFIBUS-DP從站通信接å£ã€‚
é—œéµè©žï¼šç¾å ´ç¸½ç·šï¼›PROFIBUS-DP;從站;通信接å£
0引言
 目å‰åœ‹å…§å°è‡ªå‹•化產å“(電器ã€å„€è¡¨ã€é©…å‹•è£ç½®ç‰ï¼‰æå‡ºPROFIBUSé€šä¿¡åŠŸèƒ½è¦ æ±‚ï¼Œä¸»è¦ä¾†æºäºŽï¼š
 (1)國外生產è¨å‚™åŠæŠ€è¡“çš„å¼•é€²ï¼Œç‰¹åˆ¥æ˜¯å¾žææ´²å¼•進的æˆå¥—è¨å‚™é€šå¸¸é‡‡ç”¨PROFIBUSç¾å ´ç¸½ç·š ï¼Œå› æ¤å°åœ‹å…§é…å¥—ç”¢å“æå‡ºäº†ç¾å ´ç¸½ç·šPROFIBUSé€šä¿¡åŠŸèƒ½çš„æŠ€è¡“è¦æ±‚ï¼›
 (2ï¼‰åœ‹å…§è‡ªå‹•åŒ–ç³»çµ±å» å®¶æ¯”è¼ƒæˆåŠŸçš„ã€é¢å‘行æ¥çš„æŽ§åˆ¶ç³»çµ±ï¼Œè¦æ±‚系統技術å‘ç¾å ´ç¸½ç·šæŠ€è¡“ ç™¼å±•ï¼ŒåŒæ™‚ä¹Ÿè¦æ±‚ç¾å ´è¨å‚™å‘智能化ã€ç¶²çµ¡åŒ–æ–¹å‘發展。
 基于上述需求,嵌入å¼PROFIBUS-DP從站通信接å£çš„è¨è¨ˆç‚ºè‡ªä¸»é–‹ç™¼å…·æœ‰PROFIBUS-DP通信功能產å“的用戶æä¾›äº†ä¸€ç¨®å¿«é€Ÿã€é«˜æ•ˆçš„解決方案。
1å¯¦ç¾æ–¹æ³•
 (1)電路è¨è¨ˆåˆ¶ä½œï¼šä½¿ç”¨PROFIBUS通信專用ASIC芯片SPC3實ç¾å”è°ç›¸ 關內容,é¸ç”¨åˆé©çš„CPU,外åœåŠ å¸¶å…‰é›»éš”é›¢çš„RSï¼485é©…å‹•ï¼›
 (2)單片機+Firmware軟件:需è¦åœ¨å–®ç‰‡æ©Ÿä¸ç·¨ç¨‹ï¼ˆFirmware軟件),實ç¾å–®ç‰‡æ©Ÿèˆ‡ASICçš„çµåˆï¼›
 (3)用戶產å“çš„CPU通éŽä¸²è¡ŒæŽ¥å£å‘PROFIBUS-DPå¾žç«™é€šä¿¡æŽ¥å£æ¿è®€ï¼å¯«è¼¸å…¥ï¼è¼¸å‡ºæ•¸æ“šï¼›PROFIBUS-DPå¾žç«™é€šä¿¡æŽ¥å£æ¿è‡ªå‹•è½‰æ›æˆPROFIBUS-DPå”è°èˆ‡PROFIBUS主站通信;
 (4)編寫GSD文件,æå»ºä¸€å€‹èª¿è©¦èˆ‡æ¸¬è©¦å¹³è‡ºé€²è¡ŒPROFIBUS系統é…置。
2硬件è¨è¨ˆ
 嵌入å¼PROFIBUS-DPå¾žç«™é€šä¿¡æŽ¥å£æ¿ï¼ˆä»¥ä¸‹ç°¡ç¨±æŽ¥å£æ¿ï¼‰ç”±CPU芯片ã€PROFIBUS å”è°èŠ¯ç‰‡SPC3åŠå…‰éš”RS485é©…å‹•ç‰é›»è·¯çµ„æˆï¼Œå¦‚圖1所示。

æŽ¥å£æ¿èˆ‡ç”¨æˆ¶æ¨¡æ¿é‡‡ç”¨ä¸²å£é€£æŽ¥ï¼Œä½¿ç”¨æ³¢ç‰¹çއ鏿“‡é–‹é—œå¯é¸æ“‡æŒ‡å®š çš„7種波特率(9600ã€19.2K〠38.4Kã€57.4Kã€115.2Kã€230.4Kã€460ã€8K)ä¸çš„ä¸€ç¨®ï¼›æŽ¥å£æ¿éœ€è¦ç”¨æˆ¶æ¨¡æ¿ æä¾›2組5 Vé›»æºï¼ˆVCCï¼GND150 mAå’Œ5 Vï¼0V-100 mAï¼‰ï¼Œåˆ†åˆ¥ä½œç‚ºæŽ¥å£ æ¿çš„é›»æºåŠå…‰éš”外電æºï¼Œç”±16釿’座J1引 入。信號Aã€Bã€RTSåŠ5 Vã€0 Vå¯ç›´æŽ¥å¼•到用戶模æ¿PROFIBUSçš„Dåž‹æ’ é 上(使用PCB布線或軟接線å‡å¯ï¼‰ã€‚æ ¹æ“šPROFIBUSç”¢å“æ¸¬è©¦æŠ€è¡“è¦èŒƒï¼Œæ¤æŽ¥æ³•引線或軟接線 ä¸å®œéŽé•·ï¼Œé€šå¸¸PCB引線ä¸è¶…éŽ20 cmã€è»ŸæŽ¥ç·šä¸è¶…éŽ10 cm。
 如果PROFIBUSçš„Dåž‹æ’é èˆ‡æŽ¥å£æ¿ä¹‹é–“éœ€è¦æ›´é•·çš„引線,å¯ä»¥å¾žæŽ¥å£æ¿ä¸Šçš„10釿’é J2引出 ï¼Œæ¤æ™‚需è¦é‡‡ç”¨å¤–接å£è½‰æŽ¥æ¿ã€‚
 用戶模æ¿PROFIBUSæ’é 為å”型(famel)Dåž‹æ’é ï¼Œèˆ‡æŽ¥å£æ¿16釿’座連接如圖2 æ‰€ç¤ºã€‚æŽ¥å£æ¿CPU芯片采用普通的51單片機å³å¯ï¼Œè€ƒæ…®åˆ°PROFIBUSå°é€ŸçŽ‡çš„è¦æ±‚,推薦使用 高速率ã€ä½ŽåŠŸè€—çš„8ä½AVRå–®ç‰‡æ©Ÿä½œç‚ºæŽ¥å£æ¿CPU。
3軟件è¨è¨ˆ
3.1æŽ¥å£æ¿èˆ‡ç”¨æˆ¶æ¨¡æ¿çš„串å£é€šä¿¡è¨ç½®
ã€€æŽ¥å£æ¿èˆ‡ç”¨æˆ¶æ¨¡æ¿é€šéŽä¸²å£é€£æŽ¥ï¼ŒTxdã€Rxd為TTL電平,åŠé›™å·¥é€šä¿¡ã€‚通信方å¼é‡‡ ç”¨æ‡‰ç”æ–¹å¼ï¼šç”¨æˆ¶æ¨¡æ¿ä¸»å‹•è©¢å•ï¼ŒæŽ¥å£æ¿è¢«å‹•回ç”。è¨å®šæ¯å€‹å—節用11 bits傳é€ï¼š1個啟始 ä½ã€8個數據ä½ã€1個嶿 ¡é©—ä½ã€1å€‹åœæ¢ä½ï¼Œå³51å…§æ ¸å–®ç‰‡æ©Ÿçš„é€šä¿¡æ–¹å¼3。
3.2å ±æ–‡é•·åº¦
ã€€æŽ¥å£æ¨¡æ¿çš„åˆå§‹åŒ–å ±æ–‡ï¼ˆç™¼é€ã€æŽ¥æ”¶ï¼‰å›ºå®šé•·åº¦49å—ç¯€ï¼›æŽ¥å£æ¿èˆ‡ç”¨æˆ¶æ¨¡æ¿ä¹‹é–“數 據交æ›å ±æ–‡ï¼ˆç™¼é€ã€æŽ¥æ”¶ï¼‰ï¼Œé•·åº¦ç”±ç”¨æˆ¶åœ¨åˆå§‹åŒ–å ±æ–‡ä¸è¨å®šï¼Œæœ€å¤§ç‚º113å—節;PROFIBUS輸 å…¥ï¼ è¼¸å‡ºæ•¸æ“šé‡å¯è‡ªç”±è¨å®šï¼Œæœ€å¤§112å—節輸入+112å—節輸出。
3.3實ç¾åŠŸèƒ½
 (1)å¯å¯¦ç¾PROFIBUSç”¨æˆ¶åƒæ•¸åŒ–功能:用戶模æ¿å¯å°‡ä¸€æ¬¡æ€§è¨ç½®çš„åƒæ•¸åœ¨ä¸»ç«™é…ç½® ä¸è¨å®šï¼Œä¸»ç«™åœ¨èˆ‡å¾žç«™é€£æŽ¥æ™‚ä¸€æ¬¡å°‡é€™äº›ç”¨æˆ¶åƒæ•¸å‚³é€åˆ°å¾žç«™ï¼Œç”¨æˆ¶æ¨¡æ¿å¯åˆ©ç”¨é€™äº›åƒæ•¸å¯¦ ç¾åƒæ•¸åŒ–ï¼›
 (2ï¼‰æŽ¥å£æ¿èˆ‡ç”¨æˆ¶æ¨¡æ¿é€šä¿¡æœ‰å—ç¬¦å¶æ ¡é©—和縱å‘å ±æ–‡æ ¡é©—å’Œï¼Œä¿è‰æ•¸æ“šå®‰å…¨æ€§ï¼›
 (3ï¼‰æŽ¥å£æ¿å…§è¨æœ‰å‚™ä»½Iï¼O通信緩沖å€ï¼Œå¯ä¿è‰å¯¦ç¾PROFIBUS與串å£é€šä¿¡æ•¸æ“šçš„完整性(一致 æ€§ï¼‰å’ŒåŒæ¥è¦æ±‚。
3.4用戶模æ¿çš„通信基本éŽç¨‹
3.4.1åˆå§‹åŒ–
ã€€ç”¨æˆ¶æ¨¡æ¿æŒ‰æŽ¥å£æ¿ä¸Šæ³¢ç‰¹çއ鏿“‡é–‹é—œè¨ç½®çš„æ³¢ç‰¹çއ呿ޥ壿¿ç™¼åˆå§‹åŒ–å ±æ–‡ï¼Œç„¶åŽç‰å¾…接收接 壿¿çš„回ç”,如圖3æ‰€ç¤ºã€‚æŽ¥å£æ¿å›žç”åˆå§‹åŒ–æˆåŠŸåŽï¼Œé€²å…¥æ•¸æ“šäº¤æ›ç‹€æ…‹ã€‚
3.4.2數據交æ›ç‹€æ…‹
 åˆå§‹åŒ–æˆåŠŸåŽæŽ¥å£æ¿é€²å…¥æ•¸æ“šäº¤æ›ç‹€æ…‹ï¼Œå復進行數據交æ›ã€‚æ¤æ™‚,用戶模æ¿ä¸»å‹• 呿ޥ壿¿ç™¼é€â€œè¼¸å…¥æ•¸æ“šå ±æ–‡â€ï¼Œå…¶ä¸åŒ…å«PROFIBUSè¼¸å…¥æ•¸æ“šï¼›æŽ¥å£æ¿å›žç”â€œè¼¸å‡ºæ•¸æ“šå ±æ–‡ â€ï¼Œå…¶ä¸åŒ…å«PROFIBUS輸出數據,如圖4所示。
數據交æ›ç‹€æ…‹ä¸‹æŽ¥å£æ¿çš„ç¨‹åºæµç¨‹è¦‹åœ–5。
[align=center]

[/align]
4系統é…ç½®
4.1關于GSD文件
 (1)æ¯ä¸€å€‹PROFIBUS從站或一類主站有一個“è¨å‚™æè¿°æ–‡ä»¶â€ç¨±ç‚ºGSD文件,用來æ 述該PROFIBUS-DPè¨å‚™çš„特性;
 (2)GSD文件包å«äº†è¨å‚™æ‰€æœ‰å®šç¾©åƒæ•¸ï¼ŒåŒ…括:支æŒçš„æ³¢ç‰¹çŽ‡ã€æ”¯æŒçš„ä¿¡æ¯é•·åº¦ã€è¼¸å…¥ï¼è¼¸å‡º 數據數é‡ã€è¨ºæ–·æ•¸æ“šçš„å«ç¾©ã€å¯é¸æ¨¡å¡Šç¨®é¡žç‰ï¼›
 (3)無論使用什么樣的系統é…ç½®è»Ÿä»¶ï¼Œéƒ½è¦æ ¹æ“šGSD文件來å°è¨å‚™é…置。
 (4)國際PROFIBUS組織PIæä¾›äº†GSD文件編輯軟件gsdedit.exe,該軟件ä¾ç…§PROFIBUS技術標 æº–æ ¼å¼è¦å®šï¼Œå°ç”¨æˆ¶ç·¨è¼¯çš„GSDæ–‡ä»¶é€²è¡Œæ ¼å¼æª¢æŸ¥ã€‚
4.2å¦‚ä½•ä½¿ç”¨â€œç”¨æˆ¶åƒæ•¸user—prmâ€
4.2.1â€œç”¨æˆ¶åƒæ•¸user—prmâ€çš„鏿“‡
 å°äºŽå·¥æ¥ç¾å ´è¨å‚™ï¼Œå¸¸éœ€è¦ç”¨æˆ¶æ ¹æ“šç¾å ´æ‡‰ç”¨è¨å®šä¸€äº›åƒæ•¸ï¼Œå…¶ä¸æœ‰äº›åƒæ•¸ä¸éœ€è¦åœ¨è¨å‚™é‹ 行ä¸å¯¦æ™‚æ”¹è®Šï¼Œå¦‚è®Šé »å™¨çš„é›»æµä¸Šé™ä¿è·èˆ‡å ±è¦å€¼ã€æº«åº¦å‚³æ„Ÿå™¨çš„æ¸¬é‡æº«åº¦èŒƒåœã€ç†±é›»å¶é¸ åž‹ã€è¼¸å‡º4~20 mAï¼1~5 V鏿“‡ç‰ã€‚å¦‚æžœé€™äº›åƒæ•¸ä½œç‚ºPROFIBUS主站的Iï¼O輸出,將å 用PROFIBUS主站Iï¼O資æºå’Œå‘¨æœŸæ€§è¼ªå¾ªPROFIBUS從站的時間資æºã€‚
ã€€å°‡é€™äº›åƒæ•¸è™•ç†æˆâ€œç”¨æˆ¶åƒæ•¸â€ï¼Œå°‡æœƒç¸®çŸPROFIBUSä¸»ç«™é€šä¿¡æ™‚é–“ã€æ¸›å°é€šä¿¡å ±æ–‡é•·åº¦ã€æ é«˜ç¸½ç·šé€šä¿¡æ•ˆçŽ‡ã€‚ä½¿ç”¨â€œç”¨æˆ¶åƒæ•¸â€æŠ€è¡“,åªéœ€è¦åœ¨ä¸»ç«™é…ç½®ä¸åšå‡ºåƒæ•¸é¸æ“‡ï¼Œä¸»ç«™åœ¨èˆ‡å¾ž ç«™é€£æŽ¥æ™‚ï¼Œä¸€æ¬¡æ€§å°‡é€™äº›åƒæ•¸å‚³é€åˆ°å¾žç«™ï¼Œå¾žç«™å°±å¯ä»¥ä½¿ç”¨é€™äº›ç”¨æˆ¶é¸æ“‡çš„åƒæ•¸å°å¾žç«™é€²è¡Œ åƒæ•¸åŒ–(åˆå§‹åŒ–ã€åƒæ•¸è¨å®šï¼‰ã€‚
4.2.2ç¢ºå®šâ€œç”¨æˆ¶åƒæ•¸â€é¡žåž‹ã€å€‹æ•¸ã€å—節長度
 以一個4é€šé“æ¨¡æ“¬é‡è¼¸å…¥æ¨¡å¡Šç‚ºä¾‹ï¼Œå‡è¨éœ€è¦ç”¨æˆ¶è¨ç½®çš„åƒæ•¸æœ‰ï¼š
 ·輸入類型1~5 Vã€0~10 Vã€0~5 Vã€ï¼10~+10 Vã€4~20 mAã€0~20 mAå…±8ç¨®é¸æ“‡ ï¼›å 1個å—節,以INPUTï¼0~7分別表示這8種輸入類型;
 ·數據類型BCD(0000~9999)ã€ç„¡ç¬¦è™Ÿæ•´åž‹ï¼ˆ0~65 535ï¼‰ã€æœ‰ç¬¦è™Ÿæ•´åž‹ï¼ˆï¼32 767~+32 76 7)共3ç¨®é¸æ“‡ï¼›å 1個å—節,以VARï¼0~2分別表示這3種數據類型;
 ·輸入模å¼å–®ç«¯è¼¸å…¥ï¼ˆ4通é“)ã€é›™ç«¯è¼¸å…¥ï¼ˆ2通é“)共2ç¨®é¸æ“‡ï¼›å 1個å—節,以CHNOï¼0ã€1分 別表示這2種輸入模å¼ï¼›
 由æ¤ï¼Œç”¨æˆ¶åƒæ•¸é•·åº¦User—Prm—Data—Lenï¼3。
4.2.3å¸¶æœ‰â€œç”¨æˆ¶åƒæ•¸â€æè¿°çš„GSD文件
 å°ä¸Šä¾‹ï¼ŒGSD文件ä¸è‡³å°‘æœ‰å¦‚ä¸‹é—œäºŽâ€œç”¨æˆ¶åƒæ•¸â€çš„æè¿°ï¼š

4.2.4在主站é…ç½®ä¸é¸æ“‡ç”¨æˆ¶åƒæ•¸
 用戶在系統ä¸é…ç½®å¾žç«™åƒæ•¸ï¼Œå®Œå…¨é GSD文件æè¿°ã€‚在STEP 7çš„HARDWAREä¸é…置從站,å¯è¨ 定總線波特率åŠç«™åœ°å€ï¼Œå…¶ä¸è¨å®šçš„站地å€å¿…é ˆèˆ‡ç”¨æˆ¶æ¨¡æ¿ä¸Šåœ°å€è¨ç½®ä¸€è‡´ã€‚
ã€€å¸¶æœ‰â€œç”¨æˆ¶åƒæ•¸â€é¸æ“‡èœå–®çš„GSD文件,å¯åœ¨STEP7ä¸ç”Ÿæˆæ›´åŠ å‹å¥½çš„ç”¨æˆ¶åƒæ•¸é…置界é¢ã€‚
5çµæŸèªž
 應用嵌入å¼PROFIBUS-DP從站通信接å£çš„è¨è¨ˆæ–¹æ¡ˆï¼Œç”¨æˆ¶ä¸å¿…了解PROFIBUS技術è¦èŒƒç´°ç¯€ã€‚具有開發周期çŸã€æŠ€è¡“指 æ¨™é«˜ã€æŠ€è¡“å‡ç´šå¿«ã€æ“有產å“自主知è˜ç”¢æ¬Šç‰å„ªé»žï¼Œä½†ç”¨æˆ¶é ˆæœ‰å–®ç‰‡æ©Ÿç”¢å“開發經驗åŠPROF IBUSç”¢å“æ‡‰ç”¨ç¶“驗。目å‰åœ‹å…§å¤šå®¶å„€è¡¨å» å•†å·²åœ¨æ¤æ–¹æ¡ˆçš„基礎上開發出了自己的PROFIBUS -DP從站產å“。
åƒè€ƒæ–‡ç»
ï¼»1ï¼½é™½æ†²æƒ .ç¾å ´ç¸½ç·šæŠ€è¡“åŠå…¶æ‡‰ç”¨ï¼»Mï¼½.北京:清è¯å¤§å¸å‡ºç‰ˆç¤¾ï¼Œ 1999.
ï¼»2]楊昌ç¨ï¼Œè¯ï¼ŽManfred Popp.PROFIBUS-DP快速入門[Mï¼½.ä¸åœ‹æ©Ÿé›»ä¸€é«”化 æŠ€è¡“æ‡‰ç”¨å”æœƒç¾å ´ç¸½ç·šå°ˆæ¥å§”員會.
ï¼»3ï¼½ä¸åœ‹ç¾å ´ç¸½ç·šPROFIBUSæŠ€è¡“è³‡æ ¼ä¸å¿ƒï¼ˆCPCC).PROFIBUS產å“開發解決方案[R ï¼½.2002.
[4]PNO 98,PROFIBUS Technical Guideline PROFIBUS-DP Extensions to EN 50170(DPV1)[M].1998.
[5]SIEMENS.SIMENIC SPC3 User Description(Siemens PROFIBUS Controller) [M].1996.