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