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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

1.二進制數(shù)二進制數(shù)的1位(bit)只能取0和1這兩個不同的值,用來表示開關量的兩種不同的狀態(tài)。ON/OFF,TURE/FALSE。二進制常數(shù):2#1111_0110_1001_0001。2.十六進制數(shù)十六進制的16個數(shù)字:0~9和A~F,每個占二進制數(shù)的4位,W#16#23AF。3.BCD碼BCD碼用4位二進制數(shù)表示一位十進制數(shù),各位之間逢十進一。最高4位用來表示符號,16位BCD碼的范圍:–999~+999。十進制數(shù)123對應的BCD碼為W#16#123,或2#0000000100100011。因為運算規(guī)則是逢16進1,十六進制數(shù)W#16#123對應的十進制數(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位無符號數(shù),例如W#16#13AF。4.雙字(DWord):32位無符號數(shù)。例如DW#16#35AF023C。5.整數(shù)(INT,Integer):16位有符號數(shù),補碼,最高位為符號位。6.32位整數(shù)(DINT,DoubleInteger)有符號數(shù),補碼。最高位為符號位。第4頁/共34頁7.32位浮點數(shù)浮點數(shù)又稱實數(shù)(REAL),可表示為1.m2E

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

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

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

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

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

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

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

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

L IW 20 AW W#16#0FFF T MW 10 第27頁/共34頁3.7邏輯控制指令3.7.1跳轉指令與狀態(tài)位觸點指令與堆棧有關的指令用得很少第28頁/共34頁第29頁/共34頁只能在同一邏輯塊內跳轉。同一個跳轉目的地址只能出現(xiàn)一次。跳轉或循環(huán)指令的操作數(shù)為地址標號,標號由最多4個字符組成。在梯形圖中,目標標號必須是一個網絡的開始。【例3-11】IW8與MW12的異或結果如果為0,將M4.0復位,非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)計數(shù)器,每次執(zhí)行LOOP指令時ACCU1-L的值減1,若減1后ACCU1-L非0,將跳轉到<jumplabel>指定的標號處。【例3-12】在I0.0的上升沿,用循環(huán)指令和間接尋址求從MW10開始存放的5個字的累加和,累加的結果用MD20保存。

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

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

L P#10.0

溫馨提示

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

評論

0/150

提交評論