三菱FX5U PLC的FUN通用函數(shù)介紹(上)
吳翠萍
發(fā)布于2021-01-19 14:16
22
2
標(biāo)簽:三菱FX5U,PLC編程,三菱PLC,PLC函數(shù)
【點(diǎn)擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊(cè) | 工具箱 軟件
【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門子PLC例程777個(gè)
【點(diǎn)擊下載】2020最新電工仿真軟件
之前的文章中我們介紹過FB塊的新建和使用,還介紹了FB塊指令像雙穩(wěn)態(tài)功能塊、定時(shí)器功能塊和計(jì)數(shù)器功能塊等,除此之外,還有FUN函數(shù)塊,那么這一篇文章就給大家介紹一下我們?nèi)釬X5U PLC都有哪些FUN函數(shù)吧。
其實(shí)主要分為幾個(gè)類,包括位布爾功能、類型轉(zhuǎn)化、算術(shù)運(yùn)算、比較、時(shí)間數(shù)據(jù)類型、位移位等,還有其他通用函數(shù)也可以看下手冊(cè)說明哦,這些FUN函數(shù)其實(shí)大部分都有對(duì)應(yīng)的一些梯形圖指令,大家可以對(duì)比著來學(xué)習(xí)哦。下面我們就按各個(gè)分類來介紹一下吧。
一、位布爾功能函數(shù)
位類型布爾類的函數(shù)包括:邏輯與、邏輯或、邏輯異或和邏輯非。
邏輯與函數(shù)塊是對(duì)兩個(gè)輸入數(shù)值的對(duì)應(yīng)位執(zhí)行“與”運(yùn)算操作。運(yùn)算方法:兩個(gè)位同為1是結(jié)果為1,其余為0。邏輯或函數(shù)塊是對(duì)兩個(gè)輸入數(shù)值的對(duì)應(yīng)位執(zhí)行“或”運(yùn)算操作。
運(yùn)算方法:兩個(gè)位中只要有一個(gè)位為1,其結(jié)果就為1。
邏輯異或:指令對(duì)兩個(gè)輸入數(shù)值的對(duì)應(yīng)位執(zhí)行“異或”運(yùn)算操作。
運(yùn)算方法:同為0,異為1。邏輯非:對(duì)輸入的操作數(shù)的位進(jìn)行取反操作。
運(yùn)算方法:0變?yōu)?,1變?yōu)?。下圖以邏輯與函數(shù)塊為例,看一下程序和其數(shù)據(jù)的位處理情況。
對(duì)于邏輯與,利用其有0出0的功能可以進(jìn)行復(fù)位操作;對(duì)于邏輯或,利用其有1出1的功能可以進(jìn)行置位操作。我們以一個(gè)簡單的例子來看一下位類型布爾功能函數(shù)的功能。
【案例】求任意兩數(shù)相減所得的絕對(duì)值。
二、類型轉(zhuǎn)換功能函數(shù)
類型轉(zhuǎn)換功能是對(duì)數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,我們常見的數(shù)據(jù)類型包括BOOL型、WORD型、DWORD型、INT型、DINT型、TIME型、STRING型、BCD型、REAL型等。所以說類型轉(zhuǎn)換功能是指這些數(shù)據(jù)類型之間的轉(zhuǎn)換的FUN函數(shù)。跟西門子中的轉(zhuǎn)換指令是類似的。
比如說我們要進(jìn)行浮點(diǎn)數(shù)運(yùn)算,而輸入進(jìn)來的數(shù)據(jù)D0是整數(shù)類型的,那么我們就要把整數(shù)轉(zhuǎn)換成雙整數(shù),然后再轉(zhuǎn)換成浮點(diǎn)數(shù),這時(shí)我們就可以用上INT_TO_DINT和DINT_TO_REAL的FUN函數(shù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換之后存儲(chǔ)到D4中,那么D4就可以進(jìn)行浮點(diǎn)數(shù)運(yùn)算。
此外,在類型轉(zhuǎn)換功能中還有幾個(gè)FUN函數(shù),叫做字標(biāo)簽的指定位讀取/寫入/復(fù)制,我們以下圖的程序直接講解,GET_BIT_OF_INT用于讀取字標(biāo)簽的指定位,輸出(s)的第(n)位,也就是X0接通時(shí),將1寫到D0的bit5位。
SET_BIT_OF_INT用于對(duì)字標(biāo)簽的指定位進(jìn)行寫入,將(s)中指定的BOOL值寫入到(d)的第(n)位中,也就是將D0中的bit5位的值1寫入到輸出M0中,所以M0輸出為ON。CPY_BIT_OF_INT用于將字標(biāo)簽的指定位復(fù)制到其它字標(biāo)簽的指定位,將(s)中指定的字第(n1)位的值復(fù)制到(d)的第(n2)位中,也就是將D2中指定的bit5位的值復(fù)制到D4的bit10位中。
三、算術(shù)運(yùn)算函數(shù)
算術(shù)運(yùn)算功能函數(shù)包括加ADD、減SUB、乘MUL、除DIV運(yùn)算,還有求余數(shù)MOD、求冪EXPT、代入MOVE等功能。
加法運(yùn)算ADD:輸出(s1) (s2) … (s28)值之和。
乘法運(yùn)算MUL:輸出(s1)×(s2)×…×(s28)值之乘積。
減法運(yùn)算SUB:輸出(s1)-(s2)值之差。
除法運(yùn)算DIV:輸出(s1)÷(s2)值之商,余數(shù)不輸出。
求余數(shù)MOD:輸出(s1)÷(s2)值之余數(shù),商不輸出。
求冪EXPT:將(s1)中輸入的REAL型數(shù)據(jù)以(s2)中指定的INT型/DINT型/REAL型進(jìn)行冪運(yùn)算,從(d)輸出運(yùn)算結(jié)果。比如說把IN1輸入定義一個(gè)基數(shù)的標(biāo)簽名,IN2輸入定義一個(gè)指數(shù)的標(biāo)簽名,基數(shù)是單精度實(shí)數(shù)類型的,指數(shù)設(shè)置成字類型的,輸出的就是進(jìn)行冪運(yùn)算的結(jié)果,也是單精度實(shí)數(shù)的。
代入MOVE:相當(dāng)于梯形圖指令中的MOV指令,區(qū)別在于它是通過指令MOV/DMOV/DEMOV決定數(shù)據(jù)類型的,而MOVE可以指定BOOL/INT/DINT/WORD/DWORD/REAL/STRING/TIME/結(jié)構(gòu)體等類型,注意MOVE只可以指定相同的數(shù)據(jù)類型哦。
下面我們就以一個(gè)運(yùn)算的案例講解下算術(shù)運(yùn)算函數(shù)的使用。
【案例】根據(jù)如下算法:y=[(a b)×(a b)]÷(a×b),編寫其運(yùn)算程序。
這篇文章就先介紹位布爾功能、類型轉(zhuǎn)換、算術(shù)運(yùn)算函數(shù),還有比較、時(shí)間數(shù)據(jù)類型、位移位等其他通用函數(shù)就在下一篇文章繼續(xù)介紹吧,大家繼續(xù)關(guān)注我們哦~
(技成培訓(xùn)網(wǎng)原創(chuàng),作者:蔡慧滎,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究)

技成培訓(xùn)
微信公眾號(hào):jcpeixun
|

技成電工課堂
微信公眾號(hào):jcdgkt
|

學(xué)PLC聯(lián)盟
微信公眾號(hào):jcpx006
|