一、需求描述
1、設(shè)備作為ModBusRTU服務(wù)端時(shí),需要給出對(duì)應(yīng)的測(cè)試方法,即 PLC 作為主站,設(shè)備作為從站使用(本文編寫(xiě)的是PLC主站程序)
2、業(yè)務(wù)與上一篇文章ModBusTCP網(wǎng)絡(luò)觸發(fā)業(yè)務(wù)邏輯一致,描述如下:
(1)設(shè)備需要設(shè)置串口觸發(fā),并設(shè)置觸發(fā)指令(假如為T(mén)R),以及ModBusRTU服務(wù)端設(shè)置如圖
(2)PLC通過(guò)如圖信息連接設(shè)備
(3)PLC發(fā)送指令 TR 到設(shè)備
(4)設(shè)備收到 TR 指令,與網(wǎng)絡(luò)觸發(fā)設(shè)置的TR指令比對(duì)
(5)指令一致則進(jìn)行觸發(fā)
(6)觸發(fā)的結(jié)果寫(xiě)到設(shè)備端的傳輸?shù)刂飞?,需要PLC主動(dòng)去訪問(wèn)和獲取
二、環(huán)境搭建
虛擬串口驅(qū)動(dòng)下載-虛擬串口驅(qū)動(dòng)最新版下載[虛擬串口軟件]-PC下載網(wǎng)
2、模擬軟件下載地址
Modbus測(cè)試工具M(jìn)odbusPoll與Modbus Slave使用方法_byxdaz的博客-CSDN博客_modbus slave
?三、程序編寫(xiě)
1、上述程序讀數(shù)據(jù)的解釋
使用ADPRW模塊,去連接站號(hào)2設(shè)備(H2 ),采用讀取的方式(H3),從設(shè)備的D10地址讀?。↘10),讀10個(gè)寄存器(K10),放到PLC的D1111上。
2、上述程序?qū)憯?shù)據(jù)的解釋
使用ADPRW模塊,去連接站號(hào)2設(shè)備(H2 ),采用寫(xiě)的方式(H10),從PLC的D1211上,讀PLC的10個(gè)寄存器(K10),放到設(shè)備的D0地址上(H0)。
寫(xiě)之前先對(duì)D1211及其后續(xù)10個(gè)寄存器輸入值,寫(xiě)的時(shí)候就會(huì)把這些值寫(xiě)道設(shè)備上,其中K29811表示st,K29281表示ar,K116表示t,即觸發(fā)指令start。
四、調(diào)試
1、PLC與模擬軟件的調(diào)試
設(shè)置好后,可使用PLC對(duì)其寫(xiě)入數(shù)據(jù)
使用PLC讀數(shù)據(jù)