硬件:cpu 1214C
目的:通過Modbus RTU協(xié)議,實(shí)現(xiàn)對(duì)溫控儀表參數(shù)的讀寫
軟件:Portal V14SP1
根據(jù)以下地址,我們來編寫一個(gè)程序,通過Modbus功能對(duì)實(shí)際測量溫度進(jìn)行讀取操作,對(duì)AL-1參數(shù)進(jìn)行讀取和寫入操作。
實(shí)際測量溫度的地址1001H為16進(jìn)制,轉(zhuǎn)換成十進(jìn)制后為4097
AL-1的地址0001H為16進(jìn)制,轉(zhuǎn)換成十進(jìn)制后為1
1.插入cpu 1214C,添加CM1241 RS422/RS485模塊,并更改組態(tài)參數(shù)
1.PLC_1作為Modbus主站,在OB1中插入Modbus_Comm_Load 指令和Modbus_Master 指令
調(diào)用指令后系統(tǒng)會(huì)自動(dòng)生成背景數(shù)據(jù)塊Modbus_Comm_Load_DB與Modbus_Master_DB
Modbus_Comm_Load指令參數(shù):
PORT:填入之前我們記錄的PLC_1的通信模塊硬件標(biāo)識(shí)符
BAUD:波特率,組態(tài)的時(shí)候已經(jīng)將其設(shè)置為9600,需要把溫控儀表中的波特率也調(diào)整為9600
MB_DB:連接到Modbus_Master_DB的MB_DB
Modbus_Master指令參數(shù)
MB_ADDR:填入從站的地址,溫控儀表中設(shè)置的地址為1
DATA_PTR:數(shù)據(jù)讀取或者數(shù)據(jù)寫入的地址
*MODE與DATA_ADDR參數(shù)的組合可以用來選擇各種Modbus功能代碼,具體組合查詢手冊可得
2.將Modbus_Comm_Load指令的背景數(shù)據(jù)塊Modbus_Comm_Load_DB中的靜態(tài)變量“MODE”修改為4
該變量MODE默認(rèn)值為0,需要根據(jù)實(shí)際組態(tài)情況修改成相應(yīng)的數(shù)值
0 = 全雙工 (RS232)
1 = 全雙工 (RS422) 四線制模式(點(diǎn)對(duì)點(diǎn))
2 = 全全雙工 (RS 422) 四線制模式(多點(diǎn)主站,CM PtP (ET 200SP))
3 = 全全雙工 (RS 422) 四線制模式(多點(diǎn)從站,CM PtP (ET 200SP))
4 = 半雙工 (RS485) 二線制模式
3.因?yàn)镽S485屬于半雙工通信,如果我們需要對(duì)Modbus從站進(jìn)行多個(gè)讀或?qū)懖僮?,那我們需要采用輪詢的方式來?shí)現(xiàn)這個(gè)功能,程序如下
1.進(jìn)入監(jiān)控界面,調(diào)用一遍Modbus_Comm_Load指令,然后開始輪詢
2.監(jiān)控DB3.DBW0,DB3.DBW4,DB3.DBW20這三個(gè)變量值
DB3.DBW4可以實(shí)時(shí)顯示溫控儀表的當(dāng)前溫度值
DB3.DBW0可以實(shí)時(shí)顯示溫控儀表AL-1的設(shè)定值
修改DB3.DBW20的數(shù)值后,溫控儀表AL-1參數(shù)也發(fā)生相應(yīng)的變化
聯(lián)系客服