200怎樣經(jīng)過Modbus協(xié)議通訊?
這里主要介紹一下S7-1200作為主站和S7-200進(jìn)行通訊。
硬件:S7-1200,CM1241,CPU224XP
軟件:TIA V14,MicroWin
TIA V14中進(jìn)行硬件組態(tài),設(shè)置對(duì)應(yīng)的通訊參數(shù),如9600,8,N,1
進(jìn)行S7-1200編程:
TIA Portal中,"Instructions>Communication>Communication processor>MODBUS ( RTU )>= Version 3.0 "。
Modbus_Comm_Load用于設(shè)置通訊參數(shù)并用主站(或從站)的參數(shù)將連接參數(shù)化。
通訊參數(shù)BAUD (波特率)和PARITY (奇偶校驗(yàn)) 要與從站地址相匹配,此處為9600波特率,無(wú)校驗(yàn)。
在參數(shù)MB_DB傳輸Modbus_Master (or Modbus_Slave)背景數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)MB_DB,這樣就可以定義通訊模塊(通過PORT參數(shù)識(shí)別) 為MODBUS主站(或從站)。
除此之外,必須改變 Modbus_Comm_Load的實(shí)例數(shù)據(jù)中的靜態(tài)參數(shù)以便進(jìn)行雙工操作模式,通過初始值設(shè)定(0 = full duplex (RS232), 1 = full duplex (RS422)四線制模式,4 = half duplex (RS485) 兩線制模式)。 Modbus_Master功能塊來(lái)將Modbus_Comm_Load組態(tài)塊選擇為MODBUS主站。
MB_ADDR :MODBUS-RTU從站地址為2.
MODE:請(qǐng)求的類型: "0" = 讀 "1" = 寫,此處進(jìn)行讀操作。
DATA_ADDR:MODBUS起始地址( =偏移量 + 從站寄存器地址),讀取從站起始地址為:40001,長(zhǎng)度為DATA_LEN=5.
DATA_LEN:MODBUS數(shù)據(jù)長(zhǎng)度,這里為連續(xù)5個(gè)。
DATA_PTR:主站本地?cái)?shù)據(jù)接收區(qū)和發(fā)送區(qū)。DATA_PTR參數(shù)必須引用一個(gè)數(shù)據(jù)塊,這個(gè)數(shù)據(jù)塊的“Optimized block access”屬性必須已被禁用。
然后在S7-200軟件中進(jìn)行從站編程:
MODE:通訊模式選擇,1為MODBUS
Addr: 從站地址
Baud,Parity分別為波特率和奇偶校驗(yàn),主站設(shè)置必須與從站一致。
Delay:延遲時(shí)間
HoldStart:保持寄存器起始地址,40001對(duì)應(yīng)這里的指針&VB10