楊素珍,黃煥炮,張敏,李曉紅
(北京國電智深控制技術有限公司,北京市, 100022)
目前,國產分散控制系統(distributed control system,DCS)在火力發電廠的應用越來越多,國內主要的DCS有國電智深EDPF-NT+、浙大中控JX系列和利時MACS系列等。根據現場實際情況,經常需要將第三方的數據送到DCS,或將DCS系統數據送到第三方系統。本文提出利用Modbus協議通訊來解決數據傳送的問題,這樣可以避免增加采集控制設備,而且便于統一監視及控制。EDPF-NT+系統軟件結合了先進的網絡通信、信息、監控、管理技術為一體,具有開放式結構、良好的硬件兼容性和軟件可擴展性;在通訊接口方面,支持Modbus通訊協議,能與各類控制設備及計算機實現通訊連接,已成功應用于火電廠1 000 MW機組,且在水電、化工、新能源等領域的應用也逐漸顯現出優勢。
Modbus協議已經成為工業通訊的通用標準。通過該協議控制器之間可進行通訊,還可以將不同廠商的控制設備連成工業網絡進行集中監控。Modbus協議通訊為客戶機對服務器[1-2](即1主1從),主站方發出請求,從站作出應答進行環路交換信息。許多工業設備使用Modbus協議作為通訊標準[3-4]。EDPFNT+支持Modbus RTU通訊模式[5-6]及Modbus TCP通訊模式,且通訊操作簡單靈活,組態方便,安全可靠。
EDPF-NT+在與Modbus RTU通訊中,只作主站,接口站通過虛擬分散處理單元(distributed processing unit,DPU)建立任務,利用TCP/IP網絡連接到串口服務器,串口服務器再以RS485方式連接到可編程控制器(programmable logic controller,PLC)或IO模塊的網關(即作從站的通訊設備)。使用串口服務器是為了將RS485數據轉換為DPU數據。串口服務器有4、8、16口,可以方便擴充通訊及與多方設備建立通訊。圖1為EDPF-NT+基于Modbus RTU的架構圖。

圖1 EDPF NT+與Modbus串口通訊結構Fig.1Structure of serial communication between EDPF-NT+and Modbus
EDPF-NT+在基于Modbus TCP通訊中可作主站,也可作從站。系統可通過網線與Modbus TCP建立通訊。作主站時,如果1臺接口站需要與多方設備進行通訊,中間可以用交換機或Hub進行擴展。接口站需要使用不同的端口與對方通訊。作從站時,需在502端口上等待請求[7]。
EDPF-NT+系統通訊,只需在虛擬的DPU[6-7]中添加相應的虛擬I/O模塊。每個開關量信號對應1個寄存器的1位或1個線圈及1個離散量。EDPF-NT+可以將1個寄存器的16位自動分配解包到相對應模塊的連續的16個通道中。再配置擴展I/O程序來完成不同功能的任務,如讀線圈、離散量、保持寄存器、輸入寄存器等。表1為卡件類型及功能碼對應表。

表1 卡件類型及功能碼對應表Tab.1Correspondence between card types and function codes
Modbus RTU是基于串口的通訊,EDPF-NT+接口站與第三方系統之間通過串口服務器連接在一起。串口服務器一端通過以太網方式和DCS連接,另一端通過RS 485方式和第三方系統連接。通常串口服務器具有多個連接端口,每個端口連接1個第三方系統。串口服務器的地址與EDPF-NT+的接口站IP需要配置在同一網段,串口服務器每個端口應配置同網段IP及不同的端口號,應用中需要定義每個端口的波特率、停止位、奇偶校驗等信息(第三方系統廠家提供)。
(1)串口的接線。用1根交叉網線,一端連接EDPF-NT+接口站網口,另一端接串口服務器的以太網口;就地過來485線接串口服務器的端口上[8]。
(2)Modbus TCP的接線。用1根普通的網線,一端接到EDPF-NT+接口站網口,另一端接到第三方系統的通訊設備的網口或網關上。
(1)與第三方采集器通訊提供資料:規約類型為Modbus RTU;通訊端口為RS232/RS 485;通訊速率為9600bps;通訊參數為8、1、1、N;Modbus主機為DCS系統(響應數據);Modbus從機為采集器(查詢命令、確認命令);地址為C9H;功能碼為03H;起始寄存器地址為0000H。
(2)與第三方DEH的PLC通信提供資料:子站地址為 1;協議9600,8,n, 1;開關量4150-4151,以保持寄存器來讀取。
通訊之前,需要先建立虛擬DPU。假設新建的虛擬DPU為30號站,則接口站的A網卡增加IP為: 172.101.1.30,B網卡增加IP為:172.101.2.30。
在PO中添加虛擬DPU 30,增加完在D盤目錄下新建虛擬DPU的運行文件夾。
配置完虛擬DPU后需要增加虛擬卡件,增加虛擬卡件是在DPU 30中新建IO模塊,添加實際模擬量的模塊DPU 30 A1及開關量的DPU 30 A2。
根據第三方采集器說明,需要讀取從站的1~16號保持寄存器的數據,首先增加Bidc開關量輸入卡,設備號為DCS自定義,此處定為1。從站ID C9H為十六進制,轉換成十進制為201,起始寄存器號0、起始點號為第1塊通道,功能碼為3,數據類型、字節順序類型與第三方一致。
根據第三方PLC說明需要讀取從站PLC的4150與4151號保持寄存器的數據,首先增加Bidc MDI卡,設備號為DCS自定義,此處定為2。從站為1,起始寄存器號4150,功能碼為3。
再進行配置卡件圖,并轉換下載SAMA圖。
(1)應用Excel數據庫模板,將1~16號寄存器轉換為DPU 30的A1卡件1~16通道數據。
(2)PLC的通訊為8個開關量打包到1個寄存器中,只需將4150寄存器的8個開關量分配到A2的1~8通道,4151寄存器分配到A2的17~24通道。
導入數據庫,配置點組,下載點組及數據庫,信號類型可選為源碼輸入不變。
串口服務器主要有2項大的配置,一為串口參數配置,二為工作模式配置。在配置串口服務器前,需要在接口站增加第3塊網卡,用交叉線連接到串口服務器Ethemet 10/100M口,根據串口服務器默認IP為192.168.0.233(可修改),再為第3塊網卡添加與串口服務器同網段IP地址。
(1)串口參數設置。串口參數配置的是第三方設備的相關串口參數:將采集器過來的485線連接到串口服務器第1個端口,PLC過來的485線連接到第2個端口,再通過用戶數據報協議轉發到同一臺接口站來擴展通訊。因采集器與PLC提供的串口參數相同[11],所以將端口1、2設置為:波特率9600,數據位8,停止位1,校驗位none,流量控制none,類型改為485或不更改。
(2)工作模式設置。工作模式是用于配置串口服務器與接口站的通訊模式:因接口站與串口服務器是UDP協議,所以需要將第1及第2個端口的工作模式配置為TCP/UDP Socket。再將協議改為UDP,對端主機設置為通訊網卡的IP地址192.168.0.208,端口號任意設置。保存配置,重啟串口服務器即可。
將C:Program FilesEDPF-NT plusTemplate路徑下的EIO.ini文件,拷貝至運行主目錄config system下。打開EIO文件,按實際情況將EIO文件下的相應內容修改。根據實際情況,DCS方需要定義第1個設備號1對應采集器的201號設備通訊,并建1號任務為讀32個線圈數據;DCS方再定義第2個設備號2對應PLC的2號設備通訊,并建1號任務為讀40個保持寄存器數據。
配置好EIO后,可直接重啟虛擬DPU,完成通訊。如果是Modbus TCP通訊,此EIO.ini文件需要更改2處:Protocol=modbusTCP,RemotePort=502。
(1)與第三方設備通訊成功,但值(模擬量值)不對,可以檢查字節順序類型是否一致或通訊測點的起始位置是否按錯位處理。通常通訊數據類型應為源碼輸入,不進行標量變換,否則修改為自定義,并計算轉換系數。
(2)對于第三方廠家將16個及16個以內開關量打包到1個寄存器的情況,只需在任務中讀1個寄存器,在各個通道建對應的測點名,模擬量輸入卡件自動將寄存器中的16個開關量解包到各通道。
(3)對于1個寄存器為16個開關量,但只取某1位值的情況,只需將這1位開關量測點名建在對應的通道上即可。
在通訊中,可以用輔助的Modbus調試軟件調試設備,根據雙方是否能發送或接受數據報文來判斷并分析線路、協議等是否正常。在EDPF-NT+系統中,通過虛擬控制器與第三方系統進行Modbus協議通訊,應用廣泛,不僅能降低生產成本,并且程序運行穩定、維護簡便。
[1]GB/T 19582.3—2008基于Modbus協議的工業自動化網絡規范[S].中國:中國標準出版社,2008.
[2]陳銘.基于MODBUS協議的設備和PLC實現通信的研究[J].湖南科技學院學報,2009(4):60-62.
[3]李喜東,劉波濤.Modbus RTU串行通訊協議在工業現場的應用[J].自動化技術與應用,2005(07):37-40.
[4]呂國芳,唐海龍.基于Modbus RTU的串口調試軟件的實現[J].計算機技術與發展,2009(9):236-238,241.
[5]郭永吉,王興貴.ModbusRTU模式下工控機與智能儀表的通訊實現[J].甘肅科學學報,2008(1):51-53.
[6]劉沛津,谷立臣.基于Modbus/TCP的火電廠實時數據集成及網絡通信控制器研制[J].電力自動化設備,2009(8):128-131.
[7]張海艷.RS232/485與CAN總線協議轉換器的研究與設計[D].大連:大連海事大學,2008.
[8]朱建平,辛伊波.工業控制系統串行異步通信研究[J].自動化儀表,2003(6):53-55.
(編輯:沈雷)