看到很多網(wǎng)友問(wèn)學(xué)習(xí)PLC的方法, 現(xiàn)將我個(gè)人學(xué)習(xí)PLC編程的心得總結(jié)如下,大家有更好的方法請(qǐng)補(bǔ)充:
1.有一定的電工基礎(chǔ)-----掌握傳感器、接近開(kāi)關(guān)、編馬器、氣動(dòng)元件等常用器件的使用及繼電器控制原理。
2.再學(xué)數(shù)制及數(shù)制轉(zhuǎn)換-----掌握二進(jìn)制、八進(jìn)制、十六進(jìn)制、BCD碼、ASCI碼的概念。
3.選擇你所在地區(qū)流型的PLC品牌做為學(xué)習(xí)的機(jī)種.---------學(xué)會(huì)后可以更好的與實(shí)際工作對(duì)接。
4.買臺(tái)手提電腦(配制不低于CPU最好是雙核或以上 ,1G內(nèi)存,硬盤80G,帶串口)----必備學(xué)習(xí)及外出干活的工具。
5. 學(xué)會(huì)電腦的基本操作,如開(kāi)機(jī)關(guān)機(jī)、文件保存以及WORD、EXCEL辦公軟件的基本應(yīng)用(電腦使用者必會(huì));常用軟件的安裝與卸載(如編程軟件的安裝和卸載);打字(用于程序起名及加注釋)。
6.尋找PLC編程軟件及仿真軟件、教學(xué)軟件(當(dāng)然還要學(xué)會(huì)使用它們)。-----必備學(xué)習(xí)用具。
7. 買相關(guān)書及視頻教材(電工論壇有歐姆龍,西門子,松下PLC視頻教程直播)。-----學(xué)習(xí)資料。
8. 找齊該PLC編程手冊(cè)、使用手冊(cè)、使用案例,可從網(wǎng)上收集或參加產(chǎn)品推廣會(huì)獲得。----工作中肯定會(huì)用到的資料.
9. 以上準(zhǔn)備好后,您可以自學(xué)PLC了,一般來(lái)說(shuō)PLC梯形圖的基本指令好學(xué),其邏輯關(guān)系與繼電器控制原理圖相通。但功能指令就難很多了。
10.最好是到有實(shí)力口碑好的學(xué)校培訓(xùn).-----比起自學(xué)可縮短學(xué)習(xí)時(shí)間,學(xué)得更系統(tǒng),還可多交恩師、學(xué)友以利于今后發(fā)展。
11. 用一切辦法多結(jié)識(shí)周圍的同行、PLC廠家、代理商,以便于得到他們的幫助及有用的信息。
12. 堅(jiān)持學(xué)習(xí),多與同行交流,多動(dòng)手實(shí)踐.-----編程是理論與技能高度結(jié)合的,應(yīng)多看書多實(shí)踐才能提高編程技術(shù)。
13. 當(dāng)外出包工程時(shí),還要準(zhǔn)備該類型PLC程序解密軟件------因?yàn)橛袝r(shí)你會(huì)忘記自己程序中已加的密碼,還有時(shí)是別人加密的程序,客戶要你J將它再優(yōu)化、增加新功能、修改參數(shù)、將原來(lái)定時(shí)停機(jī)的程序刪除。這也是很多人找解碼軟件的原因。
軌道交通集團(tuán)作為世界領(lǐng)先的軌道車輛和相關(guān)服務(wù)的供應(yīng)商,其業(yè)務(wù)范圍涵蓋了軌道車輛的各個(gè)領(lǐng)域,包括干線鐵路、地鐵和機(jī)車、以及有軌電車和輕軌車輛。西門子軌道交通集團(tuán)整合其在城市、城際和貨運(yùn)軌道交通等方面的優(yōu)勢(shì),為客戶提供環(huán)保、高效、可靠的軌道交通全面解決方案。在過(guò)去的 100 多年間,西門子成功地為中國(guó)交通基礎(chǔ)設(shè)施的發(fā)展和現(xiàn)代化作出了貢獻(xiàn)。不僅成功參與建設(shè)了上海、廣州、深圳、蘇州、杭州、鄭州、寧波和武漢的城市地鐵建設(shè),還為干線鐵路提供了交流電力機(jī)車、高速列車零部件以及維修維護(hù)服務(wù)。此外,集團(tuán)還與本地合作伙伴攜手不斷開(kāi)拓有軌電車以及城際列車市場(chǎng)。
S7-200的擴(kuò)展配置2 由CPU224組成的擴(kuò)展
S7-200的擴(kuò)展配置是由S7-200的基本單元和擴(kuò)展模塊組成。其擴(kuò)展模塊的數(shù)量受兩個(gè)條件約束:一個(gè)是基本單元能帶擴(kuò)展模塊的數(shù)量;另一個(gè)是基本單元的電源承受擴(kuò)展模塊消耗DC5V總線電流的能力。
編址舉例
CPU224組成的擴(kuò)展
由CPU224組成的擴(kuò)展配置可以由CPU224基本單元和最多7個(gè)擴(kuò)展模塊組成,CPU224可以向擴(kuò)展單元提供的DC5V電流為660mA。
例:若擴(kuò)展單元為4個(gè)16DI/16DO繼電器輸出EM223模塊和2個(gè)8DI的EM221模塊組成。查得:EM223繼電器輸出模塊耗DC5V總線電流為150 mA,EM221模塊耗DC5V總線電流為30 mA,總消耗電流為660 mA,等于CPU222可以提供DC5V的電流,所以這種配置還是可行的。
CPU224 |
EM223 |
EM223 |
EM223 |
EM223 |
EM221 |
EM221 |
I0.0 Q0.0 I0.1 Q0.1 I0.2 Q0.2 I0.3 Q0.3 I0.4 Q0.4 I0.5 Q0.5 I0.6 Q0.6 I0.7 Q0.7 I1.1 Q1.1 I1.2 I1.3 I1.4 I1.5
|
I2.0 Q2.0 I2.1 Q2.1 I2.2 Q2.2 I2.3 Q2.3 I2.4 Q2.4 I2.5 Q2.5 I2.6 Q2.6 I2.7 Q2.7 I3.0 Q3.0 I3.1 Q3.1 I3.2 Q3.2 I3.3 Q3.3 I3.4 Q3.4 I3.5 Q3.5 I3.6 Q3.6 I3.7 Q3.7 |
I4.0 Q4.0 I4.1 Q4.1 I4.2 Q4.2 I4.3 Q4.3 I4.4 Q4.4 I4.5 Q4.5 I4.6 Q4.6 I4.7 Q4.7 I5.0 Q5.0 I5.1 Q5.1 I5.2 Q5.2 I5.3 Q5.3 I5.4 Q5.4 I5.5 Q5.5 I5.6 Q5.6 I5.7 Q5.7 |
I6.0 Q6.0 I6.1 Q6.1 I6.2 Q6.2 I6.3 Q6.3 I6.4 Q6.4 I6.5 Q6.5 I6.6 Q6.6 I6.7 Q6.7 I7.0 Q7.0 I7.1 Q7.1 I7.2 Q7.2 I7.3 Q7.3 I7.4 Q7.4 I7.5 Q7.5 I7.6 Q7.6 I7.7 Q7.7 |
I8.0 Q8.0 I8.1 Q8.1 I8.2 Q8.2 I8.3 Q8.3 I8.4 Q8.4 I8.5 Q8.5 I8.6 Q8.6 I8.7 Q8.7 I9.0 Q9.0 I9.1 Q9.1 I9.2 Q9.2 I9.3 Q9.3 I9.4 Q9.4 I9.5 Q9.5 I9.6 Q9.6 I9.7 Q9.7 |
I10.0 I10.1 I10.2 I10.3 I10.4 I10.5 I10.6 I10.7 |
I11.0 I11.1 I11.2 I11.3 I11.4 I11.5 I11.6 I11.7 |
西門子S7-200 PLC的安裝方式、安裝環(huán)境和安裝注意事項(xiàng)
(1)安裝方式
S7-200的安裝方法有兩種:底板安裝和DIN導(dǎo)軌安裝。底板安裝是利用PLC機(jī)體外殼四個(gè)角上的安裝孔,用螺釘將其固定在底版上。DIN導(dǎo)軌安裝是利用模塊上的DIN夾子,把模塊固定在一個(gè)標(biāo)準(zhǔn)的DIN導(dǎo)軌上。導(dǎo)軌安裝既可以水平安裝,也可以垂直安裝。
(2)安裝環(huán)境
PLC適用于工業(yè)現(xiàn)場(chǎng),為了保證其工作的可靠性,延長(zhǎng)PLC的使用壽命,安裝時(shí)要注意周圍環(huán)境條件:環(huán)境溫度在0~55℃范圍內(nèi);相對(duì)濕度在35%~85%范圍內(nèi)(無(wú)結(jié)霜),周圍無(wú)易燃或腐蝕性氣體、過(guò)量的灰塵和金屬顆粒;避免過(guò)度的震動(dòng)和沖擊;避免太陽(yáng)光的直射和水的濺射。
(3)安裝注意事項(xiàng)
除了環(huán)境因素,安裝時(shí)還應(yīng)注意:PLC的所有單元都應(yīng)在斷電時(shí)安裝、拆卸;切勿將導(dǎo)線頭、金屬屑等雜物落入機(jī)體內(nèi);模塊周圍應(yīng)留出一定的空間,以便于機(jī)體周圍的通風(fēng)和散熱。此外,為了防止高電子噪聲對(duì)模塊的干擾,應(yīng)盡可能將S7-200模塊與產(chǎn)生高電子噪聲的設(shè)備(如變頻器)分隔開(kāi)。
西門子S7-200 PLC安裝:
1.程序家族有哪些成員?
PLC的控制程序一般由主程序、子程序和中斷程序組成。西門子的S7-300/400將子程序分為功能(Function,或稱為函數(shù))和功能塊(Function Block)。
在每一個(gè)掃描循環(huán)周期,CPU都要調(diào)用一次主程序,用戶程序必須有一個(gè)并且只能有一個(gè)主程序。小型控制系統(tǒng)可以只有主程序。
中斷程序用于快速響應(yīng)中斷事件。在中斷事件發(fā)生時(shí),CPU將停止執(zhí)行當(dāng)時(shí)正在處理的程序或任務(wù),去執(zhí)行用戶編寫的中斷程序。執(zhí)行完中斷程序后,繼續(xù)執(zhí)行被暫停執(zhí)行的程序或任務(wù)。
2.哪些情況需要使用子程序?
當(dāng)系統(tǒng)規(guī)模很大、控制要求復(fù)雜時(shí),如果將全部控制任務(wù)放在主程序中,主程序?qū)?huì)非常復(fù)雜,既難以調(diào)試,也難以閱讀。使用子程序可以將程序分成容易管理的小塊,使程序結(jié)構(gòu)簡(jiǎn)單清晰,易于調(diào)試、查錯(cuò)和維護(hù)。
子程序也可以用于需要多次反復(fù)執(zhí)行相同任務(wù)的地方,只需要編寫一次子程序,別的程序在需要的時(shí)候多次調(diào)用它,而無(wú)需重寫該程序。
3.怎樣調(diào)用子程序?
主程序可以調(diào)用子程序,子程序也可以嵌套調(diào)用別的子程序。嵌套調(diào)用的層數(shù)是有限制的,例如S7-200的最大嵌套深度為8級(jí)。
執(zhí)行完子程序后,返回調(diào)用它的程序中的調(diào)用指令的下一條指令。
4.每個(gè)掃描周期都會(huì)執(zhí)行子程序嗎?
子程序的調(diào)用可以是有條件的,在被調(diào)用期間,每個(gè)掃描周期都要執(zhí)行一次被調(diào)用的子程序。調(diào)用條件不滿足時(shí)不會(huì)執(zhí)行子程序中的指令,因此使用子程序可以減少掃描循環(huán)時(shí)間。
5.停止調(diào)用子程序后,子程序中的線圈處于什么狀態(tài)?
停止調(diào)用子程序后,不再執(zhí)行子程序中的指令。子程序中線圈對(duì)應(yīng)的編程元件如果沒(méi)有受到別的程序的控制,將保持子程序最后一次執(zhí)行后的狀態(tài)不變。即使控制這些線圈的觸點(diǎn)的狀態(tài)變化,該線圈對(duì)應(yīng)的元件的狀態(tài)也不會(huì)變化,因?yàn)檫@時(shí)根本就沒(méi)有執(zhí)行子程序中的指令。
6.怎樣實(shí)現(xiàn)子程序的無(wú)條件調(diào)用?
有的PLC的子程序調(diào)用指令不能直接接到左側(cè)的垂直“電源”線上,需要通過(guò)觸點(diǎn)電路來(lái)控制是否調(diào)用子程序,即子程序的調(diào)用是有條件的??梢杂靡恢睘镺N的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常開(kāi)觸點(diǎn)來(lái)實(shí)現(xiàn)子程序的無(wú)條件調(diào)用。
不同品牌的PLC的子程序大致可以分為兩種,一種子程序沒(méi)有輸入、輸出參數(shù)和局部變量,另一種則有。
1.什么是全局變量和局部變量?
以西門子的S7-200為例,輸入I、輸出Q、變量存儲(chǔ)器V、內(nèi)部存儲(chǔ)器位M、定時(shí)器T、計(jì)數(shù)器C等屬于全局變量,可以在符號(hào)表中為全局變量定義符號(hào)名。
程序組織單元(Program Organizational Unit)簡(jiǎn)稱為POU,包括主程序、子程序和中斷程序。每個(gè)POU均有自己的64字節(jié)局部變量,局部變量用L(Local)來(lái)表示,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。
2.局部變量有哪些類型?
子程序可以使用下列局部變量:
1) TEMP (臨時(shí)變量)是暫時(shí)保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該P(yáng)OU時(shí),定義的臨時(shí)變量才被使用,POU執(zhí)行完后,不再保存臨時(shí)變量的數(shù)值。主程序和中斷程序的局部變量表中只有TEMP變量。
2) IN(輸入?yún)?shù))由調(diào)用它的POU提供的傳入子程序的輸入?yún)?shù)。
3) OUT(輸出參數(shù))是子程序的執(zhí)行結(jié)果,它被返回給調(diào)用它的POU。
4) IN_OUT(輸入_輸出參數(shù))的初始值由調(diào)用它的POU傳送給子程序,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。
主程序和中斷程序的局部變量表中只有臨時(shí)變量TEMP。
3.子程序的輸入、輸出參數(shù)有什么作用?
具有輸入、輸出參數(shù)和局部變量的子程序易于實(shí)現(xiàn)結(jié)構(gòu)化編程,對(duì)于長(zhǎng)期生產(chǎn)同類設(shè)備或生產(chǎn)線的廠家尤為有用。編程人員為設(shè)備的各部件或工藝功能編寫了大量的通用的子程序。即使不知道子程序的內(nèi)部代碼,只要知道子程序的功能和輸入、輸出參數(shù)的意義,就可以用它們快速“組裝”出滿足不同的用戶要求的控制程序。就好像可以用數(shù)字集成電路芯片組成復(fù)雜的數(shù)字電路一樣。
如果子程序沒(méi)有輸入、輸出參數(shù),這種子程序沒(méi)有明確的軟件接口,使用起來(lái)很不方便。
4.局部變量有什么優(yōu)點(diǎn)?
1) 子程序如果沒(méi)有局部變量,它和調(diào)用它的程序之間只能通過(guò)全局變量來(lái)交換數(shù)據(jù),子程序內(nèi)部也只能使用全局變量。將它移植到別的項(xiàng)目時(shí),需要對(duì)各POU使用的全局變量作統(tǒng)一安排,以保證不會(huì)出現(xiàn)地址沖突。當(dāng)程序很復(fù)雜,子程序很多時(shí),這種地址分配是很花時(shí)間的。
如果子程序有局部變量,并且在子程序中只使用局部變量,不使用全局變量,因?yàn)榕c其他POU沒(méi)有地址沖突,不作任何改動(dòng),就可以將子程序移植到別的項(xiàng)目中去。
為了減少移植子程序的工作量,在子程序中應(yīng)盡量避免使用全局變量和全局符號(hào)。
2) 如果使用局部變量表中的臨時(shí)變量(TEMP),同一片物理存儲(chǔ)器可以在不同的程序中重復(fù)使用。
下面以S7-200為例,介紹子程序的編程和調(diào)用的過(guò)程。
1.創(chuàng)建子程序
生成項(xiàng)目時(shí),自動(dòng)生成一個(gè)子程序。打開(kāi)程序編輯器,執(zhí)行“編輯”菜單中的命令“插入”→“子程序”,將自動(dòng)生成和打開(kāi)新的子程序。
2.生成局部變量
名為“模擬量計(jì)算”的子程序如下圖所示,在該子程序的局部變量表中,定義了3個(gè)輸入(IN)參數(shù),一個(gè)輸出(OUT)參數(shù),和名為“暫存1”的臨時(shí)(TEMP)變量。局部變量表最左邊的一列是自動(dòng)分配的每個(gè)變量在局部存儲(chǔ)器(L)中的地址。
3.編寫子程序的梯形圖
局部變量表的下面是程序區(qū)(見(jiàn)上圖),輸入?yún)?shù)“轉(zhuǎn)換值”是來(lái)自模擬量輸入模塊的與模擬量成正比的轉(zhuǎn)換值,輸出參數(shù)“模擬值”是計(jì)算出的對(duì)應(yīng)的模擬量(例如壓力、溫度等)的工程值。子程序中變量名稱前的“#”表示該變量是局部變量,它是編程軟件自動(dòng)添加的,輸入局部變量時(shí)不用輸入“#”號(hào)。特殊存儲(chǔ)器位SM0.0的常開(kāi)觸點(diǎn)總是閉合。
4.子程序的調(diào)用
可以在主程序、其他子程序或中斷程序中調(diào)用子程序,調(diào)用子程序時(shí)將執(zhí)行子程序中的指令,直至子程序結(jié)束,然后返回調(diào)用它的程序中該子程序調(diào)用指令的下一條指令之處。
創(chuàng)建子程序后,在上圖左邊指令樹(shù)最下面的“調(diào)用子程序”文件夾中自動(dòng)生成剛創(chuàng)建的子程序“模擬量計(jì)算”對(duì)應(yīng)的圖標(biāo)。
在梯形圖程序中插入子程序調(diào)用指令時(shí),首先打開(kāi)主程序,顯示出需要調(diào)用子程序的網(wǎng)絡(luò)。打開(kāi)指令樹(shù)最下面的“調(diào)用子程序”文件夾,用鼠標(biāo)左鍵按住需要調(diào)用的子程序圖標(biāo),將它“拖”到程序編輯器中需要的位置。放開(kāi)左鍵,子程序塊便被放置在該位置。
子程序方框中左邊的“轉(zhuǎn)換值”等是在子程序“模擬量計(jì)算”的變量聲明表中定義的輸入?yún)?shù),右邊的“模擬值”是輸出參數(shù)。它們被稱為子程序的形式參數(shù),簡(jiǎn)稱為形參,形參在子程序內(nèi)部的程序中使用。調(diào)用子程序時(shí),需要為每個(gè)形參指定實(shí)際的參數(shù)(簡(jiǎn)稱為實(shí)參),例如為形參“轉(zhuǎn)換值”指定的實(shí)參為模擬量輸入字AIW2(見(jiàn)上圖)。
子程序調(diào)用指令中的實(shí)參的有效操作數(shù)為存儲(chǔ)器地址、常量、全局符號(hào)和調(diào)用指令所在的POU中的局部變量,不能指定被調(diào)用子程序中的局部變量。
CPU調(diào)用子程序時(shí),輸入?yún)?shù)被復(fù)制到子程序的局部存儲(chǔ)器,子程序執(zhí)行完后,從局部存儲(chǔ)器復(fù)制輸出參數(shù)到指定的輸出參數(shù)地址。