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