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