一、三菱PLC中的位、字、雙字
學習三菱PLC程式設計,理解位(bit)、字(WORD)雙字(DWORD)有助於對PLC工作原理的理解。
8位=1位元組(8bit=1byte)、2byte=1字、
16位=1字(16bit=1WORD)
32位=2字(32bit=1DWORD)
1、位
位表示一種狀態,只有0或1(斷或通)。結合三菱PLC可以看出,能表示狀態的軟元件有X、Y、M、S、T、C這些,我們也稱這些軟元件為位軟元件。(可以結合計算機以二進位制處理資料來理解)
2、字
字是由16個位組合構成的,字用來存放資料的軟元件,存放資料時,最高位為符號位。結合三菱PLC可以看出能存資料的軟元件有資料暫存器D等,我們也稱D為字軟元件。
一個16位資料暫存器,它的資料範圍是-32768~ +32767
3、雙字
雙字是由2個字構成的,也就是32位,雙字也用來存放資料的,最高位為符號位,其資料範圍為-2147483648~ +2147483647
4、位字雙字的區別
分析:M0為位軟元件,位表示狀態有OFF和ON
D0為字軟元件,儲存資料10。D1為字軟元件,儲存資料10。
當我們把D0作為雙字使用時,預設D0、D1一起使用,程式設計時要注意字與雙字,不要重複使用。對D0進行字和雙字監控會發現有不同的數值。
二、位、字的構造(以三菱PLC為例)
1、字的構造
除了上述的暫存器D,我們還可以用位軟元件來構造暫存器。
構造方式:在位軟元件前加D,由連續的16 個位元件組合而成(支援軟元件有X、Y、M、S、T、C),例如K4M0就是個字軟元件(M0~M15組合成字,組合成字使用時,注意其他地方程式設計不要使用衝突),而不是平時看到的輔助繼電器M0。同樣X0(表示X0~XF這16個位軟元件被組合成字K4X0)
如下圖舉例,K4M10是個字,存放資料10。
2、位的構造
我們也可以逆向思維,根據字是由16個位組合成的,那麼位也可以由字拆開成一位一位這樣使用,也就是字軟元件的某一位單獨使用。
位的構造方式:Dn.n。舉例:例如我們要把字軟元件D0中的兩個位作位軟元件使用,可以直接使用D0.F、D0.3,具體可以看下圖示例。
程式舉例:
分析:如果想要控制D0.3為ON,我們只需要程式執行前D0.F這個位軟元件位ON就可以了。由於是字拆分成位用,只需要對應的位為數值1就為ON狀態。
D0的二進位制值為B1000000000001000(16位0和1組成)。
一、三菱PLC中的位、字、雙字
學習三菱PLC程式設計,理解位(bit)、字(WORD)雙字(DWORD)有助於對PLC工作原理的理解。
8位=1位元組(8bit=1byte)、2byte=1字、
16位=1字(16bit=1WORD)
32位=2字(32bit=1DWORD)
1、位
位表示一種狀態,只有0或1(斷或通)。結合三菱PLC可以看出,能表示狀態的軟元件有X、Y、M、S、T、C這些,我們也稱這些軟元件為位軟元件。(可以結合計算機以二進位制處理資料來理解)
2、字
字是由16個位組合構成的,字用來存放資料的軟元件,存放資料時,最高位為符號位。結合三菱PLC可以看出能存資料的軟元件有資料暫存器D等,我們也稱D為字軟元件。
一個16位資料暫存器,它的資料範圍是-32768~ +32767
3、雙字
雙字是由2個字構成的,也就是32位,雙字也用來存放資料的,最高位為符號位,其資料範圍為-2147483648~ +2147483647
4、位字雙字的區別
分析:M0為位軟元件,位表示狀態有OFF和ON
D0為字軟元件,儲存資料10。D1為字軟元件,儲存資料10。
當我們把D0作為雙字使用時,預設D0、D1一起使用,程式設計時要注意字與雙字,不要重複使用。對D0進行字和雙字監控會發現有不同的數值。
二、位、字的構造(以三菱PLC為例)
1、字的構造
除了上述的暫存器D,我們還可以用位軟元件來構造暫存器。
構造方式:在位軟元件前加D,由連續的16 個位元件組合而成(支援軟元件有X、Y、M、S、T、C),例如K4M0就是個字軟元件(M0~M15組合成字,組合成字使用時,注意其他地方程式設計不要使用衝突),而不是平時看到的輔助繼電器M0。同樣X0(表示X0~XF這16個位軟元件被組合成字K4X0)
如下圖舉例,K4M10是個字,存放資料10。
2、位的構造
我們也可以逆向思維,根據字是由16個位組合成的,那麼位也可以由字拆開成一位一位這樣使用,也就是字軟元件的某一位單獨使用。
位的構造方式:Dn.n。舉例:例如我們要把字軟元件D0中的兩個位作位軟元件使用,可以直接使用D0.F、D0.3,具體可以看下圖示例。
程式舉例:
分析:如果想要控制D0.3為ON,我們只需要程式執行前D0.F這個位軟元件位ON就可以了。由於是字拆分成位用,只需要對應的位為數值1就為ON狀態。
D0的二進位制值為B1000000000001000(16位0和1組成)。