西門子地區(qū)代理商|S7-1200代理商
S7-200的子程序編寫與調(diào)試指令
S7-200CPU的控制程序由主程序、子程序和中斷程序組成。STEP 7-Mico/WIN32在程序編輯器窗口里為每個(gè)POU(程序組織單元)提供一個(gè)獨(dú)立的頁,主程序總是1頁,后面是子程序或中斷程序。
因?yàn)楦鱾€(gè)程序在編輯都窗口里被分開,編譯時(shí)在程序結(jié)束的地方自動(dòng)無條件結(jié)束指令END、MEND.RET或RETI,如果在程序里加了這些指令,編譯時(shí)反而會(huì)出錯(cuò)。
1.子程序的作用
子程序常用于需要主次反分執(zhí)行相同任務(wù)的地方,只需要寫次子程序,別的稱序在占要子程序的時(shí)候調(diào)用它,而*重寫該程序:子在序的詞用是有條件的,未調(diào)用它時(shí)不會(huì)執(zhí)行了的程序中的指令,因此使用子程序可以減少掃描時(shí)間。
使用子程序可以將程序分成容易管理的小塊,使程序結(jié)構(gòu)簡單清晰,易于查錯(cuò)和維護(hù)。如果子程序中只引用參數(shù)和局部變量,可以將子程序移植到其他項(xiàng)目。為了移植了程序,應(yīng)避免使用全局符號(hào)和變量,如I、Q、M、SM、AI、AQ、V、T、C、S、AC等存儲(chǔ)器中的**地址。
2.子程序的創(chuàng)建
可采用下列方法創(chuàng)建子程序:在“編輯”菜單中選擇“插人→子程序”;在程序編輯器視窗中按鼠標(biāo)右鍵,從彈出菜單中選擇“插人→子程序",程序編輯器將從原來的POU顯示進(jìn)人新的子程序,程序編輯器底部將出現(xiàn)標(biāo)志新的子程序的新標(biāo)簽,在程序編輯器窗口中可以對(duì)新的子程序編程。可以使用該子程序的局部變量表定義參散,各子程序多可以定義16個(gè)IN、OUT參數(shù)。用石鍵雙擊指令樹中的于程序或中斷程序的圖標(biāo),在彈出的窗口中選擇“重新命名”,可修改它們的名稱。
設(shè)創(chuàng)建了一個(gè)名為CULCU的子程序,首先在該子程序的局部變量表中,定義一個(gè)名為輸人"的雙字IN(輸人)變量、一個(gè)名為“輸出”的雙字0UT(輸出)變量和一個(gè)名為TMP1的雙字TEMP(臨時(shí))變量(見圖6-5)。在圖6-6的子程序中,輸人變量被圖6-5局部變業(yè)表乘以12 000,再除以13 257,運(yùn)算結(jié)果作為子程序的輸出。
圖6-5局部變量表
3.子程序的調(diào)用
可以在主程序、另一子程序或中斷程序中調(diào)用子程序,但是不能在子程序中調(diào)用自己(即不允許遞歸調(diào)用)。調(diào)用子程序時(shí)將執(zhí)行子程序的全部指令,肖至子程序結(jié)束,然后返回調(diào)用程序中子程序調(diào)用指令的下一條指令之處。
創(chuàng)建子程序后,STEP 7-Micro/WIN32在指令樹下面的“子程序”圖標(biāo)下自動(dòng)生成剛創(chuàng)建的子程序CULCU對(duì)應(yīng)的圖標(biāo)。對(duì)于梯形閣程序,在子程序局部變量表中為該子程序定義參數(shù)后,將生成客戶化調(diào)用指令塊(見圖6-6),指令塊中自動(dòng)包含了子程序的輸人參數(shù)和輸出參數(shù)。
圖6-6子程序與主程序
在梯形圖程序中插人子程序調(diào)用指令時(shí),首先打開程序編輯器視窗中需要調(diào)用子程序,找到需要調(diào)用子程序的地方。在指令樹的下面用左鍵打開子程序文件夾,將需要子程序圖標(biāo)從指令樹拖到程序編輯器中的正確位置。或?qū)⒐鈽?biāo)置于程序編輯器視窗雙擊指令樹中的調(diào)用指令。
應(yīng)為子程序調(diào)用指令的各參數(shù)*有效的操作數(shù),有效操作數(shù)為存儲(chǔ)器地址、常量、全局符號(hào)和調(diào)用指令所在的P0U中的局部變量(不是被調(diào)用子程序中的局部變量)。
如果在使用子程序調(diào)用指令后修改該子程序中的局部變量表,調(diào)用指令將變?yōu)闊o效。必須刪除無效調(diào)用,并用能反映正確參數(shù)的新的調(diào)用指令代替。
在語句表程序中調(diào)用子程序時(shí)使用調(diào)用指令“SBR n"。在調(diào)用子程序時(shí),CPU保存整個(gè)邏輯堆棧后,將棧**值置為1,堆棧中的其他值清0,控制轉(zhuǎn)移至被調(diào)用的子程序。子程序執(zhí)行完成時(shí),用調(diào)用時(shí)保存的數(shù)據(jù)恢復(fù)堆棧,控制返回調(diào)用程序。子程序和調(diào)用程序共用累加器,不會(huì)因使用子程序自動(dòng)保存或恢復(fù)累加器。
4.調(diào)用帶參數(shù)的子程序
調(diào)用帶參數(shù)的子程序時(shí)需要設(shè)置調(diào)用的參數(shù),參數(shù)在子程序的局部變量表中定義,多可傳遞16個(gè)參數(shù)。
1N(輸人)是傳人子程序的輸人參數(shù),如果參數(shù)是直接尋址,如VB10.*地址的值被傳、)人子程序。如果參數(shù)是間接尋址,如*AC1,指針*地址的值被傳人子程序。如果參數(shù)是常數(shù)(例如DW#12345)或地址(如 &VB100),它們的值被傳人子程序,“非”為常數(shù)描述符。
0UT(輸出)是子程序的執(zhí)行結(jié)果,它被返回給調(diào)用它的POU常數(shù)和地址(如 & VB100)不能作搶出量。
IN_OUT(輸人/輸出)將參數(shù)的初始值傳給子程序,子程序的執(zhí)行結(jié)果返回給同一地址。常數(shù)和地址不能作輸人/輸出參數(shù)。
在子程序中可以使用參數(shù)IN、IN_OUT和OUT。
TEMP是局部存儲(chǔ)變量,不能用來傳遞參數(shù),它們只能在子程序中使用。
子程序傳遞的參數(shù)放在子程序的局部變量表中,局部變量表左邊的一則是每個(gè)被傳遞的參數(shù)的局部存儲(chǔ)器地址。調(diào)用子程序時(shí),輸人參數(shù)被拷貝到子程序的局部存儲(chǔ)器,子程序執(zhí)行完后,從局部存儲(chǔ)器區(qū)拷貝輸出參數(shù)到*的輸出參數(shù),數(shù)據(jù)單元的人小和類型用參數(shù)的代碼表示。在子程序中局部參數(shù)存儲(chǔ)器的參數(shù)值分配如下:
(1)按子程序指令的調(diào)用順序,給參數(shù)值分配局部存儲(chǔ)郜,起始地址是L0。
(2)1-8個(gè)連續(xù)的位參數(shù)分配一個(gè)字節(jié),字節(jié)中的位地址為Ix,0~Lx.7。
(3)字節(jié).字和雙字值在局部存儲(chǔ)器中按字節(jié)順序分配,如LBx,LWx或LDx中品好寶
在帶參教調(diào)用子程序指令中,參數(shù)必須按一定的順序排列,輸人參數(shù)在前而,其次是輸人/輸出參數(shù),后是輸出參數(shù)。
如果用語句表編程,程序調(diào)用指令的格式為;
CALL子程序號(hào),參數(shù)1,參數(shù)2,……參數(shù)n
n0-16,帶態(tài)數(shù)調(diào)用子程序使ENO=0的錯(cuò)誤條件:SM4.3(運(yùn)行時(shí)間),0008(子程序嵌套界)。
[例6-2]子程序調(diào)用舉例(見圖6-7)
//0主程序
LD l0.0
CALL 10,IO.1.VB10,II.0,&VH1O0,*AC1.VD200
┆
//0主程序10
┆
LD l2.1
CRET //從子程序條件返回
┆
5.子程序的恢套調(diào)用
程序中多可創(chuàng)建64個(gè)子程序。子程序可以嵌套調(diào)用(在子
程序中調(diào)用別的于程序),大嵌套深度為8。
6.程序的有條件返回
在于程序中用觸點(diǎn)電路控制RET(從子程序有條件返回)指令,觸點(diǎn)電路接通時(shí)條件滿足,子程序被終止。編程軟件自動(dòng)地為主程序和子程序添加無條件返回指令。
類似地,可以在主程序中用觸點(diǎn)電路驅(qū)動(dòng)END(有條件結(jié)束)指令。
圖6-7子程序調(diào)用和返回
a)主程序b)子程序
詞條
詞條說明
西門子授權(quán)代理商|電線電纜總代理商S7-400PLC功能S7-400系列PLC是一種用于大型系統(tǒng)、復(fù)雜控制的PLC產(chǎn)品,它處理速度快、1/O點(diǎn)數(shù)多、通信性能好,功能側(cè)重于多CPU控制、冗余控制、安全控制等復(fù)雜控制場合。相對(duì)而言,目前S7-400系列PLC可以提供的特殊功能模塊規(guī)格、品種較少,部分模塊還正在研發(fā)中。但是,在S7-400系列PLC中可以使用原S5系列PLC的部分特殊功能模塊。S7-40
西門子電源代理商|S7-1500代理商西門子(SIEMENS)公司生產(chǎn)的可編程序控制器在我國的應(yīng)用也相當(dāng)廣泛,在冶金、化工、印刷生產(chǎn)線等領(lǐng)域都有應(yīng)用。下面一起來探討一下使用西門子plc的心得體驗(yàn)。一、軟件安裝就新版的V17來看,安裝包容量高達(dá)13G,相對(duì)其它工控軟件來講,體量**夠大,因?yàn)樗牧硪粋€(gè)名字叫“全家桶”?;旧虾w了plc、伺服、變頻器、hmi、PC等常見的應(yīng)用。二、軟件使用不僅軟件
西門子PLC模塊代理商-甘肅西門子200PLC四則運(yùn)算指令程序S7-200/300/400 PLC的四則運(yùn)算指令基本相同,主要是對(duì)兩個(gè)操作數(shù)的加、減、乘、除運(yùn)算、操作數(shù)可以是整數(shù)、雙整數(shù)、浮點(diǎn)數(shù)等。S7-200與S7-300/400PLC的指令格式相似,梯形圖程序格式如圖3-84所示。圖3-84 四則運(yùn)算指令程序格式(a)S7-200 PLC四則運(yùn)算程序格式(b)S7-300/400 PLC四則運(yùn)
西門子PLC代理商-常德PLC控制系統(tǒng)程序的調(diào)試PLC控制系統(tǒng)程序的調(diào)試一般包括I/O端子測試和系統(tǒng)調(diào)試兩部分內(nèi)容,良好的調(diào)試步驟有利于加速總裝調(diào)試的過程。4.1 I/O端子測試用手動(dòng)開關(guān)暫時(shí)代替現(xiàn)場輸入信號(hào),以手動(dòng)方式逐一對(duì)PLC輸入端子進(jìn)行檢查、驗(yàn)證,PLC輸入端子的指示燈點(diǎn)亮,表示正常;反之,應(yīng)檢查接線或者是I/O點(diǎn)壞。我們可以編寫一個(gè)小程序,在輸出電源良好的情況下,檢查所有PLC輸出端子指
公司名: 潯之漫智控技術(shù)(上海)有限公司
聯(lián)系人: 劉經(jīng)理
電 話: 19873876272
手 機(jī): 19873876272
微 信: 19873876272
地 址: 上海松江石湖蕩鎮(zhèn)塔匯路755弄29號(hào)1幢一層A區(qū)213室
郵 編:
網(wǎng) 址: tianxia56.b2b168.com
公司名: 潯之漫智控技術(shù)(上海)有限公司
聯(lián)系人: 劉經(jīng)理
手 機(jī): 19873876272
電 話: 19873876272
地 址: 上海松江石湖蕩鎮(zhèn)塔匯路755弄29號(hào)1幢一層A區(qū)213室
郵 編:
網(wǎng) 址: tianxia56.b2b168.com