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