999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動(dòng)故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 三菱PLC > 三菱FX PLC學(xué)習(xí)之?dāng)?shù)值運(yùn)算指令(上)

三菱FX PLC學(xué)習(xí)之?dāng)?shù)值運(yùn)算指令(上)

吳翠萍 發(fā)布于2020-10-15 15:44 55 2 標(biāo)簽:三菱PLC,三菱FX PLC

【點(diǎn)擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件

【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門子PLC例程777個(gè)

【點(diǎn)擊下載】2020新電工仿真軟件


所謂數(shù)值運(yùn)算,就是通過加減乘除來實(shí)現(xiàn)數(shù)值的變換。在PLC中,數(shù)值運(yùn)算的指令不算難,難的是怎樣理解PLC對(duì)這些數(shù)值的定義與處理方式。所以,我將這部分知識(shí)分為上下兩篇文章來述說。



在學(xué)習(xí)數(shù)值指令之前,我們得先了解這些數(shù)值有哪些特點(diǎn)。

在數(shù)學(xué)中,數(shù)的分類有很多,那在PLC中,數(shù)值的分類是不是也有很多的?在學(xué)習(xí)之前,看到數(shù)值運(yùn)算指令,我頓時(shí)瑟瑟發(fā)抖,不會(huì)在PLC中也要學(xué)習(xí)數(shù)學(xué)吧!



后來才發(fā)現(xiàn),是我杯弓蛇影了,PLC中的數(shù)值,除了我之前所說的各種進(jìn)制數(shù)外,其實(shí)也不過是有整數(shù)與小數(shù)之分、整數(shù)與負(fù)數(shù)之分而已。這讓我松了一口氣。那么,我們正式開始這次的學(xué)習(xí)分享吧!


一、PLC的正數(shù)和負(fù)數(shù)

在數(shù)學(xué)中,負(fù)數(shù)和正數(shù)的區(qū)別,在于前面的正負(fù)號(hào),例如-5和 5,而PLC中是不是也是這樣的呢?并不是的。



PLC中,正負(fù)之分是通過高位(b15或b31)的值來判定的。高位為0表示正數(shù),高位為1表示負(fù)數(shù)。

例如數(shù)據(jù)寄存器D0中高位b15=0,表示D0的值為正數(shù);若b15=1,那么D0的值就為負(fù)數(shù)。


另外,除了高位用于區(qū)分正負(fù)之外,其他位(b14…b0或b30…b0)的值也有區(qū)別,這主要是體現(xiàn)在負(fù)數(shù)的表示中。在說明這一點(diǎn)之前,我們先來了解一下什么是原碼、反碼和補(bǔ)碼。

在數(shù)字電路中,數(shù)碼有原碼、反碼和補(bǔ)碼之分,這樣可以使得數(shù)值運(yùn)算變得更為簡單。結(jié)合符號(hào)位(高位),所謂原碼,是指數(shù)值本身,例如十進(jìn)制數(shù) 11、-5用二進(jìn)制數(shù)表示的原碼分別為01011、10101,此時(shí)高位的“0”、“1”為符號(hào)位。



在數(shù)字電路中規(guī)定,正數(shù)的原碼=反碼=補(bǔ)碼,也就是正數(shù)的原碼、反碼和補(bǔ)碼都是其本身,如上圖所示的 11,其反碼和補(bǔ)碼也是01011。

而負(fù)數(shù)就不一樣了,符號(hào)位始終保持不變,負(fù)數(shù)的反碼就是對(duì)各數(shù)值位分別取反,如上圖所示的-5,反碼就是把1 0101變成1 1010。而負(fù)數(shù)的補(bǔ)碼等于其反碼加1,如1 1010 1=1 1011。


那么,反碼和補(bǔ)碼存在的意義又是什么呢?其實(shí),補(bǔ)碼的作用就是使運(yùn)算變得更方便快捷,一個(gè)數(shù)減去另一個(gè)數(shù),就等于這個(gè)數(shù)加上另一個(gè)數(shù)的相反數(shù)的補(bǔ)碼,從而把減法運(yùn)算轉(zhuǎn)化為加法運(yùn)算。


如下圖所示,求解11-5,5的相反數(shù)為-5,從而把11-5轉(zhuǎn)化為11 (-5的補(bǔ)碼),并舍去進(jìn)位,后得到的結(jié)果恰好為6。



為什么把減法轉(zhuǎn)化為加法就可以變得方便呢?這是因?yàn)榧臃ǖ碾娐房梢愿鼮槿菀自O(shè)計(jì),這是數(shù)字電路的知識(shí),在此我就不再展開闡述,大家感興趣的可以自行了解。


類似于數(shù)字電路對(duì)原碼、反碼和補(bǔ)碼的定義,在PLC中,正數(shù)(符號(hào)位為0)直接用其原碼表示,而(符號(hào)位為1)負(fù)數(shù)就用其補(bǔ)碼表示。這說明,數(shù)據(jù)寄存器中的數(shù)據(jù)若為負(fù)數(shù),那它各個(gè)數(shù)位的值并不代表它本身的值,而是其補(bǔ)碼。例如D0所存的數(shù)據(jù)為H8003,如下圖所示,其高位b15=1,為負(fù)數(shù),所以這是補(bǔ)碼,不能認(rèn)為D0的數(shù)值大小為-3。



由于高位為符號(hào)位,所以PLC中數(shù)值的取值范圍也會(huì)有所不同,如16位和32位的取值范圍如下圖所示,此時(shí)取值范圍顯然不是±65536(16位)。

另外,PLC中還對(duì)兩個(gè)數(shù)作出特別的規(guī)定,如圖所示的K0和K-32768,特別是B1000 0000 0000 0000不是表示負(fù)零。



知道了PLC中對(duì)正負(fù)數(shù)的定義,我們繼續(xù)往下看它是怎么定義整數(shù)和小數(shù)的。


二、PLC的定點(diǎn)數(shù)與浮點(diǎn)數(shù)

在PLC中,也可以根據(jù)小數(shù)點(diǎn)位置的不同,將數(shù)值分為整數(shù)和小數(shù)。其中整數(shù)就屬于定點(diǎn)數(shù),那么,所謂定點(diǎn)數(shù)具體指的又是什么呢?


1、定點(diǎn)數(shù)

所謂定點(diǎn),是指小數(shù)點(diǎn)是固定的,要么在高位的左邊、要么在低位的右邊。



如上圖所示,若將小數(shù)點(diǎn)至于數(shù)值高位的左邊,該數(shù)值就為純小數(shù),所謂純小數(shù),就是指整數(shù)部分為零的數(shù),例如0.12、0.07等;若將小數(shù)點(diǎn)至于數(shù)值低位的右邊,該數(shù)值就為整數(shù),沒有小數(shù)部分,例如7、8、9等。一般都是采用整數(shù)的定點(diǎn)數(shù)表示,所以在談及定點(diǎn)數(shù)時(shí),很多時(shí)候都默認(rèn)是整數(shù)。


結(jié)合上文所提的符號(hào)位,即帶符號(hào)的二進(jìn)制整數(shù)稱為BIN數(shù)。大家細(xì)心點(diǎn)也可以發(fā)現(xiàn),編程手冊中經(jīng)常出現(xiàn)“BIN”這個(gè)詞,沒錯(cuò),它代表的就是二進(jìn)制整數(shù),而且?guī)в蟹?hào)。



所以,在之后談及BIN運(yùn)算指令時(shí),要注意其數(shù)值的正負(fù)。


2、浮點(diǎn)數(shù)

所謂浮點(diǎn)數(shù),其實(shí)就是小數(shù),“浮點(diǎn)”表示小數(shù)點(diǎn)是浮動(dòng)的,隨著小數(shù)點(diǎn)位置的不同,數(shù)值的大小也會(huì)有所不同。在了解浮點(diǎn)數(shù)之前,我們先來了解一個(gè)概念:科學(xué)計(jì)數(shù)法。


(1)科學(xué)計(jì)數(shù)法

科學(xué)記數(shù)法是一種記數(shù)的方法。就是把一個(gè)數(shù)表示成a×10n的形式。如下圖所示,其中底數(shù)10是固定不變的,變的是a和n,所以要用科學(xué)計(jì)數(shù)法去表示一個(gè)數(shù),只需知道a和n即可。



類似的,在PLC中,浮點(diǎn)數(shù)就是用科學(xué)計(jì)數(shù)法表示的,又因?yàn)樗蓛刹糠謽?gòu)成(a與10n),所以浮點(diǎn)數(shù)都是用32位表示,即占用兩個(gè)字元件。其中又分為十進(jìn)制浮點(diǎn)數(shù)和二進(jìn)制浮點(diǎn)數(shù)。


(2)十進(jìn)制浮點(diǎn)數(shù)

根據(jù)上文所提,浮點(diǎn)數(shù)用兩個(gè)連續(xù)編號(hào)的數(shù)據(jù)寄存器(Dn 1,Dn)表示。如下圖所示,Dn保存浮點(diǎn)數(shù)的基數(shù),Dn 1保存浮點(diǎn)數(shù)的指數(shù),且兩個(gè)數(shù)都帶有符號(hào)位。例如(D0)=K666,(D1)=K-2,(D1,D0)就表示了十進(jìn)制數(shù)666×10-2=6.66。



在三菱PLC FX2N中,基數(shù)和指數(shù)的取值范圍各有不同,表示基數(shù)的Dn的取值范圍為±1000~9999或0,表示指數(shù)的Dn 1的取值范圍為-41~35。另外,十進(jìn)制浮點(diǎn)數(shù)中,小的數(shù)是1175×10-41,大的數(shù)為3402×1035。至于為什么是這樣,我也不甚清楚,反正這是PLC中的規(guī)定。



在PLC中,十進(jìn)制浮點(diǎn)數(shù)是不能直接用來運(yùn)算的,而是用二進(jìn)制浮點(diǎn)數(shù)進(jìn)行運(yùn)算的,但它可以和二進(jìn)制浮點(diǎn)數(shù)相互轉(zhuǎn)換,可用來進(jìn)行數(shù)據(jù)監(jiān)視。這就像是計(jì)算機(jī)系統(tǒng),計(jì)算機(jī)中處理數(shù)據(jù)是基于二進(jìn)制數(shù)的,但我們查看的時(shí)候看到的是十進(jìn)制數(shù),這是因?yàn)橛?jì)算機(jī)把二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)以便我們查看。



(3)二進(jìn)制浮點(diǎn)數(shù)

二進(jìn)制浮點(diǎn)數(shù)在PLC中的表示比較復(fù)雜,如上圖所示,同樣是用兩個(gè)連續(xù)編號(hào)的數(shù)據(jù)寄存器表示,其高位(b31)仍然表示符號(hào)位,這個(gè)符號(hào)位表示的該浮點(diǎn)數(shù)本身的正負(fù),而不是指數(shù)的正負(fù)。從上圖可以看出,指數(shù)N占有8位,即b30~b23,而基數(shù)a占有23位,即b22~b0。它們的取值如下圖所示,其中b0~b30的值為0或1。



雖然二進(jìn)制浮點(diǎn)數(shù)的表示方式比較復(fù)雜,但是能不能完全理解它,都不妨礙我們對(duì)浮點(diǎn)數(shù)的理解,對(duì)數(shù)值運(yùn)算指令的運(yùn)用。所以,不理解二進(jìn)制浮點(diǎn)數(shù)的表方法,問題不大,能理解二進(jìn)制浮點(diǎn)數(shù)本身就行。


例如在三菱PLC FX3U中想輸入浮點(diǎn)數(shù)3.14,直接輸入“E3.14”就行,但在三菱PLC FX2N中不能直接輸入浮點(diǎn)數(shù),想輸入浮點(diǎn)數(shù),就得先輸入整數(shù),再運(yùn)用相應(yīng)指令運(yùn)算或轉(zhuǎn)化。

知道了這些數(shù)值的相關(guān)定義和處理方式,那么我們在下篇文章就可以繼續(xù)分享數(shù)值運(yùn)算的相關(guān)指令啦!


后,這次的學(xué)習(xí)分享就到這里吧!

注:本文章內(nèi)容都是基于三菱FX PLC 2N所寫

選自《三菱FX系列PLC功能指令詳解》第五章第27~28課時(shí)

技成培訓(xùn)網(wǎng)原創(chuàng),作者:楊思慧,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究?。?/strong>


技成培訓(xùn)

微信公眾號(hào):jcpeixun


技成電工課堂

微信公眾號(hào):jcdgkt


技成PLC課堂

微信公眾號(hào):jc-plc

若有收獲,就點(diǎn)個(gè)贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請(qǐng)聯(lián)系站長
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

三菱PLC 三菱FX PLC

相關(guān)推薦

最新文章 熱門文章
最新課程 免費(fèi)課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門標(biāo)簽