版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
4.1程序控制類指令模塊四特殊功能指令的應(yīng)用
4.2步進(jìn)順序控制指令4.3中斷處理指令4.4高速處理指令4.5時(shí)鐘指令及其應(yīng)用4.1程序控制類指令
程序控制類指令用于程序運(yùn)行狀態(tài)的控制,主要包括有條件結(jié)束、暫停、監(jiān)視計(jì)時(shí)復(fù)位、跳變、循環(huán)、子程序調(diào)用、順序控制等指令。
4.1.1有條件結(jié)束(END)指令 所謂有條件結(jié)束(END)指令,就是執(zhí)行條件成立時(shí)結(jié)束主程序,返回主程序起點(diǎn)。條件結(jié)束指令用在無條件結(jié)束(MEND)指令之前。用戶程序必須以無條件結(jié)束指令結(jié)束主程序。西門子可編程系列編程軟件自動(dòng)在主程序結(jié)束時(shí)加上一個(gè)無條件結(jié)束(MEND)指令。條件結(jié)束指令不能在子程序或中斷程序中使用。其指令格式如圖4-1所示。LDM0.0END
圖4-1END/MENDa)有條件結(jié)束指令
b)無條件結(jié)束指令指令格式
所謂暫停(STOP)指令,是指當(dāng)條件符合時(shí),能夠引起CPU的工作方式發(fā)生變化,從運(yùn)行方式(RUN)進(jìn)入停止方式(STOP),立即終止程序執(zhí)行的指令。如果STOP指令在中斷程序中執(zhí)行,那么該中斷程序立即終止,并且忽略所有掛起的中斷,繼續(xù)掃描主程序的剩余部分。在本次掃描的最后,完成CPU從RUN到STOP方式的轉(zhuǎn)換。其指令格式如圖4-2所示。
LDSM5.0//SM5.0為檢測到I/O錯(cuò)誤時(shí)置1STOP//強(qiáng)制轉(zhuǎn)換至STOP(停止)模式圖4-2STOP指令格式注意:END和STOP是有區(qū)別的,見圖圖4-3所示,它實(shí)現(xiàn)CPU從RUN到STOP方式的轉(zhuǎn)換,在這個(gè)程序中,當(dāng)I0.0接通時(shí),Q0.0有輸出,若I0.1接通,終止用戶程序,Q0.0仍保持接通,下面的程序不會(huì)執(zhí)行,并返回主程序起始點(diǎn)。若I0.0斷開,接通I0.2,則Q0.1有輸出,若將I0.3接通則Q0.0和Q0.1均復(fù)位,CPU轉(zhuǎn)為STOP方式。
LDI0.0=Q0.0LDI0.1ENDLDI0.2=Q0.0LDI0.3STOP圖4-3END/STOP指令的區(qū)別4.1.3監(jiān)視計(jì)時(shí)器復(fù)位(WDR)指令
監(jiān)視計(jì)時(shí)器復(fù)位(WDR)指令(又稱看門狗定時(shí)器復(fù)位指令),是指為了保證系統(tǒng)可靠運(yùn)行,PLC內(nèi)部設(shè)置了系統(tǒng)監(jiān)視計(jì)時(shí)器WDT,用于監(jiān)視掃描周期是否超時(shí),每當(dāng)掃描到WDT計(jì)時(shí)器時(shí),WDT計(jì)時(shí)器將復(fù)位。
WDT計(jì)時(shí)器有一個(gè)設(shè)定值(100~300ms)。系統(tǒng)正常工作時(shí),所需掃描時(shí)間小于WDT的設(shè)定值,WDT計(jì)時(shí)器被計(jì)時(shí)復(fù)位;系統(tǒng)故障情況下,掃描周期大于WDT計(jì)時(shí)器設(shè)定值,該計(jì)時(shí)器不能及時(shí)復(fù)位,則報(bào)警并停止CPU運(yùn)行,同時(shí)復(fù)位輸入、輸出。這種故障稱為WDT故障,以防止因系統(tǒng)故障或程序進(jìn)入死循環(huán)而引起的掃描周期過長。系統(tǒng)正常工作時(shí),有時(shí)會(huì)因?yàn)橛脩舫绦蜻^長或使用中斷指令、循環(huán)指令使掃描時(shí)間過長而超過WDT計(jì)時(shí)器的設(shè)定值,為防止這種情況下監(jiān)視計(jì)時(shí)器動(dòng)作,可使用監(jiān)視計(jì)時(shí)器復(fù)位(WDR)指令,使WDT計(jì)時(shí)器復(fù)位。使用WDR計(jì)時(shí)器復(fù)位,在終止本次掃描之前,下列操作過程將被禁止:通信(自由端口方式除外)、I/O(立即I/O除外)、強(qiáng)制更新、SM位更新(SM0,SM5~SM29不能被更新)、運(yùn)行時(shí)間診斷、在中斷程序中的STOP指令。監(jiān)視計(jì)時(shí)器復(fù)位(WDR)指令的用法如圖4-4所示。LDM2.5//M2.5接通時(shí)WDR//重新觸發(fā)WDR,允許擴(kuò)展掃描時(shí)間
圖4-4監(jiān)視計(jì)時(shí)器復(fù)位用法舉例4.1.4跳轉(zhuǎn)(JMP)與標(biāo)號(LBL)指令 跳轉(zhuǎn)(JMP)指令,是指當(dāng)指令執(zhí)行后,可使程序流程轉(zhuǎn)到同一程序中的具體標(biāo)號(n)標(biāo)號(LBL)指令,是指標(biāo)記跳轉(zhuǎn)目的地的位置(n)指令。指令操作數(shù)n為常數(shù),通常為0~255。跳轉(zhuǎn)指令和相應(yīng)標(biāo)號指令必須在同一程序段中使用。跳轉(zhuǎn)與跳轉(zhuǎn)標(biāo)號指令的格式及功能見表4-1,跳轉(zhuǎn)(JMP)指令與標(biāo)號(LBL)的指令的用法如圖4-5所示。 表4-1跳轉(zhuǎn)與跳轉(zhuǎn)標(biāo)號指令的格式及功能梯形圖LAD語句表STL功能JMPn條件滿足時(shí),跳轉(zhuǎn)指令(JMP)可使程序轉(zhuǎn)移到同一程序的具體標(biāo)號(n)處
LBLn跳轉(zhuǎn)標(biāo)號指令(LBL)標(biāo)記跳轉(zhuǎn)目的地的位置(n)
圖4-5所示的梯形圖中,當(dāng)JMP條件滿足(即10.0為ON時(shí))程序跳轉(zhuǎn)指令LBL標(biāo)號以后的指令,而在JMP和LBL之間的指令一概不執(zhí)行,在這個(gè)過程中即使I0.1接通也不會(huì)有Q0.0輸出。當(dāng)JMP條件不滿足時(shí),則當(dāng)I0.0接通QO.0有輸出。圖4-5跳轉(zhuǎn)與標(biāo)號指令用法舉例I0.3得電,執(zhí)行JMP指令,程序跳轉(zhuǎn)到標(biāo)號4處I0.3不得電時(shí),運(yùn)行起保停程序I0.3不得電時(shí),運(yùn)行起保停程I0.3不得電,執(zhí)行JMP指令,程序跳轉(zhuǎn)到標(biāo)號5處I0.3得電,運(yùn)行點(diǎn)動(dòng)控制程序4.1.5循環(huán)指令(FOR、NEXT)
循環(huán)指令的功能是重復(fù)執(zhí)行相同功能的計(jì)算和邏輯處理程序段,極大地優(yōu)化了程序結(jié)構(gòu)。該指令有兩個(gè),分別為循環(huán)開始指令(FOR)和循環(huán)結(jié)束指令(NEXT)。指令的格式及功能見表4-2,循環(huán)開始指令的功能是作為循環(huán)體的開始,其梯形圖如圖4-6所示。梯形圖LAD語句表STL功能FORINDX,INIT,F(xiàn)INAL條件滿足時(shí),循環(huán)開始NEXT循環(huán)結(jié)束
循環(huán)開始指令有3個(gè)數(shù)據(jù)輸入端,輸入數(shù)據(jù)類型均為整數(shù)型。INDX為當(dāng)前循環(huán)計(jì)數(shù),INIT為循環(huán)初值,F(xiàn)INAL為循環(huán)終值。其中,當(dāng)前循環(huán)計(jì)數(shù)INDX,其操作數(shù)為VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC和*CD;循環(huán)初值INIT,循環(huán)終值FINAL,它們的操作數(shù)為:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、常數(shù)、*VD、*AC和*CD。循環(huán)結(jié)束指令的功能是結(jié)束循環(huán)體。 執(zhí)行循環(huán)指令時(shí),F(xiàn)OR和NEXT指令必須配合使用。循環(huán)指令可以嵌套使用,但最多不能超過8層,且循環(huán)體之間不可有交叉。使能有效時(shí),循環(huán)指令各參數(shù)將自動(dòng)復(fù)位。 循環(huán)指令的用法舉例,如圖4-7所示,該梯形圖表示當(dāng)I0.0的狀態(tài)為ON時(shí),①所示的外循環(huán)執(zhí)行5次,由VW200累計(jì)循環(huán)次數(shù);當(dāng)I0.1的狀態(tài)為ON時(shí),外循環(huán)每執(zhí)行一次,②所示的內(nèi)循環(huán)執(zhí)行4次,且由VW2l0累計(jì)循環(huán)次數(shù)。圖4-7循環(huán)與標(biāo)號指令用法舉例4.1.6子程序指令
S7-200CPU的控制程序由主程序,子程序和中斷程序組成。STEP7-Micio/WIN在程序編輯器窗口里為每個(gè)POU(ProgramorganizationalUnit程序組織單元)提供一個(gè)獨(dú)立的頁,主程序總是第1頁,后面是子程序或中斷程序。子程序常用于需要多次反復(fù)執(zhí)行相同任務(wù)的地方,只需要寫一次子程序,其他的程序在需要的時(shí)候調(diào)用它,而無須重寫該程序。子程序的調(diào)用是有條件的,未調(diào)用它時(shí)不會(huì)執(zhí)行子程序中的指令,因此使用子程序可以減少掃描時(shí)間。
使用子程序可以將程序分成容易管理的小塊,使程序結(jié)構(gòu)簡單清晰,易于查錯(cuò)和維護(hù)。如果子程序中只使用局部變量,因?yàn)榕c其他POU沒有地址沖突,可以將子程序移植到其他項(xiàng)目。為了移植子程序,應(yīng)避免使用全局符號和變量,例如V存儲(chǔ)器中的絕對地址。 可以采用下列方法創(chuàng)建子程序:在“編輯”菜單中執(zhí)行命令“插入(Insert)”“子程序(Subroutine)”;或在程序編輯器視窗中右擊并從彈出的菜單中執(zhí)行命令“插入(Insert)”“子程序(Subroutine)”,程序編輯器將從原采的POU顯示進(jìn)入新的子程序。用右擊指令樹中的子程序或中斷程序的圖標(biāo),在彈出的菜單中選擇“重命名”,以達(dá)到修改它們的名稱。
主程序可以用子程序調(diào)用(CALL)指令來調(diào)用一個(gè)子程序。子程序調(diào)用(CALL)指令把程序控制權(quán)交給子程序(n),子程序結(jié)束后,必須返回主程序??梢詭?shù)或不帶參數(shù)調(diào)用子程序,每個(gè)子程序必須以無條件返回(RET)指令作為結(jié)束,STEP7-Micio/WIN編程軟件為每個(gè)子程序自動(dòng)加入無條件返回(RET)指令。有條件子程序返回(CRET)指令,在控制條件有效時(shí),終止子程序(n)。子程序執(zhí)行完畢,控制程序回到主程序中子程序調(diào)用(CALL)指令的下一條指令。其指令的格式及功能見表4-3。1.子程序調(diào)用指令、子程序返回指令
表4-3子程序調(diào)用與子程序標(biāo)號、子程序返回指令的格式及功能梯形圖LAD語句表STL指令功能CALLSBR_n子程序調(diào)用與標(biāo)號指令(CALL)把程序的控制權(quán)交給子程序(SBR_n)CRET有條件子程序返回指令(CRET)根據(jù)該指令前面的邏輯關(guān)系,決定是否終止子程序(SBR_n)無條件子程序返回指令(RET)立即終止子程序的執(zhí)行
在中斷程序、子程序中也可調(diào)用子程序,但在子程序中不能調(diào)用自己,子程序的嵌套深度為8層。調(diào)用不帶參數(shù)子程序并從子程序返回的舉例如圖4-8所示。圖4-8子程序指令的編程舉例a)主程序
b)子程序0c)子程序1子程序被調(diào)用時(shí),系統(tǒng)會(huì)保存當(dāng)前的邏輯堆棧。保存后再置棧頂值為1,堆棧的其他值為零,把控制權(quán)交給被調(diào)用的子程序。子程序執(zhí)行完畢,通過返回指令自動(dòng)恢復(fù)邏輯堆棧原調(diào)用點(diǎn)的值,把控制權(quán)交還給調(diào)用程序。主程序和子程序共用累加器。調(diào)用子程序時(shí)無須對累加器作存儲(chǔ)及重裝操作。
(1)局部變量與全局變量在SIMATIC符號表或IEC的全局變量表中定義的變量為全局變量。程序中的每個(gè)程序POU均有自己的由64字節(jié)存儲(chǔ)器組成的局部變量表。它們用來定義有范圍限制的變量,局部變量只在它被創(chuàng)建的POU中有效。與之相反,全局符號在各POU中均有效,只能在符號表/全局變量表中定義。全局符號與局部變量名稱相同時(shí),在定義局部變量的POU中,該局部變量的定義優(yōu)先,該全局定義則在其他POU中使用。局部變量有以下優(yōu)點(diǎn):①在于程序中只用局部變量,不用絕對地址或全局符號,子程序可以移植到別的項(xiàng)目去。
2.局部變量表②如果使用臨時(shí)變量(TEMP),同一片物理存儲(chǔ)器可以在不同的程序中重復(fù)使用。局部變量還用來在子程序和調(diào)用它的程序之間傳遞輸入?yún)?shù)和輸出參數(shù)。在編程軟件中,將水平分裂條拉至程序編輯器視窗的頂部,則不再顯示局部變量表,但它仍然存在;將分裂條下拉,將再次顯示局部變量表。
(2)局部變量的類型局部變量表中的變量類型區(qū)中定義的變量有:傳入子程序參數(shù)(IN)、傳入/傳出子程序參數(shù)(IN/OUT)、傳出子程序參數(shù)(OUT)和暫時(shí)變量(TEMP)4種類型。
IN:傳入子程序參數(shù),由調(diào)用它的POU提供的輸入?yún)?shù)。傳入子程序參數(shù)可以是直接尋址數(shù)據(jù)(如:VBl0)、間接尋址數(shù)據(jù)(如:*ACl)、常數(shù)(如:16#1234)或地址(&VBl00)。
IN/OUT:傳入/傳出子程序參數(shù)。調(diào)用子程序時(shí),將指定參數(shù)位置的值傳到子程序,子程序返回時(shí),從子程序得到的結(jié)果值被返回到指定參數(shù)的地址。參數(shù)可采用直接尋址和間接尋址,但常數(shù)和地址不允許作為輸入/輸出參數(shù)。
OUT:傳出子程序參數(shù)。將從子程序來的結(jié)果值返回到指定參數(shù)的位置。輸出參數(shù)可以采用直接尋址和間接尋址,但不可以是常數(shù)或地址。
TEMP:暫時(shí)變量。只能在子程序內(nèi)部暫時(shí)存儲(chǔ)數(shù)據(jù),不能用來傳遞參數(shù)。在帶參數(shù)調(diào)用子程序指令中,參數(shù)必須按照一定順序排列,輸入?yún)?shù)(IN)在最前面,其次是輸入/輸出參數(shù)(IN/OUT),最后是輸出參數(shù)(OUT)。
(3)局部變量的賦值局部變量表使用局部變量存儲(chǔ)器,在局部變量表中加入一個(gè)參數(shù)時(shí),系統(tǒng)自動(dòng)給該參數(shù)分配局部變量存儲(chǔ)空間。當(dāng)給子程序傳遞值時(shí),參數(shù)放在子程序的局部變量存儲(chǔ)器中。在局部變量表中賦值時(shí),只需指定局部變量的類型(TEMP、IN、IN_OUT或OUT)和數(shù)據(jù)類型,不用指定存儲(chǔ)器地址,程序編輯器按照子程序指令的調(diào)用順序。將參數(shù)值分配給局部變量存儲(chǔ)器,起始地址是L0.0;8個(gè)連續(xù)位的參數(shù)值分配一個(gè)字節(jié),從LX.0到LX.7。字節(jié)、字和雙字值按照字節(jié)順序分配在局部變量存儲(chǔ)器中(LBx,LWx或LDx)。
(4)在局部變量表中增加新的變量對于主程序與中斷程序,局部變量表顯示一組已被預(yù)先定義為TEMP變量的行。要在表中增加行,只需右擊表中的某一行,在彈出的菜單中執(zhí)行“插入”“行”命令,在所選行的上部插入新的行。執(zhí)行菜單命令“插入”“下一行”在所選行的下部插入新的行。對于子程序,局部變量表顯示數(shù)據(jù)類型被預(yù)先定義為IN、IN_OUT、OUT和TEMP的一系列行,不能改變它們的順序。如果要增加新的局部變量,必須右擊已有的行,并用彈出菜單在所擊行的上面或下面插入相同類型的另一局部變量。
(5)局部變量數(shù)據(jù)類型檢查局部變量作為參數(shù)向子程序傳遞時(shí),在該子程序的局部變量表中指定的數(shù)據(jù)類型必須與調(diào)用它的POU中的數(shù)據(jù)類型值匹配。例如在主程序OBl中調(diào)用于程序SBR0,使用名為INPUTl的,全局符號作為子程序的輸入?yún)?shù),在SBR0的局部變量表中,已經(jīng)定義了一個(gè)名為FIRST的局部變量作為該輸人參數(shù)。當(dāng)OBl調(diào)用SBR0時(shí),INPUTl的數(shù)值被傳入FIRST,INPUTl和FIRST的數(shù)據(jù)類型必須匹配。
3.帶參數(shù)調(diào)用子程序調(diào)用“帶參數(shù)調(diào)用子程序”時(shí)需要設(shè)置調(diào)用的參數(shù),帶參數(shù)調(diào)用的子程序指令如圖4-9所示。參數(shù)在子程序的局部變量表中定義(見表4-4)。參數(shù)由地址、參數(shù)名稱(最多8個(gè)字符)、變量類型和數(shù)據(jù)類型描述。子程序最多可以傳遞16個(gè)參數(shù);局部變量表的最左列(見表4-4)是每個(gè)被傳遞的參數(shù)的局部變量存儲(chǔ)器地址。當(dāng)子程序調(diào)用時(shí),輸人參數(shù)值被復(fù)制到子程序的局部變量存儲(chǔ)器。當(dāng)子程序完成時(shí),從局部變量存儲(chǔ)器區(qū)復(fù)制輸出參數(shù)值到指定的輸出參數(shù)地址。圖4-9帶參數(shù)調(diào)用的子程序指令
表4-4STEP7-Micro/WIN局部變量L地址參數(shù)名稱Name變量類型VarType數(shù)據(jù)類型DataType注釋CommentENINBOOLL0.0IN1INBOOLLB1IN2INBYTEL2.0IN3INBOOLLD3IN4INDWORDLW7IN/OUTIN/OUTWORDLD9OUTlOUTDWORD名為“模擬量計(jì)算”的子程序如圖4-10所示。在該子程序的局部變量表中,定義了名為“轉(zhuǎn)換值”、“系數(shù)1”和“系數(shù)2”的輸入(IN)變量,名為“模擬值”的輸出(OUT)變量,和名為“暫存”的臨時(shí)(TEMP)變量。局部變量表最左邊的一列是每個(gè)參數(shù)在局部存儲(chǔ)器(L)中的地址。圖4-10局部變量表與模擬量計(jì)算子程序創(chuàng)建子程序后,可以在主程序、其他子程序或中斷程序中調(diào)用該子程序,調(diào)用子程序時(shí)將執(zhí)行子程序的全部指令,直至子程序結(jié)束,然后返回調(diào)用程序中該子程序調(diào)用指令的下一條指令之處。一個(gè)項(xiàng)目中最多可以創(chuàng)建64個(gè)子程序,CPU226型PLC支持128個(gè)子程序。子程序可以嵌套調(diào)用,最大嵌套深度為8。在中斷服務(wù)程序中調(diào)用的子程序中不能再調(diào)用子程序。不禁止遞歸調(diào)用(子程序調(diào)用自己),但使用時(shí)應(yīng)謹(jǐn)慎。如上例中,建立子程序后,STEP7-Micro/WIN在指令樹最下面的“調(diào)用子例行程序”文件夾下面自動(dòng)生成剛創(chuàng)建的子程序“模擬量計(jì)算”對應(yīng)的圖標(biāo)。對于梯形圖程序,在子程序局部變量表中為該子程序定義參數(shù)后,將生成客戶化調(diào)用指令塊(見圖4-10),指令塊中自動(dòng)包含了子程序的輸入?yún)?shù)和輸出參數(shù)。
在梯形圖程序中插入子程序調(diào)用指令時(shí),首先打開程序編輯器視窗中需要調(diào)用子程序的POU,找到需要調(diào)用子程序的地方。雙擊打開指令樹最下面的子程序文件夾,將需要調(diào)用的子程序圖標(biāo)從指令樹“拖”到程序編輯器中的正確位置,放開左鍵,子程序塊便被放置在該圖4-11在主程序中調(diào)用子程序位置。也可以將矩形光標(biāo)置于程序編輯器視窗中需要放置該子程序的地方,然后雙擊指令樹中要調(diào)用的子程序,子程序圖標(biāo)會(huì)自動(dòng)出現(xiàn)在光標(biāo)所在的位置。如果用語句表編程,子程序調(diào)用指令的格式為:
CALL子程序號,參數(shù)1,參數(shù)2,….參數(shù)n(參數(shù)n=0~16)。子程序的語句表見圖4-11。在語句表中調(diào)用帶參數(shù)的子程序時(shí),參數(shù)必須按一定的順序排列,輸入?yún)?shù)在最前面,其次是輸入/輸出參數(shù),最后是輸出參數(shù)。子程序調(diào)用指令中的有效操作數(shù)為存儲(chǔ)器地址、常量、全局符號和調(diào)用指令所在的POU中的局部變量,不能指定被調(diào)用子程序中的局部變量。若在使用子程序調(diào)用指令后修改該子程序中的局部變量表,調(diào)用指令將變?yōu)闊o效。必須刪除無效調(diào)用。用能反映正確參數(shù)的新的調(diào)用指令代替。
在運(yùn)用PLC進(jìn)行順序控制時(shí)常采用順序控制指令,這是一種由順序功能圖設(shè)計(jì)梯形圖的步進(jìn)型指令。首先用順序功能圖描述程序的設(shè)計(jì)思想,然后再用指令編寫出符合程序設(shè)計(jì)思想的程序。順序控制指令可以將順序功能圖轉(zhuǎn)換成梯形圖程序,順序功能圖是設(shè)計(jì)梯形圖程序的基礎(chǔ)。4.2步進(jìn)順序控制指令
功能流程圖是按照順序控制的思想,根據(jù)工藝過程,根據(jù)輸出量的狀態(tài)變化,將一個(gè)工作周期劃分為若干順序相連的步,在任何一步內(nèi),各輸出量的ON/OFF狀態(tài)不變,但是相鄰兩步輸出量的狀態(tài)是不同的。所以,可以將程序的執(zhí)行分成各個(gè)程序步,通常用順序控制繼電器的位S0.0~S31.7代表程序的狀態(tài)步。4.2.1功能流程圖簡介
使系統(tǒng)由當(dāng)前步進(jìn)入下一步的信號稱為轉(zhuǎn)換條件,又稱步進(jìn)條件。轉(zhuǎn)換條件可以是外部的輸入信號,如按鈕、指令開關(guān)、限位開關(guān)的接通/斷開等;也可以是程序運(yùn)行中產(chǎn)生的信號,如定時(shí)器、計(jì)數(shù)器的常開觸點(diǎn)的接通等;轉(zhuǎn)換條件還可能是若干個(gè)信號的邏輯運(yùn)算的組合。一個(gè)三步循環(huán)步進(jìn)的功能流程圖如圖4-12所示,功能流程圖中的每個(gè)方框代表一個(gè)狀態(tài)步,如圖中1、2、3分別代表程序3步狀態(tài)。與控制過程的初始狀態(tài)相對應(yīng)的步稱為初始步,用雙線框表示,初始步可以沒有步動(dòng)作或者在初始步進(jìn)行手動(dòng)復(fù)位的操作??梢苑謩e用S0.0、S0.1、S0.2表示上述的三個(gè)狀態(tài)步,程序執(zhí)行到某步時(shí),該步狀態(tài)位置1,其余為0。例如執(zhí)行第一步時(shí),S0.0=1,而S0.1、S0.2全為0。每步所驅(qū)動(dòng)的負(fù)載,稱為步動(dòng)作,用方框中的文字或符號表示,并用線將該方框和相應(yīng)的步相連。狀態(tài)步之間用有向連線連接,表示狀態(tài)步轉(zhuǎn)移的方向,有向連線上沒有箭頭標(biāo)注時(shí),方向?yàn)樽陨隙?、自左而右。有向連線上的短線表示狀態(tài)步的轉(zhuǎn)換條件。順序控制用3條指令描述程序的順序控制步進(jìn)狀態(tài),指令格式如表4-5所示。
1.順序步開始指令(LSCR-LoadSequenceControlRelay)順序控制繼電器位SX.Y=1時(shí),該程序步執(zhí)行。
2.順序步結(jié)束指令(SCRE-SequenceControlRelayEnd)順序步結(jié)束由SCR(LSCR)開始到SCRE之間順序控制程序段的工作。
3.順序步轉(zhuǎn)移指令(SCRT-SequenceControlRelayTransition)使能輸入有效時(shí),將本順序步的順序控制繼電器位清零,下一步順序控制繼電器位置1。4.2.2順序控制指令
在使用順序控制指令時(shí)應(yīng)注意:(1)步進(jìn)控制指令SCR只對狀態(tài)元件S有效。為了保證程序的可靠運(yùn)行,驅(qū)動(dòng)狀態(tài)元件S的信號應(yīng)采用短脈沖。(2)當(dāng)輸出需要保持時(shí),可使用S/R指令。(3)不能把同一編號的狀態(tài)元件用在不同的程序中。例如,如果在主程序中使用S0.1,則不能在子程序中再使用。(4)在SCR段中不能使用JMP和LBL指令。即不允許跳人或跳出SCR段,也不允許在SCR段內(nèi)跳轉(zhuǎn)。可以使用跳轉(zhuǎn)和標(biāo)號指令在SCR段周圍跳轉(zhuǎn)。(5)不能在SCR段中使用FOR、NEXT和END指令。 表4-5順序控制指令格式LADSTL功能說明LSCRn步開始指令,為步開始的標(biāo)志,該步的狀態(tài)元件的位置1時(shí),執(zhí)行該步SCRTn步轉(zhuǎn)移指令,使能有效時(shí),關(guān)斷本步,進(jìn)入下一步。該指令由轉(zhuǎn)換條件的接點(diǎn)起動(dòng),n為下一步的順序控制狀態(tài)元件SCRE步結(jié)束指令,為步結(jié)束的標(biāo)志
1.單序列:功能流程圖的單流程結(jié)構(gòu)形式簡單,如圖4-13(a)所示,其特點(diǎn)是:每一步后面只有一個(gè)轉(zhuǎn)換,每個(gè)轉(zhuǎn)換后面只有一步。各個(gè)工步按順序執(zhí)行,上一工步執(zhí)行結(jié)束,轉(zhuǎn)換條件成立,立即開通下一工步,同時(shí)關(guān)斷上一工步。(2)并列序列:如圖4-12(b)所示,步3為活動(dòng)步,轉(zhuǎn)換條件e=1,則發(fā)生步4和步6同時(shí)轉(zhuǎn)換為活動(dòng)步;步3變?yōu)榉腔顒?dòng)步,步4和步6被同時(shí)激活后,每個(gè)序列中活動(dòng)步的進(jìn)展是獨(dú)立的。(3)選擇序列:如圖4-12(c)所示,步5為活動(dòng)步,轉(zhuǎn)換條件h=1,則發(fā)生步5→步8的轉(zhuǎn)換;若步5為活動(dòng)步,轉(zhuǎn)換條件k=1,則發(fā)生步5→步10的轉(zhuǎn)換,一般只容許同時(shí)選擇一個(gè)序列。
4.2.3.順序功能圖的基本結(jié)構(gòu)
圖4-14為小車運(yùn)動(dòng)的示意圖、順序功能圖和梯形圖。設(shè)小車在初始位置時(shí)停在左邊,限位開關(guān)I0.2為1狀態(tài)。當(dāng)按下起動(dòng)按鈕I0.0后,小車向右運(yùn)行,運(yùn)動(dòng)到位壓下限位開關(guān)I0.1后,停在該處,3
s后開始左行,左行到位壓下限位開關(guān)I0.2后返回初始步,停止運(yùn)行。根據(jù)Q0.0和Q0.1狀態(tài)的變化可知,一個(gè)工作周期可以分為左行、暫停和右行三步,另外還應(yīng)設(shè)置等待起動(dòng)的初始步,并分別用S0.0~S0.3來代表這四步。起動(dòng)按鈕I0.0和限位開關(guān)的常開觸點(diǎn)、T37延時(shí)接通的常開觸點(diǎn)是各步之間的轉(zhuǎn)換條件。
4.2.4順序控制系統(tǒng)的編程方法
1.單序列的編程方法圖4-13
單序列、選擇序列與并行序列流程圖
根據(jù)Q0.0和Q0.1狀態(tài)的變化可知,一個(gè)工作周期可以分為左行、暫停和右行三步,另外還應(yīng)設(shè)置等待起動(dòng)的初始步,并分別用S0.0~S0.3來代表這四步。起動(dòng)按鈕I0.0和限位開關(guān)的常開觸點(diǎn)、T37延時(shí)接通的常開觸點(diǎn)是各步之間的轉(zhuǎn)換條件。 在設(shè)計(jì)梯形圖時(shí),用LSCR和SCRE指令作為SCR段的開始和結(jié)束指令。在SCR段中用SM0.0的常開觸點(diǎn)來驅(qū)動(dòng)在該步中應(yīng)為1狀態(tài)的輸出點(diǎn)的線圈,并用轉(zhuǎn)換條件對應(yīng)的觸點(diǎn)或電路來驅(qū)動(dòng)轉(zhuǎn)到后續(xù)步的SCRT指令。
圖4-14小車運(yùn)動(dòng)示意圖、順序功能圖和梯形圖
(2)并行序列的編程方法
1)并行序列的分支的編程方法 圖4-15(a)中步S0.3之后有一個(gè)并行序列的分支,當(dāng)步S0.3是活動(dòng)步,轉(zhuǎn)換條件I0.4滿足,步S0.4與步S0.6應(yīng)同時(shí)變?yōu)榛顒?dòng)步。這是用S0.3對應(yīng)的SCR段中I0.4的常開觸點(diǎn)同時(shí)驅(qū)動(dòng)指令SCRTS0.4和SCRTS0.6對應(yīng)的線圈來實(shí)現(xiàn)的。與此同時(shí),S0.3被自動(dòng)復(fù)位,步S0.3變?yōu)椴换顒?dòng)步。
2)并行序列的分支合并的編程方法 步S1.0之前有一個(gè)并行序列的合并,I0.7對應(yīng)的轉(zhuǎn)換條件是所有的前級步(即步S0.5和S0.7)都是活動(dòng)步和轉(zhuǎn)換條件I0.7滿足,就可以使下級步S1.0置位。由此可知,應(yīng)使用以轉(zhuǎn)換條件為中心的編程方法,將S0.5、S0.7和I0.7的常開觸點(diǎn)串聯(lián),來控制S1.0的置位和S0.5、S0.7的復(fù)位,從而使步S1.0變?yōu)榛顒?dòng)步,步S0.5和S0.7變?yōu)椴换顒?dòng)步。其梯形圖如圖4-15(b)所示。圖4-15選擇序列與并行序列的功能圖和梯形圖3.應(yīng)用舉例 編寫十字路口交通燈循環(huán)顯示控制的程序。控制要求:設(shè)置一個(gè)啟動(dòng)按鈕SB1、循環(huán)開關(guān)SB2。當(dāng)按下SB1后,交通燈控制系統(tǒng)開始工作。首先南北紅燈亮,東西綠燈亮。按下循環(huán)開關(guān)SB2后,信號控制系統(tǒng)循環(huán)工作;否則信號系統(tǒng)停止,所有的信號燈滅。工作情況見示意圖4-16。(也可按并列序列進(jìn)行設(shè)計(jì),大家自己思考)
圖4-16十字路口交通燈循環(huán)顯示控制的示意圖及時(shí)序圖(a)交通燈示意圖
(b)時(shí)序圖
1)I/O端口分配
根據(jù)控制要求,十字路口交通燈循環(huán)顯示控制的PLCI/O端子分配如表4-6所示。
輸入信號輸出信號PLC地址電氣符號功能說明PLC地址電氣符號功能說明I0.0SB1啟動(dòng)按鈕,常開Q0.0HL1南北綠燈I0.1SB2循環(huán)開關(guān),常開Q0.1HL2南北黃燈Q0.2HL3南北紅燈Q0.3HL4東西綠燈Q0.4HL5東西黃燈Q0.5HL6東西紅燈表4-6I/O端口分配表(2)十字路口交通燈循環(huán)顯示控制系統(tǒng)的PLC外部接線圖如圖4-17所示。圖4-17彩燈依次點(diǎn)亮的PLC外部接線
(3)程序設(shè)計(jì)。
根據(jù)控制要求,畫出交通燈控制的程序流程圖如圖4-18所示,根據(jù)程序流程圖設(shè)計(jì)順序梯形圖程序如圖4-19所示圖4-19交通燈順序梯形圖程序
某專用鉆床用來加工圓盤狀零件上均勻分布的6個(gè)孔如圖4-20(a)所示。開始自動(dòng)運(yùn)行時(shí)兩個(gè)鉆頭在最上面的位置,限位開關(guān)I0.3和I0.5為ON。操作人員放好工件后,按下起動(dòng)按鈕I0.0,Q0.0變?yōu)镺N,工件被夾緊,夾緊后壓力繼電器I0.1為ON,Q0.1和Q0.3使兩只鉆頭同時(shí)開始工作,分別鉆到由限位開關(guān)I0.2和I0.4設(shè)定的深度時(shí),Q0.2和Q0.4使兩只鉆頭分別上行,升到由限位開關(guān)I0.3和I0.5設(shè)定的起始位置時(shí),分別停止上行,設(shè)定值為3的計(jì)數(shù)器C0的當(dāng)前值加1。兩只鉆頭都上升到位后,若沒有鉆完3個(gè)孔,C0的常閉觸點(diǎn)閉合,Q0.5使工件旋轉(zhuǎn)120°,旋轉(zhuǎn)到位時(shí)限位開關(guān)I0.6為ON,旋轉(zhuǎn)結(jié)束后又開始鉆第2對孔。3對孔都鉆完后,計(jì)數(shù)器的當(dāng)前值等于設(shè)定值3,C0的常開觸點(diǎn)閉合,Q0.6使工件松開,松開到位時(shí),限位開關(guān)I0.7為ON,系統(tǒng)返回到初始狀態(tài)。任務(wù)1.1:專用鉆床的PLC控制系統(tǒng)圖4-20專用鉆床結(jié)構(gòu)示意圖、功能流程圖
(1)I/O端口分配
根據(jù)控制要求,專用鉆床控制系統(tǒng)的PLCI/O端子分配如表4-7所示。
輸入信號輸出信號PLC地址電氣符號功能說明PLC地址電氣符號功能說明I0.0SB1啟動(dòng)按鈕,常開Q0.0YV1工件夾緊電磁閥I0.1SP壓力繼電器Q0.1KM1大鉆頭下降接觸器線圈I0.2SQ1大鉆頭下限位Q0.2KM2大鉆頭上升接觸器線圈I0.3SQ2大鉆頭上限位Q0.3KM3小鉆頭下降接觸器線圈I0.4SQ3小鉆頭下限位Q0.4KM4小鉆頭上升接觸器線圈表4-7I/O端口分配表(2)專用鉆床的PLC控制系統(tǒng)的PLC外部接線圖如圖4-21所示。圖4-21專用鉆床的PLC外部接線3)程序設(shè)計(jì)。根據(jù)以上控制要求設(shè)計(jì)出的順序功能圖如圖4-20(b)所示,其對應(yīng)得梯形圖程序如圖4-22所示。圖4-22專用鉆床的PLC控制系統(tǒng)的梯形圖任務(wù)1.2:傳送機(jī)分檢大小球的控制系統(tǒng) 控制要求:傳送機(jī)分檢大小球示意圖如圖4-23所示。傳送機(jī)分檢大小球裝置可分別檢出大、小鐵球。如果傳送機(jī)底下的電磁鐵吸住小的鐵球,則將小球放入裝小球的箱子里;如果傳送機(jī)底下的電磁鐵吸住大的鐵球,則將大球放入裝大球的箱子里。 傳送機(jī)電磁鐵的上升和下降運(yùn)動(dòng)由一臺(tái)電動(dòng)機(jī)帶動(dòng),傳送機(jī)的左、右運(yùn)動(dòng)則由另外一臺(tái)電動(dòng)機(jī)帶動(dòng)。
圖4-23
傳送機(jī)分檢大小球示意圖
初始狀態(tài)時(shí),傳送機(jī)停在原位。當(dāng)按下傳送機(jī)的啟動(dòng)按鈕后,電磁鐵在傳送機(jī)的帶動(dòng)下下降到混合球箱中。如果傳送機(jī)在下降過程中壓合行程開關(guān)SQ2,電磁鐵的電磁線圈通電后將吸住小球,然后上升右行至行程開關(guān)SQ4的位置,電磁鐵下降,將小球放入小球箱中。如果電磁鐵由原位下降后未壓合行程開關(guān)SQ2,則電磁鐵的電磁線圈通電后將吸住大球,然后右行至行程開關(guān)SQ5位置,電磁鐵下降,將大球放入大球箱中。左行回到SQ1處重復(fù)以上過程。(1)I/O端口分配
根據(jù)控制要求,傳送機(jī)分檢大小球的PLC輸入輸出端子分配如圖所示
圖4-25傳送機(jī)分揀大小球控制狀態(tài)流程圖在PLC控制系統(tǒng)中,對于那些不定期產(chǎn)生的急需處理事件,常常通過采用中斷處理技術(shù)來完成。中斷程序不是由程序調(diào)用,而是在中斷事件發(fā)生時(shí)由系統(tǒng)調(diào)用。當(dāng)CPU響應(yīng)中斷請求后,會(huì)暫時(shí)停止當(dāng)前正在執(zhí)行的程序,進(jìn)行現(xiàn)場保護(hù),在將累加器、邏輯堆棧、寄存器及特殊繼電器的狀態(tài)和數(shù)據(jù)保存起來后,轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序中去處理。一旦處理結(jié)束,立即恢復(fù)現(xiàn)場,將保存起來的現(xiàn)場數(shù)據(jù)和狀態(tài)重新裝入,返回到原程序繼續(xù)執(zhí)行。在S7-200中,中斷服務(wù)程序的調(diào)用和處理由中斷指令來完成。4.3中斷處理功能指令
在PLC中,很多的信息和事件都能夠引起中斷,如系統(tǒng)內(nèi)部中斷和用戶操作引起的中斷。系統(tǒng)的內(nèi)部中斷是由系統(tǒng)來處理的,如編程器、數(shù)據(jù)處理器和某些智能單元等,可能隨時(shí)會(huì)向CPU發(fā)出中斷請求,而對這種中斷請求的處理,PLC是自動(dòng)完成的。而由用戶引起的一方面是來自控制過程的中斷;常常稱為過程中斷,另一方面是來自PLC內(nèi)部的定時(shí)功能,這種中斷常常稱為時(shí)基中斷。應(yīng)用中多以用戶引起中斷為主,以下分別介紹。1.過程中斷在S7-200中,過程中斷可分為通信口中斷和I/O中斷。通信口中斷包括通信口0和通信口1產(chǎn)生的中斷;I/O中斷包括外部輸入中斷、高速計(jì)數(shù)器中斷和高速脈沖串輸出中斷。
(1)通信口中斷:S7-200的串行通信口可以由用戶程序來控制。用戶可以通過編程的方法來設(shè)置波特率、奇偶校驗(yàn)和通信協(xié)議等參數(shù)。對通信口的這種操作方式,又稱為自由通信。利用接收和發(fā)送中斷可簡化程序?qū)νㄐ诺目刂啤?2)外部輸入中斷:中斷的信息可以通過I0.0,I0.1,I0.2,I0.3的上升沿或下降沿輸入到PLC中,系統(tǒng)將對此中斷信息進(jìn)行快速響應(yīng)。4.3.1中斷事件
(3)高速計(jì)數(shù)器中斷:在應(yīng)用高速計(jì)數(shù)器時(shí)場合下,允許響應(yīng)高速計(jì)數(shù)器的當(dāng)前值等于設(shè)定值,或者計(jì)數(shù)方向發(fā)生改變,或者高速計(jì)數(shù)器外部復(fù)位等事件使高速計(jì)數(shù)器向CPU提出的中斷請求。
(4)高速脈沖串輸出中斷:允許PLC響應(yīng)完成輸出給定數(shù)量的高速脈沖串時(shí)引起的中斷。
2.時(shí)基中斷在S7-200中,時(shí)基中斷可以分為定時(shí)中斷和定時(shí)器中斷。
(1)定時(shí)中斷:定時(shí)中斷響應(yīng)周期性的事件,按指定的周期時(shí)間循環(huán)執(zhí)行。周期時(shí)間以1ms為計(jì)量單位,周期時(shí)間可從1~255ms。定時(shí)中斷有兩種類型:定時(shí)中斷0和定時(shí)中斷1,它們分別把周期時(shí)間寫入特殊寄存器SMB34和特殊寄存器SMB35。對模擬量信號運(yùn)算控制時(shí),利用定時(shí)中斷可以設(shè)定采樣周期,實(shí)現(xiàn)對模擬量的數(shù)據(jù)采樣。(2)定時(shí)器中斷:定時(shí)器中斷是利用指定的定時(shí)器設(shè)定的時(shí)間產(chǎn)生中斷。在S7-200中,指定的定時(shí)器為1ms的定時(shí)器T32和定時(shí)器T96。中斷允許后,定時(shí)器T32和T96的當(dāng)前值等于預(yù)置值時(shí)就發(fā)生中斷。在S7-200的CPU22X中,可以響應(yīng)最多34個(gè)中斷事件,每個(gè)中斷事件分配不同的編號,中斷事件號如表4-10所列。中斷指令包括中斷允許ENI、中斷禁止DISI、中斷連接指令A(yù)TCH、中斷分離DTCH、中斷返回RETI和CRETI、中斷服務(wù)程序標(biāo)號。其指令格式見表4-11所示。 4.3.2中斷指令
說明:(1)操作數(shù)INT及n用來指定中斷服務(wù)程序標(biāo)號,取值為0~127;(2)EVNT用于指定被連接或被分離的中斷事件,其編號對22X系列PLC為0~33;(3)在STEP7-Micro/WIN編程軟件中無INT指令,中斷服務(wù)程序的區(qū)分由不同的中斷程序窗口來辨識(shí);(4)無條件返回指令RETI是每一個(gè)中斷程序所必須有的,在STEP7-Micro/WIN編程軟件中可自動(dòng)在中斷服務(wù)程序后加入該指令。
在PLC中,CPU一般在指定的優(yōu)先級內(nèi)按照先來先服務(wù)的原則響應(yīng)中斷事件的中斷請求,在任何時(shí)刻,CPU只執(zhí)行一個(gè)中斷程序。當(dāng)CPU按照中斷優(yōu)先級響應(yīng)并執(zhí)行一個(gè)中斷程序時(shí),就不會(huì)響應(yīng)其他中斷事件的中斷請求(盡管此時(shí)可能會(huì)有更高級別的中斷事件發(fā)出中斷請求),直到將當(dāng)前的中斷程序執(zhí)行結(jié)束。在CPU執(zhí)行中斷程序期間,對新出現(xiàn)的中斷事件仍然按照中斷性質(zhì)和優(yōu)先級的順序分別進(jìn)行排隊(duì),形成中斷隊(duì)列。CPU22X系列的中斷隊(duì)列的長度如表4-12所列。如果超過規(guī)定的中斷隊(duì)列長度,則產(chǎn)生溢出,使特殊繼電器置位。4.3.3中斷程序的調(diào)用原則1.中斷優(yōu)先級
在S7-200的中斷系統(tǒng)中,將全部中斷事件按中斷性質(zhì)和輕重緩急分配不同的優(yōu)先級,使得當(dāng)多個(gè)中斷事件同時(shí)發(fā)出中斷請求時(shí),按照優(yōu)先級從高到低進(jìn)行排隊(duì)。優(yōu)先級的順序按照中斷性質(zhì)分,依次是通信中斷、高速脈沖串輸出中斷、外部輸入中斷、高速計(jì)數(shù)器中斷、定時(shí)中斷、定時(shí)器中斷。各個(gè)中斷事件的優(yōu)先級如表4-10所列。2.中斷隊(duì)列 表4-12中斷隊(duì)列的長度及溢出位在S7-200中,無中斷嵌套功能,但在中斷程序中可以調(diào)用一個(gè)嵌套子程序,因?yàn)槔奂悠骱瓦壿嫸褩T谥袛喑绦蚝捅徽{(diào)用的子程序中是公用的。多個(gè)中斷事件可以調(diào)用同一個(gè)中斷服務(wù)程序,但是同一個(gè)中斷事件不能同時(shí)指定調(diào)用多個(gè)中斷服務(wù)程序,否則,當(dāng)某個(gè)中斷事件發(fā)生時(shí),CPU只調(diào)用為該事件指定的最后一個(gè)中斷服務(wù)程序。4.3.4應(yīng)用舉例【例4-1】編程完成采樣工作,要求每10ms采樣一次 分析:完成每10ms采樣一次,需用定時(shí)中斷,查表4-10可知,定時(shí)中斷0的中斷事件號為10。因此在主程序中將采樣周期(10ms)即定時(shí)中斷的時(shí)間間隔寫入定時(shí)中斷0的特殊存儲(chǔ)器SMB34,并將中斷事件10和INT-0連接,全局開中斷。在中斷程序0中,將模擬量輸入信號讀入,程序如圖4-32所示。圖4-32定時(shí)中斷舉例LDI0.0MOVB10,SMB34//將采樣周期設(shè)為10毫秒ATCHINT_0,10//將事件10連接INT_0ENI//全局開中斷LDSM0.0MOVWAIW0,VW100//讀入模擬量AIW0【例4-2】利用定時(shí)器中斷功能編制一個(gè)程序,實(shí)現(xiàn)如下功能:當(dāng)I0.0由OFF→ON,Q0.0亮1s,滅1s,如此循環(huán)反復(fù)直至I0.0由ON→OFF,Q0.0變?yōu)镺FF。程序如圖4-33所示主程序:網(wǎng)絡(luò)1
LDI0.0EUATCHINT_0,21ENI網(wǎng)絡(luò)2LDNM0.0AI0.0TONT32,
+1000網(wǎng)絡(luò)3LDT32=M0.0網(wǎng)絡(luò)4LDI0.0EDDTCH21DISI圖4-33定時(shí)器中斷舉例PLC的普通計(jì)數(shù)器的計(jì)數(shù)過程與掃描工作方式有關(guān),CPU通過每一掃描周期讀取一次被測信號的方法來捕捉被測信號的上升沿,被測信號的頻率較高時(shí),會(huì)丟失計(jì)數(shù)脈沖,因此普通計(jì)數(shù)器的工作頻率很低,一投僅有幾十赫茲。高速計(jì)數(shù)器可以對普通計(jì)數(shù)器無能為力的事件進(jìn)行計(jì)數(shù),計(jì)數(shù)頻率取決寸CPU的類型,CPU22x系列最高計(jì)數(shù)頻率為30kHz,用于捕捉比CPU掃描速度更快的事件,并產(chǎn)生中斷,執(zhí)行中斷程序,完成預(yù)定的操作。高速計(jì)數(shù)器在現(xiàn)代自動(dòng)控制的精確定位控制領(lǐng)域有重要的應(yīng)用價(jià)值。
S7-200系列PLC還設(shè)有高速脈沖輸出,輸出頻率可達(dá)20kHz,用于PTO(輸出一個(gè)頻率可調(diào)、占空比為50%的脈沖)和PWM(輸出一個(gè)周期一定、占空比可調(diào)的脈沖),高速脈沖輸出的功能可用于對電動(dòng)機(jī)進(jìn)行速度控制及位置控制。4.4高速處理指令
S7-200系列PLC中有6個(gè)高速計(jì)數(shù)器,它們分別是HSC0、HSCl、HSC2、HSC3、HSC4和HSC5。這些高速計(jì)數(shù)器可用于處理比PLC掃描周期還要短的高速事件。當(dāng)高速計(jì)數(shù)器的當(dāng)前值等于預(yù)置值、外部復(fù)位信號有效(HSC0不支持)、計(jì)數(shù)方向改變(HSC0不支持)時(shí)將產(chǎn)生中斷,通過中斷服務(wù)程序?qū)崿F(xiàn)對控制目標(biāo)的控制。其占用的輸入端子見表4-13,各高速計(jì)數(shù)器不同的輸入端有專用的功能,如:時(shí)鐘脈沖端、方向控制端、復(fù)位端、起動(dòng)端。4.4.1占用輸入/輸出端子1.高速計(jì)數(shù)器占用輸入端子高速計(jì)數(shù)器使用的輸入端子高速計(jì)數(shù)器使用的輸入端子HSC0I0.0,I0.1,I0.2HSC3I0.1HSC1I0.6,I0.7,I1.0,I1.1HSC4I0.3,I0.4,I0.5HSC2I1.2,I1.3,I1.4,I1.5HSC5I0.4表4-13占用的輸入端子
在表4-13中所用到的輸入點(diǎn),如10.0~10.3,既可以作為普通輸入點(diǎn)使用,又可以作為邊沿中斷輸入點(diǎn),還可以在使用高速計(jì)數(shù)器時(shí)作為指定的專用輸入點(diǎn)使用,但對于同一個(gè)輸入點(diǎn)同時(shí)只能作為上述其一功能使用。如果不使用高速計(jì)數(shù)器,這些輸入點(diǎn)可作為一般的數(shù)字量輸入點(diǎn),或者作為輸入/輸出中斷的輸入點(diǎn)。只要在使用高速計(jì)數(shù)器,相應(yīng)輸人點(diǎn)就分配給相應(yīng)的高速計(jì)數(shù)器,實(shí)現(xiàn)由高速計(jì)數(shù)器產(chǎn)生的中斷。也就是說,在PLC的實(shí)際應(yīng)用中,每個(gè)輸入點(diǎn)的作用是唯一的,不能對某一個(gè)輸入點(diǎn)分配多個(gè)用途,因此要合理分配每一個(gè)輸入點(diǎn)的用途。
S7-200晶體管輸出型的PLC(如CPU224DC/DC/DC)有PTO、PWM兩臺(tái)高速脈沖發(fā)生器。PTO脈沖串功能可輸出指定個(gè)數(shù)、指定周期得方波脈沖(占空比為50%),PWM的功能是輸出脈寬可變化的脈沖信號,用戶可以指定脈沖的周期和脈沖的寬帶。若一臺(tái)發(fā)生器指定給數(shù)字輸出點(diǎn)Q0.0,另一臺(tái)發(fā)生器則指定數(shù)字輸出點(diǎn)Q0.1,當(dāng)PTO、PWM脈沖發(fā)生器輸出時(shí),將禁止輸出點(diǎn)Q0.0、Q0.1的正常使用;當(dāng)不使用PTO、PWM脈沖發(fā)生器時(shí),輸出點(diǎn)Q0.0、Q0.1恢復(fù)正常使用。
2.高速計(jì)數(shù)器占用輸出端子1.高速計(jì)數(shù)器的計(jì)數(shù)方式
(1)單路脈沖輸入的內(nèi)部方向控制加/減計(jì)數(shù)。只有一個(gè)脈沖輸入端,通過高速計(jì)數(shù)器控制字節(jié)(見表4-16)的第3位來控制加計(jì)數(shù)或者減計(jì)數(shù)。該位=1,加計(jì)數(shù);該位=0,減計(jì)數(shù)。內(nèi)部方向控制的單路加/減計(jì)數(shù)方式如圖4-34所示。圖4-34內(nèi)部方向控制的單路加/減計(jì)數(shù)方式4.4.2.高速計(jì)數(shù)器的工作方式(2)單路脈沖輸入的外部方向控制加/減計(jì)數(shù)。有一個(gè)脈沖輸入端,有一個(gè)方向控制端。方向輸入信號等于1時(shí),加計(jì)數(shù),方向輸入信號等于0時(shí),減計(jì)數(shù)。外部方向控制的單路加/減計(jì)數(shù)方式如圖4-35所示。圖4-35外部方向控制的單路加/減計(jì)數(shù)方式(3)兩路脈沖輸入的單相加/減計(jì)數(shù)。有兩個(gè)脈沖輸入端,一個(gè)是加計(jì)數(shù)脈沖,一個(gè)是減計(jì)數(shù)脈沖,計(jì)數(shù)值為兩個(gè)輸入端脈沖的代數(shù)和。兩路脈沖輸入的加/減計(jì)數(shù)方式如圖4-36所示。圖4-36兩路脈沖輸入的加/減計(jì)數(shù)方式(4)兩路脈沖輸入的雙相正交計(jì)數(shù)。有兩個(gè)脈沖輸人端,輸入的兩路脈沖A相、B相,相位互差90°(正交)。A相超前B相90°時(shí),加計(jì)數(shù);A相滯后B相90°時(shí),減計(jì)數(shù)。在這種計(jì)數(shù)方式下,可選擇1x模式(單倍頻,一個(gè)脈沖周期計(jì)—個(gè)數(shù),見圖4-37)和4x模式(四倍頻,一個(gè)脈沖周期計(jì)四個(gè)數(shù),見圖4-38)。圖4-37兩路脈沖輸入的雙相正交計(jì)數(shù)1x模式圖4-38兩路脈沖輸入的雙相正交計(jì)數(shù)4x模式高速計(jì)數(shù)器依據(jù)計(jì)數(shù)脈沖、復(fù)位脈沖、起動(dòng)脈沖端子的不同接法可組成12種工作模式,不同的高速計(jì)數(shù)器有多種功能不相同的工作模式。每個(gè)高速計(jì)數(shù)器所擁有的工作模式和其占有的輸入端子有關(guān),如表4-14所示。2.高速計(jì)數(shù)器的工作模式高速計(jì)數(shù)器HSC的工作模式功能及說明占用的輸入端子及其功能高速計(jì)數(shù)器編號HSC0I0.0I0.1I0.2×HSC4I0.3I0.4I0.5×HSC1I0.6I0.7I1.0I1.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1×××HSC5I0.4×××0單路脈沖輸入的內(nèi)部方向控制加/減計(jì)數(shù)控制字第三位為0,減計(jì)數(shù);控制字第三位為1,加計(jì)數(shù)。脈沖輸入端×××1×復(fù)位端×2×復(fù)位端起動(dòng)3單路脈沖輸入的外部方向控制加/減計(jì)數(shù)方向控制端=0,減計(jì)數(shù);方向控制端=1,加計(jì)數(shù)。脈沖輸入端方向控制端××4復(fù)位端×5復(fù)位端起動(dòng)6兩路脈沖輸入的單相加/減計(jì)數(shù)加計(jì)數(shù)有脈沖輸入,加計(jì)數(shù);減計(jì)數(shù)端脈沖輸入,減計(jì)數(shù)。加計(jì)數(shù)脈沖輸入端減計(jì)數(shù)脈沖輸入端××7復(fù)位端×8復(fù)位端起動(dòng) 由表4-14可知,高速計(jì)數(shù)器的工作模式確定以后,高速計(jì)數(shù)器所使用的輸入端子便被指定。如選擇HSCl在模式11下工作,則必須用I0.6作為A相脈沖輸入端,I0.7作為B相脈沖輸入端,I0.0作為復(fù)位端,I1.1作為啟動(dòng)端。
4.4.3高速計(jì)數(shù)器指令表4-15高速計(jì)數(shù)器指令格式及功能1.指令格式及功能(見表4-15)梯形圖LAD語句表STL功能HDEFHSC,MODE當(dāng)使能輸入有效時(shí),根據(jù)高速計(jì)數(shù)器特殊存儲(chǔ)器位的狀態(tài)及HDEF指令指定的工作模式,設(shè)置高速計(jì)數(shù)器并控制其工作HSCN當(dāng)使能輸入有效時(shí),為高速計(jì)數(shù)器分配一種工作模式
說明:
1)高速計(jì)數(shù)器定義指令HDEF中,操作數(shù)HSC指定高速計(jì)數(shù)器號(0~5),MODE指定高速計(jì)數(shù)器的工作模式(0~11)。每個(gè)高速計(jì)數(shù)器只能用一條HDEF指令。
2)高速計(jì)數(shù)器指令HSC中,操作數(shù)N指定高速計(jì)數(shù)器號(0~5)。2.高速計(jì)數(shù)的控制字節(jié)
高速計(jì)數(shù)器的控制字節(jié)用于設(shè)置計(jì)數(shù)器的計(jì)數(shù)允許、計(jì)數(shù)方向等,各高速計(jì)數(shù)器的控制字節(jié)含義如表4-16所示。
HSC0HSC1HSC2HSC3HSC4HSC5含
義SM37.0SM47.0SM57.0SM137.0SM147.0SM157.0復(fù)位信號有效電平:0=高電平有效;1=低電平有效SM37.1SM47.1SM57.1SM137.1SM147.1SM157.1啟動(dòng)信號有效電平:0=高電平有效;1=低電平有效SM37.2SM47.2SM57.2SM1372SM147.2SM157.2正交計(jì)數(shù)器的倍率選擇:0=4倍率;1=1倍率SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3計(jì)數(shù)方向控制位:0=減計(jì)數(shù);1=加計(jì)數(shù)SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向HSC寫入計(jì)數(shù)方向:0=不更新;1=更新表4-16高速計(jì)數(shù)器的控制字節(jié)含義每個(gè)高速計(jì)數(shù)器都有一個(gè)32位當(dāng)前值和一個(gè)32位預(yù)置值寄存器,當(dāng)前值和預(yù)設(shè)值均為帶符號的整數(shù)值.高速計(jì)數(shù)器的值可以通過高速計(jì)數(shù)器標(biāo)識(shí)符HC加計(jì)數(shù)器號碼(0、1、2、3、4或5)尋址來讀取。要改變高速計(jì)數(shù)器的當(dāng)前值和預(yù)置值,必須使控制字節(jié)(見表4-16)的第5位和第6位為1,在允許更新預(yù)置值和當(dāng)前值的前提下,新當(dāng)前值和新預(yù)置值才能寫入當(dāng)前值及預(yù)置值寄存器;當(dāng)前值和預(yù)置值占用的特殊內(nèi)部寄存器如表4-17所示。表4-17高速計(jì)數(shù)器當(dāng)前值和預(yù)置值寄存器3.高速計(jì)數(shù)器的當(dāng)前值及預(yù)置值寄存器寄存器名稱HSC0HSC1HSC2HSC3HSC4HSC5當(dāng)前值寄存器SMD38SMD48SMD58SMD138SMD148SMD158預(yù)置值寄存器SMD42SMD52SMD62SMD142SMD152SMD162高速計(jì)數(shù)器的狀態(tài)字節(jié)位存儲(chǔ)當(dāng)前的計(jì)數(shù)方向、當(dāng)前值是否等于預(yù)置值、當(dāng)前值是否大于預(yù)置值。PLC通過監(jiān)控高速計(jì)數(shù)器狀態(tài)字節(jié),可產(chǎn)生中斯事件,以便用以完成用戶希望的重要操作。各高速計(jì)數(shù)器的狀態(tài)字節(jié)描述如表4-18所示。4.高速計(jì)數(shù)器的狀態(tài)字節(jié)表4-18高速計(jì)數(shù)器的狀態(tài)字節(jié)HSC0HSC1HSC2HSC3HSC4HSC5含
義SM36.0SM46.0SM56.0SM136.0SM146.0SM156.0未用SM36.1SM46.1SM56.1SM136.1SM146.1SM156.1SM36.2SM46.2SM56.2SM136.2SM146.2SM156.2SM36.3SM46.3SM56.3SM136.3SM146.3SM156.3SM36.4SM46.4SM56.4SM136.4SM146.4SM156.4SM36.5SM46.5SM56.5SM136.5SM146.5SM156.5當(dāng)前計(jì)數(shù)方向狀態(tài)位:0=減計(jì)數(shù);1=加計(jì)數(shù)SM36.6SM46.6SM56.6SM136.6SM146.6SM156.6當(dāng)前值等于預(yù)置值狀態(tài)位:0=不等;1=相等
(1)每個(gè)高速計(jì)數(shù)器都有一個(gè)32位當(dāng)前值和一個(gè)32位預(yù)置值,當(dāng)前值和預(yù)設(shè)值均為帶符號的整數(shù)值。要設(shè)置高速計(jì)數(shù)器的新當(dāng)前值和新預(yù)置值,必須設(shè)置控制字節(jié)(見表4-16),令其第五位和第六位為1,允許更新預(yù)置值和當(dāng)前值,新當(dāng)前值和新預(yù)置值寫入特殊內(nèi)部標(biāo)志位存儲(chǔ)區(qū)。然后執(zhí)行HSC指令,將新數(shù)值傳輸?shù)礁咚儆?jì)數(shù)器。 (2)執(zhí)行HDEF指令之前,必須將高速計(jì)數(shù)器控制字節(jié)的位設(shè)置成需要的狀態(tài),否則將采用默認(rèn)設(shè)置。默認(rèn)設(shè)置為:復(fù)位和起動(dòng)輸入高電平有效,正交計(jì)數(shù)速率選擇4×模式。執(zhí)行HDEF指令后,就不能再改變計(jì)數(shù)器的設(shè)置,除非CPU進(jìn)入停止模式。 (3)執(zhí)行HSC指令時(shí),CPU檢查控制字節(jié)和有關(guān)的當(dāng)前值和預(yù)置值。 (4)高速計(jì)數(shù)器指令的初始化步驟:5.高速計(jì)數(shù)器指令的使用
①用首次掃描時(shí)接通一個(gè)掃描周期的特殊內(nèi)部存儲(chǔ)器SM0.1去調(diào)用一個(gè)子程序,完成初始化操作。因?yàn)椴捎昧俗映绦?,在隨后的掃描中,不必再調(diào)用這個(gè)子程序,以減少掃描時(shí)間,使程序結(jié)構(gòu)更好。 ②在初始化的子程序中,根據(jù)希望的控制設(shè)置控制字(SMB37、SMB47、SMB57、SMB137、SMB147、SMB157),如設(shè)置SMB47=16#F8,則為:允許計(jì)數(shù),寫入新當(dāng)前值,寫入新預(yù)置值,更新計(jì)數(shù)方向?yàn)榧佑?jì)數(shù),若為正交計(jì)數(shù)則設(shè)為4×模式,復(fù)位和起動(dòng)設(shè)置為高電平有效。 ③執(zhí)行HDEF指令,設(shè)置HSC的編號(0~5),設(shè)置工作模式(0~11)。如HSC的編號設(shè)置為1,工作模式輸入設(shè)置為11,則為既有復(fù)位又有起動(dòng)的正交計(jì)數(shù)工作模式。④用新的當(dāng)前值寫入32位當(dāng)前值寄存器(SMD38,SMD48,SMD58,SMD138,SMD148,SMD158)。如寫入0,則清除當(dāng)前值,用指令MOVD0,SMD48實(shí)現(xiàn)。 ⑤用新的預(yù)置值寫入32位預(yù)置值寄存器(SMD42,SMD52,MD62,SMD142,SMD152,SMD162)。如執(zhí)行指令MOVD1000,SMD52,則設(shè)置預(yù)置值為1000。若寫入預(yù)置值為16#00,則高速計(jì)數(shù)器處于不工作狀態(tài)。 ⑥為了捕捉當(dāng)前值等于預(yù)置值的事件,將條件CV=PV中斷事件(事件13)與一個(gè)中斷程序相聯(lián)系。 ⑦為了捕捉計(jì)數(shù)方向的改變,將方向改變的中斷事件(事件14)與一個(gè)中斷程序相聯(lián)系。 ⑧為了捕捉外部復(fù)位,將外部復(fù)位中斷事件(事件15)與一個(gè)中斷程序相聯(lián)系。 ⑨執(zhí)行全局中斷允許指令(ENI)允許HSC中斷。 ⑩執(zhí)行HSC指令使S7-200對高速計(jì)數(shù)器進(jìn)行編程。然后結(jié)束子程序。高速計(jì)數(shù)器程序可以通過STEP7-Micro/WIN編程軟件的指令向?qū)ё詣?dòng)生成,指令向?qū)Ь幊痰牟襟E如下:
(1)打開STEP7-Micro/WIN軟件,選擇主菜單“工具”“指令向?qū)А边M(jìn)入向?qū)Ь幊添撁?。如圖4-39所示。
6.高速計(jì)數(shù)器指令向?qū)У膽?yīng)用
(2)選擇“HSC”點(diǎn)擊“下一步”,出現(xiàn)對話框如圖4-40所示。只能在符號地址的編程方式下使用指令向?qū)?,點(diǎn)擊“是”進(jìn)行確認(rèn)。圖4-40符號地址確認(rèn)對話框(3)確認(rèn)符號地址后,出現(xiàn)圖4-41計(jì)數(shù)器編號和計(jì)數(shù)模式選擇頁面,可以選擇計(jì)數(shù)器的編號和計(jì)數(shù)模式。在例4-3中選擇“HSC1”和計(jì)數(shù)模式“11”,選擇后點(diǎn)擊“下一步”。圖4-41計(jì)數(shù)器編號和計(jì)數(shù)模式選擇頁面
(4)在圖4-42高速計(jì)數(shù)器初始化設(shè)定頁面中分別輸入高速計(jì)數(shù)器初始化子程序的符號名(默認(rèn)的符號名為“HSC-INIT”);高速計(jì)數(shù)器的預(yù)置值(例4-3輸入為10000);計(jì)數(shù)器當(dāng)前值的初始值(例4-3輸入“0”);初始計(jì)數(shù)方向(例4-3中選擇“向上”);重設(shè)輸入(即復(fù)位信號)的極性(例4-3選擇高電平有效);起始輸入(即啟動(dòng)信號)的極性(例4-3選擇高電平有效);計(jì)數(shù)器的倍率選擇(例4-3選擇4倍頻“4X”)。完成后點(diǎn)擊“下一步”。(5)在完成高速計(jì)數(shù)器的初始化設(shè)定后,出現(xiàn)高速計(jì)數(shù)器中斷設(shè)置的頁面如圖4-43所示。本例中為當(dāng)前值等于預(yù)置值時(shí)產(chǎn)生中斷,并輸入中斷程序的符號名(默認(rèn)的為COUNT-EQ)。在“您希望為HC1編程多少個(gè)步驟?”欄,輸入需要中斷的步數(shù),例4-3只有當(dāng)前值清零1步,選擇“1”。完成后點(diǎn)擊“下一步”。圖4-43高速計(jì)數(shù)器中斷設(shè)置的頁面(6)高速計(jì)數(shù)器中斷處理方式設(shè)定頁面如圖4-44所示。在例4-3中當(dāng)CV=PV時(shí)需要將當(dāng)前值清理,所以選擇“更新當(dāng)前值”選項(xiàng),并在“新CV”欄內(nèi)輸入新的當(dāng)前值“0”。完成后點(diǎn)擊“下一步”。圖4-44高速計(jì)數(shù)器中斷處理方式設(shè)定頁面(7)高速計(jì)數(shù)器中斷處理方式設(shè)定完成后,出現(xiàn)高速計(jì)數(shù)器編程確認(rèn)頁面,如圖4-45所示。該頁面顯示了由向?qū)Ь幊掏瓿傻亩绦蚣笆褂谜f明,選擇“完成”結(jié)束編程。圖4-45高速計(jì)數(shù)器編程確認(rèn)頁面(8)向?qū)褂猛瓿珊笤诔绦蚓庉嬈黜撁鎯?nèi)自動(dòng)增加了名稱為“HSC-INIT”子程序和“COUNT-EQ”中斷程序。分別點(diǎn)擊“HSC-INIT”子程序和“COUNT-EQ”中斷程序標(biāo)簽,可見其程序,見圖4-46所示。圖4-46在程序編輯頁面中增加了“HSC-INIT”子程序和“COUNT-EQ”中斷程序標(biāo)簽
【例4-3】某設(shè)備采用位置編碼器作為檢測元件,需要高速計(jì)數(shù)器進(jìn)行位置值的計(jì)數(shù),其要求如下:計(jì)數(shù)信號為A、B兩相相位差90°的脈沖輸入;使用外部計(jì)數(shù)器復(fù)位與啟動(dòng)信號,高電平有效;編碼器每轉(zhuǎn)的脈沖數(shù)為2500,在PLC內(nèi)部進(jìn)行4倍頻,計(jì)數(shù)開始值為“0”,當(dāng)轉(zhuǎn)動(dòng)1轉(zhuǎn)后,需要清除計(jì)數(shù)值進(jìn)行重新計(jì)數(shù)。(1)主程序。如圖4-47所示,用首次掃描時(shí)接通一個(gè)掃描周期的特殊內(nèi)部存儲(chǔ)器SM0.1去調(diào)用一個(gè)子程序,完成初始化操作。LDSM0.1CALLSBR_0圖4-47主程序(2)初始化的子程序。如圖4-48所示,定義HSC1的工作模式為模式11(兩路脈沖輸入的雙相正交計(jì)數(shù),具有復(fù)位和起動(dòng)輸入功能),設(shè)置SMB47=16#F8(允許計(jì)數(shù),更新新當(dāng)前值,更新新預(yù)置值,更新計(jì)數(shù)方向?yàn)榧佑?jì)數(shù),若為正交計(jì)數(shù)設(shè)為4×模式,復(fù)位和起動(dòng)設(shè)置為高電平有效)。HSC1的當(dāng)前值SMD48清零,預(yù)置值SMD52=10000,當(dāng)前值=預(yù)設(shè)值,產(chǎn)生中斷(中斷事件13),中斷事件13連接中斷程序INT-0。(3)中斷程序INT-0,如圖4-49所示。子程序0(配置HSC1)LDSM0.1//首次掃描時(shí)MOVB16#F8,SMB47//設(shè)置HSC1控制字
HDEF
1,11//將HSC1設(shè)置為模式11MOVD
+0,SMD48//HSC1的當(dāng)前值清0MOVD
+50,SMD52//將HSC1預(yù)設(shè)值設(shè)為50ATCH
INT_0,
13//CV=PV(中斷事件13),
調(diào)用中斷程序INT_0
ENI//允許全局中斷HSC1//執(zhí)行HSC1指令圖4-48高速計(jì)數(shù)器初始化的子程序LDSM0.0MOVD+0,
SMD48//HSC1的當(dāng)前值清0MOVB16#C0,SMB47//只寫入一個(gè)新當(dāng)前值,
預(yù)置值不變,計(jì)數(shù)方向不變,HSC1允許計(jì)數(shù)
HSC1//執(zhí)行HSC1指令圖4-49高速計(jì)數(shù)器中斷子程序
高速脈沖輸出功能在S7-200系列PLC的Q0.0或Q0.1輸出端產(chǎn)生高速脈沖,用來驅(qū)動(dòng)諸如步進(jìn)電機(jī)一類的負(fù)載,實(shí)現(xiàn)速度和位置控制。1.高速脈沖輸出方式高速脈沖輸出有脈沖串輸出PTO和脈寬調(diào)制輸出PWM兩種形式。每個(gè)CPU有兩個(gè)PTO/PWM發(fā)生器,一個(gè)發(fā)生器分配給輸出端Q0.0,另一個(gè)分配給Q0.1。當(dāng)Q0.0或Q0.1設(shè)定為PTO或PWM功能時(shí),其他操作均失效。不使用PTO/PWM發(fā)生器時(shí),Q0.0或Q0.1作為普通輸出端子使用。通常在啟動(dòng)PTO或PWM操作之前,用復(fù)位R指令將Q0.0或Q0.1清0。4.4.4高速輸出指令及應(yīng)用
PWM功能可輸出周期一定占空比可調(diào)的高速脈沖串,其時(shí)間基準(zhǔn)可以是μs或ms,周期的變化范圍為10~65535μs或2~65535ms,脈寬的變化范圍為0~65535μs或0~65535ms。當(dāng)指定的脈沖寬度大于周期值時(shí),占空比為100%,輸出連續(xù)接通。當(dāng)脈沖寬度為0時(shí),占空比為0%,輸出斷開。如果指定的周期小于兩個(gè)時(shí)間單位,周期被默認(rèn)為兩個(gè)時(shí)間單位??梢杂靡韵聝煞N辦法改變PWM波形的特性。(1)脈寬調(diào)制輸出(PWM)(1)同步更新如果不要求改變時(shí)間基準(zhǔn),即可以進(jìn)行同步更新。同步更新時(shí),波形的變化發(fā)生在兩個(gè)周期的交界處,可以實(shí)現(xiàn)平滑過渡。
(2)異步更新如果需要改變時(shí)間基準(zhǔn),則應(yīng)使用異步更新。異步更新瞬時(shí)關(guān)閉PTO/PWM發(fā)生器,與PWM的輸出波形不同步,可能引起被控設(shè)備的抖動(dòng)。為此通常不使用異步更新,而是選擇一個(gè)適用于所有局期時(shí)間的時(shí)間基準(zhǔn),使用同步PWM更新。
PWM輸出的更新方式由表4-20控制字節(jié)中的SM67.4或SM77.4位來指定,執(zhí)行高速脈沖輸出PLS指令使改變生效。如果改變了時(shí)間基準(zhǔn),不管PWM更新方式位的狀態(tài)如何,都會(huì)產(chǎn)生一個(gè)異步更新。(2)脈沖串輸出(PTO)
PTO功能可輸出一定脈沖個(gè)數(shù)和占空比為50%的方波脈沖。輸出脈沖的個(gè)數(shù)在1~4294967295范圍內(nèi)可調(diào);輸出脈沖的周期以μs或ms為增量單位,變化范圍分別是10~65535μs或2~65535ms。如果周期小于兩個(gè)時(shí)間單位,周期被默認(rèn)為兩個(gè)時(shí)間單位。如果指定的脈沖數(shù)為0,則脈沖數(shù)默認(rèn)為1。
PTO功能允許多個(gè)脈沖串排隊(duì)輸出,從而形成流水線。流水線分為兩種:單段流水線和多段流水線。
單段流水線是指流水線中每次只能存儲(chǔ)一個(gè)脈沖串的控制參數(shù),初始PTO段一旦起動(dòng),必須按照對第二個(gè)波形的要求立即刷新特殊存儲(chǔ)器,并再次執(zhí)行PLS指令,在第一個(gè)脈沖串完成后,第二個(gè)脈沖串輸出立即開始,重復(fù)這一步驟可以實(shí)現(xiàn)多個(gè)脈沖串的輸出。單段流水線中的各段脈沖串可以采用不同的時(shí)間基準(zhǔn),但有可能造成脈沖串之間的不平穩(wěn)過渡。輸出多段高速脈沖時(shí),編程復(fù)雜。多段流水線是指在變量存儲(chǔ)區(qū)V建立一個(gè)包絡(luò)表(包絡(luò)表Profile是一個(gè)預(yù)先定義的橫坐標(biāo)為位置、縱坐標(biāo)為速度的曲線,是運(yùn)動(dòng)的圖形描述)。包絡(luò)表存放每個(gè)脈沖串的參數(shù),執(zhí)行PLS指令時(shí),S7–200PLC自動(dòng)按包絡(luò)表中的順序及參數(shù)進(jìn)行脈沖串輸出。包絡(luò)表中每段脈沖串的參數(shù)占用8個(gè)字節(jié),由一個(gè)16位周期值(2字節(jié))、一個(gè)16位周期增量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年校園門衛(wèi)人員勞動(dòng)合同編制指南3篇
- 2025年度殘疾人勞動(dòng)合同簽訂中的殘疾人心理關(guān)愛與職業(yè)適應(yīng)3篇
- 2024藥店負(fù)責(zé)人任期藥店品牌形象塑造聘用合同3篇
- 二零二五年度版權(quán)許可合同許可范圍和許可費(fèi)用6篇
- 年度新型鋁基軸瓦材料市場分析及競爭策略分析報(bào)告
- 年度密封用填料及類似品競爭策略分析報(bào)告
- 二零二五年度精裝修住宅租賃管理服務(wù)合同3篇
- 2024-2025學(xué)年高中歷史第五單元近現(xiàn)代中國的先進(jìn)思想第22課孫中山的民主追求課后作業(yè)含解析岳麓版必修3
- 2025年度智能交通系統(tǒng)建設(shè)合同6篇
- 二零二五年度餐館員工餐飲服務(wù)規(guī)范合同3篇
- 100個(gè)超高難度繞口令大全
- 《鄭伯克段于鄢》-完整版課件
- (日文文書模板范例)請求書-請求書
- 土壤肥料全套課件
- 畢業(yè)生延期畢業(yè)申請表
- 學(xué)校6S管理制度
- 肽的健康作用及應(yīng)用課件
- T.C--M-ONE效果器使用手冊
- 8小時(shí)等效A聲級計(jì)算工具
- 人教版七年級下冊數(shù)學(xué)計(jì)算題300道
- 社會(huì)實(shí)踐登記表
評論
0/150
提交評論