S7-200PLC四則運(yùn)算指令介紹
表4-20 四則運(yùn)算指令
名稱 |
指令格式 (語(yǔ)句表) |
功能 |
操作數(shù)尋址范圍 |
加法指令 |
+I IN1,OUT |
兩個(gè)16位帶符號(hào)整數(shù)相加,得到一個(gè)16位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2還可以是AIW和常數(shù) |
+D IN1,IN2 |
兩個(gè)32位帶符號(hào)整數(shù)相加,得到一個(gè)32位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是HC和常數(shù) |
|
+R IN1,OUT |
兩個(gè)32位實(shí)數(shù)相加,得到一個(gè)32位實(shí)數(shù)。 執(zhí)行結(jié)果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以常數(shù) |
|
減法指令 |
-I IN1,OUT |
兩個(gè)16位帶符號(hào)整數(shù)相減,得到一個(gè)16位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2還可以是AIW和常數(shù) |
-D IN1,OUT |
兩個(gè)32位帶符號(hào)整數(shù)相減,得到一個(gè)32位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是HC和常數(shù) |
|
-R IN1,OUT |
兩個(gè)32位實(shí)數(shù)相加,得到一個(gè)32位實(shí)數(shù)。 執(zhí)行結(jié)果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以常數(shù) |
|
乘法指令 |
*I IN1,OUT |
兩個(gè)16位符號(hào)整數(shù)相乘,得到一個(gè)16整數(shù)。 執(zhí)行結(jié)果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2還可以是AIW和常數(shù) |
MUL IN1,OUT |
兩個(gè)16位帶符號(hào)整數(shù)相乘,得到一個(gè)32位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT) |
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數(shù) OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD |
|
*D IN1,OUT |
兩個(gè)32位帶符號(hào)整數(shù)相乘,得到一個(gè)32位帶符號(hào)整數(shù)。 執(zhí)行結(jié)果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是HC和常數(shù) |
|
*R IN1,OUT |
兩個(gè)32位實(shí)數(shù)相乘,得到一個(gè)32位實(shí)數(shù)。 執(zhí)行結(jié)果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是常數(shù) |
|
除法指令 |
/I IN1,OUT |
兩個(gè)16位帶符號(hào)整數(shù)相除,得到一個(gè)16位帶符號(hào)整數(shù)商,不保留余數(shù)。 執(zhí)行結(jié)果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT) |
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD IN1和IN2還可以是AIW和常數(shù) |
DIV IN1,OUT |
兩個(gè)16位帶符號(hào)整數(shù)相除,得到一個(gè)32位結(jié)果,其中低16位為商,高16位為結(jié)果。 執(zhí)行結(jié)果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT) |
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數(shù) OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD |
|
/D IN1,OUT |
兩個(gè)32位帶符號(hào)整數(shù)相除,得到一個(gè)32位整數(shù)商,不保留余數(shù)。 執(zhí)行結(jié)果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是HC和常數(shù) |
|
/R IN1,OUT |
兩個(gè)32位實(shí)數(shù)相除,得到一個(gè)32位實(shí)數(shù)商。 執(zhí)行結(jié)果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT) |
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2還可以是常數(shù) |
|
數(shù)學(xué)函數(shù)指令 |
SQRT IN,OUT |
把一個(gè)32位實(shí)數(shù)(IN)開平方,得到32位實(shí)數(shù)結(jié)果(OUT) |
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN還可以是常數(shù) |
LN IN,OUT |
對(duì)一個(gè)32位實(shí)數(shù)(IN)取自然對(duì)數(shù),得到32位實(shí)數(shù)結(jié)果(OUT) |
||
EXP IN,OUT |
對(duì)一個(gè)32位實(shí)數(shù)(IN)取以e為底數(shù)的指數(shù),得到32位實(shí)數(shù)結(jié)果(OUT) |
||
SIN IN,OUT |
分別對(duì)一個(gè)32位實(shí)數(shù)弧度值(IN)取正弦、余弦、正切,得到32位實(shí)數(shù)結(jié)果(OUT) |
||
COS IN,OUT |
|||
TAN IN,OUT |
|||
增減指令 |
INCB OUT |
將字節(jié)無符號(hào)輸入數(shù)加1 執(zhí)行結(jié)果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT) |
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD IN還可以是常數(shù) |
DECB OUT |
將字節(jié)無符號(hào)輸入數(shù)減1 執(zhí)行結(jié)果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT) |
||
INCW OUT |
將字(16位)有符號(hào)輸入數(shù)加1 執(zhí)行結(jié)果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT) |
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD IN還可以是AIW和常數(shù) |
|
DECW OUT |
將字(16位)有符號(hào)輸入數(shù)減1 執(zhí)行結(jié)果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT) |
||
INCD OUT |
將雙字(32位)有符號(hào)輸入數(shù)加1 執(zhí)行結(jié)果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT) |
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN還可以是HC和常數(shù) |
|
DECD OUT |
將字(32位)有符號(hào)輸入數(shù)減1 執(zhí)行結(jié)果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT) |
6ES7 158-0AD01-0XA0 | DP/DP 耦合器 |
6ES7 157-0AC83-0XA0 | DP/PA 耦合器 ,非本安區(qū) |
6ES7 157-0AD82-0XA0 | DP/PA 耦合器 ,本安區(qū) |
6XV1 830-5EH10 | PROFIBUS FC 過程電纜( 易爆區(qū) ) |
6XV1 830-5FH10 | PROFIBUS FC 過程電纜( 非易爆區(qū) ) |
6ES7 195-7HF80-0XA0 | DP/PA耦合器有源總線單元 |
6GK1 905-0AA00 | SpliTConnect分接頭(10件) |
6GK1 905-0AD00 | SpliTConnect終端(Ex)(5件) |
6GK1 905-0AB10 | SpliTConnect M12輸出端(5件) |
6GK1 905-0AC00 | SpliTConnect 耦合器(10件) |
總線連接器 | |
6GK1 905-6AA00 | 快速剝線工具 |
6ES7 972-0BA52-0XA0 | 快速連線網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB52-0XA0 | 快速連線網(wǎng)絡(luò)接頭(帶編程口) |
6ES7 972-0BA12-0XA0 | 90度網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB12-0XA0 | 90度網(wǎng)絡(luò)接頭(帶編程口) |
6ES7 972-0BA41-0XA0 | 35度網(wǎng)絡(luò)接頭(不帶編程口) |
6ES7 972-0BB41-0XA0 | 35度網(wǎng)絡(luò)接頭(帶編程口) |
6GK1 500-0EA02 | 無角度網(wǎng)絡(luò)接頭(不帶編程口) |
6GK1 500-0FC10 | 無角度快速連線網(wǎng)絡(luò)接頭(不帶編程口) |
6GK1901-1BB10-2AA0 | 水晶頭 |
6FX2003-0DC20 | RJ45 IP20航空插頭 |
網(wǎng)絡(luò)部件 | |
6ES7 972-0AA01-0XA0 | 12M PROFIBUS 中繼器 IP20 |
6ES7 972-0AA02-0XA0 | |
6ES7 972-0AB01-0XA0 | 12M PROFIBUS 診斷中繼器 |
6ES7 972-0DA00-0AA0 | 有源終端元件 |
6ES7 972-4AA02-0XA0 | 電源導(dǎo)軌輔助裝置 |
6GK1 500-3AA00 | 光纖總線端子OBT |
6GK1 503-3CA00 | PROFIBUS OLM/P12 (1個(gè)RS485接口,兩個(gè)BFOC) |
6GK1 503-2CB00 | PROFIBUS OLM/G11 (1個(gè)RS485接口,兩個(gè)BFOC) |
6GK1 503-3CB00 | PROFIBUS OLM/G12 (1個(gè)RS485接口,四個(gè)BFOC) |
6GK1 503-3CC00 | PROFIBUS OLM/G12-1300 (1個(gè)RS485接口,四個(gè)BFOC) |
6ES7 181-0AA01-0AA0 | BT200 硬件測(cè)試裝置 |
6ES7 193-8MA00-0AA0 | |
6ES7 193-8LA00-0AA0 | 充電器 BT200 230V |
6ES7 193-8LB00-0AA0 | 充電器 BT200 110V |
軟件 | |
6GK1 704-5CW64-3AA0 | SOFTNET S7 /2005 |
6GK1 704-5DW64-3AA0 | SOFTNET DP /2005 |
6GK1 704-5SW64-3AA0 | SOFTNET DP Slave /2005 |
6GK1 713-5DB64-3AA0 | DP-5613 /2005 網(wǎng)卡驅(qū)動(dòng)程序 |
6GK1 713-5FB64-3AA0 | FMS-5613 /2005 網(wǎng)卡驅(qū)動(dòng)程序 |
6GK1 713-5CB64-3AA0 | S7-5613 /2005 網(wǎng)卡驅(qū)動(dòng)程序 |
6ES7513-1ALOO-OABO
SIMATIC S7 PLC處理輸入/輸出中斷的使用方法介紹
概述
本程序適用于SIMATIC S7-212和S7-214的計(jì)數(shù)器,可以從0計(jì)到255,這要取決于輸入10.0的狀態(tài)。如果將輸入10.0置為1,則程序減計(jì)數(shù);如果將輸入10.0置為0,則程序加計(jì)數(shù)。
如果輸入10.0的狀態(tài)改變,則將立即激活輸入/輸出中斷程序,中斷程序0或1分別將有儲(chǔ)器位M0.0置成1或0。
例圖
程序框圖
程序和注解
本程序是一個(gè)輸入/輸出中斷程序的范例,計(jì)數(shù)器從0計(jì)到255。如果輸入10.0為0,則程序加計(jì)數(shù);如果輸入10.0為1,則程序減計(jì)數(shù)。
本程序包括以下三個(gè)程序:
Main (主程序) 初始化和計(jì)數(shù)
INT0 (中斷程序0) 輸入10.0為1時(shí),減計(jì)數(shù)。
INT1 (中斷程序1) 輸入10.0為0時(shí),加計(jì)數(shù)。
本程序長(zhǎng)度為32個(gè)字
//標(biāo)題:事件中斷
//********主程序*********
//主程序包括初始化程序和計(jì)數(shù)程序。
//計(jì)數(shù)器的存儲(chǔ)器標(biāo)志位M0.0的0或1狀態(tài),決定計(jì)數(shù)方向?yàn)榧踊驕p計(jì)數(shù)。
//當(dāng)輸入10.0山0變?yōu)?/span>1時(shí),產(chǎn)生中斷事件0,激活中斷程序0 (INT0)。
//中斷程序0將存儲(chǔ)器位M0.0置成1,導(dǎo)致主程序減計(jì)數(shù)。
//當(dāng)輸入10.0山1變?yōu)?/span>0時(shí),產(chǎn)生中斷事件1,激活中斷程序1 (INT1)。
//中斷程序1將存儲(chǔ)器位M0.0置成0,導(dǎo)致主程序加計(jì)數(shù)。
//主程序
LD
MOVB
ENI
ATCH
ATCH
LDN
AB>=
A
EU
INCW
SM0.1
+0, AC0
+0, 0
+1,1
M0.0
16#FE, ACO
SM0.5
AC0
//僅掃描時(shí),SM0.1才為1,進(jìn)行以下初始化
//將計(jì)數(shù)累加器ACO清Oa
//允許中斷。
//輸入10.0為上升沿時(shí)激活事件中斷0
//輸入10.0為上升沿時(shí)激活事件中斷1
//如果存儲(chǔ)器的標(biāo)志位M 0.0為0狀態(tài)
//且計(jì)數(shù)累加器ACO的當(dāng)前計(jì)數(shù)值小于或等于254
//且0.5秒脈沖
//且上升沿
//那么計(jì)算累加器ACO加1
LD
AB<=
A
EU
DECW
M0.0
16#1,AC0
SM0.5
ACO
//如果存儲(chǔ)器的標(biāo)志位M 0.0為1狀態(tài)
//且計(jì)數(shù)累加器ACO的當(dāng)前計(jì)數(shù)值大于或等于
//且0.5秒脈沖
//且上升沿
//那么計(jì)算器累加器ACO減1
LD
MOVB
MEND
SM0.0
AC0, QB0
// SM0.0總是1。
//在輸出端00.0至00.7顯示ACO的當(dāng)前計(jì)數(shù)值。
//主程序結(jié)束。
//******中斷程序0******
//事件中斷程序0將存儲(chǔ)器的標(biāo)志位M0.0置成
//此情況下程序減計(jì)數(shù)。
//
INT 0 //中斷事件0減計(jì)數(shù)。
S M0.0,1 //將存儲(chǔ)器的標(biāo)志位M0.0置成
RETI //中斷程序0結(jié)束。
//******中斷程序1******
//事件中斷程序1將存儲(chǔ)器的標(biāo)志位M 0.0置成Oa
//此情況下程序增計(jì)數(shù)。
INT 1
R M0.0,1
RETI
//中斷事件1加計(jì)數(shù)。
//將存儲(chǔ)器的標(biāo)志位M0.0置成O。
//中斷程序1結(jié)束。
請(qǐng)參考SIMATIC S丁EP 7編程參考手冊(cè)的6.2節(jié)“中斷指令”,為您提供了更多的有關(guān)輸入輸出中斷的信息。
FM 350-1是智能型單通道計(jì)數(shù)模塊,用于實(shí)現(xiàn)各種基本的計(jì)數(shù)任務(wù)。它可以用在 SIMATIC S7-300 和 ET 200 M 中(以S7-300/-400為主站)。
應(yīng)用包括:
該模板提供編碼器電源。
該模塊具有如下機(jī)械特性:
組態(tài)軟件包
組態(tài)所需的組態(tài)軟件包包括:
HART 模塊
有關(guān) HART 模塊的詳細(xì)信息,請(qǐng)參見 "ET 200M 分布式 I/O 站"。
模擬量輸入/輸出模塊用于處理自動(dòng)化系統(tǒng)中的模擬量輸入/輸出任務(wù)。模擬傳感器和執(zhí)行器可以通過這些模塊連接到自動(dòng)化系統(tǒng)。
使用模擬量輸入/輸出模塊給用戶提供以下優(yōu)點(diǎn):
模擬量輸入模塊具有下列機(jī)械特性:
緊湊型設(shè)計(jì)
堅(jiān)固的塑料機(jī)殼里包括:
安裝方便
模塊安裝在 DIN 導(dǎo)軌上并通過總線連接器連接到相鄰模塊。沒有插槽規(guī)則;輸入地址由插槽決定。
當(dāng)在 ET 200M 分布式 I/O 系統(tǒng)中與有源總線模塊一起使用時(shí),可以對(duì)數(shù)字量輸入/輸出模塊進(jìn)行熱插拔,而不會(huì)有任何反應(yīng)。其它模塊繼續(xù)工作。
方便用戶接線
裝置單元通過前置連接器連接。當(dāng)連接模塊時(shí),編碼設(shè)備鎖定在連接器中,這樣該連接器只能適合于同樣類型的模塊。更換模塊時(shí),對(duì)于新的同類型模塊,可原封不動(dòng)保持前連接器的接線狀態(tài)。這樣可以避免在更換模塊的過程中將已接線的前連接器插入到錯(cuò)誤模塊中。
智能的分散化有助于極大地提高工廠設(shè)備的靈活性,從而成為一個(gè)決定性競(jìng)爭(zhēng)因素。通過擴(kuò)大聯(lián)網(wǎng),可將現(xiàn)場(chǎng)級(jí)的獨(dú)立智能單元集成到系統(tǒng)范圍的通信系統(tǒng)中。SIMATIC ET 200 I/O 系統(tǒng)可用集成式智能控制器進(jìn)行擴(kuò)展。這樣就產(chǎn)生了分布式控制器。
注
CPU 的運(yùn)行需要使用 SIMATIC 存儲(chǔ)卡。
總線適配器不在供貨范圍內(nèi),需要單獨(dú)訂購(gòu)。
CPU 1510SP-1 PN 是經(jīng)濟(jì)型入門級(jí) CPU,用于不連續(xù)生產(chǎn)技術(shù)中對(duì)處理速度和響應(yīng)速度要求不高的應(yīng)用。CPU 1510SP-1 PN 可被用作 PROFINET IO 控制器或分布智能系統(tǒng)(PROFINET 智能設(shè)備)。集成式 PROFINET IO IRT 接口的設(shè)計(jì)形式為 3 端口交換機(jī),這樣就可以在系統(tǒng)中通過端口 1 和 2 建立總線型拓?fù)?,并且也可通過端口 3 來連接編程設(shè)備/PC 或 HMI 設(shè)備。
作為智能設(shè)備使用時(shí),CPU 1510SP-1 PN 可實(shí)現(xiàn)在本地對(duì)過程數(shù)據(jù)進(jìn)行分布式預(yù)處理,并且僅將實(shí)際需要的信息傳輸?shù)缴衔豢刂破鳌_@樣做有以下優(yōu)勢(shì):
CPU 1510SP-1 PN 完全獨(dú)立于中央控制器運(yùn)行。如果其發(fā)生故障,CPU 1510SP-1 PN 仍繼續(xù)運(yùn)行。
位模塊化設(shè)計(jì)的 ET 200SP I/O 系統(tǒng)和 CPU 1510SP-1 PN 可實(shí)現(xiàn)面向功能的站設(shè)計(jì)。
另外,CPU 通過易組態(tài)的塊提供全面控制功能,以及通過標(biāo)準(zhǔn)化 PLC-open 塊 提供連接至驅(qū)動(dòng)器的能力。
使用 SB 1231 信號(hào)板模擬量輸入模塊,可連接控制器與過程中的模擬信號(hào)。
這為用戶提供了下列優(yōu)勢(shì):
信號(hào)板直接插到每個(gè) S7-1200-CPU 前面的支架中。
SM 1232 模擬量輸出信號(hào)模塊允許使用模擬量輸出。
這為用戶提供了下列優(yōu)勢(shì):
信號(hào)模塊具有與基本設(shè)備相同的設(shè)計(jì)特點(diǎn)。