戰(zhàn)解析)
簡介西門子PLC編程基礎(chǔ)PPT學(xué)習(xí)教案是一份面向工業(yè)自動(dòng)化初學(xué)者與電氣從業(yè)人員的入門課件以43頁內(nèi)容系統(tǒng)梳理PLC整體式與模塊式結(jié)構(gòu)、CPU與存儲(chǔ)器等核心部件并重點(diǎn)解析循環(huán)掃描工作原理中的輸入采樣、程序執(zhí)行、輸出刷新三個(gè)階段以及S7系列PLC的裝載存儲(chǔ)器、工作存儲(chǔ)器、系統(tǒng)存儲(chǔ)器與常用地址區(qū)。資源為單個(gè)pptx文件體積224KB輕量便攜便于隨時(shí)對(duì)照學(xué)習(xí)。目前已有91人學(xué)習(xí)下載適合在課前預(yù)習(xí)、課堂講解或自學(xué)入門場景使用。課件中配有啟動(dòng)組織塊OB100、過程映像區(qū)、梯形圖掃描順序、累加器與狀態(tài)字等關(guān)鍵知識(shí)點(diǎn)的講解能夠幫助讀者理解PLC“串行掃描、循環(huán)執(zhí)行”的工作特點(diǎn)為后續(xù)編寫用戶程序、排查掃描周期相關(guān)邏輯問題打下基礎(chǔ)。1. 從一份教案說起這套西門子PLC學(xué)習(xí)材料到底藏著什么做工業(yè)自動(dòng)化這行電腦里沒存過幾份“西門子PLC編程基礎(chǔ)”的PPT都不好意思說自己是干工控的。我手上這套《西門子PLC編程基礎(chǔ)PPT學(xué)習(xí)教案》不是那種從官網(wǎng)扒下來的干巴巴手冊(cè)而是一份把梯形圖、指令表、功能塊圖、結(jié)構(gòu)化文本全部串起來的學(xué)習(xí)講義核心圍繞西門子S7-1200和S7-200 SMART兩款主流機(jī)型展開。標(biāo)題里雖然寫著“PPT學(xué)習(xí)教案”但它的價(jià)值不在于幻燈片本身多精美而在于它把PLC編程從“看書看不懂”變成了“照著練就能上手”的路線圖。有人可能會(huì)問現(xiàn)在網(wǎng)上教程滿天飛B站視頻一搜一大把為什么還要看一份PPT教案我的理解是視頻教程最大的問題是“看完就忘”而一份結(jié)構(gòu)化的教案能讓你在工位上隨時(shí)翻、隨時(shí)對(duì)、隨時(shí)改。尤其對(duì)剛?cè)胄械碾姎夤こ處?、設(shè)備維護(hù)人員、或者想轉(zhuǎn)行做自動(dòng)化的大學(xué)生來說這套材料解決的痛點(diǎn)非常明確我知道PLC很重要但梯形圖怎么畫、地址怎么分配、定時(shí)器計(jì)數(shù)器怎么用、程序和硬件怎么聯(lián)調(diào)這些碎片化的問題需要一條主線把它們串起來。這套教案干的就是這件事。而且從搜索熱詞能看出來大家對(duì)西門子PLC的關(guān)注點(diǎn)非常集中“西門子1200如何選型”、“西門子s7-200smart”、“西門子1200plc編程”、“plc梯形圖”、“plc編程入門基礎(chǔ)知識(shí)”。這說明什么說明大量的新手用戶正卡在“選型—接線—編程—調(diào)試”這條鏈路的第一公里。這套教案恰好覆蓋了從硬件認(rèn)識(shí)到軟件操作從簡單啟??刂频綇?fù)雜通信處理的完整路徑屬于那種“放在桌面隨時(shí)翻碰到問題馬上查”的實(shí)戰(zhàn)型資料。這篇文章我會(huì)結(jié)合自己用這套教案帶新人的經(jīng)驗(yàn)把里面最核心的內(nèi)容拆開揉碎講清楚包括教案的整體設(shè)計(jì)思路、關(guān)鍵知識(shí)點(diǎn)解讀、實(shí)操環(huán)節(jié)的注意事項(xiàng)、以及學(xué)習(xí)過程中最常見的坑。不管你是完全零基礎(chǔ)的小白還是已經(jīng)接觸過其他品牌PLC想轉(zhuǎn)西門子的工程師這篇文章都值得你花十分鐘讀完。2. 教案整體設(shè)計(jì)拆解為什么這么編排每個(gè)章節(jié)解決什么問題2.1 從“繼電器電路”到“PLC程序”的思維遷移這套教案的第一個(gè)亮點(diǎn)也是我認(rèn)為最適合新手的一點(diǎn)是它沒有一上來就講TIA博途軟件怎么裝、界面長什么樣而是用了整整一個(gè)章節(jié)來講繼電器控制系統(tǒng)和PLC控制系統(tǒng)之間的對(duì)應(yīng)關(guān)系。這個(gè)設(shè)計(jì)非常聰明因?yàn)閷?duì)大多數(shù)電氣出身的人來說接觸PLC之前都畫過繼電器電路圖按鈕、接觸器、中間繼電器、時(shí)間繼電器這些元件的邏輯關(guān)系是通過硬接線實(shí)現(xiàn)的。PLC出現(xiàn)之后這些邏輯關(guān)系變成了程序里的常開觸點(diǎn)、常閉觸點(diǎn)、線圈輸出。如果這個(gè)思維轉(zhuǎn)換沒做好后面學(xué)梯形圖會(huì)非常別扭。教案里用了一個(gè)經(jīng)典的三相異步電機(jī)啟??刂齐娐穪碜鰧?duì)比繼電器電路里由自鎖觸點(diǎn)實(shí)現(xiàn)的“保持”功能在PLC里就是輸出線圈并聯(lián)自己的常開觸點(diǎn)繼電器電路里的互鎖在PLC里就是兩個(gè)輸出線圈前串聯(lián)對(duì)方的常閉觸點(diǎn)。這個(gè)對(duì)照關(guān)系一旦建立你會(huì)發(fā)現(xiàn)梯形圖不是一門新語言而是你早就熟悉的繼電器電路圖的“軟件化表達(dá)”。教案在這個(gè)基礎(chǔ)上進(jìn)一步延伸講解了PLC掃描工作原理輸入采樣、程序執(zhí)行、輸出刷新這三個(gè)階段以及為什么PLC程序是“從上到下、從左到右”逐行掃描的。理解了掃描周期后面遇到輸出響應(yīng)延遲、程序執(zhí)行順序影響結(jié)果這類問題你就能自己推斷出原因了。2.2 硬件認(rèn)知先于編程操作選型知識(shí)是隱形主線這套教案第二個(gè)讓我覺得靠譜的地方是把硬件選型和接線放在了編程之前。很多自學(xué)的人容易犯一個(gè)錯(cuò)誤軟件剛裝上就急著寫程序結(jié)果到了現(xiàn)場發(fā)現(xiàn)CPU選小了、通信口不夠用、輸入輸出類型不匹配整個(gè)項(xiàng)目推倒重來。教案用一個(gè)章節(jié)講清楚了S7-1200和S7-200 SMART的硬件結(jié)構(gòu)差異S7-200 SMART屬于整體式PLCCPU、電源、I/O集成在一個(gè)模塊里適合點(diǎn)數(shù)少、控制邏輯相對(duì)簡單的小型設(shè)備S7-1200雖然也是緊湊型設(shè)計(jì)但它支持通過右側(cè)擴(kuò)展信號(hào)板、通信模塊、技術(shù)模塊來增加功能可擴(kuò)展性和通信能力比200 SMART強(qiáng)得多。選型的時(shí)候教案給出的思路我覺得很實(shí)用先統(tǒng)計(jì)現(xiàn)場有多少數(shù)字量輸入、數(shù)字量輸出、模擬量輸入、模擬量輸出再考慮是否需要高速計(jì)數(shù)、脈沖輸出、PID調(diào)節(jié)、通信組網(wǎng)這些特殊功能最后根據(jù)I/O點(diǎn)數(shù)和功能需求確定CPU型號(hào)。比如一個(gè)典型的包裝機(jī)項(xiàng)目需要10個(gè)數(shù)字量輸入、8個(gè)數(shù)字量輸出、1路模擬量溫度采集那S7-200 SMART SR20就能勝任沒必要多花錢上S7-1200但如果你要接變頻器走Profinet通信同時(shí)還要掛一個(gè)觸摸屏和一個(gè)遠(yuǎn)程IO站那S7-1200 1214C起步會(huì)更穩(wěn)妥。教案里有一句話我記得很清楚“選型不是選最貴的而是選夠用且留有15%~20%余量的?!边@句話放到現(xiàn)在依然是黃金法則。2.3 指令學(xué)習(xí)不是背字典而是按“任務(wù)場景”組織指令是PLC編程的基本積木但沒有哪本正經(jīng)教案會(huì)建議你從頭到尾把指令手冊(cè)背一遍。這套教案的編排方式我很認(rèn)同它按照任務(wù)場景來組織指令學(xué)習(xí)而不是按照指令字母順序排列。第一個(gè)場景是“位邏輯控制”核心指令包括常開觸點(diǎn)、常閉觸點(diǎn)、輸出線圈、置位復(fù)位、邊沿檢測用來解決按鈕啟停、電機(jī)正反轉(zhuǎn)、物料檢測這類基礎(chǔ)邏輯問題。第二個(gè)場景是“定時(shí)與計(jì)數(shù)”核心指令包括TON、TOF、TONR這三類定時(shí)器以及CTU、CTD、CTUD這三類計(jì)數(shù)器用來解決延時(shí)啟動(dòng)、高頻計(jì)數(shù)、班產(chǎn)統(tǒng)計(jì)這類時(shí)間相關(guān)或脈沖計(jì)數(shù)的問題。第三個(gè)場景是“數(shù)據(jù)搬運(yùn)與比較”核心指令包括MOVE、CMP、整數(shù)運(yùn)算和浮點(diǎn)運(yùn)算用來解決配方數(shù)據(jù)傳遞、溫度值比較、產(chǎn)量累計(jì)這類需要處理具體數(shù)值的任務(wù)。第四個(gè)場景是“程序控制指令”包括跳轉(zhuǎn)、循環(huán)、子程序調(diào)用用來解決復(fù)雜流程的分段執(zhí)行和重復(fù)調(diào)用問題。每個(gè)場景下面配2到3個(gè)完整的小案例比如運(yùn)料小車自動(dòng)往返控制、交通燈定時(shí)循環(huán)控制、水泵輪換啟動(dòng)控制。這種“按需學(xué)指令”的方式比枯燥地翻手冊(cè)高效得多因?yàn)槟阒烂總€(gè)指令是為了解決什么問題而出現(xiàn)的自然記得牢、用得上。3. 編程實(shí)操要點(diǎn)TIA博途軟件環(huán)境與最基本的程序結(jié)構(gòu)3.1 博途軟件的項(xiàng)目樹比你想的更重要如果你用的是S7-1200或者S7-1500那你繞不開TIA博途Totally Integrated Automation Portal這個(gè)軟件。教案里花了比較多篇幅講項(xiàng)目樹的結(jié)構(gòu)一開始我覺得這部分有點(diǎn)無聊但后來帶新人多了才發(fā)現(xiàn)項(xiàng)目樹才是新手最先迷路的地方。項(xiàng)目樹左側(cè)從上到下分別是設(shè)備與網(wǎng)絡(luò)、PLC變量、PLC數(shù)據(jù)類型、程序塊、技術(shù)對(duì)象、外部源文件、PLC報(bào)警、文本列表。新手最容易犯的錯(cuò)誤是直接在“程序塊”里的OB1里寫所有邏輯不管什么功能都往主組織塊里塞最后程序幾百行擠在一起排查故障翻到崩潰。教案里推薦的做法是OB1只做“總調(diào)度”把不同的功能拆分到不同的FC函數(shù)或FB函數(shù)塊里比如“電機(jī)控制”單獨(dú)建一個(gè)FC“溫度采集”單獨(dú)建一個(gè)FBOB1里通過調(diào)用這些塊來實(shí)現(xiàn)整體控制流程。這樣做的好處一是結(jié)構(gòu)清晰二是方便復(fù)用同一條生產(chǎn)線有多臺(tái)相同的設(shè)備只需要調(diào)用同一個(gè)FB傳入不同的背景數(shù)據(jù)塊就行了。我在實(shí)際項(xiàng)目里見過太多把幾千行程序全寫在OB1里的案例那種程序維護(hù)起來簡直是噩夢。所以這部分教案雖然看起來只是軟件操作界面的介紹但它實(shí)際上在教一個(gè)非常重要的編程思想模塊化、結(jié)構(gòu)化、可維護(hù)性。3.2 絕對(duì)尋址與符號(hào)尋址新手一定要分清西門子PLC的地址系統(tǒng)是很多從三菱轉(zhuǎn)過來的工程師最先懵的地方。三菱PLC的地址直觀X0、Y0、M0、D0西門子則是I、Q、M、DB其中I是數(shù)字量輸入映像區(qū)Q是數(shù)字量輸出映像區(qū)M是位存儲(chǔ)區(qū)DB是數(shù)據(jù)塊。教案里用一張表格整理了常見地址范圍和使用場景我把核心內(nèi)容提煉出來地址類型表示方式典型用途注意事項(xiàng)數(shù)字量輸入I0.0、I0.1、I1.0接按鈕、接近開關(guān)、繼電器觸點(diǎn)按字節(jié)和位尋址I0.0表示第0字節(jié)第0位數(shù)字量輸出Q0.0、Q0.1、Q1.0接接觸器、電磁閥、指示燈同樣按字節(jié)和位尋址Q0.0和Q0.1是同一字節(jié)的兩位位存儲(chǔ)區(qū)M0.0、M0.1、M10.0中間標(biāo)志位、邏輯暫存掉電不保持注意別和I/Q區(qū)混淆數(shù)據(jù)塊DB1.DBX0.0、DB1.DBW0保存參數(shù)、配方、計(jì)算結(jié)果訪問方式靈活可定義各種數(shù)據(jù)類型教案里特別強(qiáng)調(diào)了一個(gè)細(xì)節(jié)初學(xué)者在寫梯形圖的時(shí)候往往習(xí)慣直接用絕對(duì)地址比如I0.0、Q0.0但這在小程序里沒問題程序一旦變大滿屏的I0.0和Q0.0會(huì)讓你完全讀不懂自己在寫什么。所以教案建議從一開始就養(yǎng)成用符號(hào)尋址的習(xí)慣給每個(gè)I/O點(diǎn)起一個(gè)有意義的名字比如“啟動(dòng)按鈕”“急停按鈕”“主接觸器”在TIA博途的PLC變量表里定義好編程的時(shí)候直接拖名字出來用。這一步前期看起來好像多花了點(diǎn)時(shí)間但到后面調(diào)試、維護(hù)、交接的時(shí)候省下來的時(shí)間不可估量。3.3 定時(shí)器和計(jì)數(shù)器指令實(shí)戰(zhàn)TON的三段式理解法定時(shí)器是PLC編程里使用頻率最高的指令之一也是考試和面試的常客。教案里用TON接通延時(shí)定時(shí)器作為重點(diǎn)講解對(duì)象我覺得這個(gè)選材很準(zhǔn)。TON指令的梯形圖帶三個(gè)引腳IN使能、PT預(yù)設(shè)時(shí)間、ET當(dāng)前時(shí)間輸出Q在IN為ON且持續(xù)時(shí)間達(dá)到PT后變?yōu)镺N。很多新手搞不明白的是ET從哪里來、怎么監(jiān)控、為什么程序里看不到當(dāng)前的計(jì)時(shí)值。實(shí)際上TON不是硬件定時(shí)器而是由PLC系統(tǒng)在掃描周期內(nèi)自動(dòng)維護(hù)的一個(gè)數(shù)據(jù)結(jié)構(gòu)ET就是其中的一個(gè)字段你可以在在線監(jiān)控狀態(tài)下把它拖到程序狀態(tài)表里查看。教案提出的“三段式理解法”很實(shí)用第一段IN從OFF變ON的瞬間定時(shí)器開始計(jì)時(shí)ET從0往上漲此時(shí)Q保持OFF第二段ET上漲到大于等于PT時(shí)Q變?yōu)镺N此后即使IN一直保持ONET也停在PT不再上漲第三段IN從ON變OFF定時(shí)器復(fù)位ET歸零Q變回OFF。把這三個(gè)階段對(duì)應(yīng)到實(shí)際場景里比如電機(jī)啟動(dòng)3秒后才打開冷卻風(fēng)扇指示燈亮5秒后自動(dòng)熄滅就能很自然地把TON指令用起來了。還有一種寫教案的方法會(huì)把TONR保持型定時(shí)器、TOF斷開延時(shí)定時(shí)器和TON放在一起對(duì)比這套教案也是這么做的并且給出了一個(gè)很關(guān)鍵的使用提醒TONR的當(dāng)前值不會(huì)因?yàn)镮N斷開而清零只能通過復(fù)位指令R來清零這在設(shè)備掉電保持計(jì)時(shí)值、累計(jì)運(yùn)行時(shí)間的場景下特別有用。計(jì)數(shù)器指令CTU的邏輯和TON很像只是把“時(shí)間累計(jì)”換成了“脈沖計(jì)數(shù)”。教案建議新手在練習(xí)計(jì)數(shù)指令的時(shí)候除了用外部按鈕手動(dòng)生成脈沖之外也可以直接用系統(tǒng)時(shí)鐘脈沖M0.51Hz來做計(jì)數(shù)源這樣不用接任何硬件就能看到計(jì)數(shù)器的工作過程非常推薦剛接觸的人試試。4. 完整實(shí)操演示手把手實(shí)現(xiàn)“電機(jī)啟停故障報(bào)警運(yùn)行計(jì)時(shí)”的控制程序4.1 任務(wù)描述與I/O分配先把需求翻譯成地址表我在帶新人做練習(xí)的時(shí)候最喜歡用一個(gè)綜合小案例把前面講過的知識(shí)點(diǎn)串起來一套簡化版的傳送帶控制系統(tǒng)要求實(shí)現(xiàn)三個(gè)功能——電機(jī)啟動(dòng)和停止、熱過載繼電器動(dòng)作時(shí)報(bào)警并停電機(jī)、運(yùn)行時(shí)間累計(jì)并在觸摸屏上顯示。聽起來簡單但它把位邏輯、置位復(fù)位、定時(shí)器、計(jì)數(shù)器、數(shù)據(jù)傳送全部涵蓋進(jìn)去了。教案里第一步永遠(yuǎn)是做好I/O分配這也是我強(qiáng)烈建議新手養(yǎng)成的好習(xí)慣一上來就寫程序十有八九會(huì)漏掉輸入點(diǎn)或者搞錯(cuò)地址。這個(gè)案例的I/O分配表如下地址符號(hào)名數(shù)據(jù)類型說明I0.0啟動(dòng)按鈕Bool常開按鈕按下時(shí)ONI0.1停止按鈕Bool常閉按鈕斷開時(shí)OFF急停邏輯I0.2熱過載繼電器Bool故障信號(hào)常閉觸點(diǎn)Q0.0主接觸器Bool控制電機(jī)主回路通斷Q0.1報(bào)警指示燈Bool故障時(shí)亮起M0.0運(yùn)行標(biāo)志Bool內(nèi)部中間位表示電機(jī)正在運(yùn)行MD10運(yùn)行時(shí)間累計(jì)DInt以秒為單位累計(jì)這里有三個(gè)細(xì)節(jié)值得展開。第一停止按鈕用了常閉觸點(diǎn)意味著在沒有按下時(shí)I0.1為ON程序里串聯(lián)的也是I0.1的常開觸點(diǎn)這樣一旦急?;芈窋嗑€PLC檢測到的狀態(tài)和按下急停時(shí)相同設(shè)備會(huì)自動(dòng)停機(jī)這符合安全設(shè)計(jì)原則。第二熱過載繼電器用常閉觸點(diǎn)接入正常時(shí)I0.2為ON程序里使用I0.2的常開觸點(diǎn)故障時(shí)I0.2變OFF相當(dāng)于程序里串聯(lián)的觸點(diǎn)斷開電機(jī)停止。第三運(yùn)行時(shí)間累計(jì)不能直接用Q0.0來做時(shí)鐘信號(hào)因?yàn)镼0.0是輸出映像區(qū)如果程序在某個(gè)掃描周期里修改了Q0.0而累加邏輯又依賴Q0.0的狀態(tài)可能會(huì)引起邏輯混亂更穩(wěn)妥的做法是設(shè)置一個(gè)運(yùn)行標(biāo)志M0.0以它的狀態(tài)作為累計(jì)計(jì)時(shí)的使能條件。4.2 梯形圖程序分段實(shí)現(xiàn)與逐段講解程序分三段來寫。第一段是電機(jī)啟停邏輯寫法是// 第一段電機(jī)啟動(dòng)/停止 // 啟動(dòng)條件按啟動(dòng)按鈕I0.0且無故障I0.2為ON // 停止條件按停止按鈕I0.1為OFF或故障I0.2為OFF Q0.0 : (I0.0 OR Q0.0) AND I0.1 AND I0.2;這段用了結(jié)構(gòu)化文本的寫法來表達(dá)邏輯如果用梯形圖畫出來就是啟動(dòng)按鈕常開觸點(diǎn)并聯(lián)主接觸器Q0.0的常開觸點(diǎn)自鎖再串聯(lián)停止按鈕I0.1的常開觸點(diǎn)和熱過載I0.2的常開觸點(diǎn)最后驅(qū)動(dòng)Q0.0線圈。核心邏輯用大白話說就是要么我新按一下啟動(dòng)要么電機(jī)的接觸器已經(jīng)吸合了只要停止按鈕沒被按下且沒有故障電機(jī)就一直運(yùn)行。用M0.0做運(yùn)行標(biāo)志寫法類似M0.0 : Q0.0;第二段是故障報(bào)警邏輯。故障的首要標(biāo)志就是熱過載I0.2變OFF此時(shí)Q0.1報(bào)警燈亮。注意這里有個(gè)小問題如果故障恢復(fù)I0.2重新變ON報(bào)警燈會(huì)立刻熄滅但實(shí)際設(shè)備里往往希望報(bào)警保持住需要人工確認(rèn)消除。所以教案里的做法是用一個(gè)置位指令S置位一個(gè)M0.1“故障鎖存”報(bào)警燈M0.1常開觸點(diǎn)驅(qū)動(dòng)然后在觸摸屏或者一個(gè)復(fù)位按鈕I0.3上做復(fù)位// 第二段故障鎖存報(bào)警 IF NOT I0.2 THEN M0.1 : TRUE; // 鎖存故障 END_IF; Q0.1 : M0.1; // 報(bào)警燈輸出 // 復(fù)位按鈕I0.3按下時(shí)清除故障鎖存 IF I0.3 THEN M0.1 : FALSE; END_IF;第三段是運(yùn)行時(shí)間累計(jì)。用M0.0作為計(jì)時(shí)使能每1秒累加一次累計(jì)值放在MD10里。注意在TIA博途里MD10是一個(gè)雙字它會(huì)和MW8、MW10這樣的字地址交疊所以程序里最好只定義一個(gè)符號(hào)名“運(yùn)行時(shí)間累計(jì)”不要再用絕對(duì)地址去訪問MW8否則會(huì)出現(xiàn)數(shù)據(jù)互相覆蓋的隱性bug。寫法如下// 第三段運(yùn)行時(shí)間累計(jì)每秒加1 IF M0.0 THEN // 使用系統(tǒng)時(shí)鐘1Hz位M0.5做秒脈沖 IF M0.5 THEN MD10 : MD10 1; END_IF; END_IF;這三段程序合起來就是一個(gè)功能完整的電機(jī)控制邏輯。在線調(diào)試的時(shí)候把I0.0強(qiáng)制為ON模擬啟動(dòng)可以看到Q0.0跟著變ONM0.0變ONMD10每秒鐘加1把I0.2強(qiáng)制為OFF模擬熱過載跳閘Q0.0立刻變OFFQ0.1報(bào)警燈亮起按下I0.3報(bào)警燈熄滅系統(tǒng)恢復(fù)。整個(gè)流程走下來你基本上就掌握了西門子PLC最核心的編程套路。4.3 PLC程序的上傳下載與在線監(jiān)控別把調(diào)試順序搞反了程序?qū)懲曛笙乱徊骄褪怯布?lián)調(diào)。教案里花了篇幅講TIA博途和PLC之間的連接方式這里我補(bǔ)充幾個(gè)實(shí)際調(diào)試中容易踩的坑。第一S7-1200默認(rèn)的PC/PG接口類型是PN/IE也就是Profinet網(wǎng)口用網(wǎng)線直連電腦和PLC時(shí)需要把電腦的IP地址設(shè)置成和PLC同一個(gè)網(wǎng)段比如PLC的IP是192.168.0.1那么電腦的IP可以設(shè)成192.168.0.10子網(wǎng)掩碼255.255.255.0。很多人連不上PLC不是程序有問題而是網(wǎng)卡IP沒配好。第二下載程序之前一定要檢查有沒有在線訪問的保護(hù)密碼。如果PLC設(shè)置了訪問保護(hù)而你不知道密碼是沒法下載程序的。二手PLC或者別人調(diào)試過的設(shè)備經(jīng)常出現(xiàn)這種情況解決辦法只能是通過Memory Reset恢復(fù)出廠設(shè)置但這樣PLC里的程序也會(huì)清空所以拿到設(shè)備第一步應(yīng)該先上傳備份。第三在線監(jiān)控的時(shí)候TIA博途會(huì)顯示當(dāng)前每個(gè)觸點(diǎn)和線圈的通斷狀態(tài)綠色的虛線表示導(dǎo)通。很多新手以為在線監(jiān)控就是把鼠標(biāo)點(diǎn)到程序塊上就行其實(shí)你還需要點(diǎn)擊工具欄上的“眼鏡”圖標(biāo)進(jìn)入監(jiān)控模式并且在監(jiān)控狀態(tài)下不能直接修改程序修改完程序必須先下載再回到監(jiān)控模式。這些操作細(xì)節(jié)教案里都有提到但最容易忽略的是“程序修改后必須完整下載一遍才能生效”因?yàn)椴┩镜脑诰€修改只對(duì)支持在線修改的指令生效不支持的部分會(huì)提示你需要停機(jī)下載。5. 常見問題與排查技巧學(xué)習(xí)西門子PLC過程中最常遇到的坎5.1 硬件接線與信號(hào)類型不匹配NPN和PNP到底怎么接在整理搜索熱詞的時(shí)候有一條特別顯眼“輸出脈沖接入西門子plc的npn(plc公共端接的電源正)接法”。這可以說是從入門到中級(jí)都高頻出現(xiàn)的問題。西門子的數(shù)字量輸入模塊無論是S7-200 SMART還是S7-1200都支持漏型sink和源型source兩種接法但對(duì)新手來說最容易搞混的是傳感器輸出類型和PLC輸入模塊的匹配。簡單的記憶方法是NPN型傳感器輸出低電平電流從負(fù)載流向傳感器所以PLC的公共端要接電源正極傳感器的信號(hào)線接PLC輸入端當(dāng)傳感器動(dòng)作時(shí)輸入端被拉到0VPLC檢測到信號(hào)。而PNP型傳感器輸出高電平電流從傳感器流向負(fù)載公共端接電源負(fù)極傳感器動(dòng)作時(shí)信號(hào)線輸出24VPLC檢測到高電平。如果你把NPN傳感器接到了公共端為負(fù)的接法上怎么調(diào)都檢測不到信號(hào)。教案里建議在接線之前先用萬用表測量傳感器輸出線在動(dòng)作和不動(dòng)作時(shí)的電壓變化確認(rèn)是NPN還是PNP再做接線。這個(gè)小習(xí)慣能幫你省掉無數(shù)排查時(shí)間。5.2 程序能下載但運(yùn)行不了先查這幾個(gè)地方程序下載成功但CPU不進(jìn)入運(yùn)行狀態(tài)或者運(yùn)行一下就跳STOP這也是新手高頻問題。教案里給了一個(gè)排查順序我用了很多年非常管用。第一步看CPU面板上的RUN/STOP指示燈如果是黃色STOP狀態(tài)雙擊在線訪問里的“診斷”查看緩沖區(qū)里的錯(cuò)誤信息第二步看是否缺少組織塊比如OB1被刪了但程序里還調(diào)用了其他塊CPU會(huì)報(bào)錯(cuò)第三步看是否有硬件組態(tài)不匹配比如實(shí)際擴(kuò)展模塊的型號(hào)和組態(tài)里選的不一樣第四步看是否有程序錯(cuò)誤比如定時(shí)器編號(hào)重復(fù)、數(shù)據(jù)塊類型不匹配。常見的一個(gè)坑是S7-1200的程序里使用了IEC定時(shí)器比如TON但沒有給這個(gè)定時(shí)器分配背景數(shù)據(jù)塊編譯時(shí)會(huì)報(bào)錯(cuò)CPU下載后無法啟動(dòng)。解決方法是選中定時(shí)器右鍵選擇“生成背景數(shù)據(jù)塊”再重新編譯下載。5.3 通信問題遙遙無期Modbus和Profinet是兩座大山從熱詞里能看到很多人都在搜“西門子plc485通訊程序”、“kepserver連接西門子smart 200”、“康耐視insight相機(jī)與西門子plc關(guān)于profinet通訊說明”。通信確實(shí)是西門子PLC學(xué)習(xí)里的進(jìn)階門檻。S7-200 SMART本身集成了RS485口支持Modbus RTU協(xié)議通過Modbus指令庫就可以作為主站或者從站和變頻器、儀表、觸摸屏通信。常見的問題是波特率、數(shù)據(jù)位、校驗(yàn)位設(shè)置不一致導(dǎo)致通信數(shù)據(jù)亂碼教案里的建議是所有通信參數(shù)必須和從站設(shè)備保持一致先確認(rèn)設(shè)備端支持哪些波特率再在PLC程序里填入相同的值通信建立后先用“讀取保持寄存器”功能測試再寫業(yè)務(wù)邏輯。S7-1200的Profinet通信則是另一套邏輯它基于以太網(wǎng)組態(tài)的時(shí)候需要在設(shè)備視圖里添加IO設(shè)備配置設(shè)備的IP地址和設(shè)備名稱然后分配IO地址區(qū)。很多初學(xué)者最頭疼的就是設(shè)備名稱不匹配S7-1200要求IO設(shè)備的名稱必須和實(shí)際設(shè)備上設(shè)置的名稱完全一致否則通信報(bào)錯(cuò)。教案里提供了一個(gè)很巧妙的排查方法在TIA博途的“在線訪問”里掃描網(wǎng)絡(luò)中實(shí)際存在的設(shè)備對(duì)比設(shè)備名稱、IP地址是否和組態(tài)一致就能快速定位問題。這個(gè)習(xí)慣建議大家都養(yǎng)成通信調(diào)試時(shí)比反復(fù)下載程序高效得多。6. 教案之外關(guān)于學(xué)習(xí)路徑和實(shí)操心態(tài)的一些個(gè)人看法用了這套教案帶過幾批新人之后我自己最深的體會(huì)是PLC編程的學(xué)習(xí)曲線其實(shí)不是“陡峭”而是“綿長”——入門可以很快但要真正形成穩(wěn)定的基本功需要大量的重復(fù)練習(xí)和現(xiàn)場反饋。教案能給你的是框架、路徑、關(guān)鍵知識(shí)和避坑清單但真正讓你成長的是每一條指令背后的需求場景、每一次通信故障排查帶來的經(jīng)驗(yàn)積累。所以我給新人的建議一直是不要追求把指令背全而是把一個(gè)項(xiàng)目從頭到尾做完從硬件選型到I/O分配從梯形圖編程到在線調(diào)試從故障模擬到通信配置這個(gè)過程走下來你對(duì)PLC的理解會(huì)上一個(gè)臺(tái)階。如果你現(xiàn)在正準(zhǔn)備開始學(xué)西門子PLC手頭正好有這份《西門子PLC編程基礎(chǔ)PPT學(xué)習(xí)教案》我的建議是別急著翻頁找一個(gè)具體的設(shè)備控制需求比如一個(gè)簡易的傳送帶、一臺(tái)水泵控制柜然后對(duì)照教案里的步驟把這個(gè)需求完整地實(shí)現(xiàn)一遍。遇到問題時(shí)回到教案里查知識(shí)點(diǎn)查不到就上網(wǎng)搜搜完再回來繼續(xù)做。這樣循環(huán)三五次你會(huì)發(fā)現(xiàn)教案里很多內(nèi)容已經(jīng)內(nèi)化成你自己的知識(shí)體系了。最后再分享一個(gè)小技巧每次調(diào)試完一個(gè)功能把當(dāng)時(shí)的程序截圖、通信配置、故障原因記在一個(gè)文檔里三個(gè)月后你回頭看會(huì)感謝現(xiàn)在這個(gè)勤奮記錄的自己。本文還有配套的精品資源點(diǎn)擊獲取