資源描述:
《西門子plc編程》由會員上傳分享,免費在線閱讀,更多相關內容在PPT專區(qū)-天天文庫。
西門子PLC編程授課人:肖才丁2010.3
1一、狀態(tài)故障判斷SF(系統(tǒng)出錯/故障顯示,紅色):CPU硬件故障或軟件錯誤時亮。BATF(電池故障,紅色):電池電壓低或沒有電池時亮。DC5V(+5V電源指示,綠色):5V電源正常時亮。FRCE(強制,黃色):至少有一個I/O被強制時亮。RUN(運行方式,綠色):CPU處于RUN狀態(tài)時亮;重新啟動時以2Hz的頻率閃亮;HOLD(單步、斷點)狀態(tài)時以0.5Hz的頻率閃亮。STOP(停止方式,黃色):CPU處于STOP,HOLD狀態(tài)或重新啟動時常亮。BUSF(總線錯誤,紅色)。
2二、模式選擇開關RUN-P(運行-編程)位置:運行時還可以讀出和修改用戶程序,改變運行方式。RUN(運行)位置:CPU執(zhí)行、讀出用戶程序,但是不能修改用戶程序。STOP(停止)位置:不執(zhí)行用戶程序,可以讀出和修改用戶程序。MRES(清除存儲器):不能保持。將鑰匙開關從STOP狀態(tài)扳到MRES位置,可復位存儲器,使CPU回到初始狀態(tài)。
3三、復位存儲器:通電后從STOP位置扳到MRES位置,“STOP”LED熄滅1s,亮1s,再熄滅1s后保持亮。放開開關,使它回到STOP位置,然后又回到MRES,“STOP”LED以2Hz的頻率至少閃動3s,表示正在執(zhí)行復位,最后“STOP”LED一直亮。
4第二章PLC編程基礎
5一、快速認識西門子PLC例如,有兩個開關K1、K2??刂埔?,只有兩個開關都接通時小燈D1才亮。當D1亮2秒鐘后小燈D2開始亮。當開關K3切斷時兩個小燈就同時熄滅。1)接線程序控制2)存貯程序控制(PLC控制)
6二、S7-300/400軟件基礎2.1S7-300的數(shù)據(jù)環(huán)境1數(shù)據(jù)類型?位BOOL例:True或False(1或0)?字節(jié)BYTE例:B#16#0~FF?字WORD例:W#16#0~FFFF?雙字DWORD例:DW#16#0~FFFF_FFFF?整數(shù)INT例:-32768~32767?雙整數(shù)DINT例:-214783648~214783647?實數(shù)REAL例:1.2或34.5E-12?時間S5TIME例:S5T#2H5M(時基10mS)?字符CHAR例:'A‘?日期時間TIME_OF_DAY例:TOD#12:23:45.12?時間TIME例:T#20H_31M_23S(時基1mS)?日期DATE例:D#1990-1-1(時基1天)
7說明:S5TIME為SIMATIC時間范圍S5T#0H_0M_0S_10MS~S5T#2H_46M_39S_0MSTIME為IEC時間范圍T#0?0?0.0~T#23?59?59.999TIME-OF-DAY為日計時范圍TOD#0:0:0.0~TOD#23:59:59.999
82過程映象字節(jié)0字節(jié)1字節(jié)2:::CPU存儲器區(qū)字節(jié)0字節(jié)1字節(jié)2:::PIIPIQ用戶程序CPU存儲器區(qū)::AI2.0=Q4.3::::11
9PSCPUSMSMSMSMSMSMSM模塊1245678910槽號地址0.0地址0.7地址1.0地址1.7
103.STEP7的可能尋址范圍設計的地址區(qū)訪問區(qū)域縮寫加在一起的最大區(qū)域過程映象I/Q輸入/輸出位I/Q0.0---65,535.7輸入/輸出字節(jié)I/QB0---65,535輸入/輸出字I/QW0---65,534輸入/輸出雙字I/QD0---65,532存儲器標志存儲器位M0.0---255.7存儲器字節(jié)MB0---255存儲器字MW0---254存儲器雙字MD0---252I/Q外部輸入/輸出I/Q字節(jié),外設PIB/PQB0---65,535I/Q字,外設PIW/PQW0---65,534I/Q雙字,外設PID/PQD0---65,532定時器定時器(T)T0---255計數(shù)器計數(shù)器(C)C0---255
11設計的地址區(qū)訪問區(qū)域縮寫加在一起的最大區(qū)域數(shù)據(jù)塊數(shù)據(jù)塊(DB)DB0---65,535數(shù)據(jù)塊用OPNDB打開位DBX0.0---65,535.7字節(jié)DBB0---65,535字DBW0---65,534雙字DBD0---65,532用OPNDI打開位DIX0.0---65,535.7字節(jié)DIB0---65,535字DIW0---65,534雙字DID0---65,532說明:DB塊包含由任意一個塊存取的數(shù)據(jù).DB塊用“OPNDB”打開.DI塊用于存取與FB和SFB塊的數(shù)據(jù).DI塊用“OPNDI”打開.S7同時只能識別一個DB塊和一個DI塊的數(shù)據(jù).
122.2邏輯操作指令1.位邏輯指令(1)基本邏輯指令:與,或
13(2)基本邏輯指令:異或(XOR)
14?異或(XOR)指令練習:
15(3)常開和常閉觸點,傳感器和符號
16?常開常閉觸點練習
17?與或非操作練習
18(4)賦值,置位,復位
19?置位復位操作練習
20(5)觸發(fā)器的置位/復位
21?置位復位觸發(fā)器練習
22(6)中間輸出操作LADI1.0I1.1()M0.0I2.0I2.1()M1.1NOT()Q4.0AI1.0AI1.1=M0.0AM0.0AI2.0AI2.1NOT=M1.1AM1.1=Q4.0STLI1.0I1.1&&I2.0I2.1M0.0M1.1Q4.0=FBD
23?中間輸出操作練習
24(7)RLO-邊沿檢測(檢測確>>I1.0與I1.1的邊沿)PI1.0I1.1M1.0M8.0NI1.0I1.1M1.1M8.1LADI1.0I1.1P=&M1.0M8.0I1.0I1.1N=&M1.1M8.1FBDAI1.0AI1.1FPM1.0=M8.0AI1.0AI1.1FNM1.1=M8.1STLI1.0I1.1RLOM1.0M8.0M8.1M1.1OB1-循環(huán)例如
25(8)信號-邊沿檢測(I1.0=1時檢測>>I1.1的邊沿)I1.1=M8.0POSM_BITM1.0&I1.0I1.1=M8.1NEGM_BITM1.1&I1.0FBDAI1.0A(AI1.1FPM1.0)=M8.0AI1.0A(AI1.1FNM1.1)=M8.1STLI1.1M8.0POSM_BITM1.0QI1.0I1.1M8.1NEGM_BITM1.1QI1.0LAD例如I1.0I1.1M1.0M8.0M8.1M1.1OB1-周期
262計數(shù)器線圈操作?加計數(shù)線圈CU?減計數(shù)線圈CDI0.0為置數(shù)脈沖I0.1為加計數(shù)脈沖I0.2為減計數(shù)脈沖CV=0時C5=OFFCV?0時C5=ONQ0.5=C5I1.0=ON時,I0.0=ON時CV=10。I0.1脈沖使計數(shù)加1I0.2脈沖使計數(shù)減1
273計時器線圈操作?脈沖計時器(SP)I1.0=ON時?擴展脈沖計時器(SE)I1.0=ON時計時器的數(shù)據(jù)格式:
28?開通延時計時器(SD)I1.0=ON時?保持型開通延時計時器(SS)I1.0=ON時?關斷延時計時器(SF)I1.0=ON時
295.3程序控制指令(1)主控繼電器功能
30主控繼電器(MCR)是梯形邏輯主控開關,控制信號流的通斷。?主控繼電器的啟動指令(MCRA)?主控繼電器的開通指令(MCR<)?主控繼電器的關斷指令(MCR>)?主控繼電器的停止指令(MCRD)
31?主控繼電器的例子1I0.0=ON執(zhí)行“MCR<”和“MCR>”之間的指令。I0.0=OFF不執(zhí)行“MCR<”和“MCR>”之間的指令。其中置位信號不變,賦值信號被復位。
32?主控繼電器的例子2
33(2)無條件跳轉指令
34(3)條件跳轉指令
35?跳轉指令練習(跳過之處不掃描)
362.4傳送和比較指令?傳送指令字節(jié),字,雙字…傳送。?比較指令整數(shù),雙整數(shù),實數(shù)比較。比較符:EQ_I,NE_I,GT_I,LT_I,GE_I,LE_I.EQ_D,NE_D,GT_D,LT_D,GE_D,LE_D.EQ_R,NE_R,GT_R,LT_R,GE_R,LE_R.
372.5運算指令?整數(shù)運算運算符:ADD_I.SUB_I.MUL_I.DIV_I.ADD_DI.SUB_DI.MUL_DI.DIV_DI,MOD_DI.?實數(shù)運算運算符:ADD_R.SUB_R.MUL_R.DIV_R.SIN,COS,TAN,ASIN,ACOS,ATAN,LN,EXP…
382.6轉換指令?BCD碼與整數(shù)轉換BCD_I把通道中的BCD碼轉換為整數(shù)存入通道中。I_BCD把通道中的整數(shù)轉換為BCD碼存入通道中。?雙整數(shù)與實數(shù)轉換DI_RROUND…BCD_DI,DI_BCD,I_DI,DI_I。
392.7計數(shù)器指令?雙向計數(shù)器I0.0為加計數(shù)脈沖I0.1為減計數(shù)脈沖I0.2為置數(shù)脈沖I0.3為復位脈沖CV>0時,C0=ON。?向上計數(shù)器I0.0為加計數(shù)脈沖I0.1為置數(shù)脈沖I0.2為復位脈沖CV>0時,C0=ON。
40?向下計數(shù)器I0.3為減計數(shù)脈沖I0.4為置數(shù)脈沖I0.5為復位脈沖CV>0時,C0=ON。說明:梯形圖中CV為用十六進制表示的計數(shù)器的當前值。梯形圖中CV_BCD為用BCD碼表示的計數(shù)器的當前值。梯形圖中的PV值可以用BCD碼表示的數(shù)值由通道送入。
412.8計時器指令?脈沖計時器(SP)?擴展脈沖計時器(SE)
42?開通延時計時器(SD)?保持型開通延時計時器(SS)
43?關斷延時計時器(SF)說明:梯形圖中BI為用十六進制表示的計數(shù)器的當前值。梯形圖中BCD為用BCD碼表示的計數(shù)器的當前值。梯形圖中的TV值可以用BCD碼表示的數(shù)值由通道送入。
442.9塊操作指令1溫度控制(S7-PRO1)?說明:檢測溫度在PIW256中,顯示在PQW368中。溫控1的溫度保持在8±2,控制器為Q0.0。溫控2的溫度保持在18±2,控制器為Q0.1。?設計:OB1為主程序,負責調用控制程序FC1。DB1和DB2為通用數(shù)據(jù)塊。其中DB1為溫控1的控制參數(shù)數(shù)據(jù)塊。DB2為溫控2的控制參數(shù)數(shù)據(jù)塊。
45?DB塊:DB1DB2
46?FC塊:FC1
47?OB塊:OB1
48?運行仿真:溫控1控制仿真溫控2控制仿真
492溫度控制(S7-PRO2)?說明:檢測溫度在PIW256中,顯示在PQW368中。溫控1的溫度保持在8±2,控制器為Q0.0。溫控2的溫度保持在18±2,控制器為Q0.1。?設計:OB1為主程序,負責調用控制程序FB1。DB1和DB2為FB1型數(shù)據(jù)塊。其中DB1為溫控1的控制參數(shù)數(shù)據(jù)塊。DB2為溫控2的控制參數(shù)數(shù)據(jù)塊。
50?FB塊:FB1
51?DB塊:DB1DB2
52?OB塊:OB1
53?運行仿真:溫控1控制仿真溫控2控制仿真
543溫度控制(S7-PRO3)?說明:檢測溫度在PIW256中,顯示在PQW368中。溫控1的溫度保持在8±2,控制器為Q0.0。溫控2的溫度保持在18±2,控制器為Q0.2。溫控3的溫度保持在28±2,控制器為Q0.4。?設計:OB1為主程序,負責調用控制程序FB1和FC1。DB1和DB2為FB1型數(shù)據(jù)塊。其中DB1為溫控1的控制參數(shù)數(shù)據(jù)塊。DB2為溫控2的控制參數(shù)數(shù)據(jù)塊。DB3為通用數(shù)據(jù)塊,為溫控3的控制參數(shù)。FB1控制溫度1,2。FC1控制溫度3。
55?FC塊:FC1
56?FB塊:FB1
57?DB塊:DB1DB2
58DB3
59?OB塊:OB1
60OB1續(xù)?運行仿真:I0.0,I0.1=ON:PIW256<6Q0.0=ON,PIW256>10Q0.0=OFF.I0.2,I0.3=ON:PIW256<16Q0.2=ON,PIW256>20Q0.2=OFF.I0.3,I0.4=ON:PIW256<26Q0.4=ON,PIW256>30Q0.4=OFF.
614計時器計數(shù)器與數(shù)據(jù)塊(S7-PRO10)?說明:計時器,計數(shù)器的數(shù)據(jù)在數(shù)據(jù)塊中的存取的實現(xiàn)。計時器T0與T1組成一個振蕩器。振蕩的次數(shù)由計數(shù)器記錄。?設計:OB1為運行程序,DB1為存取數(shù)據(jù)塊。DB塊:DB1
62?OB塊:OB1計時器數(shù)據(jù)格式:
63OB1續(xù)
64?運行仿真:
655占空比可調的時間震蕩器(S7-PRO26)
66?運行仿真:
676循環(huán)中斷OB35(S7-PRO21)?在項目中添加OB35?進入OB35編寫中斷程序
68?在PLC中設定循環(huán)中斷有效
69?進入OB1編寫主程序?程序下載到PLC(或仿真器)?運行
70第三章PLC程序設計(開關量設計)
711.開關量控制系統(tǒng)設計方法舉例(1)機械手控制系統(tǒng)線性程序設計?控制要求:機械手一個循環(huán)周期可分為八步。?控制方式:自動、單動和手動。下面討論自動控制過程。
72?硬件選擇
73?硬件接線原理圖
74?由邏輯流程圖設計程序
75?由時序流程圖設計程序由時序流程圖來設計程序,首先要把整個工程的各個任務分成多個時序,在不同的時序中完成不同的任務。例如本例子中可分成8個時序。用M1.0、M1.1…M1.7分別表述各個時序的特征位。當M1.O=1時為機械手下降1時序,M1.1為機械手抓緊時序等。
76?線性結構軟件設計(S7-PR23)OB1塊
77OB1續(xù)
78OB1續(xù)
79OB1續(xù)
80OB1續(xù)
81OB1續(xù)
82運行仿真I0.4=1I0.6=1I1.5=1I0.0=1Q0.0=1降1I0.4=0I0.5=1Q0.0=0Q0.4=1T1=1Q0.1=1升1I0.5=0I0.4=1Q0.1=0Q0.2=1右I0.6=0I0.7=1Q0.2=0Q0.0=1降2I0.4=0I0.5=1Q0.0=0Q0.4=0T2=1Q0.1=1升2I0.5=0I0.4=1Q0.1=0Q0.3=1左I0.7=0I0.6=1Q0.3=0
83(2)攪拌控制系統(tǒng)線性程序設計?初始狀態(tài)及操作工藝…?硬件設計…
84?內存變量分配表
85?線性結構軟件設計(S7-PRO8)OB1塊
86OB1續(xù)
87OB1續(xù)
88?系統(tǒng)仿真I0.0=ONI0.4=OFFQ4.0=ONI0.3=ONQ4.0=OFFQ4.1=ONI0.2=ONQ4.1=OFFQ4.2=OFFT1T1=ONQ4.2=OFFQ4.3=ONI0.4=OFFT2T2=ONQ4.3=OFF
89(3)攪拌控制系統(tǒng)分塊結構軟件設計(S7-PRO9)?塊結構OB1主程序OB100由停止轉為運行時初始化程序FC1為配料A控制程序FC2為配料B控制程序FC3為攪拌控制程序FC4為出料控制程序
90OB1
91OB1續(xù)
92OB100
93FC1FC2
94FC3
95FC4
96?系統(tǒng)仿真I0.0=ONI0.4=OFFQ4.0=ONI0.3=ONQ4.0=OFFQ4.1=ONI0.2=ONQ4.1=OFFQ40.2=OFFT1T1=ONQ4.2=OFFQ4.3=ONI0.4=OFFT2T2=ONQ4.3=OFF
97第四章PLC程序設計(模擬量設計)
981.模擬量控制系統(tǒng)設計舉例(1)攪拌控制系統(tǒng)線性程序設計(S7-PRO111)?初始狀態(tài)及操作工藝…?硬件設計…?軟件系統(tǒng)結構
99?OB1塊
100OB1續(xù)
101OB1續(xù)
102OB1續(xù)
103?OB100塊
104?系統(tǒng)仿真I0.0=ONPIW256<100Q4.0=ONPIW256>=100Q4.0=OFFQ4.1=ONPIW256>=200Q4.1=OFFQ4.2=OFFT1T1=ONQ4.2=OFFQ4.3=ONPIW256=0T2T2=ONQ4.3=OFF
1052S7-300模擬量模塊的尋址IM256to270336to350352to366368to382304to318320to334272to286288to302(發(fā)送)槽口號234567891011384to398400to414432to446448to462464to478480to494496to510416to430機架1R0電源模塊IM(接收)電源模塊CPU512to526528to542544to558560to574576to590592to606608to622624to638機架2IM(接收)電源模塊機架3640to654656to670672to686688to702704to718720to734736to750752to766IM(接收)電源模塊
1063模擬量模塊SM335(輸入)
1074模擬模塊SM335(輸出)
1085模擬輸入模塊SM331
1096配置模擬量模塊SM335
1107配置模擬量模塊SM331
111發(fā)布完畢!
112謝謝大家!