久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>生活>三菱編程ST語言怎么輸入(三菱ST語言教學1)

三菱編程ST語言怎么輸入(三菱ST語言教學1)

發布時間:2024-01-23閱讀(9)

IF 條件判斷

if單詞翻譯過來是“如果”,在程序中用于判斷是否滿足某種條件,當滿足其中一個條件時在這個條件下面進行一些操作,在所有條件都不滿足時不操作,舉個例子:

假設現在有3個按鈕控制電機正反轉。按下按鈕1(X1)電機正轉(Y1),按下按鈕2(X2)電機反轉(Y2),按下X3停止。使用梯形圖編程如下:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(1)

梯形圖編程

可以看到的是,由于輸入為按鈕,是一個脈沖信號,所以需要線圈并上輸入形成自鎖保持電機啟動。同樣的功能我們用ST來編程:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(2)

ST編程

當按下按鈕X1的期間,位軟元件Y1的值為true(理解為on,高電平,導通),Y2的值為false(理解為off,低電平,斷開),X2與X3同理。三個按鈕都沒有動作時,輸出Y1,Y2也不會有任何操作。

這里的:=是ST語言的賦值符號,它即可以給開關量賦值,也可以給數字量賦值;即可以賦值常數,也可以賦值變量,類似于梯形圖里面的mov指令。一定要記住每個賦值語句后面和結束指令后面要加分號結束符“;”,程序里所有的符號要用英文的符號。

程序寫成這樣已經可以初步實現功能,可以看到在ST語言下,軟元件賦值后如果沒有其他的賦值操作,直接就是保持的,類似于梯形圖的SET/RST指令。

IF語句的常用格式如下:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(3)

IF不僅可以判斷開關量,同時可以判斷數字量,或者是一個公式,例如:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(4)

IF判斷數字量

標簽(變量)

上面的程序我們都是用PLC自帶的軟元件(X,Y,M,D等)進行編程的,而想要發揮ST語言真正的實力還需要學會使用標簽進行編程。

從使用范圍標簽分為局部標簽和全局標簽,局部標簽只能在相應的一個程序段內使用,不同的程序段可以建立同名標簽不會互相影響;而全局標簽可以在工程下所有程序段內使用。

在三菱的結構化工程中,每建立一個程序段就會生成相應的局部標簽,建立標簽需要聲明標簽的數據類型,可以是bit(位),word(字),float(浮點),string(字符串),time(時間)等基本數據類型,也可以是FB(功能塊),struct(結構體),本文只介紹基本數據類型,其他的以后再講。

上面電機正反轉控制的例子我們可以修改如下:

聲明標簽

三菱編程ST語言怎么輸入(三菱ST語言教學1)(5)

聲明標簽

標簽欄共有3項,“類”包含VAR,VAR_CONSTANT,VAR_RETAIN,其中VAR為中間變量,可以在任意時刻進行判斷和賦值;VAR_CONSTANT為常數變量,設定常數后不能被程序賦值;VAR_RETAIN為保持變量,相比VAR多個掉電數據保持功能。“標簽名”可以任意寫,三菱還支持寫中文,但要注意不要寫一些PLC保留字,比如bit,int,word等相關的,這里建議盡量寫英文,這樣程序看起來整齊而且通用,可以復制到其他品牌PLC也能直接運行,還有中文的變量在編程時不能雙擊選中,也很麻煩。

程序編輯如下:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(6)

標簽編程

標簽所表示的含義是編程人員定義的,想要控制實際的設備還需要將標簽與設備對應的軟元件相連接:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(7)

程序與設備相連

這里要注意賦值的方向,:=后面的值傳遞給前面的標簽。

從這個程序來看好像標簽沒有起到任何便利的作用,反而多此一舉,那是因為程序太簡單還體現不出標簽的便捷,下面我們講其他的基本指令。

CASE 條件判斷

與IF相比,CASE判斷更清晰,它常用于判斷數字量,我們舉個例子來說明他的格式,仍然采用標簽的方式:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(8)

聲明標簽

三菱編程ST語言怎么輸入(三菱ST語言教學1)(9)

CASE判斷

其含義為:

當標簽Number=0時,輸出開關量OutputBool為true,輸出整形量OutputInt=1;

當Number=1時,輸出開關量OutputBool為true,輸出整形量OutputInt=2;

當Number=2到11任意一個數時,輸出開關量OutputBool為true,輸出整形量OutputInt=3;

當Number=15或者20時,輸出開關量OutputBool為true,輸出整形量OutputInt=4;

當Number不等于以上任何值時,輸出開關量OutputBool為false,輸出整形量OutputInt=0;

這段程序基本體現了case語句的所有格式,可以看到相比IF,條件要清晰很多。

CASE指令除了用于條件判斷,也用于順序流程控制的編程,再舉個例子:

假設一個機構有3個氣缸,3個氣缸按照一個固定順序依次進行伸出動作,完成后統一縮回。我們可以使用case來構建整個流程:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(10)

聲明標簽

每個氣缸有4個變量,分別為氣缸伸出,伸出反饋,氣缸縮回,縮回反饋。

三菱編程ST語言怎么輸入(三菱ST語言教學1)(11)

流程控制

iStep的每一個值相當于一個步驟,每完成一個步驟,通過氣缸到位信號將步驟iStep置為下一個步驟,這樣整個程序可以按照我們想要順序執行。xBegin相當于一個開始按鈕,觸發整個流程。

從這個程序我們可以看出,case下面可以添加if,實際上不僅如此,所有基本指令的下面都可以多層套嵌,可以實現更為復雜的邏輯。

FOR循環

FOR循環為有限次的循環,循環根據設定的增量講一個數字變量進行遞增,直到變量等于設定值。舉例說明:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(12)

FOR循環

這里建立了兩個字變量“ii”“iCount”,這里ii作為循環的依據變量,設定的增量為by后面的數字2,由0數到100,意思為ii初始值為0,每次 2,直到ii的值=100本次掃描周期內停止。要明確的是循環是在一個PLC掃描周期內完成的,所以如果FOR語句上面沒有條件進行限制,每個掃描周期都要進行這個循環任務,例如上圖的程序如果直接執行,那么每個掃描周期要進行50次循環,占用PLC的資源還是很大的,所以一般我們要用上升沿或者判斷條件限制FOR循環在需要的時候執行。例如:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(13)

增加限制條件

這里對FOR循環做了條件限制,每循環一次iCount的值增加1,每個周期for循環50次,20個周期后iCount的值=1000,不再滿足iCount<1000的條件了, 循環停止。

WHILE循環

WHILE循環為條件循環,只要滿足設定的條件就一直循環,直到條件不滿足才停止,循環也是在一個PLC掃描周期內完成的。這里要特別注意如果條件一直滿足,PLC會陷入死循環,造成PLC報錯,所以如果不是迫不得已,盡量不要使用while循環,舉例說明其用法:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(14)

WHILE循環

這個程序的意思為,在一個掃描周期內,當變量iCount<1000時,始終執行iCount自身 1的操作,直到不滿足iCount<1000的條件才停止,上面這個程序分析可知循環1000次后循環停止,程序是沒問題的,但是如果由于馬虎 號寫成了-號,如果不考慮變量自身的容量問題,循環沒有停止的時候,變為死循環,那這個程序一運行就會報錯。

其他的基本符號

ST語言邏輯運算和數學運算都很方便,例如:

三菱編程ST語言怎么輸入(三菱ST語言教學1)(15)

“與或非”和“加減乘除”都很簡單,復雜的運算可以直接調用現成的公式(指令)。下一篇講解指令和功能塊的調用。

,

相關文章

    Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖