產品簡介
本公司*銷售西門子PLC ET-200,S7-200,S7-300,S7-400,1200,西門子PLC附件,西門子電機,西門子人機界面,西門子變頻器,西門子數控伺服,
詳細介紹
西門子S7-200PLC模塊6ES72882DR320AA0
子程序指令
子程序調用指令(CALL)將程序控制權交給子程序SBR_N。調用子程序時可以帶參數也可以不帶參數。子程序執行完成后, 控制權返回到調用子程序的指令的下一條指令。
子程序條件返回指令(CRET)根據它前面的邏輯決定是否終止子 程序。
要添加一個子程序可以在命令菜單中選擇:編輯 > > 子程序。
使ENO=0的錯誤條件:
■ 0008 (超過子程序嵌套)
■ 0006 (間接尋址)
在主程序中,可以嵌套調用子程序(在子程序中調用子程序), 多嵌套8層。在中斷程序中,不能嵌套調用子程序。
在被中斷程序調用的子程序中不能再出現子程序調用。不禁止遞歸調用(子程序調用自己),但是當使 用帶子程序的遞歸調用時應慎重。
表6--78 子程序指令的有效操作數
輸入/輸出 | 數據類型 | 操作數 |
SBR_N | WORD | 常數 對于CPU 221、CPU 222、CPU 224: 0到63 對于CPU 224XP和CPU 226 0到127 |
IN | BOOL | V、I、Q、M、SM、S、T、C、L、功率流 VB、IB、QB、MB、SMB、SB、LB、AC、*VD、*LD、*AC1、常數 VW、T、C、IW、QW、MW、SMW、SW、LW、AC、AIW、*VD、 *LD、*AC1、常數 VD、ID、QD、MD、SMD、SD、LD、AC、HC、*VD、*LD、*AC1、&VB、&IB、&QB、&MB、&T、&C、&SB、&AI、&AQ、&SMB、常數 *VD、*LD、*AC、常數 |
BYTE | ||
WORD、INT | ||
DWORD、 | ||
DINT | ||
STRING | ||
輸入/輸出 | BOOL | V、I、Q、M、SM2、S、T、C、L VB、IB、QB、MB、SMB2、SB、LB、AC、*VD、*LD、*AC1 VW、T、C、IW、QW、MW、SMW2、SW、LW、AC、*VD、*LD、 *AC1 VD、ID、QD、MD、SMD2、SD、LD、AC、*VD、*LD,*AC1 |
BYTE | ||
WORD、INT | ||
DWORD、 | ||
DINT | ||
OUT | BOOL | V、I、Q、M、SM2、S、T、C、L VB、IB、QB、MB、SMB2、SB、LB、AC、*VD、*LD、*AC1 VW、T、C、IW、QW、MW、SMW2、SW、LW、AC、AQW、*VD、 *LD、*AC1 VD、ID、QD、MD、SMD2、SD、LD、AC、*VD、*LD,*AC1 |
BYTE | ||
WORD、INT | ||
DWORD、 | ||
DINT |
1 必須偏移1個或1個以上的單位
2 必須偏移30個或30個以上的單位
當有一個子程序被調用時,會保存當前的邏輯堆棧,置棧頂值為1,堆棧的其他值為零,把控制 交給被調用的子程序。當子程序完成之后,恢復邏輯堆棧,把控制權交還給調用程序。
因為累加器可在主程序和子程序之間傳遞, 所以在子程序調用時,累加器的值既不保存也不恢復。
當子程序在同一個周期內被多次調用時,不能使用上升沿、下降沿、定時器和計數器指令。
帶參數調用子程序
子程序可以包含要傳遞的參數。參數在子程序的局部變量表中定義。參數必須有變量名(多23個字 符)、變量類型和數據類型。一個子程序多可以傳遞16個參數。
局部變量表中的變量類型區定義變量是傳入子程序(IN)、傳入和傳出子程序(IN_OUT)或者傳出子程序(OUT)。表6--79中描述了一個子程序中的參數類型。要加入一個參數,把光標放到要加入的變量類型 區(IN、IN_OUT、OUT)。鼠標右鍵可以一個菜單選擇。選擇選項,然后選擇下一行選項。這樣就出現了另一個所選類型的參數項。
表6--79 子程序的參數類型
參數 | 描述 |
IN | 參數傳入子程序。如果參數是直接尋址(如:VB10),位置的值被傳遞到子程序。如果參數 是間接尋址(如:*AC1),指針位置的值被傳入子程序;如果參數是常數(如:16#1234), 或者一個地址(如:&VB100),常數或地址的值被傳入子程序。 |
IN_OUT | 參數位置的值被傳到子程序,從子程序的結果值被返回到同樣地址。常數(如:16#1234) 和地址(如:&VB100)不允許作為輸入/輸出參數。 |
OUT | 從子程序來的結果值被返回到參數位置。常數(如:16#1234)和地址(如:&VB100)不允許 作為輸出參數。由于輸出參數并不保留子程序后一次執行時分配給它的數值,所以必須在每 次調用子程序時將數值分配給輸出參數。注意:在電源上電時,SET和RESET指令只影響布爾 量操作數的值。 |
TEMP | 任何不用于傳遞數據的局部存儲器都可以在子程序中作為臨時存儲器使用。 |
如圖6--37中所示,局部變量表中的數據類型區定義了參數的大小和格式。參數類型如下所示:
q BOOL:此數據類型用于單個位輸入和輸出。下例中的IN3是布爾輸入。
q BYTE、WORD、DWORD:這些數據類型分別識別1、2或4個字節的無符號輸入或輸出參數。
q INT、DINT:這些數據類型分別識別2或4個字節的有符號輸入或輸出
參數。
圖6--37 局部變量表q REAL:此數據類型識別單精度型(4字節)IEEE浮點數值。q STRING:此數據類型用作一個指向字符串的四字節指針。
q 功率流:布爾型功率流只允許位(布爾型)輸入。該變量聲明告訴STEP 7- Micro/WIN 32此輸入參數是位邏輯指令組合的功率流結果。在局部變量表中布爾功率流輸入必須出現在其他類型的 前面。只有輸入參數可以這樣使用。下例中的使能輸入(EN)和IN1輸入使用布爾邏輯。
實例:子程序調用 | |
以下有兩個STL程序。個程序只能在STL編輯器中以STL的形式顯示,因為用作功率流輸入的BOOL參數沒 有存儲在L存儲區中。 第二個程序能夠在LAD和FBD編輯器中顯示,因為使用了L存儲器來存儲用作功率流輸入的BOOL輸入參數。 | |
只能顯示STL: Network 1 LD I0.0 CALL SBR_0,I0.1,VB10,I1.0,&VB100,*AC1, VD200 可以在LAD和FBD中正確顯示: Network 1 LD I0.0 = L60.0 LD I0.1 = L63.7 LD L60.0 CALL SBR_0,L63.7,VB10,I1.0,&VB100,*AC1, VD200 |
地址參數(如IN4處的&VB100)以一個雙字(無符號)的值傳送到子程序。在帶常數調用程序時必須指明 常數類型。例如,為了將一個數值為12,345的無符號雙字常量作為參數傳遞,常量參數必須為DW#12345。如果參數遺漏常量描述符,則該常量被視為一種不同的類型。
公司主營:數控,S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 西門子屏,變頻器,西門子DP電纜 變頻器 6SE70交流工程調速變頻器6RA70直流調速裝置 SITOP電源,電線電纜,數控備件,伺服電機等工控產品.及伺服電機,力矩電機,直線電機,伺服驅動備件等等。主營產品或服務:西門子PLC,西門子變頻器,西門子數控,西門子伺服電機,西門子人機界面,西門子軟啟動器,西門子屏,西門子工業以太網,西門子LOGO!
一方面,在上加大投入與改革,盡可能在成本低的情況下做精品、做優質產品,則不懼怕任何。本文由入駐OFweek公眾平臺的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。自主研制的4500米載人潛水器“深海勇士"號正式驗收交付。該項研究是蔣興宇課題組前期研究工作(Lab Chip,17,3874,2017。為科研人員在項目預算編制和調劑、經費支出、財務決算和驗收等方面提供專業化服務就顯得至關重要。
輸入或輸出參數上沒有自動數據類型轉換功能。例如,如果局部變量表明一個參數具有實型,而在調 用時使用一個雙字,子程序中的值就是雙字。
當給子程序傳遞值時,它們子程序的局部存儲器中。局部變量表的左列是每個被傳遞參數的局 部存儲器地址。當子程序調用時,輸入參數值被拷貝到子程序的局部存儲器。當子程序完成時,從局 部存儲器區拷貝輸出參數值到的輸出參數地址。
數據單元的大小和類型用參數的代碼表示。在子程序中局部存儲器的參數值的分配如下所示:
q 按照子程序指令的調用順序,參數值分別給局部存儲器,起始地址是L0。
q 1到8連續位參數值分配一個字節,從Lx.0到Lx.7。
q 字節、字和雙字值按照所需字節分配在局部存儲器中(LBx、LWx或LDx)。
在帶參數調用子程序指令中,參數必須按照一定順序排列,輸入參數在前面,其次是輸入/輸出參 數,然后是輸出參數。
如果用語句表編程,CALL指令的格式是:
CALL子程序號,參數1,參數2,…,參數
公司主營:數控,S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 西門子屏,變頻器,西門子DP電纜 變頻器 6SE70交流工程調速變頻器6RA70直流調速裝置 SITOP電源,電線電纜,數控備件,伺服電機等工控產品.及伺服電機,力矩電機,直線電機,伺服驅動備件等等。主營產品或服務:西門子PLC,西門子變頻器,西門子數控,西門子伺服電機,西門子人機界面,西門子軟啟動器,西門子屏,西門子工業以太網,西門子LOGO!
隨著生活水平的明顯及健康意識的覺醒,器械產品需求有望暴增。本文由入駐OFweek公眾平臺的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。隨著的推廣和政策的扶持,燃料乙醇產業市場空間將進一步釋放。本文由入駐OFweek公眾平臺的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如今,隨著我國互聯網經濟迅速發展,“互聯網+餐飲服務"等新興產業快速增長。
西門子S7-200PLC模塊6ES72882DR320AA0
電子元器件
下一篇:西門子模塊6ES72883AT040AA0