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