今天奧越信技術(shù)工程師主要來給大家講解一下
兼容西門子程序的調(diào)用,在中斷OB37中執(zhí)行調(diào)用大量FC程序,是否影響OB1中正常程序的處理速度和其它中斷程序的速度?對CPU的運行有何影響?
答:1、在中斷OB37中執(zhí)行調(diào)用大量FC程序,是否影響OB1中正常程序的處理速度和其它中斷程序的速度?
a、組織塊是按系統(tǒng)已分配的中斷優(yōu)先級來執(zhí)行,數(shù)字越大優(yōu)先級越高,優(yōu)先級高的可以中斷優(yōu)先級低的。
b、一般OB1的默認(rèn)為1級,OB30-OB38默認(rèn)為7-15級,OB37為14級。數(shù)字越大優(yōu)先級越高。
c、OB37中執(zhí)行調(diào)用大量FC程序,則其就占用CPU時間長,肯定會響應(yīng)對OB1中或其他中斷的程序的掃描(執(zhí)行)。
2、對CPU的運行有何影響?
對CPU本身的運行沒有任何影響,即CPU運行哪個程序是有系統(tǒng)操作系統(tǒng)來分配的。CPU只是一個執(zhí)行“機構(gòu)”而已。這個問題提得不專業(yè),在此不要糾纏這個問題了。望注重下述問題的討論,即這個問題應(yīng)這樣提出:“對于你的控制系統(tǒng)的實時性是否有影響?”。
3、對于控制系統(tǒng)的實時性是否有影響?
在此要強調(diào)是要合理應(yīng)用OB循環(huán)中斷:
按樓主的設(shè)計意圖,是由兩個OB循環(huán)中斷來調(diào)度樓主的控制程序,即OB37(循環(huán)時間短,優(yōu)先級高)與OB1(循環(huán)時間長,優(yōu)先級低)。
合理的設(shè)計是將實時性要求高、數(shù)據(jù)更新要求快的任務(wù)(程序)均安排在OB37中來執(zhí)行。而將上述要相對低一些的的任務(wù)(程序)均安排在OB1中來執(zhí)行。這樣可以輕重緩急地實現(xiàn)任務(wù)(程序)的調(diào)度。
一個有經(jīng)驗的程序(軟件)設(shè)計者會合理地安排自己的控制系統(tǒng)中任務(wù)(程序)的中斷優(yōu)先級。也會通過實踐不斷修正所分配的優(yōu)先級,使得自己的控制系統(tǒng)的實時性更高。
4、而對于“中斷OB37中執(zhí)行調(diào)用大量FC程序”并不是不可取的,如果控制系統(tǒng)就這有這樣的需求,即只有這樣才可滿足實時性的要求,就可這樣做!
一個合格的程序設(shè)計者的基本條件就是能夠熟練地、合理地應(yīng)用中斷、編制中斷程序,使得自己的控制系統(tǒng)結(jié)構(gòu)嚴(yán)謹(jǐn)、靈巧、科學(xué),滿足控制實時性的要求。