工控軟件的抗干擾è¨(shè)計(jì)
時(shÃ)間:2006-11-25 16:36:00來æºï¼šguyan
å°Ž(dÇŽo)語(yÇ”):?計(jì)算機(jÄ«)系統(tÇ’ng)的抗干擾ä¸å¯èƒ½å®Œå…¨ä¾é ç¡¬ä»¶è§£æ±ºï¼Œå› æ¤ï¼Œè»Ÿä»¶æŠ—干擾å•é¡Œçš„ç ”ç©¶æ„ˆä¾†æ„ˆå¼•èµ·äººå€‘çš„é‡è¦–。
摘 è¦ï¼šæœ¬æ–‡é—¡è¿°äº†å·¥æ¥(yè)ç¾(xià n)å ´(chÇŽng)ç’°(huán)境ä¸å¹²æ“¾çš„特點(diÇŽn),并詳細(xì)介紹了工控軟件抗干擾è¨(shè)計(jì)的方法。
é—œ(guÄn)éµè©žï¼šå·¥æŽ§è»Ÿä»¶ã€æŠ—干擾ã€å¯é 性
The Anti-interference Design of Industrial Control Software
People’s Liberation Army Institute of Grand Force,Foundation
Department,Niu HongTao
Abstract: The characteristic of interference in industrial enviroment has been introduced in this paper.The method of industrial control software anti-interence design has also been discussed in detail.
Keyword:industrial control software,anti-interference,reliability
計(jì)算機(jÄ«)系統(tÇ’ng)在工æ¥(yè)ç¾(xià n)å ´(chÇŽng)使用時(shÃ),大é‡çš„干擾æºé›–ä¸èƒ½é€ æˆç¡¬ä»¶ç³»çµ±(tÇ’ng)çš„æå£žï¼Œä½†å¸¸å¸¸ä½¿è¨ˆ(jì)算機(jÄ«)系統(tÇ’ng)ä¸èƒ½æ£å¸¸é‹(yùn)行,致使控制失éˆï¼Œé€ æˆé‡å¤§äº‹æ•…。計(jì)算機(jÄ«)系統(tÇ’ng)的抗干擾ä¸å¯èƒ½å®Œå…¨ä¾é ç¡¬ä»¶è§£æ±ºï¼Œå› æ¤ï¼Œè»Ÿä»¶æŠ—干擾å•é¡Œçš„ç ”ç©¶æ„ˆä¾†æ„ˆå¼•èµ·äººå€‘çš„é‡è¦–。
一ã€å·¥æŽ§è»Ÿä»¶çš„çµ(jié)æ§‹(gòu)特點(diÇŽn)åŠå¹²æ“¾é€”徑
在ä¸åŒçš„å·¥æ¥(yè)控制系統(tÇ’ng)ä¸ï¼Œå·¥æŽ§è»Ÿä»¶é›–然完æˆçš„功能ä¸åŒï¼Œä½†å°±å…¶çµ(jié)æ§‹(gòu)來說,一般具有如下特點(diÇŽn):
實(shÃ)時(shÃ)性:工æ¥(yè)控制系統(tÇ’ng)䏿œ‰äº›äº‹ä»¶çš„發(fÄ)生具有隨機(jÄ«)æ€§ï¼Œè¦æ±‚å·¥æŽ§è»Ÿä»¶èƒ½å¤ åŠæ™‚(shÃ)地處ç†éš¨æ©Ÿ(jÄ«)事件。
周期性:工控軟件在完æˆç³»çµ±(tÇ’ng)çš„åˆå§‹åŒ–工作åŽï¼Œéš¨ä¹‹é€²(jìn)入主程åºå¾ªç’°(huán)。在執(zhÃ)行主程åºéŽç¨‹ä¸ï¼Œå¦‚æœ‰ä¸æ–·ç”³è«‹(qÇng),則在執(zhÃ)行完相應(yÄ«ng)çš„ä¸æ–·æœå‹™(wù)程åºåŽï¼Œç¹¼çºŒ(xù)主程åºå¾ªç’°(huán)。
相關(guÄn)性:工控軟件由多個(gè)任務(wù)模塊組æˆï¼Œå„模塊é…åˆå·¥ä½œï¼Œç›¸äº’é—œ(guÄn)è¯(lián),相互ä¾å˜ã€‚
人為性:工控軟件å…許æ“作人員干é (yù)系統(tÇ’ng)çš„é‹(yùn)行,調(dià o)整系統(tÇ’ng)çš„å·¥ä½œåƒæ•¸(shù)ã€‚åœ¨ç†æƒ³æƒ…æ³ä¸‹ï¼Œå·¥æŽ§è»Ÿä»¶å¯ä»¥æ£å¸¸åŸ·(zhÃ)行。但在工æ¥(yè)ç¾(xià n)å ´(chÇŽng)ç’°(huán)境的干擾下,工控軟件的周期性ã€ç›¸é—œ(guÄn)性åŠå¯¦(shÃ)時(shÃ)性å—åˆ°ç ´å£žï¼Œç¨‹åºç„¡æ³•æ£å¸¸åŸ·(zhÃ)行,導(dÇŽo)致工æ¥(yè)控制系統(tÇ’ng)的失控,其表ç¾(xià n)是:
程åºè¨ˆ(jì)數(shù)器PC值發(fÄ)ç”Ÿè®ŠåŒ–ï¼Œç ´å£žäº†ç¨‹åºçš„æ£å¸¸é‹(yùn)行。PC值被干擾åŽçš„æ•¸(shù)據(jù)是隨機(jÄ«)çš„ï¼Œå› æ¤å¼•起程åºåŸ·(zhÃ)行混亂,在PC值的錯(cuò)誤引導(dÇŽo)下,程åºåŸ·(zhÃ)行一系列毫無æ„義的指令,最åŽå¸¸å¸¸é€²(jìn)入一個(gè)毫無æ„義的“æ»å¾ªç’°(huán)â€ä¸ï¼Œä½¿ç³»çµ±(tÇ’ng)失去控制。
輸入/輸出接å£ç‹€æ…‹(tà i)å—åˆ°å¹²æ“¾ï¼Œç ´å£žäº†å·¥æŽ§è»Ÿä»¶çš„ç›¸é—œ(guÄn)æ€§å’Œå‘¨æœŸæ€§ï¼Œé€ æˆç³»çµ±(tÇ’ng)資æºè¢«æŸå€‹(gè)任務(wù)模塊ç¨(dú)å ,使系統(tÇ’ng)發(fÄ)生“æ»éŽ–â€ã€‚
數(shù)據(jù)é‡‡é›†èª¤å·®åŠ å¤§ã€‚å¹²æ“¾ä¾µå…¥ç³»çµ±(tÇ’ng)çš„å‰å‘通é“ï¼Œç–ŠåŠ åœ¨ä¿¡è™Ÿ(hà o)上,導(dÇŽo)致數(shù)據(jù)é‡‡é›†èª¤å·®åŠ å¤§ã€‚ç‰¹åˆ¥æ˜¯ç•¶(dÄng)å‰å‘通é“çš„å‚³æ„Ÿå™¨æŽ¥å£æ˜¯å°é›»å£“信號(hà o)輸入時(shÃ),æ¤ç¾(xià n)è±¡æ›´åŠ åš´(yán)é‡ã€‚
RAM數(shù)據(jù)å€(qÅ«)å—到干擾發(fÄ)ç”Ÿè®ŠåŒ–ã€‚æ ¹æ“š(jù)å¹²æ“¾ç«„å…¥æ¸ é“ã€å—干擾數(shù)據(jù)性質(zhì)çš„ä¸åŒï¼Œç³»çµ±(tÇ’ng)å—æå£žçš„ç‹€æ³ä¸åŒï¼Œæœ‰çš„é€ æˆæ•¸(shù)值誤差,有的使控制失éˆï¼Œæœ‰çš„æ”¹è®Šç¨‹åºç‹€æ…‹(tà i),有的改變æŸäº›éƒ¨ä»¶ï¼ˆå¦‚定時(shÃ)器ï¼è¨ˆ(jì)數(shù)器ã€ä¸²è¡Œå£ç‰ï¼‰çš„工作狀態(tà i)ç‰ã€‚ç†è€…åœ¨ç ”åˆ¶é›»åŠ›é (yuÇŽn)程抄表系統(tÇ’ng)時(shÃ)就曾é‡åˆ°å› ç¾(xià n)å ´(chÇŽng)å¼·(qiáng)é›»ç£å¹²æ“¾è€Œé€ æˆRAM數(shù)據(jù)ç¶“(jÄ«ng)å¸¸æ€§è¢«ç ´å£žçš„æƒ…æ³ã€‚
控制狀態(tà i)失éˆã€‚在工æ¥(yè)控制系統(tÇ’ng)ä¸ï¼ŒæŽ§åˆ¶ç‹€æ…‹(tà i)çš„è¼¸å‡ºå¸¸å¸¸æ˜¯ä¾æ“š(jù)æŸäº›æ¢ä»¶ç‹€æ…‹(tà i)的輸入和æ¢ä»¶ç‹€æ…‹(tà i)çš„é‚輯處ç†çµ(jié)果而定。在這些環(huán)節(jié)ä¸ï¼Œç”±äºŽå¹²æ“¾çš„侵入,會(huì)é€ æˆæ¢ä»¶ç‹€æ…‹(tà i)錯(cuò)èª¤ï¼Œè‡´ä½¿è¼¸å‡ºæŽ§åˆ¶èª¤å·®åŠ å¤§ï¼Œç”šè‡³æŽ§åˆ¶å¤±å¸¸ã€‚
二ã€ç¨‹åºé‹(yùn)行失常的軟件å°(duì)ç–
系統(tÇ’ng)å—到干擾侵害致使PCå€¼æ”¹è®Šï¼Œé€ æˆç¨‹åºé‹(yùn)行失常。å°(duì)于程åºé‹(yùn)行失常的軟件å°(duì)ç–ä¸»è¦æ˜¯ç™¼(fÄ)ç¾(xià n)失常狀態(tà i)åŽåŠæ™‚(shÃ)引導(dÇŽo)系統(tÇ’ng)æ¢å¾©(fù)原始狀態(tà i)。
1.è¨(shè)置監(jiÄn)視跟蹤定時(shÃ)器
使用定時(shÃ)䏿–·ä¾†ç›£(jiÄn)視程åºé‹(yùn)行狀態(tà i)。定時(shÃ)器的定時(shÃ)時(shÃ)é–“ç¨å¤§äºŽä¸»ç¨‹åºæ£å¸¸é‹(yùn)行一個(gè)循環(huán)的時(shÃ)間,在主程åºé‹(yùn)行éŽç¨‹ä¸åŸ·(zhÃ)行一次定時(shÃ)器時(shÃ)間常數(shù)刷新æ“作。這樣,åªè¦ç¨‹åºæ£å¸¸é‹(yùn)行,定時(shÃ)噍䏿œƒ(huì)出ç¾(xià n)定時(shÃ)䏿–·ã€‚而當(dÄng)程åºé‹(yùn)行失常,ä¸èƒ½åŠæ™‚(shÃ)刷新定時(shÃ)器時(shÃ)間常數(shù)而導(dÇŽo)致定時(shÃ)䏿–·ï¼Œåˆ©ç”¨å®šæ™‚(shÃ)䏿–·æœå‹™(wù)程åº?qÅ«)⑾到y(tÇ’ng)復(fù)ä½ã€‚在8031應(yÄ«ng)用系統(tÇ’ng)ä¸ä½œç‚ºè»Ÿä»¶æŠ—干擾的一個(gè)äº‹ä¾‹ï¼Œå…·é«”åšæ³•是:
使用8155的定時(shÃ)器所產(chÇŽn)生的“溢出â€ä¿¡è™Ÿ(hà o)作為8031çš„å¤–éƒ¨ä¸æ–·æºINT1。用555定時(shÃ)器作為8155ä¸å®šæ™‚(shÃ)器的外部時(shÃ)é˜è¼¸å…¥ï¼›
8155定時(shÃ)器的定時(shÃ)值ç¨å¤§äºŽä¸»ç¨‹åºçš„æ£å¸¸å¾ªç’°(huán)時(shÃ)é–“ï¼›
在主程åºä¸ï¼Œæ¯å¾ªç’°(huán)一次,å°(duì)8155定時(shÃ)器的定時(shÃ)常數(shù)進(jìn)行刷新;
在主控程åºé–‹å§‹è™•,å°(duì)硬件復(fù)ä½é‚„是定時(shÃ)䏿–·ç”¢(chÇŽn)生的自動(dòng)æ¢å¾©(fù)進(jìn)行分類判斷處ç†ã€‚
2.è¨(shè)置軟件陷井
ç•¶(dÄng)PCå¤±æŽ§ï¼Œé€ æˆç¨‹åºâ€œäº‚飛â€è€Œä¸æ–·é€²(jìn)å…¥éžç¨‹åºå€(qÅ«),åªè¦åœ¨éžç¨‹åºå€(qÅ«)è¨(shè)置攔截措施,使程åºé€²(jìn)入陷井,然åŽå¼·(qiáng)迫使程åºé€²(jìn)å…¥åˆå§‹ç‹€æ…‹(tà i)。例如Z80指令系統(tÇ’ng)䏿•¸(shù)據(jù)FFHæ£å¥½å°(duì)應(yÄ«ng)ç‚ºé‡æ–°èµ·å‹•(dòng)指令RST 56,該指令使程åºè‡ªå‹•(dòng)轉(zhuÇŽn)å…¥0038Hå…¥å£åœ°å€ã€‚å› æ¤ï¼Œåœ¨Z80 CPUæ§‹(gòu)æˆçš„æ‡‰(yÄ«ng)用系統(tÇ’ng)ä¸ï¼Œåªè¦å°‡æ‰€æœ‰éžç¨‹åºå€(qÅ«)全部置æˆFFH用以攔截失控程åºã€‚并在0038H處è¨(shè)置轉(zhuÇŽn)移指令,使程åºè½‰(zhuÇŽn)至抗干擾處ç†ç¨‹åºã€‚
三ã€ç³»çµ±(tÇ’ng)“æ»éŽ–â€çš„軟件å°(duì)ç–
在工æ¥(yè)控制系統(tÇ’ng)ä¸ï¼ŒA/Dã€D/A,顯示ç‰è¼¸å…¥/輸出接å£é›»è·¯æ˜¯å¿…ä¸å¯å°‘的。這些接å£èˆ‡CPUä¹‹é–“é‡‡ç”¨æŸ¥è©¢æˆ–ä¸æ–·æ–¹å¼å·¥ä½œï¼Œè€Œé€™äº›è¨(shè)備或接å£å°(duì)å¹²æ“¾å¾ˆæ•æ„Ÿï¼Œå¹²æ“¾ä¿¡è™Ÿ(hà o)ä¸€æ—¦ç ´å£žäº†æŸä¸€æŽ¥å£çš„狀態(tà i)å—åŽï¼Œå°±æœƒ(huì)å°Ž(dÇŽo)致CPU誤èª(rèn)ç‚ºè©²æŽ¥å£æœ‰è¼¸å…¥/輸出請(qÇng)æ±‚è€Œåœæ¢ç¾(xià n)行工作,轉(zhuÇŽn)去執(zhÃ)行相應(yÄ«ng)的輸入/輸出æœå‹™(wù)程åºã€‚ä½†ç”±äºŽè©²æŽ¥å£æœ¬èº«å¹¶æ²’有輸入/輸出數(shù)據(jù),從而使CPU資æºè¢«è©²æœå‹™(wù)程åºé•·(zhÇŽng)期å 用,而ä¸é‡‹æ”¾ï¼Œå…¶å®ƒä»»å‹™(wù)程åºç„¡æ³•執(zhÃ)行,使整個(gè)系統(tÇ’ng)出ç¾(xià n)“æ»éŽ–â€ã€‚å°(duì)é€™ç¨®å¹²æ“¾é€ æˆçš„“æ»éŽ–â€å•題,在軟件編程ä¸ï¼Œå¯é‡‡ç”¨â€œæ™‚(shÃ)間片â€çš„æ–¹æ³•來解決。其具體æ¥é©Ÿç‚ºï¼š
æ ¹æ“š(jù)ä¸åŒçš„輸入/輸出外è¨(shè)å°(duì)時(shÃ)é–“çš„è¦æ±‚,分é…相應(yÄ«ng)的最大æ£å¸¸çš„輸入/輸出時(shÃ)間。
在æ¯ä¸€è¼¸å…¥/輸出的任務(wù)模塊ä¸ï¼ŒåŠ å…¥ç›¸æ‡‰(yÄ«ng)的超時(shÃ)判斷程åºã€‚這樣當(dÄng)å¹²æ“¾ç ´å£žäº†æŽ¥å£çš„狀態(tà i)é€ æˆCPU誤æ“作åŽï¼Œç”±äºŽè©²å¤–è¨(shè)準(zhÇ”n)備好信æ¯é•·(zhÇŽng)期無效,經(jÄ«ng)一定時(shÃ)é–“åŽï¼Œç³»çµ±(tÇ’ng)會(huì)從該外è¨(shè)çš„æœå‹™(wù)程åºä¸è‡ªå‹•(dòng)返回,ä¿è‰æ•´å€‹(gè)軟件的周期性ä¸å—影響,從而é¿å…“æ»éŽ–â€æƒ…æ³çš„發(fÄ)生。
å››ã€æ•¸(shù)據(jù)采集誤差的軟件å°(duì)ç–
æ ¹æ“š(jù)數(shù)據(jù)å—干擾性質(zhì)åŠå¹²æ“¾åŽæžœçš„ä¸åŒï¼Œé‡‡å–的軟件å°(duì)ç–å„ä¸ç›¸åŒï¼Œæ²’有固定的模å¼ã€‚å°(duì)于實(shÃ)時(shÃ)數(shù)據(jù)采集系統(tÇ’ng),為了消除傳感器通é“ä¸çš„干擾信號(hà o)ï¼Œåœ¨ç¡¬ä»¶æŽªæ–½ä¸Šå¸¸é‡‡å–æœ‰æºæˆ–ç„¡æºRLCç¶²(wÇŽng)絡(luò),構(gòu)æˆæ¨¡æ“¬æ¿¾æ³¢å™¨å°(duì)信號(hà o)實(shÃ)ç¾(xià n)é »çŽ‡æ¿¾æ³¢ã€‚åŒæ¨£ï¼Œé‹(yùn)用CPUçš„é‹(yùn)ç®—ã€æŽ§åˆ¶åŠŸèƒ½ä¹Ÿå¯ä»¥å¯¦(shÃ)ç¾(xià n)é »çŽ‡æ¿¾æ³¢ï¼Œå®Œæˆæ¨¡æ“¬æ¿¾æ³¢å™¨é¡žä¼¼çš„功能,這就是數(shù)å—æ¿¾æ³¢ã€‚在許多數(shù)å—信號(hà o)處ç†å°ˆè‘—ä¸éƒ½æœ‰å°ˆé–€è«–述,å¯ä»¥åƒè€ƒã€‚隨著計(jì)算機(jÄ«)é‹(yùn)算速度的æé«˜ï¼Œæ•¸(shù)å—æ¿¾æ³¢åœ¨å¯¦(shÃ)時(shÃ)數(shù)據(jù)采集系統(tÇ’ng)ä¸çš„æ‡‰(yÄ«ng)用將愈來愈廣。在一般數(shù)據(jù)采集系統(tÇ’ng)ä¸ï¼Œå¯ä»¥é‡‡ç”¨ä¸€äº›ç°¡(jiÇŽn)單的數(shù)值ã€é‚輯é‹(yùn)算處ç†ä¾†é”(dá)到濾波的效果。下é¢ä»‹ç´¹å¹¾ç¨®å¸¸ç”¨çš„æ–¹æ³•。
1.ç®—è¡“(shù)å¹³å‡å€¼æ³•
å°(duì)于一點(diÇŽn)數(shù)據(jù)連續(xù)采樣多次,計(jì)ç®—å…¶ç®—è¡“(shù)å¹³å‡å€¼ï¼Œä»¥å…¶å¹³å‡å€¼ä½œç‚ºè©²é»ž(diÇŽn)采樣çµ(jié)果。這種方法å¯ä»¥æ¸›å°‘系統(tÇ’ng)的隨機(jÄ«)干擾å°(duì)采集çµ(jié)果的影響。一般3~5次平å‡å³å¯ã€‚
2.比較å–èˆæ³•
ç•¶(dÄng)控制系統(tÇ’ng)測(cè)é‡çµ(jié)果的個(gè)別數(shù)據(jù)å˜åœ¨å差時(shÃ),為了剔除個(gè)別錯(cuò)誤數(shù)據(jù),å¯é‡‡ç”¨æ¯”較å–èˆæ³•,å³å°(duì)æ¯å€‹(gè)采樣點(diÇŽn)連續(xù)é‡‡æ¨£å¹¾æ¬¡ï¼Œæ ¹æ“š(jù)所采數(shù)據(jù)的變化è¦(guÄ«)律,確定å–èˆï¼Œå¾žè€Œå‰”除å差數(shù)據(jù)。例如,“采三å–二â€å³å°(duì)æ¯å€‹(gè)采樣點(diÇŽn)連續(xù)采樣三次,å–兩次相åŒçš„æ•¸(shù)據(jù)為采樣çµ(jié)果。
3.ä¸å€¼æ³•
æ ¹æ“š(jù)å¹²æ“¾é€ æˆé‡‡æ¨£æ•¸(shù)據(jù)å大或åå°çš„æƒ…æ³ï¼Œå°(duì)一個(gè)采樣點(diÇŽn)連續(xù)采集多個(gè)信號(hà o),并å°(duì)這些采樣值進(jìn)行比較,å–ä¸å€¼ä½œç‚ºè©²é»ž(diÇŽn)的采樣çµ(jié)果。
4.ä¸€éšŽéžæŽ¨æ•¸(shù)å—æ¿¾æ³¢æ³•
這種方法是利用軟件完æˆRC低通濾波器的算法,實(shÃ)ç¾(xià n)用軟件方法代替硬件RCæ¿¾æ³¢å™¨ã€‚ä¸€éšŽéžæŽ¨æ•¸(shù)å—æ¿¾æ³¢å…¬å¼ç‚ºYn=QXn+(1-Q)Yn-1å¼ä¸Q -數(shù)å—æ¿¾æ³¢å™¨æ™‚(shÃ)間常數(shù)ï¼›Xnï¼ç¬¬n次采樣時(shÃ)的濾波器輸入;Ynï¼ç¬¬n次采樣時(shÃ)的濾波器輸出。采用軟件濾波器å°(duì)消除數(shù)據(jù)采集ä¸çš„誤差å¯ä»¥ç²å¾—滿æ„的效果。但應(yÄ«ng)注æ„,é¸å–何種方法應(yÄ«ng)æ ¹æ“š(jù)信號(hà o)的變化è¦(guÄ«)律鏿“‡ã€‚
五ã€RAM數(shù)據(jù)出錯(cuò)的軟件å°(duì)ç–
在實(shÃ)時(shÃ)控制éŽç¨‹ä¸ï¼Œå¹²æ“¾é€ æˆæ¯”較嚴(yán)é‡çš„å±å®³ä¹‹ä¸€å°±æ˜¯æ²–毀RAMä¸çš„æ•¸(shù)據(jù),由于RAMä¸ä¿å˜çš„æ˜¯å„種原始數(shù)據(jù)ã€æ¨™(biÄo)å¿—ã€è®Šé‡ç‰ï¼Œå¦‚æžœè¢«ç ´å£žï¼Œæœƒ(huì)é€ æˆç³»çµ±(tÇ’ng)出錯(cuò)或無法é‹(yùn)è¡Œï¼Œæ ¹æ“š(jù)數(shù)據(jù)被沖毀的程度,一般å¯åˆ†ç‚ºä¸‰é¡žï¼š
* 整個(gè)RAM數(shù)據(jù)被沖毀;
* RAM䏿Ÿç‰‡æ•¸(shù)據(jù)被沖毀;
* 個(gè)別數(shù)據(jù)被沖毀。
在工æ¥(yè)控制系統(tÇ’ng)ä¸ï¼ŒRAM的大部分內(nèi)容是為了進(jìn)行分æžã€æ¯”較而臨時(shÃ)å˜æ”¾çš„,ä¸å…許丟失的數(shù)據(jù)åªå 極少部分。在這種情æ³ä¸‹ï¼Œé™¤äº†é€™äº›ä¸å…許丟失的數(shù)據(jù)外,其余大部分內(nèi)容å…è¨±çŸæ™‚(shÃ)é–“è¢«ç ´å£žï¼Œæœ€å¤šåªå¼•起系統(tÇ’ng)的一個(gè)å¾ˆçŸæ™‚(shÃ)間的波動(dòng),很快能自動(dòng)æ¢å¾©(fù)æ£å¸¸ã€‚å› æ¤ï¼Œåœ¨å·¥æŽ§è»Ÿä»¶ä¸ï¼Œåªè¦æ³¨æ„å°(duì)少數(shù)ä¸å…許丟失的數(shù)據(jù)ä¿è·(hù)ï¼Œä¸€èˆ¬å¸¸ç”¨çš„æ–¹æ³•æœ‰â€œæ ¡é©—(yà n)法â€å’Œâ€œè¨(shè)標(biÄo)法â€ã€‚é€™å…©ç¨®æ–¹æ³•å„æœ‰åƒç§‹ï¼Œæ ¡é©—(yà n)法比較ç¹éŽ–ï¼Œä½†æŸ¥éŒ¯(cuò)çš„å¯ä¿¡åº¦é«˜ã€‚è¨(shè)標(biÄo)法簡(jiÇŽn)單,但å°(duì)數(shù)據(jù)表ä¸å€‹(gè)別數(shù)據(jù)沖毀的情æ³ï¼ŒæŸ¥éŒ¯(cuò)則無難為力。在編程ä¸ä¸€èˆ¬æ‡‰(yÄ«ng)ç¶œåˆä½¿ç”¨ï¼Œå…¶å…·é«”åšæ³•為:
* å°‡RAM工作å€(qÅ«)é‡è¦å€(qÅ«)域的始端和尾端å„è¨(shè)置一個(gè)標(biÄo)志碼“0†或“1â€ï¼›
* å°(duì)RAMä¸å›ºå®šä¸è®Šçš„æ•¸(shù)據(jù)è¡¨æ ¼è¨(shè)ç½®æ ¡é©—(yà n)å—。
在程åºçš„執(zhÃ)行éŽç¨‹ä¸ï¼Œæ¯éš”一定的時(shÃ)間通éŽäº‹å…ˆè¨(shè)計(jì)的查錯(cuò)程åºä¾†æª¢æŸ¥å…¶å„標(biÄo)å¿—ç¢¼æ˜¯å¦æ£å¸¸ï¼Œå¦‚æžœä¸æ£å¸¸ï¼Œå‰‡åˆ©ç”¨æ•¸(shù)據(jù)冗余技術(shù)é€šéŽæŠ—å¹²æ“¾è™•ç†ç¨‹åºä¾†é€²(jìn)行修æ£ï¼›å†—余數(shù)據(jù)表的一般è¨(shè)計(jì)原則是:
* 儿•¸(shù)據(jù)表應(yÄ«ng)相互é (yuÇŽn)離分散è¨(shè)置,減少冗余數(shù)據(jù)åŒæ™‚(shÃ)被沖毀的概率。
* 數(shù)據(jù)表應(yÄ«ng)盡å¯èƒ½é (yuÇŽn)離棧å€(qÅ«),減少由于æ“作錯(cuò)èª¤é€ å †æ£§è¢«æˆæ•¸(shù)據(jù)æ²–çš„å¯èƒ½ 。
上述å°(duì)RAMå€(qÅ«)域的æ¢å¾©(fù)è™•ç†æ–¹æ³•,在ä¸åŒçš„æ‡‰(yÄ«ng)用系統(tÇ’ng)䏿‡‰(yÄ«ng)æ ¹æ“š(jù)的具體情æ³é€²(jìn)行å–èˆã€‚
å…ã€æŽ§åˆ¶ç‹€æ…‹(tà i)失常的軟件å°(duì)ç–
在æ¢ä»¶æŽ§åˆ¶ç³»çµ±(tÇ’ng)ä¸ï¼Œäººå€‘é—œ(guÄn)注的å•題是能å¦ç¢ºä¿æ£å¸¸çš„æŽ§åˆ¶ç‹€æ…‹(tà i)。如果干擾進(jìn)入系統(tÇ’ng),會(huì)影響å„種控制æ¢ä»¶ã€é€ æˆæŽ§åˆ¶è¼¸å‡ºå¤±èª¤ã€‚ç‚ºäº†ç¢ºä¿ç³»çµ±(tÇ’ng)安全å¯ä»¥é‡‡å–下述軟件抗干擾措施:
1.軟件冗余
å°(duì)于æ¢ä»¶æŽ§åˆ¶ç³»çµ±(tÇ’ng),將控制æ¢ä»¶çš„一次采樣ã€è™•ç†æŽ§åˆ¶è¼¸å‡ºï¼Œæ”¹ç‚ºå¾ªç’°(huán)采樣ã€è™•ç†æŽ§åˆ¶è¼¸å‡ºã€‚é€™ç¨®æ–¹æ³•å…·æœ‰è‰¯å¥½çš„æŠ—å¶ç„¶å› ç´ å¹²æ“¾ä½œç”¨ã€‚
2.è¨(shè)置當(dÄng)å‰è¼¸å‡ºç‹€æ…‹(tà i)寄å˜å–®å…ƒ
ç•¶(dÄng)干擾侵入輸出通é“é€ æˆè¼¸å‡ºç‹€æ…‹(tà i)ç ´å£žæ™‚(shÃ),系統(tÇ’ng)å¯ä»¥åŠæ™‚(shÃ)查詢當(dÄng)å‰è¼¸å‡ºç‹€æ…‹(tà i)寄å˜å–®å…ƒçš„輸出狀態(tà i)ä¿¡æ¯ï¼ŒåŠæ™‚(shÃ)ç³¾æ£éŒ¯(cuò)誤的輸出狀態(tà i)。
3.è¨(shè)置自檢程åº
在計(jì)算機(jÄ«)系統(tÇ’ng)å…§(nèi)çš„ç‰¹å®šéƒ¨ä½æˆ–æŸäº›å…§(nèi)å˜å–®å…ƒè¨(shè)狀態(tà i)標(biÄo)志,在é‹(yùn)行ä¸ä¸æ–·å¾ªç’°(huán)測(cè)試,以ä¿è‰ç³»çµ±(tÇ’ng)ä¸ä¿¡æ¯å˜å„²(chÇ”)ã€å‚³è¼¸ã€é‹(yùn)算的高å¯é 性。
上述介紹的幾種有關(guÄn)工控軟件的抗干擾編程方法是ç†è€…在工作實(shÃ)è¸ä¸çš„體會(huì)。在è¨(shè)計(jì)工控軟件的éŽç¨‹ä¸åªè¦é‡‡å–相應(yÄ«ng)的抗干擾措施,就å¯ç²å¾—較好的抗干擾效果。如果çµ(jié)åˆå„種硬件抗干擾措施一起使用,將會(huì)大大æé«˜ç³»çµ±(tÇ’ng)çš„å¯é 性。
標(biÄo)簽:
ä¸åœ‹(guó)傳動(dòng)ç¶²(wÇŽng)版權(quán)與å…責(zé)è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹(guó)傳動(dòng)ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹(guó)傳動(dòng)ç¶²(wÇŽng)(www.hysjfh.com)ç¨(dú)家所有。如需轉(zhuÇŽn)載請(qÇng)與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個(gè)人轉(zhuÇŽn)載使用時(shÃ)é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹(guó)傳動(dòng)ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責(zé)任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請(qÇng)ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² (fù)版權(quán)法律責(zé)任。