來(lái)源:跟我學(xué)PLC吧
一、 導(dǎo)讀
Modbus 通信是一種應(yīng)用廣泛的通信協(xié)議 ,在變頻器、智能儀表或是其他的一些智能設(shè)備上應(yīng)用的一種通用通信協(xié)議,本文以S7-1200系列PLC作為Modbus主站,以歐姆龍E5EZ的智能溫控儀表作為從站為例,使用SCL編程語(yǔ)言編寫(xiě)S7-1200實(shí)現(xiàn)對(duì)歐姆龍智能溫控儀表的當(dāng)前溫度值的讀取和修改設(shè)定溫度值。
二、硬件選擇與儀表通信參數(shù)設(shè)置
(1)硬件選配
在本案例中S7-1200PLC選擇CPU型號(hào)為 CPU1214C,RS485通信接口,選擇通信板CB1241 ,歐姆龍智能儀表為歐姆龍E5EZ型儀表。PLC通信信號(hào)板與歐姆龍智能儀表的接線(xiàn)如下圖所示:
(2)儀表通信參數(shù)設(shè)置 儀表通信參數(shù)主如下圖所示,主要包括通信協(xié)議選擇,站號(hào)設(shè)置,波特率,數(shù)據(jù)位,校驗(yàn)位等。
ü通信協(xié)議選擇Modbus通信協(xié)議,在儀表上選擇Mod。
ü通信單元號(hào)(站號(hào)),這里設(shè)置為01
ü通信波特率設(shè)置,這里設(shè)置9.6,表示9600bps
ü數(shù)據(jù)位,這里設(shè)置為8位數(shù)據(jù)位
ü停止位,這里設(shè)置為1個(gè)停止位
ü奇偶校驗(yàn),這里設(shè)為EVEN(偶校驗(yàn))
三、通信程序編寫(xiě)
(1)地址的計(jì)算
根據(jù)歐姆龍E5EZ儀表的通信說(shuō)明書(shū)中關(guān)于Modbus通信數(shù)據(jù)的查詢(xún)表,可查找到PV值的數(shù)據(jù)地址為0404H,大小為32位,設(shè)定溫度值的地址為0106H,大小同位32位地址,如下標(biāo)所示:
根據(jù)S7-1200Modbus通信指令上對(duì)地址的規(guī)定采用的是Modbus寄存器地址,所以經(jīng)過(guò)換算后地址PV值的地址Modbus寄存器地址為十進(jìn)制數(shù)的41029,設(shè)定溫度值的Modbus寄存器地址為十進(jìn)制數(shù)的40263。
注:Modbus寄存器地址主要有4種類(lèi)型,分別為0XXXX類(lèi)型,表示對(duì)線(xiàn)圈的讀寫(xiě),1XXXX類(lèi)型,表示對(duì)輸入離散量的讀取,3XXXX,表示對(duì)輸入寄存器讀取(對(duì)應(yīng)Modbus功能碼為04),4XXXX表示對(duì)保持性寄存器的讀寫(xiě)操作(對(duì)應(yīng)功能碼為06,03,16)。 計(jì)算方法,把對(duì)應(yīng)的十六進(jìn)制的數(shù)據(jù)地址換算為十進(jìn)制數(shù)后,再加上1,最后在等到的結(jié)果前面添加一個(gè)數(shù)字4,表示對(duì)應(yīng)類(lèi)型。
(2)新建通信數(shù)據(jù)塊DB1000
新建一個(gè)數(shù)據(jù)塊DB1000,在該數(shù)據(jù)塊中定義通信相關(guān)的變量,并給對(duì)應(yīng)的變量賦值通信相關(guān)的數(shù)值,如下圖所示:
其中,變量CommunicationData的定義結(jié)構(gòu)按通信指令“Modbus_Master”指令管腳進(jìn)行定義,可根據(jù)通信數(shù)據(jù)調(diào)試多少來(lái)修改定性的數(shù)組元素的數(shù)量。
(3)新建通信程序塊FB1000
新建一個(gè)FB塊并對(duì)該FB塊命名為”儀表通信程序”,該塊的編程語(yǔ)言選擇SCL編程語(yǔ)言,在該FB塊的接口區(qū)中建立如下圖所示的接口區(qū)變量。
啟用通信連接和調(diào)用通信端口初始化操作程序
調(diào)用Mast指令完成數(shù)據(jù)交換和改變需要發(fā)送數(shù)據(jù)的程序
在OB塊中調(diào)用該通信程序,并為該通信程序的接口分配對(duì)應(yīng)的實(shí)參。
四、結(jié)語(yǔ)
該案例中需要注意:
(1)修改修改初始指令中的模式,在首次掃描位接通時(shí),把4傳送給“Modbus_Comm_Load_DB.MODE”變量中。
(2)若CommunicationData變量數(shù)值的元素是從0開(kāi)始時(shí),那么在通信程序的FB塊的接口區(qū)中定義的常量StartValue的值應(yīng)設(shè)置為0。
(3)若通信的條數(shù)增加時(shí),可修改CommunicationData變量數(shù)值的元素的數(shù)量,并對(duì)元素中的變量定義相關(guān)的數(shù)據(jù),然后在DataCount中指定通信的數(shù)據(jù)條數(shù),無(wú)需對(duì)通信程序進(jìn)行調(diào)整。
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
1023瀏覽量
41066 -
MODBUS
+關(guān)注
關(guān)注
28文章
2081瀏覽量
79276 -
歐姆龍
+關(guān)注
關(guān)注
3文章
389瀏覽量
66199 -
S7-1200
+關(guān)注
關(guān)注
11文章
333瀏覽量
18540
原文標(biāo)題:
文章出處:【微信號(hào):gkongbbs,微信公眾號(hào):工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
S7-1200與S7-1200/S7-1500不同項(xiàng)目下UDP通信
基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

基于S7-1200的PLC的編程及擴(kuò)展
S7-1200與PROFINET的通信

S7-1200和S7-1200進(jìn)行S7通信的詳細(xì)資料說(shuō)明

關(guān)于S7-1200和S7-1200之間UDP的通信與仿真

S7-1200與CU240BE-2之間的Modbus-RTU通訊
西門(mén)子S7-1200的TCP通信配置過(guò)程及數(shù)據(jù)交換方式
S7-1200 Modbus RTU 從站通信組態(tài)及編程步驟
S7-1200和S7-300 CP342-5的DP口的主從通信
S7-1200 CPU與S7-200 SMART S7通信指南
S7-1200與S7-300的選型區(qū)別

一文解析S7-1200與S7-1500 S7通信

歐姆龍CP1L-EL轉(zhuǎn)Modbus協(xié)議歐姆龍PLC轉(zhuǎn)Modbus協(xié)議

評(píng)論