軟件配置:ModScan測(cè)試軟件、Step7-MicroWin V4.0.6.35編程軟件
硬件配置:電腦、西門子200PLC(CPU 224XP CN REL 02.01)、PPI編程電纜、USB-TO-Serial電纜、研華ADAM4520 RS232/RS422/RS485模塊
準(zhǔn)備:焊接RS485通訊電纜一根(Date+→DB9 3引腳、Date-→DB9 8引腳)、RS485通訊電纜連接200PLC的Port0端口、安裝modbus庫文件
1.打開Step7-MicroWin V4.0.6.35編程軟件,設(shè)置庫存儲(chǔ)區(qū);(注意:在“庫存儲(chǔ)區(qū)分配”對(duì)話框中輸入庫存儲(chǔ)區(qū)的起始地址,注意避免該地址和程序中已經(jīng)采用或準(zhǔn)備采用的其它地址重合。規(guī)定 Modbus 保持寄存器區(qū)從 VB0 開始(HoldStart = VB0),并且保持寄存器為1000個(gè)字(MaxHold=1000),因保持寄存器以字(兩個(gè)字節(jié))為單位,實(shí)際上這個(gè)通信緩沖區(qū)占用了VB0~VB1999共2000個(gè)字節(jié)。因此分配庫指令保留數(shù)據(jù)區(qū)時(shí)至少要從VB2000開始。當(dāng)然保持區(qū)不一定要從VB0開始。)
2.在主程序中添加Modbus Slave Port0從站塊(MBUS_INIT,MBUS_SLAVE)
庫文件
•西門子Modbus從站協(xié)議庫包括兩條指令:MBUS_INIT 指令和MBUS_SLAVE 指令。•MBUS_INIT 指令用于啟用和初始化或禁止Modbus通訊。
•MBUS_SLAVE 指令用于為Modbus主設(shè)備發(fā)出的請(qǐng)求服務(wù)。
•MBUS_INIT 指令用于啟用和初始化或禁止Modbus從站通訊。在使用MBUS_SLAVE 指令之前,必須正確執(zhí)行MBUS_INIT 指令。指令完成后立即設(shè)定“完成”位,才能繼續(xù)執(zhí)行下一條指令。
主從站指令用法例子: www.simpaso.com/Article/tixingtu/10184.html
MBUS_INIT 指令說明:
•EN:指令使能位。•Mode:模式選擇,啟動(dòng)/停止Modbus從站通信。Mode 參數(shù)允許使用以下兩個(gè)數(shù)值:1——啟動(dòng),0——停止。
•Address:從站地址,MODBUS從站地址,取值1~247。
•Baud:波特率,可選1200,2400,4800,9600,19200,38400,57600,115200。•Parity:奇偶校驗(yàn),0=無校驗(yàn);1=奇校驗(yàn);2=偶校驗(yàn)。
•Delay:延時(shí),附加字符間延時(shí),缺省值為0。
•MaxIQ:最大I/Q位,參與通信的最大I/O點(diǎn)數(shù),S7-200的I/O映像區(qū)為128/128,缺省值為128。
•MaxAI:最大AI字?jǐn)?shù),參與通信的最大AI通道數(shù),可為16或32。
•MaxHold:設(shè)定供Modbus地址4xxxx使用的V存儲(chǔ)器中的字保持寄存器數(shù)目。
•HoldStart:保持寄存器區(qū)起始地址,以&VBx指定(間接尋址方式)。
•Done:初始化完成標(biāo)志,成功初始化后置1。
•Error:初始化錯(cuò)誤代碼。
MBUS_SLAVE 指令說明:
MBUS_SLAVE 指令被用于為Modbus主設(shè)備發(fā)出的請(qǐng)求服務(wù),并且必須在每次掃描時(shí)執(zhí)行,以便允許該指令檢查和回答Modbus請(qǐng)求。MBUS_SLAVE 指令無輸入?yún)?shù),在每次掃描且EN 輸入開啟時(shí)執(zhí)行。
•EN:指令使能位。
•Done:Modbus執(zhí)行通信中時(shí)置1,無MODBUS 通信活動(dòng)時(shí)為0。
•Error:錯(cuò)誤代碼。
3.編譯完成,通過PPI電纜下載程序,下載完成后斷開PPI電纜,連接485電纜,并打開ModScan測(cè)試軟件,設(shè)置參數(shù)與定義的Modbus參數(shù)相同。
設(shè)置如下圖的參數(shù):
Device id 為3(該地址為MBUS_INIT指令中的Address)
Address為0001
Length為100 寄存器選擇03:HOLDING REGISTER
打開connect窗口如下圖所示,并設(shè)置參數(shù);選項(xiàng)串口的通信端口,設(shè)置通信的波特率、校驗(yàn)位、停止位等參數(shù)。
單擊rotocol selection設(shè)置modbus報(bào)文傳輸?shù)姆绞綖闃?biāo)準(zhǔn)的RTU
單擊ok,設(shè)置modbus數(shù)據(jù)顯示的格式為swapped fp