場實戰(zhàn)經(jīng)驗:從接線到安全聯(lián)鎖)
干這行久了你會發(fā)現(xiàn)剛?cè)胄?-3年的PLC工程師真正卡住大家的往往不是多復(fù)雜的算法也不是什么冷門協(xié)議棧而是一堆老師傅閉著眼都會、但新人壓根沒被系統(tǒng)講過的現(xiàn)場細節(jié)。編程軟件會用、梯形圖會寫不代表設(shè)備能跑得穩(wěn)。設(shè)備一報警客戶電話打到手機上你蹲在電柜前心里發(fā)毛這才是前三年最真實的日常。我這么多年帶過的工程師幾乎都有過這種階段。所以我把入行1-3年最值得記的實戰(zhàn)經(jīng)驗整理了90條原本打算每天更新幾條今天不打散先把其中最要命的幾組揉成一篇長文從接線物理層、掃描周期、通信排障一路聊到軸調(diào)試和安全聯(lián)鎖。這篇不是教科書是我在設(shè)備旁邊被磨出來的東西。1. 現(xiàn)場物理層接線、傳感器類型和屏蔽程序再對也架不住“硬件搗亂”很多新人出問題第一反應(yīng)是打開程序反復(fù)檢查邏輯結(jié)果問題根本不在程序里。PLC這行有個不成文的規(guī)則先懷疑所有物理連接再懷疑程序。你寫得再漂亮的邏輯遇到一根虛接的線、一個配錯的傳感器、一條貼著動力線走的模擬量電纜照樣跑出讓人崩潰的現(xiàn)象。1.1 NPN/PNP傳感器配錯輸入信號“有就像沒有”的典型現(xiàn)場曾經(jīng)有個設(shè)備調(diào)試現(xiàn)場新人小Z花了兩小時查一個氣缸到位信號程序監(jiān)視畫面里那個輸入點就是不變綠。他用萬用表量傳感器輸出端一會兒有24V一會兒沒有感覺信號明明在變。最后我讓他去看PLC輸入端子的公共端接法再對照傳感器型號——傳感器是NPN輸出而PLC輸入模塊是PNP型的接線方式信號電平方向完全對不上。萬用表能看到電壓跳變但PLC輸入采樣電路根本沒法正確識別。這里的基本原理其實不復(fù)雜NPN傳感器導(dǎo)通時輸出端被拉到低電平PNP傳感器導(dǎo)通時輸出端輸出高電平。PLC的輸入模塊分源型輸入和漏型輸入公共端接法決定了它到底需要高電平有效信號還是低電平有效信號。選型階段沒核對現(xiàn)場就只能臨時換傳感器、改接線或者加中間繼電器轉(zhuǎn)換耽誤半天工期。我的建議是項目前期做I/O點表時就把傳感器類型標(biāo)進每一路備注里NPN還是PNP、兩線還是三線、輸出是常開還是常閉全部寫清楚。到了現(xiàn)場先用萬用表確認傳感器供電是24V還是12V再測輸出狀態(tài)最后才對PLC端子不要直接憑經(jīng)驗接。有一種更隱蔽的情況是常開常閉選錯。設(shè)備在原點時傳感器被擋鐵壓住你選了常開程序里卻默認它沒被壓住結(jié)果一啟動直接報錯。這種問題排查起來很費勁因為信號“看起來”是對的只是邏輯和機械位置沒對應(yīng)上。處理思路也一樣先確認機械動作狀態(tài)再對照程序里的有效信號狀態(tài)。1.2 端子松動、冷壓頭和屏蔽層決定設(shè)備壽命的往往不是程序我見過最讓人哭笑不得的一次停機事故原因是PLC輸出端子的螺絲沒擰緊設(shè)備運轉(zhuǎn)時震動導(dǎo)致端子偶發(fā)接觸不良。輸出繼電器吸合了但負載接觸器線圈偶爾得電偶爾失電整個氣缸動作像鬼畜一樣一頓一頓??蛻粽fPLC壞了其實PLC委屈得很接線端子松了這件事拿把螺絲刀擰一圈就好但你在現(xiàn)場能排查一晚上。現(xiàn)在我?guī)俗鲅矙z電柜里每排端子的螺絲擰緊一遍是固定動作尤其是新裝設(shè)備運行一周后熱脹冷縮帶出來的松動太常見了。端子用冷壓端子壓好不用裸線直接鎖螺絲線徑和端子規(guī)格匹配寧可大一號也別湊合。還有一個經(jīng)常被忽略的細節(jié)是信號線和動力線的布線隔離這在模擬量信號上體現(xiàn)得特別明顯。模擬量傳感器和變頻器驅(qū)動同一臺電機如果4-20mA的信號線跟變頻器輸出線走同一個線槽變頻器一啟動信號線就成了“天線”干擾直接被拽進PLC模擬量輸入模塊畫面上一會跳大數(shù)字一會跳零。我之前處理過一條包裝線上的壓力信號抖動查了半天最后把信號線從動力線槽里單獨拉出來屏蔽層在PLC側(cè)單端接地問題立刻消失。記住這句話屏蔽層必須單端接地兩端接地反而會形成地環(huán)路把干擾接得更牢。1.3 模擬量信號在變頻器啟動時亂跳實時性不是靠程序補出來的模擬量信號在變頻器啟動時亂跳很多人第一反應(yīng)是在PLC里加濾波把采樣值平均掉。濾波確實能讓畫面穩(wěn)定但它會讓實際響應(yīng)變慢精度也會打折。你要是做溫度控制慢幾秒可能問題不大要是做張力控制或者壓力PID濾波帶來的滯后會把你逼瘋。正確思路是先把信號鏈路搞干凈再考慮軟件濾波。從傳感器、變送器到PLC模擬量模塊全程用屏蔽雙絞線屏蔽層單端接地盡量遠離變頻器、電抗器和動力電纜。穿過電柜壁的時候走專門的格蘭頭別讓信號線和動力線從同一個孔進。如果現(xiàn)場實在沒法分開布線就在模擬量信號源端加隔離配電器把4-20mA信號隔離后再進PLC。成本不高但能省掉夜里兩點被電話叫醒的麻煩。對新手來說判斷是干擾還是信號真跳變有個土辦法把PLC切到停止模式用萬用表毫安檔直接量模擬量輸入端子的電流如果電流本身就在跳那就不是程序能解決的問題是信號鏈路臟。2. 掃描周期與程序結(jié)構(gòu)前三年寫代碼后三年還債最容易還在這上面程序結(jié)構(gòu)這件事剛?cè)胄袝r沒人覺得它重要能跑就行。但項目一多、設(shè)備一復(fù)雜爛結(jié)構(gòu)的成本就全部顯現(xiàn)出來了。我見過太多設(shè)備程序一個循環(huán)掃描周期里塞了上千條指令所有設(shè)備邏輯互相穿插像一團毛線球。這不是寫代碼風(fēng)格的問題是后面調(diào)試、維護、加裝功能時能不能活下來的問題。2.1 I/O映像區(qū)為什么實際端子上有信號程序里讀到的卻不是新的PLC的工作方式不是“程序每一步都實時讀取輸入端子”。絕大多數(shù)中小型PLC在一個掃描周期里先把所有輸入端子的狀態(tài)讀進內(nèi)存的輸入映像區(qū)然后CPU執(zhí)行用戶程序程序里讀到的輸入狀態(tài)全部來自這個映像區(qū)掃描周期結(jié)束再把輸出映像區(qū)統(tǒng)一刷新到物理輸出端子。也就是說程序執(zhí)行過程中外部輸入信號發(fā)生了變化當(dāng)前掃描周期內(nèi)程序是“看不見”的要等下一個掃描周期才讀到。這個機制解釋了日常調(diào)試里常見的怪現(xiàn)象你用萬用表量PLC輸入端明明是24V程序監(jiān)視里那個位卻還是0。如果那個輸入信號恰好是在程序掃描中途才翻轉(zhuǎn)的那當(dāng)前周期里它確實沒被采集。反過來程序里已經(jīng)把輸出置1了但實際輸出端子還維持上一個掃描周期的狀態(tài)因為輸出刷新還沒開始。很多新手診斷故障時拿萬用表量完端子就直接下結(jié)論說PLC壞了其實是對掃描機制不熟悉。遇到這種“信號和邏輯對不上”的情況先問自己一句我是不是看錯了時刻脈沖信號捕捉則是另一個常見坑。有些快速脈沖信號比如編碼器或高速計數(shù)輸入掃描周期根本來不及響應(yīng)。這時候不能靠普通輸入點硬采要會用高速計數(shù)功能或中斷輸入把脈沖直接送入計數(shù)通道。對剛?cè)胄械耐形矣袀€建議遇到“偶爾丟信號”的輸入點不要只加大程序里的持續(xù)判斷先確認這個模塊是否支持中斷或硬件計數(shù)再決定程序怎么寫。2.2 OB、FC、FB怎么分模塊化不是寫代碼時的儀式感早期PLC程序只有很簡單的組織塊今天無論歐系還是日系PLC基本都支持功能塊、函數(shù)塊、中斷塊這類結(jié)構(gòu)。很多新人不習(xí)慣拆分一個主循環(huán)里把所有設(shè)備的自動流程、報警處理、手動操作全寫完。前期設(shè)備簡單還行一旦中途加一臺設(shè)備、改一段工藝你就得在一千多行指令里找那幾行相關(guān)邏輯還不敢亂改怕順手牽羊把別的地方帶崩。我自己的習(xí)慣是把程序按設(shè)備域拆開每個工位的邏輯單獨做成一個功能塊主循環(huán)里只做調(diào)用和狀態(tài)匯總手自動切換單獨一塊報警處理和復(fù)位邏輯單獨一塊模擬量處理和PID控制單獨一塊。每個功能塊的輸入輸出接口定義清楚盡量不靠全局變量互相傳狀態(tài)能用參數(shù)傳的就用參數(shù)傳。這樣做有個直接好處現(xiàn)場排查時你只需要把目光鎖定在那個異常設(shè)備的塊上不需要翻遍整個程序。別人接手你的程序也不需要一邊猜一邊鼠標(biāo)懸??醋兞孔⑨?。功能塊和函數(shù)塊的區(qū)別也值得弄清楚。功能塊有背景數(shù)據(jù)塊能保存上一次掃描的狀態(tài)適合做電機控制、氣缸動作這類有“記憶需求”的邏輯函數(shù)塊沒有獨立的背景數(shù)據(jù)存儲適合做純計算、純轉(zhuǎn)換比如工程單位換算、模擬量濾波。新人最容易犯的錯是在函數(shù)塊里定義臨時變量保存中間狀態(tài)結(jié)果掃描周期結(jié)束變量值就丟了下一輪邏輯從頭再來時好時壞。凡是需要跨掃描周期保持的狀態(tài)一定要放進功能塊的靜態(tài)變量或背景數(shù)據(jù)塊里不是隨手找個臨時變量就完事。2.3 定時器、臨時變量和“數(shù)據(jù)快照”的坑定時器看起來簡單用起來坑不少。每種定時器都有精度和保持特性差異有的掉電歸零有的掉電保持當(dāng)前計時值。設(shè)備在斷電再上電之后如果定時器復(fù)位了可能導(dǎo)致該報警的沒報警不該啟動的啟動了。做安全相關(guān)邏輯時定時器一定要選帶保持功能的類型并且在復(fù)位條件里寫明白“什么時候允許清掉計時值”。還有一個掃描周期帶來的計時誤差如果定時器精度是10毫秒而你的掃描周期在20毫秒左右波動那定時精度天然就鎖死在掃描周期這個量級上想靠定時器做高精度時間控制是不現(xiàn)實的。需要準確到毫秒級的時間戳直接用PLC的實時時鐘或者專用定時功能?,F(xiàn)場我曾經(jīng)見過一排氣缸同步動作新人用普通定時器做各氣缸啟動延時氣缸多、掃描周期被拉長后明顯能看到動作一個接一個地“慢半拍”最后換成硬件時序控制才解決?!皵?shù)據(jù)快照”問題我特別想強調(diào)。調(diào)試時把一批中間變量的“當(dāng)前值”截圖保存等設(shè)備運行半小時后再對比截圖你會發(fā)現(xiàn)有些中間狀態(tài)已經(jīng)悄悄變了。PLC里變量多程序里各種條件環(huán)環(huán)相扣你不建立數(shù)據(jù)快照的習(xí)慣出了問題連“之前哪個狀態(tài)不對”都說不清楚。進現(xiàn)場第一件事把關(guān)鍵輸入、輸出、報警變量的當(dāng)前值截圖存起來這比事后回憶可靠得多。3. 通信排障別急著抓包IP、線纜、站號比協(xié)議更容易翻車PLC通信故障十個里面至少六七個不是協(xié)議本身的問題。新手上手就分析報文、看協(xié)議棧但實際現(xiàn)場里網(wǎng)線、水晶頭、IP地址、端口號、站號設(shè)置這些“土問題”才是重災(zāi)區(qū)。排查順序搞反了效率低到自己懷疑人生。3.1 IP地址沖突設(shè)備時通時斷現(xiàn)場最典型的一課有一回客戶報障說觸摸屏和PLC通訊經(jīng)常斷開重啟一下又好過一陣又斷。我過去一查網(wǎng)線沒問題PLC也在正常運行后來打開觸摸屏的系統(tǒng)設(shè)置看了眼IP地址192.168.0.10再看PLC還是192.168.0.10。同一臺交換機上掛著兩個相同IP的設(shè)備不打架才怪。一個設(shè)備通了另一個設(shè)備就容易被踢下線看起來就是“隨機掉線”。這種問題排查其實有固定套路把電腦接到同一臺交換機上用持續(xù)ping命令觀察然后一臺一臺拔設(shè)備拔到哪臺ping就穩(wěn)定了那臺就是沖突源。ping 192.168.0.10 -t為了不在現(xiàn)場重復(fù)踩這種坑我現(xiàn)在每個項目開工前先做一張IP地址分配表包括設(shè)備名稱、IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、安裝位置。PLC、觸摸屏、變頻器、上位機、遠程IO模塊全部登記清楚貼一張在電柜門上。后來接手維護的人第一眼就知道哪臺設(shè)備是哪個地址不需要一個個登錄進去翻。3.2 Modbus輪詢超時一個從站掉線整條總線陪葬串口通信里最常見的問題不是收發(fā)不通而是“數(shù)據(jù)刷新突然變慢”?,F(xiàn)場某個從站設(shè)備壞了它不回復(fù)主站的請求但主站程序如果傻等它一段時間才超時整個輪詢周期就被拖住了。其他正常從站的數(shù)據(jù)等著轉(zhuǎn)發(fā)全部排隊觸摸屏上所有數(shù)據(jù)顯示都像卡了殼。這時候很多人的第一反應(yīng)是“是不是總線壞了”其實只要把壞從站的通信線斷開其他數(shù)據(jù)立刻恢復(fù)流暢。針對這個問題路由器、觸摸屏、上位機程序里都有超時參數(shù)和重試次數(shù)設(shè)置。正確做法是給每個從站單獨設(shè)置超時時間并且做“故障從站剔除”邏輯連續(xù)幾次無響應(yīng)就跳過它繼續(xù)輪詢后面的站同時報一個報警等它恢復(fù)后再重新納入輪詢。這樣單個設(shè)備故障不會殃及全車。新手調(diào)串口通信還有個更基礎(chǔ)的坑RS485的A、B兩根線接反。線接反了大多數(shù)從站是完全不通的但也有些設(shè)備會間歇性正常讓人誤以為是波特率或校驗位問題。先確認A、B線序再查參數(shù)。3.3 三層倒序排查法從物理層開始最后才碰協(xié)議前面說了一堆“土問題”我把自己常用的排查順序總結(jié)成一張表每次通信出問題都按這個順序過一遍層級檢查項典型現(xiàn)象物理層網(wǎng)線、水晶頭、RS485 A/B接線、屏蔽層接地、線纜與動力線間距完全不通、時通時斷、干擾誤碼配置層IP地址沖突、站號重復(fù)、波特率/數(shù)據(jù)位/校驗位不一致單個站掉線、部分站時好時壞、數(shù)據(jù)亂碼協(xié)議層寄存器地址、數(shù)據(jù)類型、字節(jié)序、功能碼數(shù)據(jù)能通但數(shù)值明顯不對、讀寫不到目標(biāo)寄存器排查順序永遠是從上往下物理層先排除再檢查配置最后才是抓包分析協(xié)議。有一次調(diào)試一個分布式IO從站現(xiàn)場工程師抓了一下午報文懷疑是協(xié)議版本問題最后發(fā)現(xiàn)是網(wǎng)線水晶頭壓線的時候線序壓錯了只要設(shè)備跑起來震動一大就丟包。這個教訓(xùn)很值錢協(xié)議層的問題通常穩(wěn)定且可復(fù)現(xiàn)物理層的問題往往是“偶發(fā)”的。你看到故障一會兒有一會兒沒有先懷疑連接和干擾別急著跟協(xié)議較勁。4. 軸調(diào)試的三個關(guān)鍵參數(shù)回零、脈沖當(dāng)量、加減速少一個都不行PLC控制伺服或步進電機入門看著不難給脈沖就能轉(zhuǎn)。但真正把軸調(diào)得穩(wěn)穩(wěn)當(dāng)當(dāng)回零、脈沖當(dāng)量、加減速時間這三個參數(shù)必須吃透。任何一個弄錯設(shè)備要么走位不準要么一開機就撞機。4.1 脈沖當(dāng)量算錯后面的精度都是心理安慰脈沖當(dāng)量的本質(zhì)是“一個脈沖對應(yīng)多少毫米或度的機械位移”。很多人覺得伺服驅(qū)動器里設(shè)了電子齒輪比就完事了但PLC程序里也必須知道目標(biāo)位置對應(yīng)的脈沖數(shù)。舉個例子某臺設(shè)備由伺服電機直連絲桿絲桿導(dǎo)程10毫米伺服電機每轉(zhuǎn)需要10000個脈沖減速比1:1那么脈沖當(dāng)量就是10÷100000.001毫米/脈沖。你讓軸走到50毫米的位置PLC要輸出的就是50000個脈沖。如果在這里忘了算減速比比如減速比5:1實際計算就得把減速比乘進去10÷(10000×5)0.0002毫米/脈沖再輸出同樣脈沖時機械位置就會差出好幾倍。這類錯誤在設(shè)備調(diào)試時非常隱蔽因為軸確實在動只是走得遠不對、近不對程序卻完全“正確”。我建議新人把脈沖當(dāng)量計算過程寫在程序注釋里包括導(dǎo)程、減速比、電機每轉(zhuǎn)脈沖數(shù)這樣以后回來看程序不用重新翻機械圖紙。調(diào)試時先用慢速、小距離試走再用千分表實際測量機械位移對比程序里的理論值。不要一上來就給大距離快速運行不然算錯了直接撞機。4.2 回零方式和零位信號位置誤差的源頭多半在這里設(shè)備的絕對位置從哪里來絕大多數(shù)情況下從回零開始。如果用接近開關(guān)或光電開關(guān)做回零開關(guān)開關(guān)的安裝位置必須穩(wěn)固信號邊沿要干凈?;亓愠绦虿荒芤皇盏介_關(guān)信號就急停因為機械慣性會讓軸沖出幾個毫米正確做法是先減速再低速爬行找開關(guān)信號的穩(wěn)定沿如果伺服編碼器有Z相信號最好在Z相到來的那個位置作為最后零點這樣重復(fù)精度會高很多?;亓惴较蛞埠苋菀撞瓤印i_機回零時軸要先向開關(guān)所在方向移動如果程序里回零方向和設(shè)備實際方向相反軸就會朝限位那邊狂奔。正式設(shè)備上第一次回零我向來是把速度設(shè)成慢速手指放在急停上再按啟動確認方向?qū)α嗽儆谜K俣取_@不是膽小是保命?;亓阃瓿珊筮€要做一次軟限位校驗確認當(dāng)前位置沒有超過軟件允許范圍。4.3 加減速、軟限位和急停調(diào)機前必須先定下來加減速時間設(shè)置不合理步進電機最容易丟步伺服電機最容易過沖報警。我之前調(diào)一臺轉(zhuǎn)盤設(shè)備加速時間設(shè)得太短每次啟動都能聽到明顯的機械撞擊聲轉(zhuǎn)盤到位還會彈一下。后來把加速時間從50毫秒放寬到300毫秒再配合S形加減速曲線設(shè)備立刻安靜了定位精度反而更好。這個經(jīng)驗是加速時間不是越小越好縮小之前先問自己機械剛性扛不扛得住。軟件限位是軸控制里絕對不能省的一層保護。PLC程序里寫清楚兩個軟限位值當(dāng)軸位置接近邊界時先減速報警越過邊界直接禁止運動輸出。軟限位千萬不能只依賴驅(qū)動器那邊萬一上位機發(fā)了一個大位置指令驅(qū)動器和PLC的限位判斷狀態(tài)不一致就可能出事。我見過一個項目PLC程序里完全沒做軟限位全靠驅(qū)動器報警停住后來驅(qū)動器參數(shù)被誤改了一次軸直接頂?shù)綑C械硬限位。從那以后我的軸控制程序里永遠把軟限位放在最前面哪怕報警提示難看也絕不少寫。5. 聯(lián)鎖與安全設(shè)計設(shè)備可以慢但不能出事程序?qū)懙迷偾擅畎踩O(shè)計不到位一切等于零。尤其是正反轉(zhuǎn)、急停、運行狀態(tài)下改程序這三件事入行頭三年最容易在這上面付出真金白銀的代價。5.1 正反轉(zhuǎn)互鎖程序里鎖了硬件回路還要鎖控制電機正反轉(zhuǎn)時PLC里的兩個輸出點必須做互鎖同一個時刻只能有一個輸出為ON這是程序?qū)用娴幕疽?。但程序互鎖不是全部。如果正轉(zhuǎn)接觸器和反轉(zhuǎn)接觸器都吸合了哪怕只是一瞬間三相電源就會短路接觸器的主觸點可以燒得粘在一起。硬件層面的做法是正轉(zhuǎn)接觸器的常閉觸點串進反轉(zhuǎn)接觸器的線圈回路反轉(zhuǎn)接觸器的常閉觸點串進正轉(zhuǎn)接觸器的線圈回路。這樣即使PLC程序出錯、輸出點卡死硬件機械互鎖也能切斷另一路控制回路。做這類設(shè)備時一定要把“機械互鎖”當(dāng)作保底措施來看待。PLC輸出點有擊穿或者宕機的可能程序邏輯再嚴謹也只是軟件層面的概率事件。硬件互鎖多花幾根線但能把“燒接觸器”變成“不可能發(fā)生的事”。5.2 急停不能只活在PLC程序里要能物理切斷控制回路很多新人處理急停的方式是急停按鈕接到PLC輸入點程序里檢測到急停后就停掉運動輸出。這種做法問題很大。PLC本身可能死機程序可能跑飛輸出模塊可能故障這些情況下光靠程序來響應(yīng)急停等于紙上談兵。真正的急?;芈窇?yīng)該做到急停按鈕直接切斷控制回路里關(guān)鍵接觸器和繼電器線圈的供電而不是等PLC來“減速停車”。急停按鈕通常帶機械鎖存功能按下去后不會自己彈回來必須旋轉(zhuǎn)或拉拔復(fù)位。急?;芈反釉谒形kU運動的主接觸器線圈前方一旦急停觸發(fā)主接觸器直接掉電電機失去動力。同時急停輸入點也接進PLC讓程序感知急停狀態(tài)做后續(xù)的狀態(tài)復(fù)位和報警。關(guān)鍵是程序里要處理“急停復(fù)位后設(shè)備不能自動重新啟動”的邏輯一般需要操作員按一下復(fù)位按鈕再手動啟動。否則急停一復(fù)位電機瞬間又跑起來比急停本身還危險。另外還有安全繼電器的問題。如果設(shè)備涉及安全等級認證急停、安全門這些都必須過安全繼電器PLC程序只能做邏輯配合不能替代安全回路。這個錢花不花我建議看設(shè)備有沒有人員接觸風(fēng)險。裁切、沖壓、搬運這類有擠壓風(fēng)險的設(shè)備安全回路絕對不能省。5.3 現(xiàn)場改程序的三個鐵律備份、驗證、記錄現(xiàn)場調(diào)試時改程序是常態(tài)但怎么改、改完怎么驗證很多新人都比較隨便。最危險的改法是在設(shè)備運行狀態(tài)下直接修改邏輯甚至強制輸出。我理解有時候是客戶催得急但我見過太多次因為臨時改一條指令設(shè)備突然動作把模具打壞的事故。改程序前先按一下急停把設(shè)備切到手動確認所有運動軸處于安全位置然后再下載程序。下載完成后先空載模擬一遍確認動作順序符合預(yù)期再上工件試運行。備份同樣不能省。每次修改前把當(dāng)前程序另存一份文件名帶上日期和修改內(nèi)容。調(diào)試現(xiàn)場環(huán)境亂一晚上可能反復(fù)改十幾次沒有版本管理手一滑就把改好的程序覆蓋了。我見過同事在凌晨改完程序忘了保存第二天設(shè)備上電還是老版本整個早上白白浪費。養(yǎng)成這個習(xí)慣只需要五分鐘但它能避免的麻煩遠超想象。記錄也重要。改了什么邏輯、為什么改、改了之后驗證過什么動作寫進項目變更記錄表。短期看好像是增加工作量長期看這是項目交接、售后維護、故障回溯最值錢的資料。懸而未決的問題翻一翻變更記錄很多都能找到線索。這批內(nèi)容先寫到這剩下那幾十條里還有關(guān)于PLC選型、I/O點表規(guī)劃、HMI變量分組、程序注釋規(guī)范、故障診斷緩沖區(qū)怎么讀、在線監(jiān)視和強制輸出的正確姿勢這些我后續(xù)會按主題一批批放出來。說句實在話入行前三年誰沒在半夜被電話叫醒過。我直到現(xiàn)在還會在包里揣著一條網(wǎng)線、一個U盤和一個寫滿IP分配的筆記本。技術(shù)是一回事習(xí)慣是另一回事。這90條里一大半并不是什么“大招”而是把每個普通環(huán)節(jié)做對。希望今天的這些能幫你少熬幾個通宵。