戰(zhàn):DCS與PLC之間的最佳選擇)
簡(jiǎn)介一套完整的ABB Freelance 2016 SP1分布式控制系統(tǒng)DCS軟件資源面向過(guò)程控制工程師、系統(tǒng)集成商及DCS維護(hù)人員可解決在Freelance平臺(tái)下進(jìn)行控制策略組態(tài)、界面設(shè)計(jì)與系統(tǒng)調(diào)試的軟件環(huán)境需求。資源包內(nèi)共2000個(gè)文件總大小約445.95MB以png、jpg、gif等圖像文件為主承載操作界面、圖標(biāo)與說(shuō)明文檔dll、js、htm、xml等構(gòu)成軟件組件與幫助系統(tǒng)chm、pdf為使用手冊(cè)和參考資料exe、msi為安裝程序另有afw、bat、crc等工程與工具文件便于后續(xù)安裝部署和輔助操作。已有1022人學(xué)習(xí)下載。該資源包含軟件本體、Hotfix1熱修復(fù)補(bǔ)丁及CBF Viewer組件附帶防火墻配置腳本和常用工具能幫助用戶在離線環(huán)境下順利安裝Freelance 2016 SP1快速搭建DCS開(kāi)發(fā)與運(yùn)行環(huán)境尤其適合需要對(duì)照官方界面和文檔進(jìn)行工程組態(tài)與上機(jī)練習(xí)的技術(shù)人員。1. 項(xiàng)目概述1.1 為什么選FREELANCE 2016 SP1而不是PLC在工控圈里摸爬滾打這些年“用PLC還是用DCS”這個(gè)問(wèn)題基本貫穿了每一個(gè)中小型過(guò)程控制項(xiàng)目的前期討論。ABB FREELANCE 2016 SP1這套軟件我一直把它定義為“PLC和DCS之間的那座橋”——它保留了DCS的分布式架構(gòu)、冗余能力、集中監(jiān)控思維但組態(tài)方式和上手難度又比傳統(tǒng)大型DCS友好得多特別適合幾百到幾千個(gè)I/O點(diǎn)的中小規(guī)模過(guò)程控制項(xiàng)目。FREELANCE 2016 SP1是ABB在2016年發(fā)布的一個(gè)服務(wù)包版本基于Freelance工程平臺(tái)核心由Control Builder F組態(tài)軟件、DigiVis人機(jī)界面運(yùn)行環(huán)境、Freelance Engineering工程管理工具幾大模塊組成。它并不是一套“新軟件”而是對(duì)之前版本的集中增強(qiáng)控制器固件更新、組態(tài)工具穩(wěn)定性提升、對(duì)Windows新版本操作系統(tǒng)的兼容性調(diào)整這些都在SP1里做了整合。那什么時(shí)候該選它我個(gè)人的判斷標(biāo)準(zhǔn)很簡(jiǎn)單如果你的項(xiàng)目有模擬量閉環(huán)控制、有聯(lián)鎖邏輯、有上位機(jī)集中監(jiān)控、可能還要考慮冗余但規(guī)模又沒(méi)大到需要上Symphony Plus或800xA那種重型DCS那FREELANCE就是那個(gè)“卡在中間的正合適”。相反如果項(xiàng)目只是幾個(gè)氣缸加電機(jī)的順序控制那用PLC性價(jià)比更高殺雞不用牛刀。1.2 這套軟件能解決什么問(wèn)題FREELANCE 2016 SP1解決的核心問(wèn)題是讓中小型過(guò)程控制項(xiàng)目擁有“類DCS”的完整能力而不用付出大型DCS的采購(gòu)和運(yùn)維成本。具體來(lái)說(shuō)它能做的事情包括通過(guò)Control Builder F完成控制器邏輯組態(tài)支持IEC 61131-3標(biāo)準(zhǔn)的LD、FBD、ST、IL、SFC語(yǔ)言通過(guò)DigiVis完成畫面的開(kāi)發(fā)和運(yùn)行實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)監(jiān)控、報(bào)警管理、歷史趨勢(shì)通過(guò)通信接口模塊把Modbus RTU/TCP、PROFIBUS DP、以太網(wǎng)等第三方設(shè)備比如變頻器、智能儀表、其他品牌PLC接入系統(tǒng)如果項(xiàng)目有高可靠性要求還能選配冗余控制器和冗余通信實(shí)現(xiàn)無(wú)擾切換。在DCS數(shù)據(jù)采集這個(gè)方向上FREELANCE也有自己的答案。它自帶的過(guò)程站PS可以掛本地I/O或遠(yuǎn)程I/O通過(guò)PROFIBUS DP或私有總線把現(xiàn)場(chǎng)信號(hào)采集回來(lái)再往上送到操作員站OS。這個(gè)架構(gòu)和大型DCS在邏輯上是一致的只是規(guī)模輕量化了。2. 系統(tǒng)架構(gòu)與軟件組成拆解2.1 典型的FREELANCE系統(tǒng)拓?fù)湟惶讟?biāo)準(zhǔn)的FREELANCE系統(tǒng)從上到下大致分為三個(gè)層次操作員站OS、控制器站PS、現(xiàn)場(chǎng)I/O。操作員站負(fù)責(zé)運(yùn)行DigiVis人機(jī)界面是操作工和系統(tǒng)交互的窗口。在FREELANCE 2016 SP1中OS站可以是單機(jī)模式也可以是多臺(tái)并列通過(guò)以太網(wǎng)和控制器通信??刂破髡臼窍到y(tǒng)的核心運(yùn)行實(shí)時(shí)任務(wù)執(zhí)行控制邏輯進(jìn)行數(shù)據(jù)采集和輸出。FREELANCE 2016 SP1支持的控制器主要是AC700F和AC800F兩個(gè)系列其中AC800F定位更高支持冗余配置AC700F更經(jīng)濟(jì)緊湊適合小型系統(tǒng)。再往下是I/O層包括S700 I/O、S800 I/O等系列通過(guò)PROFIBUS DP或FBPField Bus Plug通信。我遇到過(guò)不少第一次接觸FREELANCE的工程師上來(lái)就想搞懂“到底哪個(gè)軟件是干嘛的”結(jié)果被ABB的命名繞暈。簡(jiǎn)單梳理Control Builder F約等于“PLC編程軟件”負(fù)責(zé)邏輯組態(tài)和硬件組態(tài)DigiVis約等于“組態(tài)王/WinCC”負(fù)責(zé)做畫面Freelance Engineering是一個(gè)綜合管理界面用來(lái)管理項(xiàng)目和工程庫(kù)實(shí)際組態(tài)時(shí)也是從它里面啟動(dòng)Control Builder F和DigiVis的。你把它理解成一套“全家桶”入口是Freelance Engineering干活的是兩個(gè)子工具。2.2 控制器與I/O選型邏輯選控制器這件事很多項(xiàng)目在前期沒(méi)想清楚等到了設(shè)計(jì)階段才手忙腳亂。根據(jù)我的經(jīng)驗(yàn)可以從幾個(gè)維度來(lái)判斷。第一看點(diǎn)數(shù)。如果項(xiàng)目總I/O點(diǎn)在200~300點(diǎn)以內(nèi)且沒(méi)有冗余要求AC700F完全夠用成本優(yōu)勢(shì)明顯。如果I/O點(diǎn)數(shù)到了500以上或者有冗余需求、有較復(fù)雜的連續(xù)控制回路AC800F更合適它的處理能力、內(nèi)存、通信能力都更強(qiáng)。第二看冗余需求。有些項(xiàng)目雖然I/O不多但工藝不允許停機(jī)比如化工裝置里的關(guān)鍵溫度回路、汽包液位聯(lián)鎖這時(shí)候就必須考慮冗余。AC800F支持1:1冗余包括控制器冗余、電源冗余、通信冗余但注意FREELANCE的冗余是“主備切換”機(jī)制工程組態(tài)時(shí)需要把冗余參數(shù)配置好下載時(shí)要先備后主這個(gè)順序亂了容易出問(wèn)題。第三看現(xiàn)場(chǎng)設(shè)備通信需求。如果項(xiàng)目里有大量第三方設(shè)備要接入比如ABB變頻器通過(guò)Modbus RTU接入、西門子PLC通過(guò)PROFIBUS DP接入那你選型時(shí)就要注意控制器通信模塊的端口數(shù)量和協(xié)議支持情況。AC800F的通信模塊可以擴(kuò)展AC700F則相對(duì)固定端口不夠就沒(méi)法通過(guò)加模塊解決只能外接網(wǎng)關(guān)既增加成本又多了故障點(diǎn)。3. 軟件安裝與工程創(chuàng)建實(shí)操3.1 安裝過(guò)程的關(guān)鍵注意事項(xiàng)FREELANCE 2016 SP1的安裝不像普通辦公軟件那樣一路Next就完事有幾個(gè)坑我在不同項(xiàng)目里踩過(guò)多次值得單獨(dú)說(shuō)一下。第一操作系統(tǒng)兼容性。2016 SP1官方支持Windows 7 Professional/Ultimate64位和Windows 10 Enterprise/LTSB64位。我強(qiáng)烈建議不要在家庭版系統(tǒng)上裝也別用最新的Windows 11去嘗試ABB對(duì)操作系統(tǒng)的驗(yàn)證很保守用非官方支持的版本可能會(huì)出現(xiàn)組態(tài)軟件閃退、通信卡頓、授權(quán)無(wú)法激活等各類怪問(wèn)題。第二安裝順序。先裝操作系統(tǒng)然后裝SQL ServerFREELANCE會(huì)用到數(shù)據(jù)庫(kù)再裝FREELANCE主程序最后裝授權(quán)。如果你先裝了FREELANCE再補(bǔ)SQL Server大概率要修復(fù)安裝。另外殺毒軟件務(wù)必在安裝前退出或者說(shuō)至少把安裝目錄加入白名單否則安裝過(guò)程中殺毒軟件攔截了某個(gè)DLL注冊(cè)后面啟動(dòng)時(shí)會(huì)莫名其妙報(bào)錯(cuò)。第三授權(quán)管理。FREELANCE的授權(quán)分測(cè)試授權(quán)和正式授權(quán)測(cè)試授權(quán)通常有時(shí)間限制正式授權(quán)則綁定加密狗或硬件密鑰。我碰到過(guò)項(xiàng)目現(xiàn)場(chǎng)臨時(shí)要演示但測(cè)試授權(quán)過(guò)期的情況解決方法是聯(lián)系A(chǔ)BB當(dāng)?shù)卮硖幧暾?qǐng)臨時(shí)授權(quán)但這個(gè)過(guò)程可能需要兩天以上所以在項(xiàng)目計(jì)劃里一定要提前把這個(gè)時(shí)間留出來(lái)。3.2 新建工程與硬件組態(tài)步驟安裝完成后首次啟動(dòng)Freelance Engineering會(huì)進(jìn)入一個(gè)項(xiàng)目管理界面。新建工程的流程比較固定選擇工程模板通常是“Empty Project”設(shè)置工程名稱和路徑然后進(jìn)入硬件組態(tài)。硬件組態(tài)的入口在Control Builder F里。雙擊打開(kāi)后你會(huì)看到一個(gè)類似Windows資源管理器的樹狀結(jié)構(gòu)里面有控制器節(jié)點(diǎn)、I/O節(jié)點(diǎn)、通信節(jié)點(diǎn)。右鍵控制器節(jié)點(diǎn)添加實(shí)際型號(hào)的控制器比如PM802F是AC800F的控制模塊需要對(duì)照訂貨號(hào)確認(rèn)。添加完后需要設(shè)置控制器的IP地址和站地址。注意FREELANCE控制器默認(rèn)的IP網(wǎng)段要和OS站設(shè)置在同一網(wǎng)段否則后面下載時(shí)找不到控制器。I/O組態(tài)相對(duì)直觀——添加遠(yuǎn)程I/O站設(shè)置PROFIBUS DP地址然后往里面掛I/O模塊。每個(gè)模塊的通道地址、信號(hào)類型AI/AO/DI/DO、量程都要逐一配置。這塊工作量不大但很瑣碎一個(gè)一百多點(diǎn)的項(xiàng)目光硬件組態(tài)可能就要半天時(shí)間。我的習(xí)慣是先在Excel里把I/O清單整理好標(biāo)明設(shè)備位號(hào)、信號(hào)類型、模塊位置、通道號(hào)組態(tài)時(shí)照著填能省不少返工時(shí)間。注意硬件組態(tài)里設(shè)置的模塊地址和實(shí)際柜內(nèi)接線位置必須一一對(duì)應(yīng)。如果發(fā)現(xiàn)某一路信號(hào)采集不上先查組態(tài)地址再查現(xiàn)場(chǎng)接線不要上來(lái)就懷疑模塊壞了。3.3 控制器IP與通信參數(shù)設(shè)置控制器IP設(shè)置這塊是新手最容易被卡住的地方之一。FREELANCE的控制器通信分兩層一層是工程組態(tài)通信即Control Builder F與控制器之間的通信用于下載和調(diào)試另一層是運(yùn)行通信即DigiVis與控制器之間的實(shí)時(shí)數(shù)據(jù)交換。這兩層在組態(tài)里是分開(kāi)配置的。AC800F的控制模塊PM802F上有一個(gè)以太網(wǎng)口固定在IP 172.16.0.10這個(gè)地址是出廠默認(rèn)的。首次連接時(shí)你的電腦需要配一個(gè)同網(wǎng)段的IP比如172.16.0.1然后用網(wǎng)線直連或通過(guò)交換機(jī)連接。連接成功后在Control Builder F里可以修改控制器的正式IP地址。我見(jiàn)過(guò)一個(gè)比較典型的問(wèn)題項(xiàng)目上用了無(wú)線網(wǎng)卡電腦同時(shí)連著WiFi和有線網(wǎng)結(jié)果下載時(shí)一直連不上控制器。這是因?yàn)閃indows路由表里存在多條可達(dá)目標(biāo)網(wǎng)段的路徑系統(tǒng)選擇了錯(cuò)誤的出口。解決辦法是臨時(shí)禁用無(wú)線網(wǎng)卡或者用route命令調(diào)整路由優(yōu)先級(jí)。這個(gè)坑寫出來(lái)希望其他人別像我一樣在項(xiàng)目現(xiàn)場(chǎng)滿頭大汗地排查了半天才發(fā)現(xiàn)是網(wǎng)卡沖突。4. 控制邏輯組態(tài)與調(diào)試實(shí)戰(zhàn)4.1 基于IEC 61131-3的編程語(yǔ)言選擇FREELANCE控制邏輯組態(tài)支持IEC 61131-3全部五種語(yǔ)言但實(shí)際項(xiàng)目中真正高頻使用的就那么一兩種。作為工程師在項(xiàng)目開(kāi)始前就要統(tǒng)一團(tuán)隊(duì)的編程語(yǔ)言風(fēng)格否則后續(xù)維護(hù)時(shí)會(huì)很痛苦。我個(gè)人的建議是連續(xù)控制類邏輯用FBD功能塊圖邏輯聯(lián)鎖類用LD梯形圖順序控制類用SFC順序功能圖ST結(jié)構(gòu)化文本用來(lái)寫一些復(fù)雜算法或自定義功能塊。S7項(xiàng)目的經(jīng)驗(yàn)可以直接平移到FREELANCE的門檻不高只是函數(shù)塊庫(kù)的命名和調(diào)用方式不同。比如模擬量PID控制FREELANCE內(nèi)置了功能塊庫(kù)DigiLib里面包含類似PID_INT、PID_REAL這樣的控制塊。拖拽到FBD頁(yè)面里連線、設(shè)置參數(shù)閉環(huán)控制就有了雛形。和西門子的FB41CONT_C相比思路基本一致只是參數(shù)名稱和聯(lián)系方式略有差異。4.2 一個(gè)實(shí)際聯(lián)鎖邏輯的組態(tài)思路拿一個(gè)典型的化工安全聯(lián)鎖舉例反應(yīng)釜溫度高報(bào)時(shí)需要切斷進(jìn)料閥并啟動(dòng)冷卻水泵。這個(gè)邏輯如果用FBD來(lái)做大致是溫度模擬量信號(hào)經(jīng)過(guò)比較器和高報(bào)設(shè)定值比較輸出布爾量該布爾量與操作員確認(rèn)信號(hào)、泵運(yùn)行反饋信號(hào)做邏輯與最終輸出到切斷閥的DO通道。這里面有幾個(gè)容易被忽視的細(xì)節(jié)。第一模擬量信號(hào)進(jìn)控制器后第一步應(yīng)該做質(zhì)量判斷——信號(hào)是否超量程、傳感器是否斷線。很多DCS系統(tǒng)在信號(hào)故障時(shí)默認(rèn)值為0如果用這個(gè)0去參與聯(lián)鎖可能導(dǎo)致設(shè)備誤動(dòng)作。FREELANCE里可以用功能塊檢測(cè)信號(hào)質(zhì)量再通過(guò)聯(lián)鎖邏輯里的“信號(hào)有效”位去閉鎖輸出。第二聯(lián)鎖邏輯里的“旁路”功能要用鑰匙開(kāi)關(guān)或操作員權(quán)限控制不能做成任何人都能自由旁路的按鈕這涉及安全規(guī)范要求。第三聯(lián)鎖復(fù)位邏輯用上升沿觸發(fā)避免按鈕一直按著時(shí)反復(fù)動(dòng)作。這些細(xì)節(jié)單看軟件功能其實(shí)都不復(fù)雜但真正考驗(yàn)工程師功力的地方在于你能不能提前在組態(tài)里把這些工業(yè)現(xiàn)場(chǎng)的實(shí)際問(wèn)題考慮進(jìn)去。這也是DCS組態(tài)和PLC編程最大的區(qū)別之一——DCS項(xiàng)目更注重完整性和可靠性而不是單純實(shí)現(xiàn)某個(gè)動(dòng)作。4.3 編譯下載與在線調(diào)試技巧邏輯寫完后在Control Builder F里點(diǎn)擊“Build”進(jìn)行編譯。編譯器會(huì)檢查語(yǔ)法錯(cuò)誤、變量未聲明、硬件地址沖突等問(wèn)題。編譯通過(guò)后就可以進(jìn)行下載操作了。下載前需要確認(rèn)控制器處于“STOP”或者“RUN”狀態(tài)。如果控制器正在運(yùn)行直接下載會(huì)導(dǎo)致停機(jī)取決于工程設(shè)置所以在生產(chǎn)裝置的調(diào)試窗口期之外不要隨便做下載操作。FREELANCE支持在線下載部分變更——只下載修改過(guò)的程序段這在生產(chǎn)項(xiàng)目里非常實(shí)用但前提是你要理解這個(gè)功能的限制有些組態(tài)變更比如刪除功能塊、修改接口變量不支持在線修改必須停機(jī)全量下載。在線調(diào)試時(shí)Control Builder F提供變量監(jiān)視和強(qiáng)制功能。你可以把某個(gè)變量強(qiáng)制為1或0觀察邏輯響應(yīng)也可以直接給模擬量輸出通道加一個(gè)固定值來(lái)驗(yàn)證現(xiàn)場(chǎng)執(zhí)行機(jī)構(gòu)的動(dòng)作方向是否正確。這里要特別提醒強(qiáng)制功能是雙刃劍調(diào)試完一定要逐一取消強(qiáng)制否則生產(chǎn)階段某個(gè)被強(qiáng)制的點(diǎn)會(huì)掩蓋真實(shí)故障造成誤判斷。我有一次在項(xiàng)目收尾時(shí)忘了一個(gè)強(qiáng)制點(diǎn)導(dǎo)致業(yè)主生產(chǎn)時(shí)那臺(tái)泵一直不啟動(dòng)排查了兩天才發(fā)現(xiàn)是被強(qiáng)制為0了這個(gè)教訓(xùn)記憶猶新。5. 人機(jī)界面設(shè)計(jì)與報(bào)警管理5.1 DigiVis畫面組態(tài)入門DigiVis是FREELANCE的人機(jī)界面運(yùn)行環(huán)境它在工程中的對(duì)應(yīng)開(kāi)發(fā)工具叫DigiVis Configuration。開(kāi)發(fā)者用這個(gè)工具繪制工藝流程圖、設(shè)備狀態(tài)、實(shí)時(shí)趨勢(shì)等運(yùn)行后由DigiVis加載顯示。畫面組態(tài)的思路和組態(tài)王、WinCC等上位機(jī)軟件類似先建畫面Picture然后在畫面里放置圖元再給圖元的動(dòng)態(tài)屬性綁定變量。DigiVis的圖元庫(kù)里有泵、閥門、管道、儀表等標(biāo)準(zhǔn)圖元你也可以用基本圖形自己拼。常用做法是靜態(tài)圖形設(shè)備外形、管道走向用Drawing元素繪制動(dòng)態(tài)數(shù)值用Text元素綁定變量設(shè)備狀態(tài)用顏色變化來(lái)表現(xiàn)——比如泵運(yùn)行時(shí)綠色停止時(shí)紅色故障時(shí)閃爍。一次比較復(fù)雜的DCS畫面包含幾十上百個(gè)變量如果一個(gè)個(gè)手動(dòng)綁定效率極低。FREELANCE提供了批量替換和導(dǎo)入導(dǎo)出機(jī)制你可以在Excel里維護(hù)好畫面變量清單然后批量導(dǎo)入。另外畫面模板功能值得好好利用——同類設(shè)備比如“進(jìn)料泵”可能有十幾臺(tái)做好一個(gè)模板后面復(fù)制改變量名就行能省下大量重復(fù)勞動(dòng)。5.2 報(bào)警分級(jí)與歷史趨勢(shì)配置報(bào)警管理是DCS不同于PLC的一個(gè)重要能力。FREELANCE的報(bào)警系統(tǒng)支持優(yōu)先級(jí)分級(jí)High、Medium、Low、報(bào)警抑制Alarm Suppression、報(bào)警延遲等高級(jí)功能。在配置報(bào)警時(shí)不要簡(jiǎn)單地把每個(gè)模擬量的高限、低限都加進(jìn)去而是要結(jié)合工藝分析哪些報(bào)警是真正有用的。報(bào)警泛濫是DCS系統(tǒng)運(yùn)行中最常見(jiàn)的問(wèn)題之一——現(xiàn)場(chǎng)操作工被一堆無(wú)關(guān)緊要的報(bào)警轟炸最終導(dǎo)致真正重要的報(bào)警被忽視。我接觸過(guò)的一個(gè)項(xiàng)目調(diào)試初期一天報(bào)警幾千條操作員直接麻了后來(lái)通過(guò)分級(jí)、抑制、死區(qū)設(shè)置把有效報(bào)警縮減到日均幾十條操作員才愿意認(rèn)真看報(bào)警。歷史趨勢(shì)配置方面DigiVis支持將過(guò)程值歸檔到SQL Server數(shù)據(jù)庫(kù)操作員可以查詢?nèi)我鈺r(shí)間段的趨勢(shì)曲線。對(duì)于關(guān)鍵參數(shù)比如反應(yīng)溫度、壓力、關(guān)鍵設(shè)備狀態(tài)比如泵啟停次數(shù)建議在工程階段就統(tǒng)一規(guī)劃歸檔清單而不是等投產(chǎn)后再補(bǔ)。歸檔數(shù)據(jù)量會(huì)隨周期增長(zhǎng)建議根據(jù)系統(tǒng)硬盤容量和工藝要求合理設(shè)置歸檔周期比如1秒、5秒、10秒。5.3 操作權(quán)限與安全策略設(shè)置工業(yè)生產(chǎn)系統(tǒng)的操作權(quán)限管理不是一個(gè)“要不要做”的問(wèn)題而是一個(gè)“怎么做”的問(wèn)題。FREELANCE提供基于用戶組和角色的權(quán)限體系可以精確控制到某個(gè)操作按鈕是否可見(jiàn)、能否操作。實(shí)際項(xiàng)目中我一般會(huì)設(shè)置四級(jí)權(quán)限操作員只能看畫面、操作常規(guī)起停按鈕無(wú)法修改設(shè)定值、班長(zhǎng)可以臨時(shí)修改部分工藝參數(shù)需填寫修改日志、工程師可以修改畫面、切換操作模式、管理報(bào)警、管理員系統(tǒng)配置、用戶管理、日志審計(jì)。每級(jí)權(quán)限對(duì)應(yīng)不同的登錄賬號(hào)和密碼策略。還有一個(gè)容易被忽略的點(diǎn)操作審計(jì)日志。FREELANCE會(huì)記錄操作員的所有關(guān)鍵操作修改設(shè)定值、啟停設(shè)備、確認(rèn)報(bào)警等包括操作人、操作時(shí)間、操作內(nèi)容。這些記錄在安全事故調(diào)查時(shí)非常關(guān)鍵。有些項(xiàng)目把審計(jì)日志默認(rèn)關(guān)閉了或者日志存儲(chǔ)空間不足導(dǎo)致寫不進(jìn)去這到了事后追溯時(shí)是要出大問(wèn)題的。我的建議是系統(tǒng)上線前就把審計(jì)功能全開(kāi)日志定期導(dǎo)出備份不要等出了事故才想起來(lái)。6. 與第三方設(shè)備的通信集成6.1 常見(jiàn)通信協(xié)議與配置方法一個(gè)DCS項(xiàng)目里除了自己的I/O設(shè)備通常會(huì)涉及變頻器、智能儀表、其他品牌PLC等第三方設(shè)備的接入。FREELANCE對(duì)通信協(xié)議的支持相當(dāng)豐富實(shí)際項(xiàng)目中我常用到的有Modbus RTU串口、Modbus TCP以太網(wǎng)、PROFIBUS DP、PROFINET、OPC UA。Modbus是最常見(jiàn)的接入方式不管是ABB自家的變頻器比如ACS580/ACS880系列還是第三方儀表很多都原生支持Modbus RTU或TCP。FREELANCE里配置Modbus通信的步驟大致是在硬件組態(tài)中添加通信模塊比如AC800F的CI830、CI854A模塊設(shè)置主站/從站角色、波特率、奇偶校驗(yàn)、數(shù)據(jù)格式然后在通信映射表中建立Modbus地址與DCS變量的對(duì)應(yīng)關(guān)系。PROFIBUS DP的配置邏輯類似但需要在FREELANCE里導(dǎo)入設(shè)備的GSD文件然后在DP主站下掛從站。這里有個(gè)老工程師都知道的坑GSD文件的版本一定要和設(shè)備固件版本匹配。如果設(shè)備更新了固件GSD文件沒(méi)同步更新通信偶爾會(huì)斷而且沒(méi)有任何規(guī)律。6.2 ABB變頻器與DCS的聯(lián)動(dòng)配置ABB變頻器接入FREELANCE我做得最多的就是用Modbus RTU把ACS580/ACS880接入。通信參數(shù)無(wú)非是站地址、波特率通常9600或19200、數(shù)據(jù)格式8N1或8E1然后映射運(yùn)行命令字、頻率設(shè)定值、運(yùn)行反饋等。實(shí)際項(xiàng)目中建議把變頻器控制模式設(shè)置為“外部控制”或“通信控制”否則你DCS給的啟動(dòng)命令會(huì)被變頻器本地面板沖突掉。通信控制模式下要特別注意變頻器的“啟動(dòng)允許”邏輯——有些變頻器默認(rèn)接通啟動(dòng)端子才允許啟動(dòng)通信給啟動(dòng)命令也沒(méi)反應(yīng)這個(gè)在現(xiàn)場(chǎng)經(jīng)常把人搞懵接線檢查了很久才想起來(lái)查啟動(dòng)允許。除了啟停和頻率給定我一般還會(huì)把變頻器的實(shí)際電流、母線電壓、故障代碼、運(yùn)行狀態(tài)反饋全部讀到DCS并在畫面上顯示出來(lái)。這樣操作工看到變頻器報(bào)警時(shí)不用跑到柜子前面去看直接在DCS畫面就能判斷故障類型能大幅縮短故障響應(yīng)時(shí)間。6.3 與西門子PLC及和利時(shí)DCS的通信實(shí)踐現(xiàn)場(chǎng)項(xiàng)目中DCS和PLC共存的情況非常普遍比如DCS管過(guò)程控制、PLC管設(shè)備聯(lián)鎖或者老裝置區(qū)是PLC、新裝置區(qū)是DCS需要互聯(lián)互通。FREELANCE和西門子PLC通信常見(jiàn)的方式是通過(guò)PROFIBUS DP或PROFINET也可以走OPC。如果走PROFIBUS DP需要確認(rèn)S7-300/400是否配置了DP從站模式——S7-300可以通過(guò)CPU集成的DP口做從站S7-1200/1500則必須用通信模塊或網(wǎng)關(guān)。如果走OPC則需要在FREELANCE側(cè)裝OPC服務(wù)器或客戶端組件。實(shí)際做下來(lái)OPC方式對(duì)IP地址、數(shù)據(jù)包格式限制更少適合后期調(diào)試階段再改動(dòng)配置的項(xiàng)目。和利時(shí)DCS通信的情況也類似。工程上最穩(wěn)妥的方案是通過(guò)Modbus TCP網(wǎng)關(guān)或標(biāo)準(zhǔn)OPC接口進(jìn)行數(shù)據(jù)交換。這里需要注意數(shù)據(jù)點(diǎn)表的一致性——雙方工程師分別維護(hù)各自系統(tǒng)的點(diǎn)表一旦變更沒(méi)有同步DCS讀過(guò)來(lái)的數(shù)據(jù)就會(huì)錯(cuò)位。我經(jīng)手過(guò)一個(gè)項(xiàng)目?jī)商紫到y(tǒng)通過(guò)Modbus TCP交換了20多個(gè)點(diǎn)調(diào)試時(shí)一切正常運(yùn)行半年后對(duì)方改了一個(gè)寄存器地址結(jié)果DCS這邊讀到的數(shù)據(jù)全亂了排查了好久才發(fā)現(xiàn)是點(diǎn)表沒(méi)更新。所以跨系統(tǒng)通信項(xiàng)目中強(qiáng)烈建議在合同或技術(shù)協(xié)議里明確“點(diǎn)表變更需以書面形式通知對(duì)方”并指定雙方唯一的接口負(fù)責(zé)人。7. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄7.1 通信故障排查通信故障是DCS項(xiàng)目運(yùn)行階段出現(xiàn)頻率最高的問(wèn)題。結(jié)合我的經(jīng)驗(yàn)可以按“軟件-硬件-現(xiàn)場(chǎng)”三個(gè)層面來(lái)排查。第一層軟件配置。先確認(rèn)通信參數(shù)是否一致——波特率、數(shù)據(jù)位、停止位、校驗(yàn)位任何一項(xiàng)不一致都會(huì)導(dǎo)致通信失敗或數(shù)據(jù)亂碼。Modbus通信中確認(rèn)主站和從站的寄存器地址映射是否對(duì)應(yīng)特別是32位浮點(diǎn)數(shù)的字節(jié)序大端/小端和字序不同廠家設(shè)備可能存在差異輕則數(shù)據(jù)亂跳重則讀出來(lái)的數(shù)值完全不對(duì)。第二層硬件狀態(tài)。檢查通信模塊指示燈查看鏈路狀態(tài)。比如PROFIBUS DP通信中斷后DP主站模塊上會(huì)有專門的BF總線故障指示燈亮起。FREELANCE的通信模塊也提供了診斷信息可以在Control Builder F里在線查看通信模塊的從站診斷數(shù)據(jù)。第三層現(xiàn)場(chǎng)物理鏈路。網(wǎng)線或DP電纜接頭松動(dòng)、屏蔽層接地不良是隱性故障的高發(fā)源。特別是DP電纜對(duì)屏蔽和終端電阻非常敏感線路兩端必須各接一個(gè)終端電阻中間任何分支點(diǎn)的接線都要用DP接頭壓緊。我遇到過(guò)一次現(xiàn)場(chǎng)通信間歇性中斷排查到最后是DP電纜在柜內(nèi)走線時(shí)和動(dòng)力電纜綁在一起電磁干擾導(dǎo)致數(shù)據(jù)幀偶發(fā)錯(cuò)誤。重新獨(dú)立走線后問(wèn)題徹底消失。7.2 常見(jiàn)故障速查表故障現(xiàn)象可能原因處理辦法控制器無(wú)法連接IP地址不在同一網(wǎng)段檢查OS站和控制器IP確保同網(wǎng)段連接控制器無(wú)法連接電腦多網(wǎng)卡路由沖突臨時(shí)禁用無(wú)關(guān)網(wǎng)卡或調(diào)整路由優(yōu)先級(jí)下載程序時(shí)報(bào)錯(cuò)控制器處于運(yùn)行狀態(tài)且工程設(shè)置了停機(jī)下載先切換控制器到STOP或選擇在線修改模式模擬量讀數(shù)異常量程設(shè)置錯(cuò)誤或信號(hào)類型不匹配核對(duì)硬件組態(tài)中的信號(hào)類型和量程范圍模擬量讀數(shù)跳變信號(hào)線屏蔽不良或接線松動(dòng)檢查現(xiàn)場(chǎng)接線確認(rèn)屏蔽層可靠接地Modbus通信時(shí)通時(shí)斷波特率或校驗(yàn)方式不一致核對(duì)通信參數(shù)統(tǒng)一兩端設(shè)置PROFIBUS DP故障GSD文件版本與設(shè)備固件不匹配從設(shè)備廠商處獲取最新GSD文件畫面數(shù)據(jù)不更新變量綁定錯(cuò)誤或通信中斷檢查變量名拼寫查看通信鏈路狀態(tài)強(qiáng)制變量在生產(chǎn)時(shí)未釋放調(diào)試后遺漏強(qiáng)制點(diǎn)建立調(diào)試收尾清單逐一確認(rèn)釋放強(qiáng)制點(diǎn)控制器冗余切換失敗備用控制器未同步程序按先備后主順序下載確認(rèn)備用機(jī)運(yùn)行狀態(tài)7.3 三個(gè)易被忽視的“小問(wèn)題”說(shuō)幾個(gè)不太常見(jiàn)但非常實(shí)用的經(jīng)驗(yàn)這些大多是我在具體項(xiàng)目里踩坑后總結(jié)出來(lái)的。第一DCS系統(tǒng)時(shí)間同步。FREELANCE的報(bào)警記錄、趨勢(shì)記錄都帶時(shí)間戳如果OS站和控制器的時(shí)鐘不同步查事故原因時(shí)報(bào)警順序和時(shí)間線會(huì)對(duì)不上。建議項(xiàng)目上線時(shí)配置NTP時(shí)間同步服務(wù)器讓所有操作員站、工程師站、控制器統(tǒng)一時(shí)間。很多項(xiàng)目忽略了這一點(diǎn)等到做事故復(fù)盤時(shí)才發(fā)現(xiàn)報(bào)警時(shí)間差了幾秒鐘給分析帶來(lái)了很大的麻煩。第二工程備份和版本管理。FREELANCE工程文件是一個(gè)完整的工程數(shù)據(jù)庫(kù)包含硬件組態(tài)、邏輯程序、畫面配置等全部?jī)?nèi)容。工程中途做過(guò)多次修改后建議定期另存為帶版本號(hào)的工程副本。我習(xí)慣每周五下班前把本周的工程壓縮備份一次命名格式是“項(xiàng)目名_日期_版本”存到共享服務(wù)器或網(wǎng)盤。一旦后續(xù)調(diào)試改出了不可逆的問(wèn)題隨時(shí)可以回退到上一個(gè)穩(wěn)定版本。第三控制器電池和CF卡。AC800F等控制器的程序存儲(chǔ)在電池保護(hù)的RAM或CF卡上。如果電池失效斷電后程序可能會(huì)丟失。建議每年檢查控制器電池電壓并在日常點(diǎn)檢中加入CF卡狀態(tài)檢查。別問(wèn)我是怎么想起來(lái)寫這條的——項(xiàng)目上確實(shí)經(jīng)歷過(guò)控制器斷電重啟后程序丟失的“刺激”時(shí)刻。8. 最終調(diào)試與項(xiàng)目收尾收尾階段往往是項(xiàng)目里最容易被壓縮時(shí)間、也最容易埋雷的階段。FREELANCE項(xiàng)目收尾我始終盯著三件事一是點(diǎn)和畫面的全面核對(duì)將設(shè)計(jì)院的I/O清單、實(shí)際組態(tài)、現(xiàn)場(chǎng)表計(jì)逐一比對(duì)任何一個(gè)“我印象中配過(guò)”的點(diǎn)都不算數(shù)要親眼確認(rèn)信號(hào)正常二是冗余切換測(cè)試模擬主控制器故障、通信斷鏈觀察備用控制器是否能無(wú)擾接管三是資料歸檔工程文件的最終版本、點(diǎn)表、通信參數(shù)表、操作手冊(cè)要整理成套交給業(yè)主的運(yùn)維人員。另外還有一個(gè)值得做的事——給業(yè)主的運(yùn)維工程師做一次現(xiàn)場(chǎng)實(shí)操培訓(xùn)。軟件這東西光看手冊(cè)確實(shí)不容易上手特別是FREELANCE這種工程項(xiàng)目型軟件界面和信息量比普通辦公軟件大得多。我記得有一次培訓(xùn)時(shí)業(yè)主工程師反復(fù)問(wèn)的一句是“這個(gè)軟件改一個(gè)變量會(huì)不會(huì)把現(xiàn)場(chǎng)正在運(yùn)行的設(shè)備停掉”這個(gè)問(wèn)題背后是對(duì)在線修改功能的信任問(wèn)題。我當(dāng)時(shí)就在工程里演示了在線下載一個(gè)不涉及運(yùn)行邏輯的注釋修改看到裝置平穩(wěn)運(yùn)行不受影響他才放心了。所以培訓(xùn)時(shí)一定要把“在線修改的安全邊界和操作流程”講透這比講任何菜單操作都重要。從選型到上線FREELANCE 2016 SP1這套軟件陪伴我走過(guò)了不少項(xiàng)目。它算不上最炫酷的DCS系統(tǒng)但勝在扎實(shí)、穩(wěn)定、適中。如果你正準(zhǔn)備用這套軟件啟動(dòng)一個(gè)新項(xiàng)目或者正在為“PLC還是DCS”的選擇猶豫希望這篇基于實(shí)際項(xiàng)目經(jīng)驗(yàn)的梳理能給你一些參考。真要?jiǎng)邮肿鲰?xiàng)目先把工程備份、IP規(guī)劃、點(diǎn)表管理這三件基本功做扎實(shí)后續(xù)會(huì)順很多。本文還有配套的精品資源點(diǎn)擊獲取