- 三菱FX/Q系列PLC自學手冊(第2版)
- 陳忠平
- 3355字
- 2019-12-27 14:56:02
1.5 數(shù)制與數(shù)據(jù)類型
1.5.1 數(shù)制
數(shù)制也稱計數(shù)制,是用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。如在計數(shù)過程中采用進位的方法,則稱為進位計數(shù)制。進位計數(shù)制有數(shù)位、基數(shù)、位權三個要素。數(shù)位,指數(shù)碼在一個數(shù)中所處的位置。基數(shù),指在某種進位計數(shù)制中,數(shù)位上所能使用的數(shù)碼的個數(shù),例如,十進制數(shù)的基數(shù)是10,二進制的基數(shù)是2。位權,指在某種進位計數(shù)制中,數(shù)位所代表的大小,對于一個R進制數(shù)(即基數(shù)為R),若數(shù)位記作j,則位權可記作Rj。
在三菱FX/Q系列PLC中使用到的數(shù)制有十進制、二進制、八進制和十六進制。
(1)十進制數(shù)
DEC(Decimal)即為十進制數(shù),它有兩個特點:1)數(shù)值部分用10個不同的數(shù)字符號0、1、2、3、4、5、6、7、8、9來表示;2)逢十進一。
例:123.45
小數(shù)點左邊第一位代表個位,3在左邊1位上,它代表的數(shù)值是3×100,1在小數(shù)點左面3位上,代表的是1×102,5在小數(shù)點右面2位上,代表的是5×10?2。
123.45=1×102+2×101+3×100+4×10?1+5×10?2
一般對任意一個正的十進制數(shù)S,可表示為:
S=Kn?1(10)n?1+Kn?2(10)n?2+…+K0(10)0+K?1(10)?1+K?2(10)?2+…+K?m(10)?m
其中:kj是0、1、…、9中任意一個,由S決定,kj為權系數(shù);m,n為正整數(shù);10稱為計數(shù)制的基數(shù);(10)j稱為權值。
(2)二進制數(shù)
BIN(Binary)即為二進制數(shù),它是由0(OFF)和1(ON)組成的數(shù)據(jù),PLC的指令只能處理二進制數(shù)。它有兩個特點:1)數(shù)值部分用2個不同的數(shù)字符號0、1來表示;2)逢二進一。
二進制數(shù)化為十進制數(shù),通過按權展開相加法。
任意二進制數(shù)N可表示為:
N=±(Kn?1×2n?1+Kn?2×2n?2+…+K0×20+K?1×2?1+K?2×2?2+…+K-m×2?m)
其中:kj只能取0、1;m,n為正整數(shù);2是二進制的基數(shù)。
(3)八進制數(shù)
OCT(Octal)即為八進制數(shù),它有兩個特點:①數(shù)值部分用8個不同的數(shù)字符號0、1、3、4、5、6、7來表示;②逢八進一。
任意八進制數(shù)N可表示為:
N=±(Kn?1×8n?1+Kn?2×8n?2+…K0×80+K?1×8?1+K?2×8?2+…+K-m×8?m)
其中:kj只能取0、1、3、4、5、6、7;m,n為正整數(shù);8是基數(shù)。
因81=23,所以1位八進制數(shù)相當于3位二進制數(shù),根據(jù)這個對應關系,二進制與八進制間的轉換方法為從小數(shù)點向左向右每3位分為一組,不足3位者以0補足3位。
(4)十六進制數(shù)
HEX(Hexadecimal)即為十六進制數(shù),它有兩個特點:1)數(shù)值部分用16個不同的數(shù)字符號0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F來表示;2)逢十六進一。這里的A、B、C、D、E、F分別對應十進制數(shù)字中的10、11、12、13、14、15。
任意十六進制數(shù)N可表示為:
N=±(Kn?1×16n?1+Kn?2×16n?2+…+K0×160+K?1×16?1+K?2×16?2+…+K-m×16?m)
其中:kj只能取0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;m,n為正整數(shù);16是基數(shù)。
因161=24,所以1位十六制數(shù)相當于4位二進制數(shù),根據(jù)這個對應關系,二進制數(shù)轉換為十六進制數(shù)的轉換方法為從小數(shù)點向左向右每4位分為一組,不足4位者以0補足4位。十六進制數(shù)轉換為二進制數(shù)的轉換方法為從左到右將待轉換的十六制數(shù)中的每個數(shù)依次用4位二進制數(shù)表示。
(5)BCD(二制碼十進制數(shù))
BCD(Binary-Coded Decimal)為二制碼十進制數(shù)或二—十進制代碼,它是用4位二制數(shù)來表示1位十進制數(shù)中的0~9這10個數(shù)碼。BCD碼是一種二進制的數(shù)字編碼形式,用二進制編碼的十進制代碼。BCD碼這種編碼形式利用了四個位元素來儲存一個十進制的數(shù)碼,使二進制和十進制之間的轉換得以快捷的進行。
BCD碼可分為有權碼和無權碼兩類,有權BCD碼有8421碼、2421碼、5421碼,其中8421碼就是最常用的;無權BCD碼有余3碼和格雷碼。
8421 BCD碼是最基本和最常用的BCD碼,它和4位自然二進制碼相似,各位的權值為8、4、2、1,故稱為有權BCD碼。和4位自然二進制碼不同的是,它只選用了4位二進制碼中前10組代碼,即用0000~1001分別代表它所對應的十進制數(shù),余下的6組代碼不用。
Q系列PLC的CPU中能處理的數(shù)據(jù)長度為16位,所以存儲在各個寄存器中數(shù)值的表示范圍為0~9999。DEC、BIN、OCT、HEX和BCD的數(shù)值表示對比如表1-18所示。
表1-18 DEC、BIN、OCT、HEX和BCD的數(shù)值表示對比

1.5.2 數(shù)據(jù)類型
在FX/Q系列PLC的CPU中處理的數(shù)據(jù)類型主要有位數(shù)據(jù)、字數(shù)據(jù)、雙字數(shù)據(jù)、實數(shù)型數(shù)據(jù)、字符串型數(shù)據(jù)等。
1. 位數(shù)據(jù)
位數(shù)據(jù)是指用一位為單位使用的數(shù)據(jù),如觸點或線圈,可表示的數(shù)值只有0或1。“位軟元件”和“位指定字軟元件”可以被當作位數(shù)據(jù)使用。
當直接使用位軟元件時,只指定一個bit位。當使用位指定字軟元件時,字軟元件通過指定位號,使得指定位號的0或1被用于位數(shù)據(jù)。字軟元件的位指定是通過指定“字軟元件/位號”來完成的。例如D0的第3位(b3)指定為D0.3,D0的位12(b12)指定為D0.C。然而,對于定時器(T),累計定時器(ST),計數(shù)器(C)或索引寄存器(Z)而言,位指定不確定(如Z0.0就不存在),如圖1-47所示。

圖1-47 字軟元件的位確定
2. 字數(shù)據(jù)
字數(shù)據(jù)是基本指令和應用指令常用的16位數(shù)據(jù)類型。在Q系列PLC中,CPU模塊可以直接使用的字數(shù)據(jù)是十進制常數(shù)(?32768~+32767)和十六進制常數(shù)(0000~FFFF)。
由數(shù)位指定的位軟元件和字軟元件可以作為字數(shù)據(jù)使用。對于直接的訪問輸入(DX)和直接的訪問輸出(DY),字數(shù)據(jù)的指定不能通過數(shù)位指定來完成。
(1)當使用位軟元件時,經過數(shù)據(jù)的位數(shù)指定,位軟元件就可以處理字數(shù)據(jù)。位軟元件的位數(shù)指定是“位號/位軟元件的初始號”。位軟元件的位數(shù)指定為K1~K4。對于鏈接直接軟元件,指定是通過“J網絡號\數(shù)位指定/位軟元件的初始號”完成的。如X100到X10F指定網絡號No.3,即J3\K4X100。
例如:將X0進行數(shù)位指定,則根據(jù)K1~K4的不同進行如表1-19所示指定。
表1-19 X0數(shù)位指定

(2)當使用字軟元件時,在1個字單元(16位)中被指定,如圖1-48所示。

圖1-48 字軟元件的位數(shù)指定
3. 雙字數(shù)據(jù)
字數(shù)據(jù)是基本指令和應用指令常用的32位數(shù)據(jù)類型。在Q系列PLC中,CPU模塊可以直接使用雙字數(shù)據(jù)的是十進制常數(shù)(?2147483648~+2147483647)和十六進制常數(shù)(00000000~FFFFFFFF)。
經過數(shù)位指定的字軟元件和位軟元件可以當作雙字數(shù)據(jù)使用。對于直接訪問輸入(DX)和直接訪問輸出(DY),雙字數(shù)據(jù)的指定不能通過數(shù)位指定來完成。
(1)當使用位軟元件時,位軟元件的數(shù)位指定是通過“數(shù)位號/位軟元件的初始號”完成的。位軟元件的數(shù)位指定可以在4點(4位)單元中完成,可用于K1~K8的指定。對于鏈接直接軟元件,指定是通過“J網絡號\數(shù)位指定初始位軟元件號”完成的。如X100到X11F指定網絡號No.3,即J3\K8X100。
(2)當使用字軟元件時,雙字數(shù)據(jù)可以指定所使用的字軟元件的低16位。在32位指令中,使用(指定軟元件號)及(指定軟元件號+1),如圖1-49所示。

圖1-49 32位指令使用16位軟元件
4. 實數(shù)型數(shù)據(jù)
實數(shù)又稱為浮點數(shù),是用于基本指令和應用指令的浮點數(shù)據(jù),它分為單精度浮點數(shù)和雙精度浮點數(shù)。
單精度浮點數(shù)的數(shù)據(jù)長度為32位,其中最高位(bit31)為符號位,最低23位(bit22~bit0)為尾數(shù),中間8位(bit30~bit23)為指數(shù)部分。最高位為“0”,表示該數(shù)為正數(shù);最高位為“1”表示該數(shù)為負數(shù)。指數(shù)部分用BIN值表示2n的n值,實際值為2n?127。單精度浮點數(shù)表示的實數(shù)值=(?1)符號×1.[尾數(shù)部分]×2指數(shù)部分。
雙精度浮點數(shù)的數(shù)據(jù)長度為64位,其中最高位(bit63)為符號位,最低52位(bit51~bit0)為尾數(shù),中間11位(bit62~bit52)為指數(shù)部分。最高位為“0”,表示該數(shù)為正數(shù);最高位為“1”表示該數(shù)為負數(shù)。指數(shù)部分用BIN值表示2n的n值,實際值為2n?1023。雙精度浮點數(shù)表示的實數(shù)值=(?1)符號×1.[尾數(shù)部分]×2指數(shù)部分。
實數(shù)數(shù)據(jù)類型可以指定所使用的字軟元件的低16位。實數(shù)指令使用(指定的軟元件號)和(指定的軟元件號+1),如圖1-50所示。

圖1-50 實數(shù)指令使用字軟元件
5. 字符串型數(shù)據(jù)
字符串是基本指令和應用指令使用的字符型數(shù)據(jù),它包含從指定字符起至表示字符串末尾的NULL碼(00H)為止的所有數(shù)據(jù),每個字符占用一個字軟元件。
當指定字符是NULL碼(00H)時,使用一個字來存儲NULL碼,如圖1-51所示。

圖1-51 NULL碼的存儲情況
當字符數(shù)是偶數(shù)時,使用(字符數(shù)/2+1)字,并且存儲字符串和NULL碼。例如,“ABCD”傳送到以D0為起始的存儲器中,則字符串“ABCD”將被存儲到D0和D1中,NULL碼將被存儲到D2中,如圖1-52所示。

圖1-52 偶數(shù)時的存儲情況
當字符數(shù)是奇數(shù)時,使用(字符數(shù)/1+2)字,并且存儲字符串和NULL碼。例如,“ABCDE”傳送到以D0為起始的存儲器中,則字符串“ABCDE”和NULL碼依次存儲到D0~D2中,如圖1-53所示。

圖1-53 奇數(shù)時的存儲情況