bkqwz
級(jí)別: 略有小成
|
我剛用S7-200不久,想學(xué)MODBUS RTU通訊,我想用實(shí)現(xiàn)兩個(gè)PLC之間的通信,用主站的輸入控制從站輸出,用從站的輸入控制主站的輸出,能實(shí)現(xiàn)嗎,該怎樣編程,謝謝! 問題補(bǔ)充:1比如主站指令的讀操作,可以把從站的輸入讀到主站的dataPtr指向的V存儲(chǔ)區(qū),然后用傳送指令把這個(gè)數(shù)據(jù)傳到QB0是否就能實(shí)現(xiàn)從站控制主站的輸出了?反之,我把主站的輸入傳送到V存儲(chǔ)區(qū)然后用主站的寫指令把數(shù)據(jù)寫進(jìn)從站的QB0,是否就實(shí)現(xiàn)了主站的輸入控制了從站的輸出了,我做了個(gè)實(shí)驗(yàn)咋不行啊,2兩個(gè)PLC用MODBUS通訊是不是主站用主站庫,從站用從站庫,要配對(duì)使用啊,3從站指令的HOIDSTART寄存器放的是啥數(shù)據(jù),有何作用?4主站尋址10001-19999是離散輸入,它對(duì)應(yīng)的不是主站側(cè)的輸入啊,而從站尋址010001-010128是實(shí)際輸入I0.0-I15.7它是從站的實(shí)際輸入嗎,那么主站尋址中10001對(duì)應(yīng)的不是主站側(cè)的實(shí)際輸入嗎? |
---|---|
|
小菜
級(jí)別: *
|
當(dāng)然要主站的用主站庫,從站的用從站庫。但我建議200PLC通信走網(wǎng)絡(luò)讀寫指令,就是走PPI,非常的方便。加入你非要走M(jìn)odbus通信,主站的你就一邊讀從站的數(shù)字量輸入,一邊用V來輸出給從站的V,然后從站就用v寫Q。主站也可以讀從站的V,這樣從站就能控制主站了 |
---|---|
|
小菜
級(jí)別: *
|
Modbus地址總是以00001、30004之類的形式出現(xiàn)。S7-200內(nèi)部的數(shù)據(jù)存儲(chǔ)區(qū)與Modbus的0、1、3、4共4類地址的對(duì)應(yīng)關(guān)系如下: 表1. Modbus地址對(duì)應(yīng)表 Modbus地址 S7-200數(shù)據(jù)區(qū) 00001 ~ 00128 Q0.0 ~ Q15.7 10001 ~ 10128 I0.0 ~ I15.7 30001 ~ 30032 AIW0 ~ AIW62 40001 ~ 4xxxx T ~ T + 2 * (xxxx -1) 其中T為S7-200中的緩沖區(qū)起始地址,即 HoldStart。 如果已知S7-200中的V存儲(chǔ)區(qū)地址,推算Modbus地址的公式如下: Modbus地址 = 40000 + (T/2+1) ; T為偶數(shù) |
---|---|
|