本案例中西門子PLC和拓普瑞DTU通訊利用的是DTU的透傳模式,PLC和平臺之間利用的是MODBUS-RTU協(xié)議進(jìn)行通訊。S7-200通過以下兩種方式支持MODBUS-RTU通信協(xié)議:
(1):S7-200 CPU上的通信口0(port0)通過指令庫支持Modbus RTU從站模式。
(2):S7-200 CPU上的通信口0和1(port0和port1)通過指令庫支持Modbus RTU主站模式。(注:指令庫可在西門子提供的相關(guān)網(wǎng)站進(jìn)行下載)
本案例中用到的是第一種方式,S7-200用作從站和tlink物聯(lián)網(wǎng)平臺通信。
一、選擇產(chǎn)品
1.PLC:S7-200CN
2.DTU:GPRS DTU-02
二、設(shè)置PLC通訊信息
S7-200通訊的舉例程序如下圖所示:
圖中程序參數(shù)意義如下:
·Mode:啟動/停止Modbus,1=on;0=off
·Addr: 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: 延時,附加字符間延時,缺省值為0
·MaxIQ: 最大IO點(diǎn)數(shù),一般可設(shè)置為128.
·MaxAI: 最大AI通道數(shù),視PLC的具體情況而定,一般可設(shè)置為16或32.
·Maxhold: 最大保持寄存器區(qū).
·Holdstart: 保持寄存器起始區(qū),以&VBx指定.
·Done(網(wǎng)絡(luò)1中):初始化完成標(biāo)志,成功初始化后置1.
·Error(網(wǎng)絡(luò)1中):初始化錯誤代碼,0為無錯誤.
·Done(網(wǎng)絡(luò)2中):通信時置1,無Modbus通信時為0.
·Error(網(wǎng)絡(luò)2中):通信錯誤代碼,0為無錯誤.
Holdstart 和MaxHold規(guī)定的是保持寄存器的區(qū)域,保持寄存器區(qū)域的范圍一定不能和程序存儲區(qū)的范圍沖突,否則無法通信。上圖中指定的保持寄存器起始區(qū)的值為1000,也可以不指定1000.只要設(shè)置好程序存儲的區(qū)域就能成功通信,程序存儲區(qū)的設(shè)定如下圖所示:
在程序塊中,程序儲存區(qū)分配的為1050至1829.因?yàn)镠oldstart和Maxhold規(guī)定的區(qū)域是1000至1040(Maxhold規(guī)定的是VW的個數(shù),所以變成VB需要乘以2)所以程序儲存區(qū)分配為VB1050至VB1829.
三、編寫控制程序
寫好通信程序,分配好存儲區(qū)之后便可以作為從站和主站進(jìn)行通信了。為了更好的展示效果,這里編寫了一些額外的控制程序,控制程序如下圖所示:
四、配置DTU
DTU的配置主要由PLC的通訊信息和tlink平臺來決定:
五、配置tlink平臺讀寫命令
在tlink平臺點(diǎn)擊設(shè)備,在設(shè)備列表中選擇設(shè)置鏈接,在傳感器欄選擇批量設(shè)置即可出現(xiàn)如下界面:
PLC各個區(qū)域?qū)?yīng)的Modbus地址如下:
·00001-09999:數(shù)字量輸出(線圈,可讀可寫)
·10001-19999:數(shù)字量輸入(觸點(diǎn),只可讀)
·30001-39999:輸入數(shù)據(jù)寄存器(通常為模擬量輸入,只可讀)
·40001-49999:數(shù)據(jù)保持寄存器(可讀寫)
上述程序中寫入寄存器的值對應(yīng)的地址為40001和40002,對應(yīng)平臺中的03功能碼(可讀可寫)偏置為1和2數(shù)據(jù)格式依據(jù)實(shí)際情況可填寫為16位無符號或有符號數(shù)。采集周期可自行設(shè)定,建議設(shè)定為10.
六、運(yùn)行PLC和DTU
將PLC和DTU連接上之后即可使PLC與tlink平臺通訊成功,即可在tlink物聯(lián)網(wǎng)平臺上實(shí)現(xiàn)遠(yuǎn)距離監(jiān)控,tlink平臺的顯示界面如下圖所示:
PLC的狀態(tài)顯示如下圖所示:
相關(guān)產(chǎn)品
Copyright © 2005 - 2020 深圳市拓普瑞電子有限公司 粵ICP備17092331號 網(wǎng)站地圖 粵公網(wǎng)安備 44030602001413號