S7-300與Carrier冷凍機的Modbus串行通訊
按照以上校驗步驟,編寫crc校驗功能子程序fc6(見表3)。
在ob1中調用子程序fc6,計算出db10中的crc校驗值。
call fc 6
db_no :=db10 //發送數據塊
start_byte :=0 //起始字節
length :=6 //字節個數
crc_msb :=db10.dbb6 //crc高8位
crc_lsb :=db10.dbb7 //crc低8位
然后在ob1中調用串口數據接收功能塊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中的起始字節。
ndr:接收新數據輸出一個脈沖
error:接收失敗輸出1
len:輸出接收字節的長度
status:狀態字
此程序的含義為,在m0.1為1的時候從cp340接收數據,并把數據存在數據塊db11中。
之后再提取db11中的數據,得到以下冷凍機的實際運行參數值(見表4)。
7 結束語
本文詳細闡述了如何采用modbus協議實現s7-300與冷凍機之間的數據通信。實現了異種設備之間的連接,為實現公司的集中監控目標鋪平了道路。
評論