plc中請描述三種設(shè)置子程序的方法 在PLC編程中是否可多次調(diào)用同一個子程序為什么?
在PLC編程中是否可多次調(diào)用同一個子程序為什么?1.反復(fù)調(diào)用子程序會對定時器和計數(shù)器產(chǎn)生影響,定時器會一直響應(yīng)最近的調(diào)用。計數(shù)器的作用是累加或減去每次調(diào)用的邏輯運算。2.對于200來說,定時器和計數(shù)器
在PLC編程中是否可多次調(diào)用同一個子程序為什么?
1.反復(fù)調(diào)用子程序會對定時器和計數(shù)器產(chǎn)生影響,定時器會一直響應(yīng)最近的調(diào)用。計數(shù)器的作用是累加或減去每次調(diào)用的邏輯運算。
2.對于200來說,定時器和計數(shù)器不能做成接口函數(shù),但是可以做成FB類型的自變量函數(shù)調(diào)用。
3.S7-200 PLC的定時器是一個增量式定時器,用來實現(xiàn)時間控制,可以按工作模式和時間基準(zhǔn)(時基)分類,也叫定時精度和分辨率。1)工作模式根據(jù)工作模式的不同,定時器分為三種:上電延時型(TON)、帶記憶的上電延時型(TONR)和斷電延時型(TOF),我們要根據(jù)實際需要來選擇。2)時基標(biāo)準(zhǔn)根據(jù)時基標(biāo)準(zhǔn),定時器可分為1ms.10ms.100ms3三種不同的時基標(biāo)準(zhǔn),計時精度、計時范圍、定時器刷新都不一樣,使用時要注意它們之間的區(qū)別。3)定時器的工作和類型當(dāng)TON enabled端子輸入有效時,定時器開始計數(shù),電流值從0開始遞增。當(dāng)大于等于預(yù)設(shè)值時,定時器輸出狀態(tài)位置1(輸出接點有效),當(dāng)前值最大值為32767。當(dāng)使能端子無效時,定時器復(fù)位(當(dāng)前值被清除,輸出狀態(tài)位置為0)。當(dāng)帶記憶的TONR的使能端(in)輸入有效時,定時器開始計數(shù),電流值增加。當(dāng)當(dāng)前值大于或等于預(yù)設(shè)值(PT)時,輸出狀態(tài)位置設(shè)置為1。當(dāng)使能端輸入無效時,保持當(dāng)前值,當(dāng)使能端再次接通時,定時器在原存儲值的基礎(chǔ)上遞增。帶記憶的通電延時定時器使用線圈的復(fù)位命令(R)進入復(fù)位操作。當(dāng)復(fù)位線圈有效時,定時器的當(dāng)前值被清除,輸出狀態(tài)位置為0。當(dāng)斷電延遲(TOF)使能引腳(IN)輸入有效時,定時器輸出狀態(tài)位立即置1,當(dāng)前值復(fù)位。當(dāng)使能端子斷開時,定時器開始計數(shù),電流值從0開始增加。當(dāng)當(dāng)前值達(dá)到預(yù)設(shè)值時,定時器狀態(tài)位復(fù)位為0,定時器停止計數(shù),保持當(dāng)前值。
4.西門子S7-200PLC共有255個計數(shù)器(不包括高速計數(shù)器)可以使用。計數(shù)形式可分為三類:向上計數(shù)、向下計數(shù)和上下計數(shù)。1) CTU加法計數(shù)是一種通過獲得計數(shù)輸入信號的上升沿來進行加法和計數(shù)的計數(shù)方法。每當(dāng)計數(shù)輸入信號有一個上升沿,計數(shù)器將增加 "1 "從0開始。當(dāng)計數(shù)達(dá)到設(shè)定值(PV)時,計數(shù)器的輸出觸點將打開。如果繼續(xù)輸入計數(shù)信號,計數(shù)值仍將增加,輸出觸點將保持接通。計數(shù)器有一個清零信號(R)輸入。當(dāng)清除信號為 "1 ",則電流表清零至 "0 ",設(shè)定值寫入,輸出接點強。切斷。2)Counter-down(CTD)Counter-down是一種通過獲取計數(shù)輸入信號的上升沿進行遞減計數(shù)的計數(shù)方法。每當(dāng)計數(shù)輸入信號的上升沿出現(xiàn)時,計數(shù)器開始減去 "L "當(dāng)當(dāng)前計數(shù)值減少到 "0 ",計數(shù)器的輸出觸點打開。如果在計數(shù)值為 "0 ",計數(shù)值將保持 "0 "并且輸出觸點將保持接通。計數(shù)器有一個清零信號(R)輸入。當(dāng)清除信號為 "1 ",設(shè)定值被寫入為當(dāng)前計數(shù)值,輸出觸點被強制關(guān)閉。3) CTUD(加減計數(shù))加減計數(shù)有兩個輸入端,即通過獲得對應(yīng)計數(shù)輸入信號的上升沿進行加減計數(shù)。上下計數(shù)的本質(zhì)和向上計數(shù)是一樣的。每當(dāng)計數(shù)輸入信號的上升沿出現(xiàn)時,計數(shù)器就開始加 "1 "從0開始,當(dāng)計數(shù)達(dá)到設(shè)定值(PV)時,計數(shù)器的輸出觸點打開。如果繼續(xù)輸入計數(shù)信號,計數(shù)值仍將增加,輸出觸點將保持接通。當(dāng)當(dāng)前值加到最大值32767時,如果再次輸入計數(shù)信號,當(dāng)前值將變?yōu)?32768,然后繼續(xù)計數(shù)。同時,倒計時輸入信號也起作用。每當(dāng)?shù)褂嫊r輸入有一個上升沿,計數(shù)器將減少 "1 "從目前的價值來看。當(dāng)當(dāng)前值減小到最小值-32768時,如果再次輸入倒計時信號,當(dāng)前值將變?yōu)?2767,然后繼續(xù)倒計時。計數(shù)器有一個清零信號(R)輸入。當(dāng)清除信號為 "L ",當(dāng)前計數(shù)值被清除為 "0 ",設(shè)定值被寫入,輸出觸點被強制斷開。
PLC控制器程序是由什么構(gòu)成的?
PLC控制程序由主程序、子程序和中斷程序組成。
1.主程序主程序(OBI)是程序的主體,每個項目只能有一個主程序。子程序和中斷程序可以在主程序中調(diào)用。主程序通過指令控制整個應(yīng)用程序的執(zhí)行,CPU每掃描一次主程序執(zhí)行一次。STEP7-Micro/Win程序編輯器窗口下部的選項卡用于選擇不同的程序。因為程序已經(jīng)被分離,所以不需要在每個程序的末尾添加無條件的結(jié)束指令,比如END、RET或者RETI。
2.子程序子程序是可選的指令集合,只有被其他程序調(diào)用時才執(zhí)行。同一個子程序可以在不同的地方調(diào)用多次。使用子程序可以簡化程序代碼,減少掃描時間。一個設(shè)計良好的子程序可以很容易地移植到其他項目中。
3.中斷程序中斷程序是一組可選的指令。中斷程序不是由主程序調(diào)用,而是當(dāng)中斷事件發(fā)生時,由可編程控制器的操作系統(tǒng)調(diào)用。中斷程序用于處理預(yù)定義的中斷事件。因為無法預(yù)測中斷事件何時發(fā)生,所以不允許中斷程序覆蓋其他程序可能使用的內(nèi)存。