0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PLC的條件跳轉、子程序調用等

qianyanjishuhui ? 來源:愛上PLC ? 2023-06-07 14:46 ? 次閱讀

條件跳轉指令:

指令名稱,助記符,指令代碼,程序步如下表:

97166360-04fe-11ee-90ce-dac502259ad0.jpg

程序步可以是連續(xù)執(zhí)行或者是脈沖執(zhí)行,CJ執(zhí)行的為3步,CJ(P)為1步。

指令格式:

972ac13e-04fe-11ee-90ce-dac502259ad0.jpg

當我們按下X000后,程序跳轉指令開始運行,程序所跳轉的位置為程序指針所在的位置,也就是標號10,在這里我們要注意程序指針寫在左母線的左邊。當我們啟動跳轉指令后,X001這段程序就會被跳過不執(zhí)行。

當X0為ON時,被跳轉CJ命令到標號之間的程序不子執(zhí)行。在跳轉過程中如果Y、M,S被OUT、SET. RST指令驅動使輸入發(fā)生變化則仍保持跳轉前的狀態(tài)。例如,通過X1驅動輸出Y10后發(fā)生跳轉,在跳轉過程中即使X0變?yōu)镺N,但輸出Y10仍有效。

注意:
1、對于T、C,如果跳轉時定時器或計數器正發(fā)生動作,則此時立即中斷計數或停止計時,直到跳轉結束后繼續(xù)進行計時或計數。但是,正在動作的定時器T192~T199與高速計數器C235~ C255. 不管有無跳轉仍舊維續(xù)工作。

2、功能指令在跳轉時不執(zhí)行,但PLSY、 PLSR、PWW指令除外。

子程序調用與返回指令:

指令名稱,助記符,指令代碼,程序步如下表:

9742ff24-04fe-11ee-90ce-dac502259ad0.jpg

指令格式:

975d5a40-04fe-11ee-90ce-dac502259ad0.jpg

圖中FEND表示主程序結束,在FEND前面的我們稱為主程序,在FEND后面的我們稱為子程序。SRET表示子程序結束,或者叫子程序返回。我們要注意,在FEND與SRET之間的程序,我們稱為第一個子程序,在第二個SRET之前的我們稱為第二個子程序。當我們按下X001的時候,指針調用到P11,程序開始從P11這個地方從上往下開始執(zhí)行,當碰到第一個SRET的時候,程序又返回到主程序中,但是在這個程序中如果X002被接通,那么程序指針則調用到P12,程序開始從上到下運行,當碰到第二個SRET的時候,程序返回到P12這個地方,然后在碰到第一個SRET的時候,返回到主程序。因為P12這個程序是嵌套在P11這個程序中的,所以我們要注意,在PLC中這種程序嵌套最多只能使用5級。

中斷指令:

中斷指令總共有3條,我們用一個表格來詳細說明:

976600b4-04fe-11ee-90ce-dac502259ad0.jpg

在這里FEND前面的為主程序,FEND后面的為中斷子程序,中斷子程序能否進行與中斷條件與中斷指針有關,所以在這里我們得給大家說說中斷指針的格式:

中斷指針:

977d9b2a-04fe-11ee-90ce-dac502259ad0.jpg

定時中斷:

97921bae-04fe-11ee-90ce-dac502259ad0.jpg

程序示例:

97a511dc-04fe-11ee-90ce-dac502259ad0.jpg

我們先給大家介紹一下這個程序:FEND前面的程序表示主程序,后面的表示中斷子程序,EI表示允許中斷,IRET表示中斷返回指令,I610指針表示,中斷時間為10mm,6表示最高中斷級別。

當我們按下X000后K1的數據被傳送到D1里面去,K255的數據被傳送D2里面去,M1被置位接通,中斷子程序運行。RAMP 表示斜坡指令,表示產生一個數據D3,而D3的變化范圍是從D1到D2也就是從1到255,由于這是一個定時中斷程序,當M1接通的時候,每隔10ms中斷一次程序,K1000表示1000個掃描周期,因為D3的范圍是從1變到255,而它所需要的時間為1000個10ms,也就是說從X0接通到D3變成255的時間為1000X10ms=10秒,當D3等于255的時候M8029接通,M1被復位斷開,然后中斷指令與斜坡指令被斷開,然后碰到IRET指令程序返回。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5007

    文章

    13114

    瀏覽量

    461487
  • 子程序
    +關注

    關注

    0

    文章

    33

    瀏覽量

    11165
  • 代碼
    +關注

    關注

    30

    文章

    4723

    瀏覽量

    68238

原文標題:PLC的條件跳轉、子程序調用等,我這都給你講解

文章出處:【微信號:愛上PLC,微信公眾號:愛上PLC】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文詳解PLC子程序子程序指令

    在編程時經常會遇到相同的程序段需要多次執(zhí)行的情況,如圖6-39所示,程序段A要執(zhí)行兩次,編程時要寫兩段相同的程序段,這樣比較麻煩。解決這個問題的方法是將需要多次執(zhí)行的程序段從主
    的頭像 發(fā)表于 12-14 13:33 ?7639次閱讀
    一文詳解<b class='flag-5'>PLC</b><b class='flag-5'>子程序</b>與<b class='flag-5'>子程序</b>指令

    子程序的創(chuàng)建與調用

    【LabVIEW從入門到精通】2.5 子程序的創(chuàng)建與調用
    發(fā)表于 01-08 15:43 ?0次下載

    三菱FX系列PLC條件跳轉子程序指令的應用_赫煥麗

    三菱FX系列PLC條件跳轉子程序指令的應用。
    發(fā)表于 05-18 10:42 ?3次下載

    跳轉指令B及帶連接的跳轉指令BLX上 

    特定情況下還有其他幾種方式實現這個目的,但轉移和轉移連接指令是標準的方式。 跳轉指令改變程序的執(zhí)行流程或者調用子程序。這種指令使得一個程序
    發(fā)表于 10-19 10:26 ?2次下載
    <b class='flag-5'>跳轉</b>指令B及帶連接的<b class='flag-5'>跳轉</b>指令BLX上 

    中斷處理和子程序調用概念解析

    子程序是一組可以公用的指令序列,只要給出子程序的入口地址就能從主程序轉入子程序。子程序在功能上具有相對的獨立性,在執(zhí)行主
    發(fā)表于 11-16 11:12 ?1w次閱讀
    中斷處理和<b class='flag-5'>子程序</b><b class='flag-5'>調用</b>概念解析

    plc如何停止子程序調用_具體操作解析

    進入子程序請使用CALL指令,即是FUN67指令,在子程序中要使用標簽:LBL指令即FUN65,子程序段結束后請使用RTS指令,即FUN68子程序返回指令。
    發(fā)表于 11-16 11:35 ?1.5w次閱讀
    <b class='flag-5'>plc</b>如何停止<b class='flag-5'>子程序</b><b class='flag-5'>調用</b>_具體操作解析

    如何提高PLC程序運行的效率詳細編程方法說明

    在西門子plc中,子程序是為一些特定的控制目的編制的相對獨立的程序。執(zhí)行子程序調用指令CALL
    的頭像 發(fā)表于 02-03 12:57 ?3263次閱讀
    如何提高<b class='flag-5'>PLC</b><b class='flag-5'>程序</b>運行的效率詳細編程方法說明

    PLC條件跳轉子程序調用指令的使用方法實例講解

    我們先給大家介紹一下這個程序:FEND前面的程序表示主程序,后面的表示中斷子程序,EI表示允許中斷,IRET表示中斷返回指令,I610指針表示,中斷時間為10mm,6表示最高中斷級別。
    的頭像 發(fā)表于 08-11 09:47 ?1.4w次閱讀
    <b class='flag-5'>PLC</b>的<b class='flag-5'>條件</b><b class='flag-5'>跳轉</b>和<b class='flag-5'>子程序</b><b class='flag-5'>調用</b><b class='flag-5'>等</b>指令的使用方法實例講解

    一文知道UP/MAKRO程序調用

    該指令可用于調用子程序并將子程序調用鏈接到條件(布爾操作數)。如果需要,可以鏈接多個操作數(最多11個)。
    的頭像 發(fā)表于 11-07 10:57 ?1961次閱讀
    一文知道UP/MAKRO<b class='flag-5'>程序</b>的<b class='flag-5'>調用</b>

    KUKA的程序調用--VSS版本解析

    該指令可用于調用子程序并將子程序調用鏈接到條件(布爾操作數)。如果需要,可以鏈接多個操作數(最多11個)。
    的頭像 發(fā)表于 03-18 10:07 ?3059次閱讀
    KUKA的<b class='flag-5'>程序</b><b class='flag-5'>調用</b>--VSS版本解析

    PLC編程優(yōu)化設計使程序運行提速

    PLC子程序是為一些特定的控制目的編制的相對獨立的程序。執(zhí)行子程序調用指令CALL,如果
    發(fā)表于 03-24 15:57 ?1143次閱讀

    西門子PLC子程序介紹

    或無條件返回指令,用戶程序只能使用條件結束指令和條件返回指令。 通常,具有特定功能和多種用途的程序段被視為
    發(fā)表于 12-13 16:28 ?3771次閱讀

    提高PLC程序運行有什么方法

    在西門子plc中,子程序是為某些特定的控制目的而編制的相對獨立的程序。執(zhí)行子程序CALL指令。如果條件
    發(fā)表于 01-10 15:57 ?737次閱讀

    PLC創(chuàng)建庫文件與帶參數子程序功能該如何使用

    在S7-200SMART系列PLC子程序中,子程序可以分為兩類,一類為不帶參數的子程序,另一類為帶參數的子程序,使用帶參數的
    的頭像 發(fā)表于 10-28 11:06 ?3758次閱讀

    淺析PLC條件跳轉子程序調用

    對于T、C,如果跳轉時定時器或計數器正發(fā)生動作,則此時立即中斷計數或停止計時,直到跳轉結束后繼續(xù)進行計時或計數。但是,正在動作的定時器T192~T199與高速計數器C235~ C255. 不管有無跳轉仍舊維續(xù)工作。
    發(fā)表于 01-31 14:20 ?677次閱讀