PLC:200smart
第九章、進製轉換
計算器上的進製(了解) | 十六進製 | 十進製 | 八進製 | 二進製 |
---|---|---|---|---|
/ | HEX |
DEC |
OCT |
BIN |
/ | 0~9,A-F |
/ | / | 0 、1 組成 |
/ | 方便表達很大的樹 | / | / | / |
進製 | 二進製是八進製與十六進製相互轉換的媒介 |
---|---|
2# | 11010 |
8# | 32 (011是3;010是2) |
16# | 1A (0001是1;1010是A) |
例:二進製與(yu) 十進製相互轉換
二進製每位的1對應的十進製數
2# |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|---|
10# |
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
例:十進製轉二進製10# 100 =10# (64 + 32 + 4)
故10# 100 = 2# 1100100
例:二進製轉十進製2# 10101010 = 10# (128+32+8+4)= 10#170
例:二進製轉十六進製
2# 1100 0110 =16# C6
1100
轉成十六進製是C
,0110
轉成十六進製是6
;從(cong) 低位到高位4個(ge) 一組進行轉換;
例:十六進製轉二進製
16# 9F = 2# 1001 1111
將
9
轉成2
進製是1001
;將F
轉成2
進製是1111
,也是4
個(ge) 一組進行轉換
例:一些需要記住的數據2# 11111111 = 10# 255 =16# FF
2# 1111 1111 1111 1111 = 10# 65535 =16# FFFF
2# 32個(ge) 1 10# 42億(yi) 多 =16# FFFFFFFF
第十章、數據類型、數據存儲
1、數據類型
數據類型分為(wei) 兩(liang) 大類
無符號數:位、字節、字、雙字;
有符號數:整數、雙整數、浮點數;
1.1、無符號數
① 位,又叫Bit
或Bool,是一個(ge) 開關(guan) 量
或者數字量,隻有0
和1
兩(liang) 種狀態,是最小的存儲(chu) 單元(如I0.0
,Q0.0
,M0.0
,V0.0
);
範圍:0、1
注1:
I
、Q
、M
的數量太少了,都是隻有255
個(ge) ,不適合做存儲(chu) ;V
的數量很多,足夠用,可以專(zhuan) 門用來做存儲(chu) ;
注2:T
、C
也有兩(liang) 種狀態,但是不是位,是帶功能的指令
② 字節,又叫Byte
,又叫B
,由連續的8個(ge) 位組成,如QB0
(Q0.7<–Q0.0)、IB0
(I0.7<–I0.0);(左側(ce) 是高位,右側(ce) 是低位
)
範圍:0~255
存儲(chu) 器:使用VB
進行存儲(chu) ,如VB0
(V0.7<–V0.0)
③字,又叫Word,又連續的2個(ge) 字節(16位) 組成
範圍:0~65535
存儲(chu) 器:使用VW
進行存儲(chu) (間隔2),如VW0
(VB0和VB1)、VW2
(VB2和VB3)
④雙字,又叫DW
,由連續的2個(ge) 字(或連續的4個(ge) 字節,或連續的32個(ge) 位組成)
範圍:0~42億(yi) 多
存儲(chu) 器:使用VD
進行存儲(chu) (間隔4),
VD、VW、VB的關(guan) 係
總結
數據類型(無符號) | 位Bit |
字節B |
字 W |
雙字 DW |
---|---|---|---|---|
/ | 1位 | 8位 | 16位 | 32位 |
/ | 0,1 | 0~255 | 0~65535 | 0~42億多 |
對應的存儲器 | V |
VB |
VW |
VD |
1.2、有符號數
①整數,又叫INT
,簡稱I
,又連續的16個(ge) 位組成;
範圍:-32768~32767
存儲(chu) 器:使用VW
存儲(chu)
注:負數在計算機中是以補碼的形式進行存儲(chu) 的,也是以補碼的形式進行運算的
② 雙整數,又叫DINT
簡稱DI
,由連續的32個(ge) 位組成,
範圍:-21億(yi) 多~+21億(yi) 多
存儲(chu) 器:使用VD
進行存儲(chu) ;
③ 浮點數,又叫Real
,簡稱R
,是帶小數點的數,又連續的32個(ge) 位組成;
範圍:(-很大,0)U(0,+很大)
總結
數據類型(有符號) | 整數I |
雙整數DI |
浮點數R |
---|---|---|---|
/ | 16位 | 32位 | 32位 |
/ | -32768~32767 | -21億多~+21億多 | (-很大,0)U(0,+很大) |
對應的存儲器 | VW |
VD |
VD |
2、傳送指令
常用的有MOV_B
、MOV_W
、MOV_DW
、MOV_R
數據類型 | MOV_B |
MOV_W |
MOV_DW |
MOV_R |
---|---|---|---|---|
/ | 傳送字節 B |
傳送整數I |
傳送雙整數DI |
傳送浮點數R |
輸入 | BYTE |
INTI |
DINT |
REAL |
輸出 | BYTE |
INTI |
DINT |
REAL |
以
MOV_W
為(wei) 例,傳(chuan) 送整數,當傳(chuan) 送-1
時,out
顯示的是65535,可實際out是-1,將out用於(yu) 加法運算:out+1+0
例:使用傳(chuan) 送指令實現Q0.0
亮
按I0.0亮,按I0.1滅
例:按I0.0
,使Q0.7<--Q0.0
、Q1.7<--Q1.0
全亮
下麵三種方法都可
第十一章、比較指令、整數、浮點數的運算
1、比較指令
區別 | 等於 | 不等於 | 小於 | 大於 | 大於等於 | 小於等於 |
---|---|---|---|---|---|---|
生活中的比較 | = | ≠ | < | > | ≥ | ≤ |
PLC中的比較 | == |
< > |
< |
> |
>= |
<= |
每種比較數據指令有對應四種不同的數據類型:B
(字節)、I
(整數)、DI
(雙整數)、R
(浮點數);如下
例:如下圖,右鍵比較指令的符號–>寫(xie) 入,寫(xie) 一個(ge) 5
給VW0
,隨後Q0.0
得電
例:當溫度小於(yu) 16℃
時打開暖氣閥門,當溫度大於(yu) 26℃
時,關(guan) 閉閥門;
1、運算指令
按照數據類型分為(wei) 兩(liang) 大類:浮點數運算(R
)、整數運算(I
、DI
)
按照運算規則分為(wei) 四類:加(ADD
)、減(SUB
)、乘(MUL
)、除(DIV
)
分類 | 加 |
減 |
乘 |
除 (除數不為0) |
---|---|---|---|---|
R |
ADD_R | SUB_R | MUL_R | DIV_R |
I |
ADD_I | SUB_I | MUL_I 和 MUL | DIV_I 和 DIV |
DI |
ADD_DI | SUB_DI | MUL_DI | DIV_DI |
一些需要了解的運算指令:
平方根 | 正弦 | 餘弦 | 正切 | 自然對數 | 自然指數 | 微分/積分 |
---|---|---|---|---|---|---|
SQRT | SIN | COS | TAN | LN | EXP | DID |
1.1、浮點數運算
例:計算[(18.0+12.0)-10.0]x5.0÷5.0=20.0
1.2、整數運算
整數乘法:
MUI_I
:兩(liang) 個(ge) 16位
整數相乘,得到16位
整數;MUI
:兩(liang) 個(ge) 16位
整數相乘,得到32位
整數(由於(yu) 改變了數據類型,所用的少,當範圍不夠時直接使用MUL_DI
即可)
整數除法:
DIV_I
、DIV_DI
保留商,舍餘(yu)DIV
保留商和餘(yu) 數
例:已知圓柱形水桶的半徑r=30cm
,水深是用VD8
存儲(chu) ,求水的質量(kg
)
第十二章、遞增遞減、沿指令、邏輯取反,轉換指令
1、遞增遞減
分類 | 指令 | 指令 | 指令 |
---|---|---|---|
遞增 | INC_B |
INC_W |
INC_DW |
遞減 | DEC_B |
DEC_W |
DEC_DW |
範圍 | 字節:B |
整數:I |
雙整數:DI |
前後地址一樣(給自己+1、-1),必須結合沿指令
沿 | 注釋 |
---|---|
上升沿 | 從0到1,導通一個周期 |
下降沿 | 從0到1,導通一個周期 |
注:前後地址一樣且變化的指令,必須加沿指令
例:按I0.0
對VB0
遞增(結合沿指令)
例:按I0.0
對VB0
遞減(結合沿指令)
例:一鍵啟停,按I0.0,電機轉,再按電機停,再按電機轉,由此重複;
方法一:
方法二:
2、邏輯運算——取反
0變1,1變0
取反 | 字節取反 | 整數取反 | 雙整數取反 |
---|---|---|---|
指令 | INV_B |
INV_W |
INV_DW |
注:前後地址一樣且變化的指令,必須加沿指令
例:帶啟動I0.0
,暫停I0.1
,總停I0.2
的流水燈,三個(ge) 燈每個(ge) 亮3s,由此循環;
(按下暫停後,所有的燈都滅,再按一下暫停,從(cong) 上次停止得地方開始啟動)
3、填充指令FILL_N
用於(yu) 批量賦值,且是給多個(ge) 連續地址賦相同的值;
上麵程序的注釋:把整數35 賦值給已
VW0
開始的連續三個(ge) 整數(16位)
相當於(yu) 給多個(ge) 連續VW
傳(chuan) 送相同值;
常用語批量初始化,填充0
4、轉換指令
取反 | 字節<->整數 | 整數<->雙整數 | 雙整數->浮點數 | 浮點數 ->雙整數 |
---|---|---|---|---|
指令 | B_I 、I_B |
I_DI 、DI_I |
DI_R |
ROUND 四舍五入;TRUNC 舍小數取整 |
注:1、轉換指令用於(yu) 不同數據類型之間的計算(加、減、乘、除);
2、轉換的數的上限要以較小的數據類型的上限為(wei) 準;
運行時給
VW0
寫(xie) 入200
,給VD12
寫(xie) 入3.14
即可;