在這里介紹一種采用GPRS透明數據終端和PLC的MODBUS無線組態通信的實現方法。本方案可以作為西門子PLC與組態王遠程無線通信的實例。
在工業現場可能會遇到這樣的情況,分布在不同地方(車間、控制室場所等)的PLC需要與總控中心的組態王軟件進行遠程通信,通常情況是采用有線RS485總線敷設電纜,通過MODBUS協議完成此功能。如果現場距離總控中心距離非常遠,布線不可能話,就可以采用GPRS方式進行無線通信。本方案中采用了專門用于無線遠程GPRS通信的智能數據終端DTP_S09F。
l 有線MODBUS網絡:
l 遠程無線MODBUS網絡:
在實際系統中,人機界面與PLC不在一個地區,中心計算機一般放置在辦公室,而PLC安裝在現場車間,二者之間距離可能往往從幾十米到幾千米甚至幾千公里。如果在廠區幾公里范圍內的話可以采用無線電方案,要是距離再遠的話就可以采用移動GPRS網絡,這樣的話就沒有距離限制了,這種情況下比較適合遠程無線通信。
一、PLC與組態王的Modbus通信
1. 下載S7_200程序
需要向 PLC中下載對應的初始化程序(KVmoddbus.mwp),由亞控公司提供。此程序默認的PLC通訊端口為 port0,地址為 2,波特率 9600,無校驗(地址和波特率可由程SBR0 中的 VB8,SMB30 進行修改);
2.設備選擇
選擇以下兩個設備都可以。
3.修改虛擬設備
必須注意配置DTU設備標識信息與圖中一致,端口號根據用戶的設定。
4. 演示程序界面
打開組態王演示工程文件
二、滿足西門子PLC的MODBUS通信協議的專用GPRS數據終端
為了滿足西門子PLC和組態王的MODBUS通信協議,對GPRS數據終端具有以下要求:
◆ 適合于RS232/RS485串口連接,可以直接代替有線的RS485網;
◆ 無需修改用戶軟件,無需二次開發;
◆ 全透明傳輸,永遠在線,自動重連;
◆ 支持域名和IP兩種連接方式;
◆ 雙看門狗,永不死機;
◆ 工作溫度:-35~ +75℃;
◆ 工業標準設計,能工作于各種惡劣環境;
◆ 提供力控、杰控及組態王等組態例程。
三、試驗設備及其接線
l 組態軟件:組態王6.53
l S7-200型號:CPU224XP CN,1臺
l GPRS數據終端:DTP_S09F
S7-200與無線數據終端DTP_S09F連接
RS-485連線 | S7-200 Port0 | DTP_S09F |
RS485+ A | DB9-Pin3 B | DB9_5 A |
RS485- B | DB9-Pin8 A | DB9_3 B |
四、實物圖片
五、方案附件
l 組態王測試程序
l S7-200測試程序
l 組態軟件MODBUS與西門子PLC的無線遠程GPRS通信方案.pdf
六、西門子提供的Modbus設備地址
1.Modbus主設備尋址
Modbus地址通常寫作包含數據類型和偏移量的5個字符的數值。第一個字符決定數據類型,最后四個字符在數據類型中選擇適當的數值。然后,Modbus主設備指令將地址映射至正確的功能,以便發送到從站。Modbus主設備指令支持下列Modbus地址:
00001至09999是離散輸出(線圈)
10001至19999是離散輸入(觸點)
30001至39999是輸入寄存器(通常是模擬量輸入)
40001至49999是保持寄存器
所有Modbus地址均以1為基位,表示第一個數據值從地址1開始。有效地址范圍將取決于從站。不同的從站將支持不同的數據類型和地址范圍。
2.Modbus從站尋址
Modbus地址通常被寫為包含數據類型和偏移量的5個字符的數值。第一個字符決定數據類型,最后四個字符在數據類型中選擇適當的數值。然后,Modbus主設備將地址映射至正確的功能。Modbus從站指令支持下列地址:
00001至00128是映射至Q0.0 - Q15.7的離散輸出
10001至10128是映射至I0.0 - I15.7的離散輸入
30001至30032是映射至AIW0至AIW62的模擬輸入寄存器
40001至4xxxx是映射至V存儲器的保持寄存器。
所有Modbus地址均以1為基位。下表顯示映射至S7-200地址的Modbus地址。
3.Modbus地址S7-200
00001Q0.0
00002Q0.1
00003Q0.2
......
00127Q15.6
00128Q15.7
10001I0.0
10002I0.1
10003I0.2
......
10127I15.6
10128I15.7
30001AIW0
30002AIW2
30003AIW4
......
30032AIW62
40001Hold Start
40002HoldStart+2
40003HoldStart+4
......
4xxxxHoldStart+2 x (xxxx-1)
Modbus從站協議允許您限制Modbus主設備可存取的輸入、輸出、模擬輸入和保持寄存器(V存儲器)數量。
MBUS_INIT指令的MaxIQ參數指定Modbus主設備允許存取的離散輸入或輸出(I或Q)的最大數目。
MBUS_INIT指令的MaxAI參數指定Modbus主設備允許存取的輸入寄存器(AIW)的最大數目。
MBUS_INIT指令的MaxHold參數指定Modbus主設備允許存取的保持寄存器(V存儲器字)的最大數目。
請參閱MBUS_INIT指令說明,了解有關為Modbus從站設定存儲器限制的進一步詳情。