沈德榮
(浙江嘉化能源化工股份公司,浙江 嘉興 314201)
氯堿行業整流系統監控和配電系統監控往往不使用同一現場通訊協議,而使用2套后臺系統對整流系統和配電系統分別監控,同時,單套系統一般不與太多的整流控制系統進行監控。現建立并運行1個系統由2臺WINCC 后臺系統同時監控20臺整流器及相應20臺整流變壓器的保護裝置及其他動力配電裝置的運行狀態監視及控制整流器。
監控網絡組網圖見圖1。
(1)系統設置2臺WINCC 監控后臺,經2路PROFIBUS(通訊速率為500 kbps)與現場通訊PLC分別進行通訊,確保在任一后臺系統故障時,另一臺可以繼續獨立運行。
(2)現場通訊選用的PLC 與整流器控制柜用的PLC 完全相同,即西門子S200的266CPU,其自帶的PORT0口和PORT1口可以作為主口運行,擴展模塊EM277與上位機通訊。
(3)現場通訊用PLC 的PORT0口或PORT1口可以以PPI 方式與不超過4個從機通訊,鏈路長路不超過50 m;在此處,有通訊PLC-3的PORT0口與一期整流系統的4臺整流器PLC 進行通訊;通訊PLC-4的PORT0口和PORT1口分別與二期整流系統的1~4 4臺PLC 和二期整流系統的5~8 4臺PLC進行通訊;通訊PLC-6的PORT0口和PORT1口分別與三期整流系統的1~4 4臺PLC 和三期整流系統的5~8 4臺PLC 進行通訊。

圖1 監控網絡系統圖
(4)現場通訊用PLC 的PORT0口或PORT1口可以以自由口方式與多個MODBUS 協議數據收集用的MCU 單片機從機系統進行通訊,MCU 單片機系統以較低現場通訊速度與保護裝置進行通訊,收集的數據由PLC 握手后,向PLC 傳送并由PLC 在PLC 內存中保存與處理供后臺調用。
(1)通訊PLC 每個PORT 口以PPI 主口方式與最多4個整流器PLC 進行通訊,通訊速率為19.2 kbps。
(2)通訊PLC 與每個整流器PLC 在同一時間里僅有1個NETR 或NETW 命令在現用狀態,此時,每個通訊PLC 以2個PPI 主口與整流器通訊時可以確保同一時間內激活的NETR 或NETW 命令不超過8條。
(3)通訊PLC 預留2個VD 變量,供后臺向整流器下達控制命令,其中一個直接與整流器通訊(以下簡稱命令變量),另一個為后臺同時下達的2個命令作緩存(以下簡稱命令緩存變量),通訊PLC 在完成命令下達后,將命令緩存變量的值傳送給命令變量作為新的命令,同時將命令緩存變量清零。
(4)通訊PLC 在每個整流器通訊完成的情況下首先檢查該變量,只要該變量非零,且目標地址為該整流器,即發送解析后的NETW 命令,否則,發送循環讀的NETR 命令,讀數據的目標地址由整流器控制柜的PLC 程序確定,每次讀數據最多為16個字節。
為提高通訊PLC 與整流器PLC 之間在較低的通訊速率下具備單位時間內足夠的掃描次數。在整流器PLC 上需對上傳的數據進行打包處理,對位信號盡可能組織到32位的四字節VD 格式,而對于精度稍低的模擬量數據及整流變壓器檔位數據等盡可能以8位單個字節的方式向上傳送;總體打包后的數據以2組(最多3組)16個字節完成打包。
同時,為了后臺能夠顯示重要動作的來源,可以安排首出的定義與位信號一起上傳給通訊PLC,由通訊PLC 進行解碼及信號復歸處理。
以株州科瑞提供給浙江嘉代經能源化工公司三期離子膜燒堿用整流器為例的數據定義表見表1。
2.3.1 后臺對通訊PLC 下達命令
由于采用2套后臺系統對整個整流器系統進行控制,當后臺需要對通訊PLC 的2個或以上變量進行寫操作時,會對每個變量逐個進行寫操作,因此,為避免2臺電腦同時對通訊PLC 進行寫入而產生誤解析并對整流器誤控,最簡單的辦法就是采用單個4字節變量完成每個命令的操作。
命令的高16位包括整流器地址和命令的控制字,命令的低16位為控制的數據。如bit31~bit24可以設置為整流器PLC 地址;bit23~bit16可以設置為控制字;bit15~0為設定電流或者對指定地址寫入的調試數據。在實際運用中,為了簡化程序,通訊PLC的2個主口各對應的4個整流器使用不重復的地址,如PORT0口所帶整流器的PLC 地址為2~5,PORT1口所帶整流器的PLC 地址為6~9。

表1 離子膜燒堿用整流器數據定義表
實際的二期整流器采用株州科瑞的控制系統,在電流設定時不僅需要設置主控器的設定電流,同時,還需要設置從控制器的設定電流,這時,系統在通訊PLC 提供了2個VD 變量用于控制,即后臺可以同時發送A 通道設定電流和B 通道設定電流。
2.3.2 通訊PLC 對整流器下達命令
通訊PLC 與每個整流器通訊完成后檢查命令字,當命令變量非零且命令目標地址與當前整流器PLC 地址相同時,轉發后臺對整流器的操作命令,同時,完成命令緩存變量的移動和清零,否則,對目標整流器PLC 進行讀操作。
通訊PLC 對整流器下達命令為對固定的整流器變量區寫入,整流器根據數據塊中命令字進行操作。通訊PLC 對整流器PLC 控制操作只有1個主站在操作。
2.3.3 后臺對通訊PLC 命令字的參考編排
bit31~bit24整流PLC 的地址如POAT0口對應2~5;POAT1口對應6~9。
bit23~bit16控制字及對應bit15~bit0的操作數定義:
16#5A 整流變壓器升檔降壓操作(操作數為零);16#3C 整流變壓器降標升壓操作(操作數為零);16#78整流控制器A 電流設定(操作數為電流設定值);16#96整流控制器B 電流設定(操作數為電流設定值);16#87整流器PLC 數據查詢地址寫入(操作數為地址設定值);16#E1整流器PLC 在當前查詢地址寫入數據(操作數為數據設定值,僅當整流PLC 允許寫入數據的位置方可寫入,調試用);16#A5整流器PLC 報警復位(操作數為零)。
根據國電南京自動化股份有限公司的PS690系列保護測控裝置的RS485口MODBUS 通訊協議的規定,PS690系列保護測控裝置不能利用西門子S7-200的MODBUS 庫程序進行通訊。為了和動力站配電裝置能夠用1個PLC 進行通訊轉換,單個PLC 在9.6 kbps 速率下用2個通道與共計37臺裝置進行通訊,掃描時間將不能滿足后臺監視的要求,同時,單個鏈路的從站數量較多及電纜長度較長都不利于通訊穩定。根據PS690的通訊情況,單個主站一般不超過10個從站,最多不超過16個從站。因此,系統采用MCU 作為與PS690的接口。
(1)選用ATMEL 的ATmage162單片機作為通訊用單片機,對于本項目,ATmage162內置2個獨立的USART 異步串行口,當采用7.372 8 MHz 振蕩頻率時,可以使2個USART 分別運行于115.2 kbps 和9.6 kbps。在本項目中USART0以MODBUS 協議按9.6 kbps 的速率與國電南京自動化股份有限公司的PS690U 系列保護測控裝置進行通訊;USART1與PLC 以自由口方式按115.2 kbps 的速率進行通訊。
(2)MCU 板設置MCU 地址跳線來設定MCU 板的地址,MCU 根據MCU 板的地址來響應來自通訊PLC 的命令,包括握手與控制命令,在實際系統中,預留了控制操作命令的通道,但未配置操作命令,僅通過通訊用PLC 配置了裝置時鐘設定的命令。在PLC 與MCU 板通訊過程中,由通訊PLC 設置MCU與那些裝置(地址)進行通訊,并規定開關量采集個數和模擬量采集個數。
(3)MCU 板根據PLC 規定的通訊地址和開關量模擬量采集個數主動進行循環采集,并把采集到的數據按采集程序以轉發數據包的格式(每個數據包包括轉存字節數和轉存地址的相對偏移量和14個字節數據信息)保存在MCU 的存貯區內。根據PS690U 的通訊協議和點表,MCU 向PLC 每個裝置每次上傳開關量為10個字節,模擬量14個字節,每個裝置上傳模擬量最多為28個字節,PLC 一次握手最多轉發24個數據包,即按8臺裝置輪詢一周的數據即每臺裝置為1個位變量數據包和2個模擬量數據包。
(4)MCU 根據PLC 握手命令,向PLC 轉發數據,并標識有無后續數據,直到最后一個數據包的傳送,PLC 對MCU 發來的數據的偏移地址和轉發字節數保存在PLC 的變量區,供后臺讀取,同時,PLC 對最多達69位的位變量,選取最多不超過32個位變量以32位的雙字格式重新組合供后臺訪問與記錄。同時,PLC 在讀取無后續標志的報文時,在完成本報文處理后,發下一個PLC 的握手命令,握手命令包含對MCU 板的MODBUS 通訊控制。
3.3.1 PLC 至MCU 報文格式
16#A5規定初值;
MCU 地址1~8 0為廣播對時報文;
MODBUS 子站地址1~8;bit7為1時,為轉發命令,bit7為0時,通訊握手;
MODBUS 子站讀開關量數據長度;
MODBUS 子站讀模擬量數據長度;
空位備用,填充任意值;
8位XOR BCC 校驗值(從第2到第9字節)。
當MCU 地址為0時,為廣播對時命令;3~8字節為時間格式,按年月日時分秒共6個字節,MCU將年調整為20xx 格式,將秒轉為毫秒格式按對時規約下送。
當MODBUS 子站地址的首位為1時,3~8字節為MODBUS 命令除CRC 外的前6個字節(其中,MODBUS 地址的首位應為0),此功能可以由MCU向保護裝置轉發遠方復歸、遙控合開關及遙控分開關命令。
3.3.2 MCU 至PLC 報文格式
16#3CC3規定初值其中16#3C 由PLC 作為接收控制;
MCU 地址1~8;當bit7為1時,有后續報文;
轉發字節數,當16#7F 時,無轉發;
轉發偏移地址指針(需乘以10)及無轉發報文定義;
轉發數據1~14;
8位XOR BCC 校驗值(從第3到第19字節);
8位XOR BCC 校驗值(從第2位到第9位)。
當MCU 至PLC 傳送為無報文時,第5個字節定義無報文類型,可由PLC 查詢:16#FF 表示本次無數據傳送;16#BC 為MCU 讀得PLC 對本MCU 的握手報文BCC 錯誤;不論何種原因,PLC 均不轉發數據并對下一PLC 進行握手通訊。
(1)通訊PLC 內存由以下幾部分組成:整流器控制PLC 通訊得到數據保存的內存及為后臺訪問進行轉換的數據保存的內存;繼電保護裝置數據保存的內存及為后臺訪問將繼電保護裝置的數據進行處理的內存;PLC 程序所用的內存。
(2)為便于繼電保護裝置采集的數據在PLC 中的存貯,按當前項目每個通訊PLC 最多僅用1個PLC 口與通訊MCU 板通訊,每個MODBUS 子站在PLC 中安排50個VB 內存進行分配。同時,在這50個VB 內存中通訊讀入內存為38個,有12個可以用作處理后數據的保存。
(3)整流器數據由于通訊變量總體數量較少,在VB1000以后與繼電保護裝置采集的數據存放位置可以重迭,同時,在同一區域內安排轉換后的數據。在一期整流站需同時存放8臺保護裝置數據和4臺整流器數據,在這里,8臺繼電保護裝置數據需存放在VB100~VB845的內存中。
(4)用于繼電保護裝置采集PLC 程序所用內存盡可能安排內存的高端區域;用于整流器采集的PLC 程序所用內存安排在整充器數據區域。
(1)通訊PLC 與整流PLC 的通訊按照每個PLC從機在任何時候只占用1個NETR 或NETW 指令,并以命令優先為基本原則。
a.在任何通訊錯誤時,設置足夠的延時后再恢復通訊。
b.在通訊PLC 預留控制用位,使后臺能夠控制通訊PLC 停止及開啟與整流控制PLC 的通訊,提高后臺與運行整流器的通訊可靠性。
(2)通訊PLC 與通訊MCU 的通訊
a.通訊PLC 與通訊MCU 之間一直采用循環輪詢的方式進行通訊,并采用定幀長的方式握手并以定幀長的方式回答,通訊PLC 向通訊MCU 握手后,為提數據上傳的速度,MCU 將連續將轉發的報文傳送給通訊PLC,直到緩存的數據全部送完。此時,最多一次返送24個數據幀。
b.通訊PLC 與通訊MCU 握手時,輪流將通訊MCU 的MODBUS 讀取控制值下送給通訊MCU,使通訊MCU 退出再投運時,盡快獲取本MCU 的通訊參數,投入正常通訊(通訊MCU 除設置通訊MCU地址跳線外,程序是一樣的)。
c.中斷程序對狀態位的改變,在主程序中,確保僅允許在一處使用,以避免因中斷程序返回位置不同,使程序執行錯誤。
d.接收通訊完成后,需檢查有無命令存在,有命令時,以發送命令優先,在運行項目中僅采用對時命令。
(3)通訊PLC 中的數據處理程序
a.為了加速數據的上傳,在本項目中對整流數據上傳時對于VD212 PLC 查詢數據與VB212~215有載變壓器檔位、整流器水壓、水溫及有載變壓器上層油溫共用一個數據區,在通訊PLC 中,需要根據整流PLC 中V202.0查詢數據位來進行解析,對于V203.0~2故障首出表示故障1~7和沒有故障均需要在通訊PLC 中完成解析后由后臺讀取;另一方面,對一些故障需由PLC 對各臺整流器故障進行綜合后由后臺讀取和報警,減少報警顯示,突出重要報警。
b.對于每個微機保護裝置的重要位變量在后臺得到記錄,也需要由通訊PLC 對保護裝置的位變量進行重新組裝后由后臺讀取,由于整流進線未配置保護裝置,為在后臺可以看到每條母線的電流和有功功率,也需要通訊PLC 進行加法計算。
c.通訊PLC 同時承擔部分直接數據的采集和上傳。
(1)本文介紹系統目前已帶有三期共20臺整流控制PLC,三期共20臺有載調壓變壓器的24臺微機保護裝置的數據收集以及動力站37臺微機保護裝置的數據收集。
(2)PROFIBUS 總線187.5 kbps 數據收集正常,PROFIBUS 總線實際運行速度為500 kbps,作為PROFIBUS 子站通訊PLC 為6個,小于OPC 允許12子站的規定。
(3)通訊PLC 的每個PPI 口子站均為4個,通訊速率為19.2 kbps,鏈路長度均在50 m 以內;通訊PLC 的每個自由口通訊MCU 子站最多為6個,且與通訊PLC 裝在同一控制箱內,通訊速率為115.2 kbps;通訊MCU 與微機保護裝置通訊在站內進行,每個MCU 與最多8個保護裝置通訊,通訊速率為9.6 kbps。
(4)為了提高輪詢的速度,通訊MCU 不采用協議轉換器的工作方式,而是由通訊MCU 以主設備直接輪詢的方式與微機保護裝置通訊,再在通訊PLC 與其握手時,將數據傳送給PLC,PLC 再根據數據的規定保存在相應位置,最終由PLC 提供給后臺訪問這些數據。
(5)由于將整流器PLC 數據和微機保護裝置數據均由西門子S7-266的PLC 作為通訊管理用PLC來收集,由WINCC 組成的后臺僅面向用于通訊控制的西門子的PLC 進行通訊,從而使系統運行更穩定。
(6)由于采用互為備用的2個后臺對系統進行監控,同時簡化了操作命令的編排,每班僅需1名中控運行人員便完全可以勝任,同時可在單臺后臺電腦故障時,保證生產正常進行。