劉春艷 吳明生 羅炳浩
(甘肅銀光聚銀化工有限公司,甘肅 白銀 730900)
隨著DCS在化工自控領域的廣泛應用,工業生產中經常需要PLC與DCS間進行通信,最常見的通信方式是通過通信卡點對點連接方式中的Modbus RS-485通信。現以CP341模塊與CS3000的ALR121模塊為例,介紹基于Modbus協議通信的硬件結構和參數設置。
Modbus將通信參與者規定為主機(master)和客戶端(slave),主機首先向客戶端發送通信請求指令,客戶端根據請求指令中指定的內容向主機發回數據,一個主機可以向多個客戶端發送通信請求,最多可有255個請求指令。每個客戶端都有設有唯一編號,該編號為客戶端地址(slave address)或識別碼(slave id)。
Modbus協議中只對各種通信字符串格式作了規定,并未對通信參數作規定。
控制器能設置為ASCII或RTU兩種傳輸模式中的任何一種,在標準的Modbus網絡通信。用戶選擇想要的模式,包括串口通信參數(波特率及檢驗方式等),在配置每個控制器時,在一個Modbus網絡上的所有設備都必須選擇相同的傳輸模式和串口參數。當控制器設為在Modbus網絡上以ASCII模式通信,在消息中的每個8bit都作為兩個ASCII字符發送。這種方式的優點是字符發送的時間間隔可達到1s而不產生錯誤。當控制器設為在Modbus網絡上以RTU模式通信,在消息中的每個8bit包含兩個4bit的十六進制字符,其優點是在同樣的波特率下,可比ASCII方式傳送更多的數據。
CP341模塊是S7-300/400 PLC中支持Modbus串行通信的模塊,CP341有一個串行通信口(RS-232C或TTY或RS-485/422)。要實現Modbus通信,需在CP341模塊上插入相應協議的硬件狗,CP模板才能支持Modbus(RTU格式)。
CP341模塊的安裝步驟:
a. 將CPU切換至STOP模式;
b. 關閉電源;
c. CP341附帶擴展總線,將該總線插入CP341左側模塊的背板連接器上;
d. 如果要在CP341的右側安裝模塊,則將下一個模塊的擴展總線插到CP341右側背板連接器上;
e. 將FM341掛在安裝導軌上并向下旋轉;
f. 擰緊CP341;
g. 將24V(DC)的負載電源連接至CP341。
參數分配接口與功能塊和編程實例均位于CD上。安裝參數分配接口,執行的操作:將CD放入編程設備或PC的CD驅動器;在Windows操作系統中雙擊控制面板中的“添加/刪除程序”圖標,打開安裝軟件的對話框;在該對話框中選擇CD驅動器,然后選擇“Setup.exe”文件,開始安裝;按照屏幕上的安裝程序提供的說明進行操作。
CP341組態步驟如下:
a. 通過STEP 7創建一個項目和站。
b. 在STEP 7的組態表中輸入CP341的機架號、插槽號和訂貨號,STEP 7自動給CP341分配地址,這樣CPU就能通過地址在機架插槽中找到CP341。
c. 通過在組態表中雙擊訂貨號(CP341)或通過選擇CP341,然后選擇編輯(Edit)-->對象屬性(Object Properties)菜單命令來啟動參數分配接口。將出現“屬性-CP341”(Properties-CP341)對話框。單擊“參數”(Parameters)按鈕轉至協議選項,設置協議并雙擊傳輸協議的圖標(信封形狀)。這樣進入了設置協議特定參數的對話框。
d. 數據組態。通過選擇站(Station)-->保存(Save)或站(Station)-->另存為(Save As)菜單命令退出組態表時,系統自動將組態數據和參數分配數據(包括模塊參數)存儲到已創建的項目/用戶文件中。
e. 在線將組態數據和參數分配數據從編程設備下載到CPU,菜單命令PLC-->下載(Download)。下載后CPU立即接收參數。
DCS的硬件包括:ALR121(RS-422/RS-485 communication module)和ALR121。ALR121卡件連接的方式如圖1所示。

圖1 ALR121卡件的連接示意圖
打開CS3000軟件,生成ALR121卡件,開始→YOKOGAWA CENTUM→System View。在控制站(FCS010x)節點(NODEx)下點擊右鍵→Create New→IOM,彈出Create New IOM窗口,在Category 中選擇Serial Communication,在Type中選擇ALR121(RS-422/RS-485 SerialCommunication Interface)→在Slot中設置卡件位置“x”。
點擊“Card Common”標簽,選擇卡件常規項,連接設備選擇“Modbus”。
點擊Port1標簽,設置Modbus通信端口屬性(圖2)。主、從站的波特率、數據位、結束位、奇偶校驗規則和接線方式都是雙方約定好的,必須保持一致。

圖2 Modbus通信端口屬性
通信I/O組態。雙擊ALR121卡件,彈出“Communication I/O Builder”窗口,開始通信I/O組態。通信I/O組態說明各項定義如圖3所示,Buffer area針對本塊ALR121所存儲的總數據大小;Program Name為Modbus通信模塊的安裝位置,格式為“K1-節點號-插槽號Modbus”;Size為所選數據類型的數據長度,以“Words(2Byte)”為單位進行分配,范圍1~126;Port為端口號,Modbus有兩個端口,在此設置1或2;IP Address為IP地址(對Modbus組態不起作用,適用于Ethernet,如填寫也不會報錯);Station為從站設備的地址,范圍0~32的數字(對從站設備進行識別);Device & Address為從站設備數據保存的內存地址,如S7-300默認從站地址為222;Data Type為數據類型,必須與從站數據類型一致;Reverse為是否將控制站(FCS)和子系統中的數據位“bit”取反,有“NO”和“YES”可選;Scan為設置通信掃描方式,有“NORMAL”和“FAST”可選。

圖3 I/O組態各項定義
在“Communication I/O Builder”中組態模擬量點,如圖4所示。

圖4 組態模擬量點
在“WBTagDef”中組態數字量點:在Element中填寫通信的數字工位,如%WB001102;在Tag Name中填寫工位名稱,如XI-P102A;在Tag Comment中填寫相對應的工位注釋。具體如圖5所示。

圖5 組態數字量點
下裝,完成通信I/O組態。
在Drawing圖中組態,如圖6所示。

圖6 Drawing中的組態
對于模擬量輸入的PVI,選中PI-101,右鍵單擊“Edit details”進入詳細編輯,將“輸入信號處理”與“輸出信號處理”方式選擇為子系統通信,并設置一定的增益和偏差(圖7)。

圖7 增益和偏差的設置界面
數字量點可以使用“開關儀表”進行接收,也可以直接調用“%WB000102”或設置的工位直接進行調用。下裝后,系統組態完成。
調試步驟:
a. 在“FCS010x Station Status Display”中觀察卡件狀態,在硬件ALR121卡件上觀察接收、發送燈是否正常。
b. 調出Process Report,看是否有“1”,如果有“1”表示有數據發送過來;如果沒有,則表示沒有數據發送過來。如圖8所示。
c. 調出工位,核對和子系統的數據差別。調試結束。

圖8 數據發送判斷界面
DCS的功能不能局限于完成自身系統的控制和操作,還要整合其他各輔助系統的運行信息和生產數據,并將這些數據提供給操作人員和管理者。筆者采用Modbus通信協議和硬件設備的互連,實現了第三方系統間的通信和數據交換,極大地方便了操作人員的監護和控制,人力成本降低,生產自動化水平提高。