西門子開放式IE通訊在水電站監控系統中的應用
3) 接收數據
由開始接收數據標志(FB64_EN_R=1)調用FB64開始接收數據。如果上位機系統中操作員工作站發送了數據,且被FB64被無錯誤接收后(FB64_BDR=1),則調用Modbus/TCP協議處理程序(FB74)對接收到的數據進行判斷和處理。如果上位機系統中操作員工作站沒有發送數據或發生了數據FB64執行后有錯誤發生,則程序不做任何處理,還是等待接收數據。
4) Modbus/TCP協議處理
首先判斷接收數據數量、寄存器地址和功能碼是否正確。如果正確,則進行讀/寫數據處理,并準備正確響應所需數據。如果錯誤,則設置非法數據地址或非法功能碼標志,并準備錯誤響應所需數據。程序執行完成后設置發送數據標志(FB63_REQ=1)和復位開始接收數據標志(FB64_EN_R=0)。
5) 發送數據
由開始發送數據標志(FB63_REQ=1)調用FB63開始發送數據。不管發送完成是否正確,只要發送數據完成了就設置開始接收數據標志(FB64_EN_R=1)和復位發送數據標志(FB63_REQ=0),然后開始等待接收數據。
4.3 程序塊
為了實現CPU315-2PN/DP與水電站上位機系統中操作員工作站的數據交換,PLC需要下表1所示程序塊:FB64
接收數據功能塊,由以太網通訊控制程序(FB73)調用。
FB65
建立連接功能塊,由以太網通訊控制程序(FB73)調用。
FB73
以太網通訊控制程序,用于實現以太網的通訊控制。
FB74
Modbus/TCP協議處理程序,實現對接收到的數據進行判斷、處理并準備上傳所需數據。
DB1
用于存放遠方遙控數據,從操作員工作站寫入的遙控數據保存在該DB中。
DB2
用于存放遠方遙調數據,從操作員工作站寫入的遙調數據保存在該DB中。
DB5
用于存放遙信數據,操作員工作站讀取的遙信數據保存在該DB中。
DB6
用于存放遙測數據,操作員工作站讀取的遙測數據保存在該DB中。
DB7
用于存放定值數據,操作員工作站讀取/寫入的定值數據保存在該DB中。
DB8
用于存放SOE數據,操作員工作站讀取的SOE數據保存在該DB中。
DB83
FB73與操作員工作站1通訊背景數據塊。
DB84
FB73與操作員工作站2通訊背景數據塊。
DB105
具有2個UDT65連接屬性的數據塊,該DB封裝了與操作員工作站1、2通訊的參數。
DB106
具有300個字節的字節數組的數據塊,用于存放與操作員工作站1通訊的臨時數據。
DB107
具有300個字節的字節數組的數據塊,用于存放與操作員工作站2通訊的臨時數據。
UDT65
以太網連接屬性的數據結構,包含了組態連接所必須的參數。
FB65
建立連接功能塊,由以太網通訊控制程序(FB73)調用。
FB73
以太網通訊控制程序,用于實現以太網的通訊控制。
FB74
Modbus/TCP協議處理程序,實現對接收到的數據進行判斷、處理并準備上傳所需數據。
DB1
用于存放遠方遙控數據,從操作員工作站寫入的遙控數據保存在該DB中。
DB2
用于存放遠方遙調數據,從操作員工作站寫入的遙調數據保存在該DB中。
DB5
用于存放遙信數據,操作員工作站讀取的遙信數據保存在該DB中。
DB6
用于存放遙測數據,操作員工作站讀取的遙測數據保存在該DB中。
DB7
用于存放定值數據,操作員工作站讀取/寫入的定值數據保存在該DB中。
DB8
用于存放SOE數據,操作員工作站讀取的SOE數據保存在該DB中。
DB83
FB73與操作員工作站1通訊背景數據塊。
DB84
FB73與操作員工作站2通訊背景數據塊。
DB105
具有2個UDT65連接屬性的數據塊,該DB封裝了與操作員工作站1、2通訊的參數。
DB106
具有300個字節的字節數組的數據塊,用于存放與操作員工作站1通訊的臨時數據。
DB107
具有300個字節的字節數組的數據塊,用于存放與操作員工作站2通訊的臨時數據。
UDT65
以太網連接屬性的數據結構,包含了組態連接所必須的參數。
關鍵詞:
西門子IE通訊水電站監控系
評論