S7-300與Carrier冷凍機的Modbus串行通訊
按照以上校驗步驟,編寫crc校驗功能子程序fc6(見表3)。
在ob1中調(diào)用子程序fc6,計算出db10中的crc校驗值。
call fc 6
db_no :=db10 //發(fā)送數(shù)據(jù)塊
start_byte :=0 //起始字節(jié)
length :=6 //字節(jié)個數(shù)
crc_msb :=db10.dbb6 //crc高8位
crc_lsb :=db10.dbb7 //crc低8位
然后在ob1中調(diào)用串口數(shù)據(jù)接收功能塊fb2:
all fb 2,db21
en-r :=m0.0
r :=
laddr :=256
db-n0 :=11
dbb-no :=0
ndr :=
error :=
len :=
status :=
引腳說明:
en_r:接收使能
laddr:cp340的邏輯地址
db_no:指定接收db
dbb_no:指定接收db中的起始字節(jié)。
ndr:接收新數(shù)據(jù)輸出一個脈沖
error:接收失敗輸出1
len:輸出接收字節(jié)的長度
status:狀態(tài)字
此程序的含義為,在m0.1為1的時候從cp340接收數(shù)據(jù),并把數(shù)據(jù)存在數(shù)據(jù)塊db11中。
之后再提取db11中的數(shù)據(jù),得到以下冷凍機的實際運行參數(shù)值(見表4)。
7 結(jié)束語
本文詳細闡述了如何采用modbus協(xié)議實現(xiàn)s7-300與冷凍機之間的數(shù)據(jù)通信。實現(xiàn)了異種設備之間的連接,為實現(xiàn)公司的集中監(jiān)控目標鋪平了道路。
評論