設(shè)計與工程實現(xiàn))
1. 項目需求拆解與控制系統(tǒng)架構(gòu)設(shè)計做電氣自動化這些年每年都會接到幾個和電力系統(tǒng)沾邊的非標項目。這套基于PLC的變電站變壓器控制系統(tǒng)是我從IO清單、PLC程序、電氣圖紙到上位機畫面完整交付的一個典型項目。雖然單論規(guī)模不算大但從控制邏輯到通信協(xié)議幾乎把工控人日常要用的知識點全串起來了。今天把這個項目拆開講從需求分析、硬件選型到關(guān)鍵程序和現(xiàn)場調(diào)試能寫多少寫多少。如果你正準備做相關(guān)畢業(yè)設(shè)計或者實際項目這套思路可以直接抄作業(yè)文末的源文件和定制渠道也給你留好了。很多人一聽到變電站就覺得特別高大上其實落到PLC控制這塊核心就三件事采集變壓器和高壓設(shè)備的運行狀態(tài)根據(jù)溫度和電壓自動控制風(fēng)機、有載調(diào)壓分接開關(guān)再把分合閘、報警、聯(lián)鎖這些信號理順。真正要動腦子的地方不是PLC編程本身而是需求怎么拆、聯(lián)鎖怎么搭、通信怎么對。下面我按自己的實際交付順序把整套系統(tǒng)的設(shè)計過程完整過一遍。1.1 這套系統(tǒng)到底在控什么變壓器是變電站的心臟PLC控制的不是變壓器線圈里的高壓電路而是圍繞變壓器運行的輔助設(shè)備和執(zhí)行機構(gòu)。最常見的控制對象包括油浸式變壓器的冷卻風(fēng)機、有載調(diào)壓分接開關(guān)、斷路器與隔離開關(guān)的位置監(jiān)測、油溫油位等非電量信號還有瓦斯繼電器、壓力釋放閥這些保護信號。PLC要做的是把這些分散的信號匯總起來形成一套“看得見、叫得醒、控得住”的自動化系統(tǒng)。舉個例子變壓器油溫超過60度時自動啟動第一組風(fēng)機超過75度時報警并聯(lián)鎖第二組風(fēng)機超過85度時跳閘。這套邏輯看著簡單但真要做扎實還得考慮溫度傳感器故障、風(fēng)機啟動反饋丟失、手動自動模式切換、遠方就地切換、故障優(yōu)先保持等一系列邊界情況。這些恰恰是控制系統(tǒng)的價值所在也是設(shè)計源文件里最值得看的部分。我接到的需求里還有有載調(diào)壓根據(jù)10kV母線電壓高低自動調(diào)節(jié)變壓器分接開關(guān)讓電壓穩(wěn)定在合格范圍。這個如果簡單用繼電器做接線復(fù)雜且不具備記錄功能而用PLC就非常自然。模擬量采集、死區(qū)判斷、動作次數(shù)統(tǒng)計、遠動上送全都可以在一個控制器里完成。變電站對控制系統(tǒng)的可靠性要求很高但并不意味著要上多高端的大型DCS一套成熟的小型PLC配合完善的聯(lián)鎖邏輯完全能搞定常規(guī)的站用變壓器控制。1.2 為什么選PLC而不是單片機和繼電器我在熱詞里看到有人問基于STM32的串口通信控制系統(tǒng)設(shè)計也有人問智能窗簾控制系統(tǒng)設(shè)計說明不少年輕工程師在入門時會糾結(jié)控制器的選擇。這里我直接說結(jié)論做畢業(yè)設(shè)計或者實驗板用STM32完全沒問題做變電站、工廠車間這種要求長期可靠運行的工業(yè)場合首選還是PLC。原因不復(fù)雜PLC的電源抗干擾、I/O隔離、環(huán)境適應(yīng)性和程序可維護性都是單片機裸板很難比的。繼電器邏輯也不是不行早年的變電站操作回路大量是繼電器搭建的但那種方案的痛點太明顯邏輯固化后更改困難線圈觸點老化故障排查要抱著圖紙一個個對點。PLC的優(yōu)勢在于邏輯在軟件里改一個按鈕功能只要改一段梯形圖現(xiàn)場不用拆線同時PLC可以通過通信口把數(shù)據(jù)送給觸摸屏、上位機、調(diào)度系統(tǒng)繼電器回路做不到這種信息集成。還有一個很重要的點PLC編程有完整的仿真和在線監(jiān)視功能調(diào)試效率高得多。當(dāng)然PLC也不是萬能的。像變壓器局部放電檢測、串聯(lián)諧振試驗這種專用測試場合需要的是專用儀器和上位機分析系統(tǒng)PLC只是采集告警信號和啟停信號不能替代專業(yè)檢測設(shè)備。所以我在這套系統(tǒng)里把局放檢測儀、氣體繼電器等設(shè)備作為第三方設(shè)備接入PLC負責(zé)邏輯聯(lián)動和數(shù)據(jù)轉(zhuǎn)發(fā)專業(yè)保護還是讓專業(yè)裝置來做。1.3 設(shè)計源文件和交付物怎么組織一套完整的工程交到客戶手里不能只有燒到PLC里的程序。我這邊習(xí)慣把交付物分成六塊PLC程序源文件、觸摸屏組態(tài)工程、電氣原理圖和端子圖、IO分配表和元器件清單、設(shè)計報告、講解視頻。其中設(shè)計報告就是標題里說的萬字報告里面包含了需求分析、方案選型、硬件計算、程序設(shè)計說明、調(diào)試大綱和操作手冊可以直接用作畢業(yè)設(shè)計論文或者項目技術(shù)文檔。很多朋友拿到別人的源文件后只看梯形圖這是一個很大的誤區(qū)。梯形圖是最終實現(xiàn)但設(shè)計的推理過程、為什么這個點用常開而那個點用常閉、為什么模擬量量程設(shè)成4到20毫安而不是0到10伏這些全在報告里。我整理這套資料的時候特意把關(guān)鍵程序段加了注釋也在報告里畫了控制邏輯的時序圖目的就是讓人能真正復(fù)現(xiàn)而不是對著程序發(fā)呆。圖片參考資料我也整理了一份包括柜內(nèi)接線實物圖、端子排圖、觸摸屏畫面截圖這些都是指導(dǎo)施工和接線的好東西。2. 硬件選型與IO規(guī)劃實戰(zhàn)2.1 核心硬件配置清單與選型理由這套項目我用的核心控制器是西門子S7-200 SMART系列具體型號選了ST30 DC/DC/DC再加一個模擬量擴展模塊EM AE04和一個PT100熱電阻模塊EM AR02。為什么選這個組合最直接的原因是項目點位不算特別多數(shù)字量輸入輸出加在一起三十多個模擬量有七八路S7-200 SMART的CPU本體自帶一部分數(shù)字量I/O加上兩個擴展模塊正好匹配成本也比較友好。S7-200 SMART的編程軟件Micro/WIN SMART上手快資料多對畢業(yè)設(shè)計和中小型項目都很合適。如果是大型變電站或者對冗余要求極高的場合建議直接升級到S7-1200或者S7-1500甚至配置雙CPU冗余。但大多數(shù)10kV、35kV站用變壓器控制項目S7-200 SMART是非常常見的選擇很多老舊項目改造也是用它替換繼電器控制回路。選型時要注意的是CPU型號后面那幾個字母的含義DC表示直流供電直流型輸入AC表示交流供電繼電器輸出和晶體管輸出的區(qū)別也要搞清楚??刂骑L(fēng)機、斷路器這種對象輸出點必須用繼電器輸出或者外加中間繼電器晶體管輸出只能帶小負載別等畫完圖紙才發(fā)現(xiàn)不對。電源這塊我也單獨說一下很多現(xiàn)場問題都是電源不干凈引起的。PLC供電最好用獨立的開關(guān)電源不要再給接觸器線圈供電。S7-200 SMART本身是24V直流供電我給系統(tǒng)配了一個150W的導(dǎo)軌電源PLC主模塊、擴展模塊、觸摸屏、變送器都由它供電每個供電回路還加了1A或者2A的小斷路器方便單獨排查故障。傳感器外供電源要考慮負載能力多個兩線制變送器并聯(lián)時電流不小電源容量一定要留余量。我整理了一張核心硬件清單可以參考一下。名稱型號/規(guī)格作用PLC CPU西門子 S7-200 SMART ST30主控制器自帶18DI/12DO模擬量輸入模塊EM AE044路模擬量輸入接4-20mA變送器熱電阻模塊EM AR022路PT100接油溫和繞組溫度觸摸屏威綸通MT8071iP人機交互界面24V開關(guān)電源150W導(dǎo)軌式系統(tǒng)供電中間繼電器24VDC線圈2組觸點PLC輸出隔離與擴展變頻器森蘭SB200系列風(fēng)機變頻驅(qū)動智能電力儀表三相電壓電流變送器電壓電流信號采集這里面的模擬量通道電壓電流信號我先經(jīng)過變送器轉(zhuǎn)成4-20mA標準信號再進PLC而不是直接把PT二次電壓或CT二次電流接進PLC。原因很實際PLC模擬量模塊輸入耐壓有限高壓信號直接引入非常危險變送器起到電氣隔離和信號統(tǒng)一的作用。溫度用PT100直接接入熱電阻模塊這類模塊自帶恒流源和線性化處理不需要額外變送器接線還簡單。2.2 IO分配表與傳感器信號處理設(shè)計控制系統(tǒng)的第一步不是急著寫程序而是先把IO分配表列出來。我習(xí)慣先寫點位名稱再定信號類型最后再分地址。數(shù)字量輸入主要有這些運行模式選擇開關(guān)遠程/就地、手動自動切換、風(fēng)機啟動反饋、風(fēng)機故障信號、斷路器合閘位置、斷路器分閘位置、隔離開關(guān)位置、瓦斯保護動作、壓力釋放動作、油位低、超溫報警、急停。數(shù)字量輸出主要有風(fēng)機啟動、風(fēng)機變頻/工頻切換、有載調(diào)壓升檔、有載調(diào)壓降檔、斷路器分閘出口、報警器、指示燈。模擬量輸入包括高壓側(cè)三相電壓、低壓側(cè)三相電壓、變壓器三相電流、油溫、繞組溫度、油位。IO分配不能只看數(shù)量還要考慮模塊通道分組和公共端。比如S7-200 SMART的輸入端子一般是分組隔離的不同組可以接不同類型信號但同組內(nèi)的公共端必須一致。我輸出的IO分配表里面不僅寫了地址還把PLC端子號、柜內(nèi)端子號、電纜編號、信號來源設(shè)備位號全部對應(yīng)起來施工隊拿到后可以直接照著接線。關(guān)于傳感器選型模擬量變送器我統(tǒng)一選了4-20mA兩線制因為電流信號比電壓信號抗干擾能力強線路長了也不容易衰減。兩線制變送器供電和信號共用兩根線PLC模擬量模塊內(nèi)部有24V配電接線時正極接模塊的24V端子負極接信號輸入端子。溫度傳感器用PT100三線制熱電阻模塊能自動消除導(dǎo)線電阻影響測出來的值比兩線制穩(wěn)定得多。油位變送器注意量程要和變壓器油枕實際高度匹配有的油位計只輸出開關(guān)量報警精度不夠如果要做連續(xù)油位趨勢最好換成帶變送器的型號。IO點數(shù)量一定要留余量我算過實際點數(shù)后至少多留了20%的備用點。原因很簡單現(xiàn)場經(jīng)常會有臨時增加信號的情況比如增加一個門磁報警、加一個柜內(nèi)照明反饋如果沒有備用點就要頂著帶電操作改程序非常被動。備用點不要單獨留在某一塊盡量分散在CPU本體和擴展模塊上這樣以后增減設(shè)備時IO分配更靈活。2.3 電氣圖紙里的關(guān)鍵細節(jié)電氣圖紙包括主回路圖、控制回路圖、PLC接線圖、端子排圖和柜內(nèi)布置圖。我畫圖用的是CADPLC接線圖里每個輸入輸出點都必須標注對應(yīng)的PLC地址、線號、端子號這樣才方便查錯。比如輸入點I0.0接了遠方位控制選擇開關(guān)的“遠方”位置圖紙上就要同時標出PLC端子L、I0.0、1M、線號101、102現(xiàn)場對線時一目了然。這里有幾個特別容易出問題的地方我踩過坑以后每次都會重點檢查。第一個是PLC輸出端的公共端連接如果輸出類型是繼電器輸出每個公共點1L、2L、3L可以接不同電壓的負載但同一個公共點控制的所有輸出回路必須使用同一個電源否則會短路。第二個是感性負載的抑制PLC驅(qū)動中間繼電器線圈、接觸器線圈這些感性負載時線圈兩端一定要并聯(lián)續(xù)流二極管或者RC吸收電路不然斷電瞬間的反向電動勢很容易打壞PLC輸出繼電器觸點或者造成PLC死機。第三個是柜內(nèi)布線規(guī)范模擬量信號線要用屏蔽雙絞線屏蔽層在PLC側(cè)單端接地千萬不能兩頭都接地否則形成地環(huán)路反而引入干擾。強電線和信號線要分層走不能扎在一起開關(guān)電源、變頻器這類強干擾源盡可能遠離PLC和模擬量模塊。我見過一個現(xiàn)場風(fēng)機變頻器一啟動油溫顯示值直接跳變好幾度后來把模擬量電纜從橋架里拉出來單獨穿管再把屏蔽層重新接地問題立刻消失。這類細節(jié)在圖紙階段就要考慮不然到現(xiàn)場就變成拖著線四處調(diào)干擾。3. PLC程序框架與核心控制算法拆解3.1 主程序結(jié)構(gòu)、手自動切換與運行模式程序框架我是這么搭的主程序OB1里按順序調(diào)用幾個功能塊分別是初始化、模擬量處理、運行模式切換、風(fēng)機控制、有載調(diào)壓控制、報警聯(lián)鎖、通信數(shù)據(jù)處理。這樣每個功能獨立成塊調(diào)試定位問題方便。手動和自動模式是分開的兩套邏輯模式切換時要注意無擾動切換也就是切換瞬間輸出不跳動。我一般用中間變量把手動模式的輸出狀態(tài)記住切到自動時自動邏輯先讀取當(dāng)前狀態(tài)作為初始值再按溫度電壓偏差進行調(diào)節(jié)這樣風(fēng)機不會突然停機或啟動。手自動切換還有個容易忽視的地方地址之間的互鎖。手動模式下的風(fēng)機啟動按鈕和自動模式下的溫度判斷結(jié)果兩者之間必須有優(yōu)先級。我采用的做法是自動模式信號和手動模式信號都經(jīng)過一個運行模式中間變量只有模式處于對應(yīng)狀態(tài)時才允許操作。切換開關(guān)轉(zhuǎn)到就地時遠程控制指令全部無效這能防止后臺誤操作也能防止調(diào)試時兩邊同時發(fā)命令。下面這段是風(fēng)機控制邏輯的簡化寫法我用的是結(jié)構(gòu)化文本做演示實際項目在S7-200 SMART里可以用梯形圖等價實現(xiàn)關(guān)鍵是邏輯層次要對。// 風(fēng)機自動控制油溫高啟油溫低停帶回差 IF 運行模式 自動 THEN IF 油溫 60.0 OR 繞組溫度 75.0 THEN 風(fēng)機自動請求 : TRUE; ELSIF 油溫 45.0 AND 繞組溫度 60.0 THEN 風(fēng)機自動請求 : FALSE; END_IF; IF 風(fēng)機自動請求 AND NOT 風(fēng)機故障 AND NOT 急停 THEN Q風(fēng)機接觸器 : TRUE; ELSE Q風(fēng)機接觸器 : FALSE; END_IF; END_IF;這里在60度啟動、45度停止之間留了15度回差是為了防止風(fēng)機在臨界點反復(fù)啟停。如果不帶回差溫度在臨界值附近波動接觸器可能幾分鐘內(nèi)反復(fù)吸合直接影響壽命。這個道理簡單但很多初學(xué)者會忽略。同理有載調(diào)壓分接開關(guān)的檔位調(diào)節(jié)也要設(shè)置死區(qū)電壓偏差必須超過一定范圍才動作。3.2 變壓器保護聯(lián)鎖邏輯怎么設(shè)計才靠譜先說句非常重要的工程原則PLC永遠不能替代繼電保護裝置。變壓器的主保護——比如差動保護、瓦斯保護、過流保護必須由獨立的繼電保護裝置或保護測控裝置完成直接作用于跳閘。PLC在這套系統(tǒng)里做的是信號采集、邏輯判別、聯(lián)鎖控制和報警記錄。保護動作后PLC要做的不是再去判斷一次而是把保護動作狀態(tài)鎖存在觸摸屏上顯示并聯(lián)動其他設(shè)備比如跳開低壓側(cè)斷路器、停冷卻風(fēng)機、發(fā)音響報警。我在這套系統(tǒng)里做了幾個典型的聯(lián)鎖邏輯。第一個是斷路器與隔離開關(guān)的防誤聯(lián)鎖禁止在帶負荷狀態(tài)下操作隔離開關(guān)PLC通過檢測斷路器輔助觸點位置來判斷當(dāng)前是否帶負荷隔離開關(guān)分合閘指令只有在斷路器分閘狀態(tài)下才有效。第二個是變壓器保護動作后的風(fēng)機聯(lián)鎖重瓦斯或差動保護動作后瞬時停掉冷卻風(fēng)機防止可燃氣體遇火花擴大事故壓力釋放閥動作后同樣要聯(lián)鎖跳閘并保持報警。第三個是超溫聯(lián)鎖油溫超過設(shè)定值時風(fēng)機全開仍不能降溫持續(xù)一定時間后自動跳閘。這些聯(lián)鎖邏輯在程序里必須做到“動作可鎖存、復(fù)歸需手動”。不能因為油溫降下來了就自動取消報警否則運行人員根本不知道剛才發(fā)生過什么。我一般用置位/復(fù)位指令建一個故障字每個位代表一種故障任何故障發(fā)生都置位復(fù)歸按鈕統(tǒng)一復(fù)位PLC斷電后也要靠電池保持V區(qū)數(shù)據(jù)不變這樣即使系統(tǒng)斷電重啟故障記錄依然能查得到。勵磁涌流的問題也要提一下。變壓器空載合閘瞬間合閘涌流可能達到額定電流的幾倍甚至十幾倍持續(xù)時間約幾十到幾百毫秒。做過變壓器勵磁涌流仿真的人都知道這個波形非常兇。如果PLC沒做任何處理采樣到的電流值超限就可能誤發(fā)過流報警甚至誤跳閘。我的處理辦法是程序里加一個合閘延時窗口斷路器合閘位置信號有效后過流保護報警的檢測自動暫停5秒鐘等涌流衰減退去后再投入。注意這個延時只針對PLC的報警信號不針對繼保裝置的跳閘出口保護裝置自己要做二次諧波制動和波形識別這是兩碼事。3.3 電壓采樣與有載調(diào)壓的PID工程化處理有載調(diào)壓控制的目標很簡單維持母線電壓在合格范圍內(nèi)。常用做法是檢測低壓側(cè)母線電壓和設(shè)定值做比較偏差超過死區(qū)時控制分接開關(guān)升檔或降檔。很多資料里喜歡把有載調(diào)壓寫成PID調(diào)節(jié)實際上分接開關(guān)是步進式設(shè)備每動作一檔會改變一個固定電壓百分比直接用連續(xù)PID輸出沒有意義。我采用的是變形的死區(qū)控制本質(zhì)上是帶速斷限制的步進邏輯。具體是這樣的設(shè)定目標電壓為10kV母線額定電壓運行電壓偏差超過±2.5%時判定需要調(diào)節(jié)但每次只發(fā)一個升檔或降檔脈沖脈沖寬度300毫秒動作完成后比較電壓變化幅度如果沒達到預(yù)期效果才繼續(xù)發(fā)下一脈沖。為了防止分接開關(guān)頻繁動作相鄰兩次調(diào)節(jié)指令之間至少間隔10秒。這10秒不僅是為了機構(gòu)復(fù)位也是為了留出電壓穩(wěn)定時間不然采樣值還在波動時你很難判斷上一檔有沒有生效。如果電壓波動主要由負荷變化引起而且波動幅度大、頻率高只靠分接開關(guān)調(diào)節(jié)跟不上就要考慮和電容器組的投切配合。如果變壓器低壓側(cè)有無功補償電容器PLC可以同時控制電容器投切和分接開關(guān)調(diào)壓優(yōu)先級是先投切電容器再調(diào)節(jié)分接開關(guān)。電容器投切會產(chǎn)生過電壓和涌流所以投切間隔也要限制至少間隔30秒。溫度PID控制的風(fēng)機調(diào)速是另一個場景。我碰過一些變頻風(fēng)機項目風(fēng)機要根據(jù)溫度連續(xù)調(diào)速PID控制器輸出4-20mA給變頻器。有的現(xiàn)場反映溫度PID波動大溫差一直穩(wěn)不住我總結(jié)下來問題基本出在三個地方。第一是PID采樣周期太短溫度變化本來慢采樣周期設(shè)到0.1秒反而把干擾引進來我一般設(shè)到1秒甚至2秒。第二是P太大溫度一高風(fēng)機就滿轉(zhuǎn)溫度一降又快速停來回振蕩把P降下來就好了。第三是缺少輸出限幅和積分限幅PID輸出不能直接限制在20%到80%系統(tǒng)很難穩(wěn)定。經(jīng)驗值參考溫度范圍0到100度輸出4到20毫安P取3到5I取0.1到0.3D取0然后現(xiàn)場微調(diào)。3.4 冷卻風(fēng)機控制與故障切換的細節(jié)大型油浸式變壓器通常有多組冷卻風(fēng)機常見的有兩組運行、一組備用。PLC除了按溫度自動啟停之外還要實現(xiàn)故障切換功能。一組風(fēng)機運行中發(fā)生故障反饋信號丟失或者過載保護動作系統(tǒng)要自動啟動備用風(fēng)機同時在觸摸屏上報“風(fēng)機故障”和“備用風(fēng)機已投入”。這個邏輯看著簡單真正容易出問題的點在于故障判斷的時序。我寫過的最初始版本是只要啟動命令發(fā)出后沒有反饋就立刻判故障。結(jié)果發(fā)現(xiàn)不行因為接觸器吸合有行程時間PLC掃描周期又很短命令剛發(fā)出去一兩個掃描周期沒看到反饋程序就把故障置位了。解決辦法是加一個5秒的啟動確認時間窗啟動命令有效后啟動一個定時器定時器到時之前反饋信號沒來才確認故障。反饋信號本身也要做濾波避免觸點抖動產(chǎn)生誤信號。風(fēng)機循環(huán)運行也是一個值得做的功能。多組風(fēng)機如果每次都優(yōu)先啟動同一組那組風(fēng)機的軸承和接觸器磨損會明顯高于其他組。我習(xí)慣把上次啟動的風(fēng)機編號存入保持寄存器下次啟動時從下一組開始實現(xiàn)簡單的輪換。這個功能不需要很復(fù)雜幾個比較指令加循環(huán)賦值就能做。還有備用電機的定期自檢長期不運行的備用風(fēng)機容易因為軸承卡澀啟動失敗我每個月會自動讓備用風(fēng)機試轉(zhuǎn)幾分鐘通過反饋確認完好這樣真正需要切換的時候才靠得住。3.5 一鍵順控與五防操作票邏輯變電站控制現(xiàn)在越來越強調(diào)一鍵順控這也是很多老站改造的熱點。所謂一鍵順控就是把傳統(tǒng)的倒閘操作票步驟程序化運行人員在后臺點擊一個按鈕系統(tǒng)自動按順序執(zhí)行分合閘操作每一步操作前先判斷五防條件滿足才允許執(zhí)行。PLC在這里扮演的是底層操作執(zhí)行器和聯(lián)鎖校驗器的角色。這套系統(tǒng)里我實現(xiàn)了一個簡化版順控邏輯從運行狀態(tài)轉(zhuǎn)到冷備用PLC按順序操作——先分斷路器、再拉負荷側(cè)隔離開關(guān)、再拉電源側(cè)隔離開關(guān)。每一步執(zhí)行前判斷位置信號和電氣量狀態(tài)斷路器在合位時不允許操作隔離開關(guān)電流有負荷時不允許分閘隔離開關(guān)在帶負荷位置時不允許合斷路器。程序里用狀態(tài)字記錄當(dāng)前到達的步驟每一步只有上一步完成確認后才允許繼續(xù)。順控能不能做好非常依賴位置信號的可靠性。斷路器位置不能只取一對輔助觸點最好取合閘位置和分閘位置兩對觸點PLC同時判斷邏輯一致性兩個位置信號同時為1或者同時為0都視為異常報“位置信號不一致”。這能避免輔助觸點接觸不良導(dǎo)致的誤判。類似的隔離開關(guān)位置也要雙位置確認。有些項目還要求位置信號采用雙位編碼比如“合位1/0分位0/1”這樣一旦信號斷線也能檢測出來這個細節(jié)建議有條件就上。4. 通信組網(wǎng)與上位機監(jiān)控實現(xiàn)4.1 PLC作為Modbus RTU從站的配置方法變電站控制室里一般都有觸摸屏或者后臺監(jiān)控系統(tǒng)PLC要做的就是通過通信把數(shù)據(jù)送上去。我這套系統(tǒng)里PLC作為Modbus RTU從站觸摸屏作為主站定時輪詢。S7-200 SMART本體通過集成的RS485口就能實現(xiàn)這個功能不需要額外買通信模塊。通信參數(shù)我用的工業(yè)最常用的配置波特率96008個數(shù)據(jù)位偶校驗1個停止位從站地址3。Modbus RTU報文的AB兩線一定要區(qū)分別把A/B接反了現(xiàn)場很多通信不通都是這么來的。S7-200 SMART里做Modbus從站需要調(diào)用庫指令MBUS_INIT初始化成功后PLC的通信口就進入監(jiān)聽狀態(tài)。地址映射是很多新手掛的地方Modbus寄存器地址和PLC實際存儲區(qū)對應(yīng)關(guān)系不搞清楚組態(tài)軟件里讀到的數(shù)對不上。S7-200 SMART的庫指令里Modbus保持寄存器地址40001對應(yīng)V區(qū)起始地址具體的地址偏移由庫函數(shù)參數(shù)決定我的做法是把需要上送的數(shù)據(jù)統(tǒng)一搬運到一段連續(xù)的V區(qū)比如VB1000到VB1150然后通信區(qū)全部指到這里程序里凡是要改變顯示值的變量最后都賦值到這段區(qū)域。用Modbus Poll軟件讀取PLC數(shù)據(jù)的時候可以直觀看到那些寄存器數(shù)值在變這比對著觸摸屏看快得多。調(diào)試時我習(xí)慣先用Modbus Poll做測試主站確認每個地址的數(shù)值和PLC內(nèi)部狀態(tài)一致后再去連觸摸屏。這樣能快速區(qū)分問題出在PLC還是組態(tài)省掉兩頭猜的麻煩。4.2 與變頻器、智能儀表的Modbus聯(lián)動這套系統(tǒng)里風(fēng)機不是直接工頻啟動而是通過變頻器驅(qū)動可以根據(jù)溫度平滑調(diào)速。變頻器我用的是森蘭SB200系列它和西門子S7-200 SMART之間的通信也是走Modbus RTU。這時候PLC是Modbus主站變頻器是從站。在PLC程序里需要調(diào)用主站庫指令MBUS_CTRL和MBUS_MSG輪詢變頻器的狀態(tài)寄存器和控制寄存器。變頻器通信調(diào)試有幾個必查項。第一變頻器的通信參數(shù)必須和PLC一致波特率、校驗方式、從站地址任何一項不一致都會超時。第二啟??刂谱趾皖l率設(shè)定值是兩組寄存器要分開寫不能把浮點數(shù)直接往保持寄存器里塞。第三變頻器有些參數(shù)需要先設(shè)定為“通信控制”模式否則面板能啟動但通信發(fā)指令沒反應(yīng)。我遇到過現(xiàn)場就是卡在最后一點看起來通信正常就是啟不了機后來把運行指令通道改成RS485問題馬上解決。ABB變頻器與西門子PLC的配合也是這個套路重點關(guān)注ABB的通信協(xié)議映射地址和參數(shù)組編號不同系列差異比較大。如果現(xiàn)場還有智能電力儀表、直流屏、UPS監(jiān)控等設(shè)備同樣可以掛到同一總線上。不過需要注意Modbus總線的負載能力一條RS485總線上掛的站點越多通信周期越長超時設(shè)置也要相應(yīng)放大。一般超過10個站點就建議用兩個獨立通信口分開帶或者加中繼器別一窩蜂并在一起。4.3 觸摸屏組態(tài)與數(shù)據(jù)標定要點觸摸屏我用的威綸通MT8071iP組態(tài)軟件是EB Pro。畫面做的第一頁是系統(tǒng)總覽畫一個單線簡圖變壓器、斷路器、隔離開關(guān)、風(fēng)機都用圖形元件表示顏色根據(jù)運行狀態(tài)變化紅色表示合閘或運行綠色表示分閘或停止灰色表示無通訊或異常。這比一頁全是數(shù)字直觀得多運行人員掃一眼就知道設(shè)備狀態(tài)正不正常。模擬量在觸摸屏上顯示需要做工程值轉(zhuǎn)換。S7-200 SMART的模擬量輸入模塊采集4-20mA時轉(zhuǎn)換后的數(shù)字量范圍是0到27648。假如油溫變送器量程是0到150度那么PLC里的原始值A(chǔ)IW0讀出來是0到27648對應(yīng)溫度0到150度。換算公式就是工程值 原始值 / 27648 * 量程上限為了減少PLC內(nèi)的浮點運算我一般用一個小功能塊處理模擬量直接做根方、濾波、標定然后把最終工程值放到V區(qū)。這里濾波我用的是一階慣性濾波公式是Y (1 - a) * Y_old a * Xa取0.2左右既能壓住干擾又不會讓溫度響應(yīng)慢到失真。有朋友問為什么溫度PID波動大很多時候就是少了這層濾波變送器本身的信號加上變頻器電磁干擾全都進PID了能不震蕩嗎。觸摸屏的報警頁面和歷史趨勢曲線也別省。報警里要顯示報警時間、報警內(nèi)容、當(dāng)前狀態(tài)歷史趨勢曲線能保存至少一周的油溫、電壓、電流數(shù)據(jù)。現(xiàn)在國產(chǎn)觸摸屏自帶數(shù)據(jù)存儲和U盤導(dǎo)出功能足夠用。我要提醒一句報警記錄必須在PLC側(cè)也存一份不能只存在觸摸屏里因為觸摸屏更換或斷電時間長了記錄很容易丟。PLC的保持寄存器空間利用起來定期把報警狀態(tài)字和動作時刻存下來這才可靠。4.4 OPC UA和數(shù)字化平臺的數(shù)據(jù)上送方案現(xiàn)在很多變電站改造項目要求數(shù)據(jù)能上送到數(shù)字化平臺甚至要和數(shù)字孿生系統(tǒng)聯(lián)動這就離不開OPC UA。這里有一個容易被誤解的點S7-200 SMART本身不直接支持OPC UA因為它算是入門級控制器品牌方的通信協(xié)議棧主要是Modbus和Profinet。要實現(xiàn)OPC UA一般有兩條路。一條是更換支持OPC UA的中大型PLC比如S7-1200/1500另一條是保留現(xiàn)有PLC在中間加一個協(xié)議轉(zhuǎn)換網(wǎng)關(guān)PLC通過Modbus RTU把數(shù)據(jù)發(fā)給網(wǎng)關(guān)網(wǎng)關(guān)再轉(zhuǎn)換成OPC UA接口向上層提供數(shù)據(jù)。我在做數(shù)字化對接測試時就是用第二種方式?,F(xiàn)場保留S7-200 SMART加了一個Modbus轉(zhuǎn)OPC UA網(wǎng)關(guān)上位機軟件用UA Expert直接連接網(wǎng)關(guān)的OPC UA Server讀取PLC里的變壓器溫度、電壓、電流、風(fēng)機狀態(tài)、報警信息。網(wǎng)關(guān)配置里要把Modbus映射表和OPC UA節(jié)點地址一對一對好這個映射表其實就是剛才說的V區(qū)地址表。如果以后要做仿真也可以在仿真軟件和PLC之間走OPC UA把控制邏輯和三維模型連起來調(diào)試人員可以提前看到設(shè)備動作效果這就是熱詞里提到的Process Simulate與PLC通訊的玩法。OPC UA的好處是跨平臺不依賴操作系統(tǒng)位數(shù)還帶安全認證比老式OPC DA更適合把數(shù)據(jù)交給第三方平臺。做這個方案的時候建議先跑通小規(guī)模的地址映射。我拿20個點做了測試通信周期1秒穩(wěn)定性沒問題。如果現(xiàn)場對實時性要求較高通信周期可以縮短到200毫秒但需要評估PLC主站輪詢負載和網(wǎng)關(guān)性能別把通信口跑滿了。5. 調(diào)試實錄、常見問題與避坑指南5.1 從空載到帶載的調(diào)試流程這套系統(tǒng)到現(xiàn)場后我沒有直接帶電聯(lián)調(diào)而是按三個層次來做。第一層是單柜調(diào)試只給PLC柜上電逐個短接輸入信號檢查對應(yīng)的PLC點有沒有點亮強制輸出點檢查中間繼電器動作和柜內(nèi)繼電器指示燈確保每一根接線和IO表一致。第二層是空載聯(lián)動把變壓器不帶負荷手動模擬油溫、瓦斯、互感器信號驗證程序里的每一個聯(lián)鎖分支是否按設(shè)計執(zhí)行。第三層才是帶載運行變壓器投入負荷觀察真實工況下模擬量是否準確、通信是否穩(wěn)定、風(fēng)機是否正常啟動、調(diào)壓是否誤動。建議第一次送電前把PLC程序里所有輸出強制為0防止程序未調(diào)試完成時某個輸出意外得電。我在送電前還做了一次內(nèi)部電源檢查測量PLC模塊的24V電源是否正常各個端子對地絕緣電阻是否合格。這個步驟不要嫌麻煩習(xí)慣性確認一次能省掉后面很多擔(dān)驚受怕。5.2 現(xiàn)場常見問題速查表很多朋友問我調(diào)試中最常見的故障有哪些我把過去項目里反復(fù)遇到過的問題整理成了一張表希望對你有用?,F(xiàn)象可能原因解決措施模擬量讀數(shù)跳變屏蔽層接地不良、信號線和動力線并排走線改用屏蔽雙絞線屏蔽層單端接地重新走線油溫顯示值長期不準PT100接線端子松動、熱電阻模塊通道組態(tài)錯誤用萬用表量電阻對比分度表檢查模塊類型和斷線檢測風(fēng)機頻繁啟停溫度回差設(shè)置太小、濾波太弱把啟動停止閾值回差加到10度以上增加采樣濾波PID輸出振蕩P過大、積分時間過短、輸出限幅未生效降低P加大I設(shè)置輸出上下限觸摸屏通信超時波特率不一致、從站地址不對、RS485A/B接反用Modbus Poll測試逐項核對通信參數(shù)變頻器收不到啟動指令運行指令通道未設(shè)為RS485、控制字地址不對變頻器參數(shù)設(shè)成通信控制查手冊確認控制字寄存器PLC輸出繼電器頻繁損壞感性負載無續(xù)流吸收、負載電流超規(guī)格繼電器線圈并續(xù)流二極管或RC吸收改用中間繼電器過渡三菱FX3U的D0-D8斷電丟失默認非保持區(qū)域在PLC參數(shù)里設(shè)置軟元件保持范圍西門子S7-200 SMART斷電后數(shù)據(jù)丟失M區(qū)未設(shè)置保持屬性在系統(tǒng)塊里勾選保持范圍或者改用V區(qū)存儲關(guān)鍵數(shù)據(jù)這張表覆蓋了大部分中小型PLC項目的常見坑。如果現(xiàn)場問題不在這張表里我建議按“先查電源、再查通信、最后查邏輯”的順序排查。很多詭異現(xiàn)象最后都是電源電壓掉了半伏或者通信線被老鼠咬斷了不是程序的問題。5.3 幾條保命的工程經(jīng)驗第一條經(jīng)驗也是最想強調(diào)的不要用PLC替代繼電保護。有些朋友做畢業(yè)設(shè)計習(xí)慣把過流、速斷、瓦斯、溫度全部寫進PLC直接驅(qū)動跳閘設(shè)計文檔看起來很完整但工程上這是絕對不允許的。PLC的可靠性、響應(yīng)速度和故障自診斷能力都比不上專用繼保裝置。真正投入運行的變電站PLC可以發(fā)跳閘命令做后備邏輯但主保護和基本保護一定要交給正規(guī)繼保設(shè)備。做設(shè)計源文件時我特意在報告里把“保護功能配置”這一章寫得很清楚把PLC控制與繼電保護的邊界劃分得明明白白。第二條經(jīng)驗是文檔和注釋要當(dāng)成工程的一部分。我給程序每段都寫了注釋注釋里不僅寫了功能還寫了為什么這么寫。比如“溫度大于60度啟動風(fēng)機回差45度防止臨界抖動”這種注釋對后期維護人員來說就是救命稻草。干這行越久就越明白程序可能運行十年不改但維護人員要能看得懂。第三條經(jīng)驗是模擬量調(diào)試時一定要做“零點校準”和“滿度校準”。4毫安對應(yīng)0、20毫安對應(yīng)滿量程這是理論值但實際變送器總有些偏差。我在調(diào)試時會對每個變送器做一次兩點標定比如用信號發(fā)生器給4毫安、12毫安、20毫安三個信號記錄PLC讀取的原始值再在組態(tài)里修正標定系數(shù)?,F(xiàn)場投運后如果換了變送器數(shù)字量顯示不準多半是沒重新標定。6. 設(shè)計源文件內(nèi)容與二次開發(fā)建議6.1 源文件、萬字報告和講解視頻里到底有什么很多來問這套系統(tǒng)的人最關(guān)心的就是源文件里能拿到什么。我盡量說得具體一點。PLC程序源文件是Micro/WIN SMART工程文件雙擊就能打開里面所有程序段、符號表、注釋都在。觸摸屏工程文件是EB Pro的工程文件打開后可以直接看到我做的全部畫面和變量表。電氣圖紙是CAD格式包含主回路圖、控制回路圖、PLC接線圖、端子排圖、柜內(nèi)布置圖照著這個圖紙去接線、配柜基本不會出問題。IO分配表和元器件清單是Excel方便你改動或者直接采購。萬字報告是文檔主體分章節(jié)寫清了需求背景、設(shè)計方案、硬件選型計算、IO清單、控制邏輯說明、通信參數(shù)、調(diào)試記錄和操作說明。這東西不只是交差用對做畢業(yè)設(shè)計的同學(xué)來說可以直接作為論文初稿去改對做工程項目的朋友來說可以拿來當(dāng)技術(shù)方案或投標文件的底稿。講解視頻大概就是按PPT或者實際操作過程錄的帶著你把項目從圖紙到程序過一遍比看靜態(tài)文檔更省力遇到不明白的地方可以反復(fù)看。圖片參考這塊我放了一些實物照片包括控制柜內(nèi)部走線、繼電器模組布置、觸摸屏安裝效果、以及幾個典型信號對應(yīng)的實際接線位置。為什么不把圖片直接貼在文章里因為圖片帶了很多個人信息不適合直接公開傳播所以放在資料包里更安全。定制需求可以在文末掃碼聯(lián)系我根據(jù)你的變壓器容量、保護配置和工藝要求調(diào)整IO表、程序和圖紙。6.2 拿到資料后從哪里開始改拿到一套現(xiàn)成方案千萬不要直接抄完就交差。不管你是做畢業(yè)設(shè)計還是做項目第一步都要把你的實際需求先列出來變壓器容量多大油溫量程多少電壓等級是10kV還是35kV有沒有有載調(diào)壓風(fēng)機是幾組遠程通信要求走Modbus還是OPC UA后臺監(jiān)控用什么牌子。然后把IO表重新對一遍把點位增減的工作量估算出來。第二步是改程序里的模擬量標定參數(shù)。這套工程的變送器量程和你的現(xiàn)場不一定一樣比如油溫變送器假設(shè)是0到150度如果你的現(xiàn)場是0到120度那么程序里所有量程上限都要改。還有溫度啟停閾值不同容量、不同冷卻方式的變壓器啟動溫度設(shè)定值不一樣。這個不改系統(tǒng)投運會頻繁誤動作或者不動作。第三步是改通信映射。觸摸屏和上位機讀取的地址都是基于程序里指定的數(shù)據(jù)區(qū)如果你改了IO分配寄存器的地址也要對應(yīng)修改。一定要先整理一份新的通信地址表再同步到觸摸屏變量表和網(wǎng)關(guān)配置文件里。我看到過太多項目程序改完了觸摸屏上顯示的數(shù)據(jù)還在原地不動就是這個環(huán)節(jié)漏了。6.3 定制需求與獲取方式如果你準備把這個方案用到自己的項目里或者畢業(yè)設(shè)計需要完整論文和程序可以在文章底部掃一下那個二維碼。掃碼之后會看到這套資料的目錄截圖、部分程序截圖和定制流程有需要再單獨聊。我不太建議先付費后提問最好是先弄清自己要什么再確定合作方式。關(guān)于定制我一般只接兩類。一類是整體方案定制根據(jù)用戶的主接線圖和設(shè)備清單從IO表開始重新設(shè)計把程序、圖紙、報告都改成匹配現(xiàn)場的內(nèi)容另一類是局部功能定制比如在現(xiàn)有程序規(guī)劃的基礎(chǔ)上增加一路PID溫度調(diào)節(jié)、改造通信協(xié)議、加入第四組風(fēng)機控制等。不論哪類都要提供明確的控制需求表否則來回溝通成本太高。最后說點實際的。這款系統(tǒng)從需求到交付我前后大概花了三周大部分時間其實花在IO確認和調(diào)試上寫程序時間反而不多。工程人做項目一定要記住邏輯設(shè)計永遠比編碼重要設(shè)備選型永遠比架構(gòu)炫技重要。如果你也打算做一套類似的PLC控制系統(tǒng)先把需求摸透再動手。這套現(xiàn)成的源文件和萬字報告就是幫你跳過最初那些填坑過程的。需要的話文末見。