S應(yīng)用教程 廖常初_第1頁
S應(yīng)用教程 廖常初_第2頁
S應(yīng)用教程 廖常初_第3頁
S應(yīng)用教程 廖常初_第4頁
S應(yīng)用教程 廖常初_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1S應(yīng)用教程廖常初3.1.2STEP7中的編程語言1.梯形圖(LAD):直觀易懂,適合于數(shù)字量邏輯控制。2.語句表(STL):功能比梯形圖強(qiáng),類似于51系列單片機(jī)的匯編語言。3.功能塊圖(FBD):國內(nèi)很少使用。以上是3種基本編程語言,可以相互轉(zhuǎn)換。4.順序功能圖(S7Graph),適應(yīng)于順序控制過程。5.結(jié)構(gòu)化控制語言(SCL):適合于復(fù)雜的計(jì)算,或管理大量的數(shù)據(jù)等。以上對(duì)應(yīng)于IEC6113-3的5種編程語言。6.S7HiGraph:用狀態(tài)圖(stategraphs)描述異步、非順序過程。7.S7CFC:連續(xù)功能圖,適于連續(xù)過程控制的編程。第1頁/共34頁第2頁/共34頁3.2S7-300/400CPU的存儲(chǔ)區(qū)3.2.1數(shù)制

1.二進(jìn)制數(shù)二進(jìn)制數(shù)的1位(bit)只能取0和1這兩個(gè)不同的值,用來表示開關(guān)量的兩種不同的狀態(tài)。ON/OFF,TURE/FALSE。二進(jìn)制常數(shù):2#1111_0110_1001_0001。2.十六進(jìn)制數(shù)十六進(jìn)制的16個(gè)數(shù)字:0~9和A~F,每個(gè)占二進(jìn)制數(shù)的4位,W#16#23AF。3.BCD碼BCD碼用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),各位之間逢十進(jìn)一。最高4位用來表示符號(hào),16位BCD碼的范圍:–999~+999。十進(jìn)制數(shù)123對(duì)應(yīng)的BCD碼為W#16#123,或2#0000000100100011。因?yàn)檫\(yùn)算規(guī)則是逢16進(jìn)1,十六進(jìn)制數(shù)W#16#123對(duì)應(yīng)的十進(jìn)制數(shù)為W#16#123=1×162+2×161+3=291。第3頁/共34頁3.2.2基本數(shù)據(jù)類型1.位(bit):BOOL型,例如I3.2,2#0,TRUE。2.字節(jié)(Byte):例如QB0,B#16#3A。3.字(Word):16位無符號(hào)數(shù),例如W#16#13AF。4.雙字(DWord):32位無符號(hào)數(shù)。例如DW#16#35AF023C。5.整數(shù)(INT,Integer):16位有符號(hào)數(shù),補(bǔ)碼,最高位為符號(hào)位。6.32位整數(shù)(DINT,DoubleInteger)有符號(hào)數(shù),補(bǔ)碼。最高位為符號(hào)位。第4頁/共34頁7.32位浮點(diǎn)數(shù)浮點(diǎn)數(shù)又稱實(shí)數(shù)(REAL),可表示為1.m2E

,指數(shù)E是有符號(hào)數(shù)。ANSI/IEEE標(biāo)準(zhǔn)浮點(diǎn)數(shù)=1.m2e,e=E+127(1≤e≤254,8位正整數(shù))。STEP7中用小數(shù)表示浮點(diǎn)數(shù)。ANSI/IEEE標(biāo)準(zhǔn)浮點(diǎn)數(shù)占用一個(gè)雙字(32位)。因?yàn)橐?guī)定尾數(shù)的整數(shù)部分總是為1,只保留尾數(shù)的小數(shù)部分m(第0~22位)。浮點(diǎn)數(shù)的表示范圍為±1.17549510-38

~±3.4028231038。L#為32位雙整數(shù)常數(shù),例如L#+5。P#為地址指針常數(shù),例如P#M2.0是M2.0的地址。S5T#是16位S5時(shí)間常數(shù),格式為S5T#aD_bH_cM_dS_eMS。取值范圍為S5T#0S~9990S。T#為32位IEC時(shí)間常數(shù)。只能用于語句表。C#為計(jì)數(shù)器常數(shù)(BCD碼),例如C#250。8位ASCII字符用單引號(hào)表示,例如‘ABC’。IEC日期常數(shù):例如D#2004-1-15。TOD#是32位實(shí)時(shí)時(shí)間(Timeofday)常數(shù),例如TOD#23:50:45.300。第5頁/共34頁3.2.3系統(tǒng)存儲(chǔ)器1.過程映像輸入/輸出(I/Q),批量輸入、批量輸出。2.內(nèi)部存儲(chǔ)器標(biāo)志位(M)存儲(chǔ)器區(qū)3.定時(shí)器(T)存儲(chǔ)器區(qū):時(shí)間值可以用二進(jìn)制或BCD碼方式讀取。4.計(jì)數(shù)器(C)存儲(chǔ)器區(qū):計(jì)數(shù)值可以用二進(jìn)制或BCD碼方式讀取。5.共享數(shù)據(jù)塊(DB)與背景數(shù)據(jù)塊(DI)DB為共享數(shù)據(jù)塊,DB2.DBX2.3、DBB5、DBW10和DBD12。DI為背景數(shù)據(jù)塊,DIX3.5、DIB2、DIW4和DID6。6.外設(shè)I/O區(qū)(PI/PO)外設(shè)輸入(PI)和外設(shè)輸出(PQ)區(qū)直接訪問本地的和分布式輸入模塊和輸出模塊。不能以位為單位訪問。I、Q、M、DB均可以按位、字節(jié)、字和雙字來存取,例如I0.0、IB0、IW0和ID0。3.2.4CPU中的寄存器1.累加器(ACCUx)S7-300有兩個(gè)32位累加器(ACCU1和ACCU2),S7-400有4個(gè)累加器(ACCU1~ACCU4)。字節(jié)和字放在累加器的低端(右對(duì)齊)。2.狀態(tài)字寄存器(16位)第6頁/共34頁首次檢測(cè)位一般不用。RLO:邏輯運(yùn)算結(jié)果。狀態(tài)位STA與位邏輯指令中的位的狀態(tài)相同。OR位暫存邏輯“與”的操作結(jié)果,以便進(jìn)行后面的邏輯“或”運(yùn)算。溢出位OV:算術(shù)運(yùn)算或比較指令執(zhí)行時(shí)出現(xiàn)錯(cuò)誤,OV被置1。溢出狀態(tài)保持位OS:用于保存OV位。條件碼1(CC1)和條件碼0(CC0):用于表示算術(shù)運(yùn)算或邏輯運(yùn)算的結(jié)果與0的大小關(guān)系、比較指令的執(zhí)行結(jié)果或移位指令的移出位狀態(tài)。二進(jìn)制結(jié)果位BR:對(duì)應(yīng)于梯形圖中的ENO輸出的能流。如果功能被正確執(zhí)行,BR位與ENO均為1;執(zhí)行出錯(cuò)時(shí)BR位為0。3.?dāng)?shù)據(jù)塊寄存器:DB和DI寄存器分別用來保存打開的共享數(shù)據(jù)塊和背景數(shù)據(jù)塊的編號(hào)。第7頁/共34頁3.3位邏輯指令位邏輯指令用于二進(jìn)制數(shù)的邏輯運(yùn)算,位邏輯運(yùn)算的結(jié)果簡(jiǎn)稱為RLO。3.3.1觸點(diǎn)指令1.觸點(diǎn)與線圈A(And,與)指令:串聯(lián)的常開觸點(diǎn)。O(Or,或)指令:并聯(lián)的常開觸點(diǎn)。AN(AndNot,與非)指令:串聯(lián)的常閉觸點(diǎn)。ON(OrNot,或非)指令:并聯(lián)的常閉觸點(diǎn)。賦值(輸出)指令“=”將RLO寫入地址位,與線圈相對(duì)應(yīng)。運(yùn)算優(yōu)先級(jí):先“與”后“或”。A(A I0.0AN I0.1O I0.2)A I0.3= L20.0A L20.0= Q4.3A L20.0AN I3.4= Q4.6第8頁/共34頁4.中線輸出指令A(yù) I0.0AN I0.1= M0.1A M0.1A I0.3= Q4.3第9頁/共34頁P(yáng)OS與NEG相當(dāng)于一個(gè)觸點(diǎn),檢測(cè)方框上面的元件的邊沿。M0.0為邊沿存儲(chǔ)位,用于保持上一掃描周期的狀態(tài)?!纠?-1】設(shè)計(jì)故障信息顯示電路,故障信號(hào)I0.0為1時(shí)Q4.0控制的指示燈以1Hz的頻率閃爍。操作人員按復(fù)位按鈕I0.1后,如果故障已經(jīng)消失,指示燈熄滅。如果沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。第10頁/共34頁SET與CLR(Clear)指令將RLO置位或復(fù)位,緊接在它們后面的賦值語句中的地址將變?yōu)?狀態(tài)或0狀態(tài)。SET //將RLO置位=M0.2 //M0.2的線圈“通電”CLR //將RLO復(fù)位=Q4.7 //Q4.7的線圈“斷電”3.4定時(shí)器與計(jì)數(shù)器指令3.4.1定時(shí)器指令

時(shí)間基準(zhǔn)代碼為00、01、10和11時(shí),對(duì)應(yīng)10ms、100ms、1s和10s??梢园聪铝械男问綄r(shí)間預(yù)置值裝入累加器的低位字:(1)直接裝入上圖格式的十六進(jìn)制數(shù)。(2)S5T#aHbMcSdMS,S5T#18S,S5T#1800S。第11頁/共34頁3.脈沖定時(shí)器脈沖定時(shí)器相當(dāng)于上升沿觸發(fā)的單穩(wěn)態(tài)電路。定時(shí)期間當(dāng)前值不斷減1。每種定時(shí)器有兩種表示方式。設(shè)置輸入端S:在其上升沿將設(shè)定值寫入當(dāng)前值寄存器。TV:預(yù)置值輸入端;R:復(fù)位輸入端;Q:定時(shí)器位輸出端BI:輸出不帶時(shí)基的十六進(jìn)制格式BCD:輸出BCD格式的當(dāng)前時(shí)間值和時(shí)基。各變量均可以使用I、Q、M、L、D存儲(chǔ)區(qū)。第12頁/共34頁4.?dāng)U展的脈沖定時(shí)器起動(dòng)信號(hào)脈沖寬度可以比定時(shí)時(shí)間短5.接通延時(shí)定時(shí)器第13頁/共34頁6.保持型接通延時(shí)定時(shí)器起動(dòng)信號(hào)脈沖寬度可以比定時(shí)時(shí)間短,不能用線圈斷電的方法復(fù)位,必須用復(fù)位信號(hào)來復(fù)位。7.?dāng)嚅_延時(shí)定時(shí)器圖3-46沖水控制電路

第14頁/共34頁3.4.2計(jì)數(shù)器指令1.計(jì)數(shù)器的存儲(chǔ)器區(qū)每個(gè)計(jì)數(shù)器有一個(gè)16位的字和一個(gè)二進(jìn)制位。計(jì)數(shù)值的范圍為0~999。CU:加計(jì)數(shù)脈沖輸入;S:其上升沿將計(jì)數(shù)器的預(yù)置值裝入累加器的低字;PV:預(yù)置值;Q:位輸出;CV:二進(jìn)制計(jì)數(shù)當(dāng)前值;CV_BCD:十進(jìn)制計(jì)數(shù)當(dāng)前值。設(shè)置計(jì)數(shù)值線圈SC輸入的上升沿,預(yù)置值被送入指定的計(jì)數(shù)器。CU線圈為加計(jì)數(shù)線圈,在I0.0的上升沿,如果計(jì)數(shù)值小于999,計(jì)數(shù)值加1。R為復(fù)位線圈。計(jì)數(shù)值大于0時(shí)計(jì)數(shù)器位(即輸出Q)為1;計(jì)數(shù)值為0時(shí),計(jì)數(shù)器位亦為0。第15頁/共34頁在減計(jì)數(shù)輸入信號(hào)CD的上升沿,如果計(jì)數(shù)值大于0,計(jì)數(shù)值減1。計(jì)數(shù)值大于0時(shí)計(jì)數(shù)器位(即輸出Q)為1;第16頁/共34頁3.5數(shù)據(jù)處理指令3.5.1裝入指令與傳送指令1.裝入指令與傳送指令裝入(L,Load)指令將源操作數(shù)裝入累加器1,而累加器1原有的數(shù)據(jù)移入累加器2。傳送(T,Transfer)指令將累加器1中的內(nèi)容寫入目的存儲(chǔ)區(qū)中,累加器1的內(nèi)容不變。裝入與傳送指令可以對(duì)字節(jié)、字、雙字?jǐn)?shù)據(jù)迸行操作。尋址方式是指令取得操作數(shù)的方式。T#2S只能用于語句表,S5T#2S可用于指令表和梯形圖。2.立即尋址的裝入與傳送指令立即尋址的操作數(shù)直接在指令中,下面是使用立即尋址的例子。L 35 L L#5 L W#16#3E4F L 2#0001_1001_1110_0010 L 25.38 L ‘ABCD’ L T#1M20S L S5T#2S L TOD#12:30:3.0 L D#2004-2-3 L C#50 L P#M5.6 第17頁/共34頁3.直接尋址的裝入與傳送指令直接尋址在指令中直接給出存儲(chǔ)器或寄存器的區(qū)域、長(zhǎng)度和位置:4.存儲(chǔ)器間接尋址在存儲(chǔ)器間接尋址指令中,給出一個(gè)作地址指針的存儲(chǔ)器,該存儲(chǔ)器的內(nèi)容是操作數(shù)所在存儲(chǔ)單元的地址。定時(shí)器(T)、計(jì)數(shù)器(C)、數(shù)據(jù)塊(DB)、功能塊(FB)和功能(FC)的編號(hào)范圍小于65535,使用字指針。其它地址使用雙字指針,其中第0~2位(xxx)為被尋址地址中位的編號(hào)(0~7),第3~18位為被尋址地址的字節(jié)的編號(hào)(0~65535)。訪問一個(gè)字、宇節(jié)或雙字存儲(chǔ)器時(shí),指針的位編號(hào)應(yīng)為0,例如P#Q20.0。L P#4.0 T DBD 10L QB[DBD10] //QB4的地址指針在雙字DBD10中L P#4.3 T LD 4A M[LD4] //存儲(chǔ)器位M4.3的地址指針在雙字LD4中P#4.0的值為2#00000000000000000000000000100000。P#4.3的值為2#00000000000000000000000000100011。第18頁/共34頁5.寄存器間接尋址地址寄存器AR1和AR2的內(nèi)容加上偏移量形成地址指針,指向數(shù)值所在的存儲(chǔ)單元。地址指針的第0~2位(xxx)為被尋址地址中位的編號(hào)(0~7),第3~18位為被尋址地址的字節(jié)的編號(hào)(0~65535)。第24~26位(rrr)為被尋址地址的區(qū)域標(biāo)識(shí)號(hào),第31位x=0為區(qū)域內(nèi)間接尋址,第31位x=1為區(qū)域間的間接尋址。(1)存儲(chǔ)區(qū)內(nèi)部間接尋址:存儲(chǔ)區(qū)的類型在指令中給出,第24~26位(rrr)和第31位為0。指針常數(shù)P#5.0對(duì)應(yīng)的二進(jìn)制數(shù)為2#00000000000000000000000000101000。L P#5.0 LAR1 A M[AR1,P#2.3] //AR1中的P#5.0加偏移量P#2.3,對(duì)M7.3操作= Q[AR1,P#0.2] //邏輯運(yùn)算的結(jié)果送Q5.2L DBW[AR1,P#18.0] //將DBW23裝入累加器1(2)區(qū)域間寄存器間接尋址:地址指針中的第24~26位為存儲(chǔ)區(qū)域標(biāo)識(shí)符rrr,第31位為1。訪問字節(jié)、字或雙字時(shí),指針中的位地址編號(hào)應(yīng)為0。L P#M6.0 LAR1 T W[AR1,P#50.0] //將累加器1的內(nèi)容傳送到存儲(chǔ)器字MW56P#M6.0對(duì)應(yīng)的二進(jìn)制數(shù)為2#10000011000000000000000000110000。第19頁/共34頁6.裝入時(shí)間值或計(jì)數(shù)值指令L T5 LC C16 7.地址寄存器的裝入與傳送指令不經(jīng)過累加器1,與地址寄存器AR1和AR2交換數(shù)據(jù)。用得不多。8.梯形圖中的傳送指令3.5.2比較指令梯形圖中的方框比較指令在梯形圖中相當(dāng)于一個(gè)常開觸點(diǎn),可以比較整數(shù)(I)、雙整數(shù)(D)和浮點(diǎn)數(shù)(R)。語句表中的比較指令用于比較累加器1與累加器2中的數(shù)據(jù)大小,被比較的數(shù)的數(shù)據(jù)類型應(yīng)該相同。如果比較的條件滿足,則RLO為1,否則為0。L MD4 L 2.345E+02 >R = Q4.2 //如果MD4>2.345E+02,則Q4.2為1第20頁/共34頁第21頁/共34頁3.6數(shù)學(xué)運(yùn)算指令3.6.1整數(shù)與浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算指令例:IW10/MW14→DB1.DBW2L IW10 L MW14 /I T DB1.DBW2 //累加器1低字中的運(yùn)算結(jié)果傳送到DB1的DBW2中第22頁/共34頁【例3-7】壓力計(jì)算公式為P=(10000

N)/27648(kPa) 運(yùn)算時(shí)一定要先乘后除。假設(shè)A/D轉(zhuǎn)換后,AIW中的數(shù)據(jù)轉(zhuǎn)換為雙整數(shù),存放在MD6中,以kPa為單位的運(yùn)算結(jié)果在MW10中。

第23頁/共34頁浮點(diǎn)數(shù)三角函數(shù)指令的輸入值為弧度,角度值乘以/180轉(zhuǎn)換為弧度值。

第24頁/共34頁用指令中的參數(shù)<number>來指定移位位數(shù),16位移位指令為0~15,32位移位指令為0~32。如果<number>等于0,移位指令被當(dāng)作NOP(空操作)指令來處理。L MW4 SSI 6 //累加器1低字中的有符號(hào)數(shù)右移6位,結(jié)果仍在累加器1T MW8 //累加器1低字中的運(yùn)算結(jié)果傳送到MW8中第25頁/共34頁第26頁/共34頁用或運(yùn)算將QW10的低4位置位為1:

L QW 10 OW W#16#000F T QW 10 用與運(yùn)算將IW20的高4位復(fù)位為0:

L IW 20 AW W#16#0FFF T MW 10 第27頁/共34頁3.7邏輯控制指令3.7.1跳轉(zhuǎn)指令與狀態(tài)位觸點(diǎn)指令與堆棧有關(guān)的指令用得很少第28頁/共34頁第29頁/共34頁只能在同一邏輯塊內(nèi)跳轉(zhuǎn)。同一個(gè)跳轉(zhuǎn)目的地址只能出現(xiàn)一次。跳轉(zhuǎn)或循環(huán)指令的操作數(shù)為地址標(biāo)號(hào),標(biāo)號(hào)由最多4個(gè)字符組成。在梯形圖中,目標(biāo)標(biāo)號(hào)必須是一個(gè)網(wǎng)絡(luò)的開始?!纠?-11】IW8與MW12的異或結(jié)果如果為0,將M4.0復(fù)位,非0則將M4.0置位。

L IW8 L MW12 XOW JN NOZE R M4.0 JU NEXTNOZE: AN M4.0 S M4.0NEXT: NOP 0

第30頁/共34頁3.7.2循環(huán)指令循環(huán)指令LOOP<jumplabel>用ACCU1-L作循環(huán)計(jì)數(shù)器,每次執(zhí)行LOOP指令時(shí)ACCU1-L的值減1,若減1后ACCU1-L非0,將跳轉(zhuǎn)到<jumplabel>指定的標(biāo)號(hào)處?!纠?-12】在I0.0的上升沿,用循環(huán)指令和間接尋址求從MW10開始存放的5個(gè)字的累加和,累加的結(jié)果用MD20保存。

A I 0.0 FP M 0.0 JNB m001 //不是I0.0的上升沿則跳轉(zhuǎn)

L L#0 //32位整數(shù)0裝入累加器1 T MD 20 //累加和清零

L P#10.0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論