18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎及應用 >> 正文

西門子S7-200 PLC指令學習

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-07-05

S7-200係列的基本邏輯指令與(yu) FX係列和CPM1A係列基本邏輯指令大體(ti) 相似,編程和梯形圖表達方式也相差不多,這裏列表表示S7-200係列的基本邏輯指令(見表)。

表 S7-200係列的基本邏輯指令

指令名稱

指令符

功能

操作數

LD bit

讀入邏輯行或電路塊的**個(ge) 常開接點

Bit:

I,Q,M,SM,T,C,V,S

取反

LDN bit

讀入邏輯行或電路塊的**個(ge) 常閉接點

與(yu)

A bit

串聯一個(ge) 常開接點

與(yu) 非

AN bit

串聯一個(ge) 常閉接點

O bit

並聯一個(ge) 常開接點

或非

ON bit

並聯一個(ge) 常閉接點

電路塊與(yu)

ALD

串聯一個(ge) 電路塊

電路塊或

OLD

並聯一個(ge) 電路塊

輸出

= bit

輸出邏輯行的運算結果

Bit:Q,M,SM,T,C,V,S

置位

S bit,N

置繼電器狀態為(wei) 接通

Bit:

Q,M,SM,V,S

複位

R bit,N

使繼電器複位為(wei) 斷開

S7-200係列PLC的比較指令

在SIEMENS S7-200的編程軟件STEP-7中,有專(zhuan) 門的比較指令:IN1與(yu) IN2比較,比較的數據類型可以是B、I(W)、D、R,即字節、字整數、雙字整數和實數;還可以有其他的比較式:>、<、≥、≤、<>等等。當滿足比較等式,則該觸點閉合。

與(yu) LMODSOFT指令對照:在LMODSOFT中,沒有直接的數的比較指令,但SUB指令可以通過其執行減法功能後的三個(ge) 輸出端的狀態實現整數的比較功能。

若與(yu) LMODSOFT 中的SUB指令對應,則在STEP-7中應有三個(ge) 比較指令: >、=、< 來分別對應SUB 指令的三個(ge) 輸出;若還要對應≥、≤、或<>,則根據SUB指令三個(ge) 輸出端的不同組合,均可找到對應的比較指令。

比如:①(30007)>(40030)

②(30007)=(40030)

③ (30007)<(40030)

①+②(30007)≥

②+③(30007)≤(40030)

①+③(30007)<>(40030)

S7-200係列PLC的定時器指令

類型、編號及分辨率

TON——接通延時

TONR——有記憶接通延時

TOF——斷開延時

3種分辨率(時基):1ms、10ms、100ms——分別對應不同的定時器號

定時器6個(ge) 要素:

指令格式(時基、編號等) 預置值——PT

使能——IN 複位——3種定時器不同

當前值——Txxx 定時器狀態(位)——可由觸點顯示

定時值=時基×預置值PT。由於(yu) 定時器的計時間隔與(yu) 程序的掃描周期並不同步,定時器可能在其時基(1ms、10ms、100ms)內(nei) 任何時間啟動,所以,未避免計時時間丟(diu) 失,一般要求設置PT預置值必須大於(yu) 最小需要的時間間隔。例如:使用10ms時基定時器實現140ms延時(時間間隔),則PT應設置為(wei) 15(10ms×15=150ms)。

2) 功能

(1) 接通延時定時器TON——一般用於(yu) 單一時間間隔的定時

指令格式:見圖,編號與(yu) 分辨率及定時器類型有關(guan) 。(見教材P221:Fig8-3-3a)

使能:——IN: I2.0 =“1”

當前值——T33,當在線(Online)時,此處顯示當前值

預置值——PT=3,即定時時間=10ms×3=30ms

複位——IN:I2.0 = “0”

定時器狀態(位)——“1”或“0”

與(yu) MODICON PLC的定時器指令對照:

區別:對MODICON PLC,當10001=“0” ,10002=“1”時,定時器當前值保持;當計時時間到,即(40040)= 30時,隻要10002=“1”,定時器也是保持

對S7-200 PLC, 隻要I0.0=“1”,即計時,當T33當前值=3時,定時器繼續計時,直至I0.0=“0”,定時器複位(相當於(yu) 10002=“0” )

(1) 斷開延時定時器TOF——一般用於(yu) 故障時間後的時間延時

指令格式:見圖,編號與(yu) 分辨率及定時器類型有關(guan) 。

注意: 定時器狀態(位)=“1”(置位)及當前值複0與(yu) 使能.I0.0=“1”同步;計時開始與(yu) 使能I0.0從(cong) “1”→“0”(斷開)同步,且當計時時間到而使能仍=“0”時,當前值保持。

(2) 有記憶接通延時定時器TONR——一般用於(yu) 累計許多時間間隔(指令功能及時序圖見教材P222:Fig8-3-3c)

指令格式:見圖,編號與(yu) 分辨率及定時器類型有關(guan) 。

注意: 定時器狀態(位)=“1”(置位)及當前值複0與(yu) 使能.I0.0=“1”同步;計時開始與(yu) 使能I0.0從(cong) “1”→“0”(斷開)同步,且當計時時間到而使能仍=“0”時,當前值保持。

(3) 有記憶接通延時定時器TONR——一般用於(yu) 累計許多時間間隔

S7-200係列PLC的計數器指令

1)類型及編號

CTU——增計數

CTD——減計數 C0~C255

CTUD——增減計數

計數器6個(ge) 要素: 指令格式(類型、編號等) 預置值——PV

使能——CU、CD 複位——R、LD

當前值——Cxxx 計數器狀態(位)——與(yu) 定時器類似

2)功能、時序圖及應用示例

此例為(wei) 一個(ge) 增減計數器的應用示例,其與(yu) MODICON PLC計數器指令的比較,同學可自己進行,並注意到,計數器指令的使能均是采樣上升沿(“0” →“1” )。

S7-200係列PLC其它常用指令

1.脈衝(chong) 產(chan) 生指令EU/ED的應用

EU指令在EU指令前的邏輯運算結果由OFF到ON時就產(chan) 生一個(ge) 寬度為(wei) 一個(ge) 掃描周期的脈衝(chong) ,驅動其後麵的輸出線圈。

2 .邏輯堆棧的操作

LPS為(wei) 進棧操作,LRD為(wei) 讀棧操作,LPP為(wei) 出棧操作。

S7-200係列PLC中有一個(ge) 9層堆棧,用於(yu) 處理邏輯運算結果,稱為(wei) 邏輯堆棧。

3 .NOT、NOP和MEND指令

NOT、NOP及MEND指令的形式及功能如表4-19所示。

表4-19  NOT、NOP及MEND指令的形式及功能

STL

功能

操作數

NOT

邏輯結果取反

NOP

空操作

MEND

無條件結束

NOT為(wei) 邏輯結果取反指令,在複雜邏輯結果取反時為(wei) 用戶提供方便。NOP為(wei) 空操作,對程序沒有實質影響。MEND為(wei) 無條件結束指令,在編程結束時一定要寫(xie) 上該指令,否則會(hui) 出現編譯錯誤。調試程序時,在程序的適當位置插入MEND指令可以實現程序的分段調試。

4.比較指令

比較指令是將兩(liang) 個(ge) 操作數按規定的條件作比較,條件成立時,觸點就閉合。比較運算符有:=、>=、<=、>、<和<>。

(1)字節比較 字節比較用於(yu) 比較兩(liang) 個(ge) 字節型整數值INl和IN2的大小,字節比較是無符號的。比較式可以是LDB、AB或OB後直接加比較運算符構成。如:LDB=、AB<>、OB>=等。

整數INl和IN2的尋址範圍:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常數。

指令格式例如: LDB= VBl0,VBl2

(2)整數比較 整數比較用於(yu) 比較兩(liang) 個(ge) 一字長整數值INl和IN2的大小,整數比較是有符號的(整數範圍為(wei) 16#8000和16#7FFF之間)。比較式可以是LDW、AW或OW後直接加比較運算符構成。如:LDW=、AW<>。OW>=等。

整數INl和IN2的尋址範圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常數。

指令格式例如: LDW= VWl0,VWl2

(3)雙字整數比較 雙字整數比較用於(yu) 比較兩(liang) 個(ge) 雙字長整數值INl和IN2的大小,雙字整數比較是有符號的(雙字整數範圍為(wei) 16#80000000和16#7FFFFFFF之間)。比較式可以是LDD、AD或OD後直接加比較運算符構成。如:LDD=、AD<>、OD>=等。

雙字整數INl和IN2的尋址範圍:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常數。

指令格式例如: LDD= VDl0,VDl2

(4)實數比較 實數比較用於(yu) 比較兩(liang) 個(ge) 雙字長實數值INl和IN2的大小,實數比較是有符號的(負實數範圍為(wei) -1.175495E-38和-3.402823E+38,正實數範圍為(wei) +1.175495E-38和+3.402823E+38)。比較式可以是LDR、AR或OR後直接加比較運算符構成。如:LDR=、AR<>、OR>=等。

實數INl和IN2的尋址範圍:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常數。

指令格式例如: LDR= VDl0,VDl2

S7-200PLC功能指令概述

般的邏輯控製係統用軟繼電器、定時器和計數器及基本指令就可以實現。利用功能指令可以開發出更複雜的控製係統,以致構成網絡控製係統。這些功能指令實際上是廠商為(wei) 滿足各種客戶的特殊需要而開發的通用子程序。功能指令的豐(feng) 富程度及其合用的方便程度是衡量PLC性能的一個(ge) 重要指標。

S7-200的功能指令很豐(feng) 富,大致包括這幾方麵:算術與(yu) 邏輯運算、傳(chuan) 送、移位與(yu) 循環移位、程序流控製、數據表處理、PID指令、數據格式變換、高速處理、通信以及實時時鍾等。

功能指令的助記符與(yu) 匯編語言相似,略具計算機知識的人學習(xi) 起來也不會(hui) 有太大困難。但S7-200係列PLC功能指令畢竟太多,一般讀者不必準確記憶其詳盡用法,需要時可可查閱產(chan) 品手冊(ce) 。

S7-200PLC四則運算指令介紹

四則運算指令如表4-20所示。

表4-20 四則運算指令

名稱

指令格式

(語句表)

功能

操作數尋址範圍

加法指令

+I IN1,OUT

兩(liang) 個(ge) 16位帶符號整數相加,得到一個(ge) 16位帶符號整數。

執行結果:IN1+OUT=OUT(在LAD和FBD中為(wei) :IN1+IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2還可以是AIW和常數

+D IN1,IN2

兩(liang) 個(ge) 32位帶符號整數相加,得到一個(ge) 32位帶符號整數。

執行結果:IN1+OUT=OUT(在LAD和FBD中為(wei) :IN1+IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是HC和常數

+R IN1,OUT

兩(liang) 個(ge) 32位實數相加,得到一個(ge) 32位實數。

執行結果:IN1+OUT=OUT(在LAD和FBD中為(wei) :IN1+IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以常數

減法指令

-I IN1,OUT

兩(liang) 個(ge) 16位帶符號整數相減,得到一個(ge) 16位帶符號整數。

執行結果:OUT-IN1=OUT(在LAD和FBD中為(wei) :IN1-IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2還可以是AIW和常數

-D IN1,OUT

兩(liang) 個(ge) 32位帶符號整數相減,得到一個(ge) 32位帶符號整數。

執行結果:OUT-IN1=OUT(在LAD和FBD中為(wei) :IN1-IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是HC和常數

-R IN1,OUT

兩(liang) 個(ge) 32位實數相加,得到一個(ge) 32位實數。

執行結果:OUT-IN1=OUT(在LAD和FBD中為(wei) :IN1-IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以常數

乘法指令

*I IN1,OUT

兩(liang) 個(ge) 16位符號整數相乘,得到一個(ge) 16整數。

執行結果:IN1*OUT=OUT(在LAD和FBD中為(wei) :IN1*IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2還可以是AIW和常數

MUL IN1,OUT

兩(liang) 個(ge) 16位帶符號整數相乘,得到一個(ge) 32位帶符號整數。

執行結果:IN1*OUT=OUT(在LAD和FBD中為(wei) :IN1*IN2=OUT)

IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數

OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

*D IN1,OUT

兩(liang) 個(ge) 32位帶符號整數相乘,得到一個(ge) 32位帶符號整數。

執行結果:IN1*OUT=OUT(在LAD和FBD中為(wei) :IN1*IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是HC和常數

*R IN1,OUT

兩(liang) 個(ge) 32位實數相乘,得到一個(ge) 32位實數。

執行結果:IN1*OUT=OUT(在LAD和FBD中為(wei) :IN1*IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是常數

除法指令

/I IN1,OUT

兩(liang) 個(ge) 16位帶符號整數相除,得到一個(ge) 16位帶符號整數商,不保留餘(yu) 數。

執行結果:OUT/IN1=OUT(在LAD和FBD中為(wei) :IN1/IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2還可以是AIW和常數

DIV IN1,OUT

兩(liang) 個(ge) 16位帶符號整數相除,得到一個(ge) 32位結果,其中低16位為(wei) 商,高16位為(wei) 結果。

執行結果:OUT/IN1=OUT(在LAD和FBD中為(wei) :IN1/IN2=OUT)

IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數

OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

/D IN1,OUT

兩(liang) 個(ge) 32位帶符號整數相除,得到一個(ge) 32位整數商,不保留餘(yu) 數。

執行結果:OUT/IN1=OUT(在LAD和FBD中為(wei) :IN1/IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是HC和常數

/R IN1,OUT

兩(liang) 個(ge) 32位實數相除,得到一個(ge) 32位實數商。

執行結果:OUT/IN1=OUT(在LAD和FBD中為(wei) :IN1/IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是常數

數學函數指令

SQRT IN,OUT

把一個(ge) 32位實數(IN)開平方,得到32位實數結果(OUT)

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是常數

LN IN,OUT

對一個(ge) 32位實數(IN)取自然對數,得到32位實數結果(OUT)

EXP IN,OUT

對一個(ge) 32位實數(IN)取以e為(wei) 底數的指數,得到32位實數結果(OUT)

SIN IN,OUT

分別對一個(ge) 32位實數弧度值(IN)取正弦、餘(yu) 弦、正切,得到32位實數結果(OUT)

COS IN,OUT

TAN IN,OUT

增減指令

INCB OUT

將字節無符號輸入數加1

執行結果:OUT+1=OUT(在LAD和FBD中為(wei) :IN+1=OUT)

IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN還可以是常數

DECB OUT

將字節無符號輸入數減1

執行結果:OUT-1=OUT(在LAD和FBD中為(wei) :IN-1=OUT)

INCW OUT

將字(16位)有符號輸入數加1

執行結果:OUT+1=OUT(在LAD和FBD中為(wei) :IN+1=OUT)

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN還可以是AIW和常數

DECW OUT

將字(16位)有符號輸入數減1

執行結果:OUT-1=OUT(在LAD和FBD中為(wei) :IN-1=OUT)

INCD OUT

將雙字(32位)有符號輸入數加1

執行結果:OUT+1=OUT(在LAD和FBD中為(wei) :IN+1=OUT)

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是HC和常數

DECD OUT

將字(32位)有符號輸入數減1

執行結果:OUT-1=OUT(在LAD和FBD中為(wei) :IN-1=OUT)

S7-200PLC邏輯運算指令

邏輯運算指令如表4-21所示。

表4-21 邏輯運算指令

名稱

指令格式

(語句表)

功能

操作數

字節邏輯運算指令

ANDB IN1,OUT

將字節IN1和OUT按位作邏輯與(yu) 運算,OUT輸出結果

IN1,IN2,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN1和IN2還可以是常數

ORB IN1,OUT

將字節IN1和OUT按位作邏輯或運算,OUT輸出結果

XORB IN1,OUT

將字節IN1和OUT按位作邏輯異或運算,OUT輸出結果

INVB OUT

將字節OUT按位取反,OUT輸出結果

字邏輯運算指令

ANDW IN1,OUT

將字IN1和OUT按位作邏輯與(yu) 運算,OUT輸出結果

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN1和IN2還可以是AIW和常數

ORW IN1,OUT

將字IN1和OUT按位作邏輯或運算,OUT輸出結果

XORW IN1,OUT

將字IN1和OUT按位作邏輯異或運算,OUT輸出結果

INVW OUT

將字OUT按位取反,OUT輸出結果

雙字邏輯運算指令

ANDD IN1,OUT

將雙字IN1和OUT按位作邏輯與(yu) 運算,OUT輸出結果

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2還可以是HC和常數

ORD IN1,OUT

將雙字IN1和OUT按位作邏輯或運算,OUT輸出結果

XORD IN1,OUT

將雙字IN1和OUT按位作邏輯異或運算,OUT輸出結果

INVD OUT

將雙字OUT按位取反,OUT輸出結果

S7-200PLC數據傳(chuan) 送指令

數據傳(chuan) 送指令如表4-22所示。

表4-22 數據傳(chuan) 送指令

名稱

指令格式

(語句表)

功能

操作數

單一傳(chuan) 送指令

MOVB IN,OUT

將IN的內(nei) 容拷貝到OUT中

IN和OUT的數據類型應相同,可分別為(wei) 字,字節,雙字,實數

IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN還可以是常數

MOVW IN,OUT

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN還可以是AIW和常數

OUT還可以是AQW

MOVD IN,OUT

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是HC,常數,&VB,&IB,&QB,&MB,&T,&C

MOVR IN,OUT

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是常數

BIR IN,OUT

立即讀取輸入IN的值,將結果輸出到OUT

IN:IB

OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

BIW IN,OUT

立即將IN單元的值寫(xie) 到OUT所指的物理輸出區

IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數

OUT:QB

塊傳(chuan) 送指令

BMB IN,OUT,N

將從(cong) IN開始的連續N個(ge) 字節數據拷貝到從(cong) OUT開始的數據塊

N的有效範圍是1~255

IN,OUT:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數

BMW IN,OUT,N

將從(cong) IN開始的連續N個(ge) 字數據拷貝到從(cong) OUT開始的數據塊

N的有效範圍是1~255

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD

IN還可以是AIW

OUT還可以是AQW

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數

BMD IN,OUT,N

將從(cong) IN開始的連續N個(ge) 雙字數據拷貝到從(cong) OUT開始的數據塊

N的有效範圍是1~255

IN,OUT:VD,ID,QD,MD,SD,SMD,LD, *VD,*AC,*LD

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數

S7-200PLC移位與(yu) 循環移位指令

移位與(yu) 循環移位指令如表4-23所示。

表4-23 移位與(yu) 循環移位指令

名稱

指令格式

(語句表)

功能

操作數

字節移位指令

SRB OUT,N

將字節OUT右移N位,最左邊的位依次用0填充

IN,OUT,N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN和N還可以是常數

SLB OUT,N

將字節OUT左移N位,最右邊的位依次用0填充

RRB OUT,N

將字節OUT循環右移N位,從(cong) 最右邊移出的位送到OUT的最左位

RLB OUT,N

將字節OUT循環左移N位,從(cong) 最左邊移出的位送到OUT的最右位

字移位指令

SRW OUT,N

將字OUT右移N位,最左邊的位依次用0填充

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN還可以是AIW和常數

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

SLW OUT,N

將字OUT左移N位,最右邊的位依次用0填充

RRW OUT,N

將字OUT循環右移N位,從(cong) 最右邊移出的位送到OUT的最左位

RLW OUT,N

將字OUT循環左移N位,從(cong) 最左邊移出的位送到OUT的最右位

雙字移位指令

SRD OUT,N

將雙字OUT右移N位,最左邊的位依次用0填充

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是HC和常數

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

SLD OUT,N

將雙字OUT左移N位,最右邊的位依次用0填充

RRD OUT,N

將雙字OUT循環右移N位,從(cong) 最右邊移出的位送到OUT的最左位

RLD OUT,N

將雙字OUT循環左移N位,從(cong) 最左邊移出的位送到OUT的最右位

位移位寄存器指令

SHRB DATA,S_BIT,N

將DATA的值(位型)移入移位寄存器;S_BIT**移位寄存器的**位,N**移位寄存器的長度(正向移位=N,反向移位=-N)

DATA,S_BIT:I,Q,M,SM,T,C,V,S,L

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

S7-200PLC交換和填充指令

交換和填充指令如表4-24所示。

表4-24 交換和填充指令

名稱

指令格式

(語句表)

功能

操作數

換字節指令

SWAP IN

將輸入字IN的高位字節與(yu) 低位字節的內(nei) 容交換,結果放回IN中

IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

填充指令

FILL IN,OUT,N

用輸入字IN填充從(cong) OUT開始的N個(ge) 字存儲(chu) 單元

N的範圍為(wei) 1~255

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN還可以是AIW和常數

OUT還可以是AQW

N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

S7-200PLC 表操作指令

表操作指令如表4-25所示。

表4-25 表操作指令

名稱

指令格式

(語句表)

功能

操作數

表存數指令

ATT DATA,TABLE

將一個(ge) 字型數據DATA添加到表TABLE的末尾。EC值加1

DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

DATA還可以是AIW,AC和常數

表取數指令

FIFO TABLE,DATA

將表TABLE的**個(ge) 字型數據刪除,並將它送到DATA**的單元。表中其餘(yu) 的數據項都向前移動一個(ge) 位置,同時實際填表數EC值減1

DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C, *VD,*AC,*LD

DATA還可以是AQW和AC

LIFO TABLE,DATA

將表TABLE的最後一個(ge) 字型數據刪除,並將它送到DATA**的單元。剩餘(yu) 數據位置保持不變,同時實際填表數EC值減1

表查找指令

FND= TBL,PTN,INDEX

FND<> TBL,PTN,INDEX

FND< TBL,PTN,INDEX

FND> TBL,PTN,INDEX

搜索表TBL,從(cong) INDEX**的數據項開始,用給定值PTN檢索出符合條件(=,<>,<,>)的數據項

如果找到一個(ge) 符合條件的數據項,則INDEX指明該數據項在表中的位置。如果一個(ge) 也找不到,則INDEX的值等於(yu) 數據表的長度。為(wei) 了搜索下一個(ge) 符合的值,在再次使用該指令之前,必須先將INDEX加1

TBL:VW,IW,QW,MW,SMW,LW,T,C, *VD,*AC,*LD

PTN,INDEX:VW,IW,QW,MW,SW,SMW,LW,T,C,AC, *VD,*AC,*LD

PTN還可以是AIW和AC

S7-200PLC 數據轉換指令

數據轉換指令如表4-26所示。

表4-26 數據轉換指令

名稱

指令格式

(語句表)

功能

操作數

數據類型轉換指令

BTI IN,OUT

將字節輸入數據IN轉換成整數類型,結果送到OUT,無符號擴展

IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

ITB IN,OUT

將整數輸入數據IN轉換成一個(ge) 字節,結果送到OUT。輸入數據超出字節範圍(0~255)則產(chan) 生溢出

IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數

OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

DTI IN,OUT

將雙整數輸入數據IN轉換成整數,結果送到OUT。

IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD,常數

OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

ITD IN,OUT

將整數輸入數據IN轉換成雙整數(符號進行擴展),結果送到OUT

IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數

OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

ROUND IN,OUT

將實數輸入數據IN轉換成雙整數,小數部分四舍五入,結果送到OUT

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是常數

在ROUND指令中IN還可以是HC

TRUNC IN,OUT

將實數輸入數據IN轉換成雙整數,小數部分直接舍去,結果送到OUT

DTR IN,OUT

將雙整數輸入數據IN轉換成實數,結果送到OUT

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN還可以是HC和常數

BCDI OUT

將BCD碼輸入數據IN轉換成整數,結果送到OUT。IN的範圍為(wei) 0~9999

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN還可以是AIW和常數

AC和常數

IBCD OUT

將整數輸入數據IN轉換成BCD碼,結果送到OUT。IN的範圍為(wei) 0~9999

編碼譯碼指令

ENCO IN,OUT

將字節輸入數據IN的**有效位(值為(wei) 1的位)的位號輸出到OUT**的字節單元的低4位

IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數

OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

DECO IN,OUT

根據字節輸入數據IN的低4位所表示的位號將OUT所**的字單元的相應位置1,其它位置0

IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數

IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,AC,*VD,*AC,*LD

段碼指令

SEG IN,OUT

根據字節輸入數據IN的低4位有效數字產(chan) 生相應的七段碼,結果輸出到OUT,OUT的**位恒為(wei) 0

IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN還可以是常數

字符串轉換指令

ATH IN,OUT,LEN

把從(cong) IN開始的長度為(wei) LEN的ASCⅡ碼字符串轉換成16進製數,並存放在以OUT為(wei) 首地址的存儲(chu) 區中。合法的ASCⅡ碼字符的16進製值在30H~39H,41H~46H之間,字符串的**長度為(wei) 255個(ge) 字符

IN,OUT,LEN:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD

LEN還可以是AC和常數

S7-200PLC 特殊指令

特殊指令如表4-27所示。PLC中一些實現特殊功能的硬件需要通過特殊指令來使用,可實現特定的複雜的控製目的,同時程序的編製非常簡單。

表4-27 特殊指令

名稱

指令格式

(語句表)

功能

操作數

中斷指令

ATCH INT,EVNT

把一個(ge) 中斷事件(EVNT)和一個(ge) 中斷程序聯係起來,並允許該中斷事件

INT:常數

EVNT:常數(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33)

DTCH EVNT

截斷一個(ge) 中斷事件和所有中斷程序的聯係,並禁止該中斷事件

ENI

全局地允許所有被連接的中斷事件

DISI

全局地關(guan) 閉所有被連接的中斷事件

CRETI

根據邏輯操作的條件從(cong) 中斷程序中返回

RETI

位於(yu) 中斷程序結束,是必選部分,程序編譯時軟件自動在程序結尾加入該指令

通信指令

NETR TBL,PORT

初始化通訊操作,通過指令端口(PORT)從(cong) 遠程設備上接收數據並形成表(TBL)。可以從(cong) 遠程站點讀最多16個(ge) 字節的信息

TBL:VB,MB,*VD,*AC,*LD

PORT:常數

NETW TBL,PORT

初始化通訊操作,通過**端口(PORT)向遠程設備寫(xie) 表(TBL)中的數據,可以向遠程站點寫(xie) 最多16個(ge) 字節的信息

XMT TBL,PORT

用於(yu) 自由端口模式。**激活發送數據緩衝(chong) 區(TBL)中的數據,數據緩衝(chong) 區的**個(ge) 數據指明了要發送的字節數,PORT**用於(yu) 發送的端口

TBL:VB,IB,QB,MB,SB,SMB,*VD,*AC,*LD

PORT:常數(CPU221/222/224為(wei) 0;CPU226為(wei) 0或1)

RCV TBL,PORT

激活初始化或結束接收信息的服務。通過**端口(PORT)接收的信息存儲(chu) 於(yu) 數據緩衝(chong) 區(TBL),數據緩衝(chong) 區的**個(ge) 數據指明了接收的字節數

GPA ADDR,PORT

讀取PORT**的CPU口的站地址,將數值放入ADDR**的地址中

ADDR:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

在SPA指令中ADDR還可以是常數

PORT:常數

SPA ADDR,PORT

將CPU口的站地址(PORT)設置為(wei) ADDR**的數值

時鍾指令

TODR T

讀當前時間和日期並把它裝入一個(ge) 8字節的緩衝(chong) 區(起始地址為(wei) T)

T:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD

TODW T

將包含當前時間和日期的一個(ge) 8字節的緩衝(chong) 區(起始地址是T)裝入時鍾

高速計數器指令

HDEF HSC,MODE

為(wei) **的高速計數器分配一種工作模式。每個(ge) 高速計數器使用之前必須使用HDEF指令,且隻能使用一次

HSC:常數(0~5)

MODE:常數(0~11)

HSC N

根據高速計數器特殊存儲(chu) 器位的狀態,按照HDEF指令**的工作模式,設置和控製高速計數器。N**了高速計數器號

N:常數(0~5)

高速脈衝(chong) 輸出指令

PLS Q

檢測用戶程序設置的特殊存儲(chu) 器位,激活由控製位定義(yi) 的脈衝(chong) 操作,從(cong) Q0.0或Q0.1輸出高速脈衝(chong)

可用於(yu) 激活高速脈衝(chong) 串輸出(PTO)或寬度可調脈衝(chong) 輸出(PWM)

Q:常數(0或1)

PID回路指令

PID TBL,LOOP

運用回路表中的輸入和組態信息,進行PID運算。要執行該指令,邏輯堆棧頂(TOS)必須為(wei) ON狀態。TBL**回路表的起始地址,LOOP**控製回路號

回路表包含9個(ge) 用來控製和監視PID運算的參數:過程變量當前值(PV n ),過程變量前值(PV n-1 ),給定值(SP n ),輸出值(M n ),增益(Kc),采樣時間(Ts),積分時間(Ti),微分時間(Td)和積分項前值(MX)

為(wei) 使PID計算是以所要求的采樣時間進行,應在定時中斷執行中斷服務程序或在由定時器控製的主程序中完成,其中定時時間必須填入回路表中,以作為(wei) PID指令的一個(ge) 輸入參數

TBL:VB

LOOP:常數

Tags:西門子,S7-200,PLC指令學習  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢