<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > S7-300與Carrier冷凍機的Modbus串行通訊

S7-300與Carrier冷凍機的Modbus串行通訊

作者: 時(shí)間:2016-12-20 來(lái)源:網(wǎng)絡(luò ) 收藏

  cp340有三種接口方式,包括rs232c,rs422/rs485和20ma tty接口。本例中按carriermodbus網(wǎng)關(guān)的要求選擇了rs422/rs485接口形式。

5 cp340硬件組態(tài)

 ?。?)安裝驅動(dòng):安裝cp340的驅動(dòng)光盤(pán),安裝后可以對cp340進(jìn)行硬件配置,可以調用cp340的發(fā)送、接收功能塊fb3、fb2。

 ?。?)新建項目:打開(kāi)西門(mén)子編程軟件step7,選擇菜單“file”→“new”新建一個(gè)項目,在“name”中輸入項目名稱(chēng)。

 ?。?)組態(tài)s7-300站:插入一個(gè)“simatic300

  station”,然后對硬件進(jìn)行組態(tài),按安裝次序依次插入機架、電源、cpu和cp340。

 ?。?)組態(tài)串行通信模塊參數:雙擊“cp340”欄,在彈出界面中點(diǎn)擊“parameter”按鈕,進(jìn)入參數化界面,選擇ascii驅動(dòng),雙擊“protocol”欄,進(jìn)入ascii參數化界面(見(jiàn)圖1),在endid of receive message frame 欄中,選擇用兩個(gè)字符的間隔時(shí)間來(lái)判斷報文是否結束(on expiry ofdelay time),字符延長(cháng)時(shí)間為20ms。在speed格中傳輸速率選擇9600bit/s。在“characerframe‘欄中選擇數據位8位,停止位1位、無(wú)校驗,與冷凍機的modbus網(wǎng)關(guān)設置相同。

 ?。?)模式選擇:進(jìn)入interface界面(見(jiàn)圖2),把操作模式選擇為half duplex(rs485) two-wiremode。表示此通信運行在rs485半雙工模式。

6 軟件編程

  硬件組態(tài)完成后,接下來(lái)就進(jìn)行軟件編程,在ob1中調用fb3發(fā)送程序塊。

  call fb 3,db22

  req :=m0.0

  r :=

  laddr :=256

  db-n0 :=10

  len :=8

  done :=

  error :=

  status :=

  引腳說(shuō)明:

  req:發(fā)送請求,每個(gè)上升沿發(fā)送一幀數據

  r:復位請求

  laddr:cp340的邏輯地址(硬件組態(tài)中的地址)

  db_no:指定發(fā)送區(db塊)

  dbb_no:指定發(fā)送區在db中的起始字節

  len:發(fā)送字節的長(cháng)度

  done:發(fā)送完成輸出一個(gè)脈沖

  error:發(fā)送失敗輸出1

  status:狀態(tài)字

  此程序的功能為,當m0.0每個(gè)上升沿的時(shí)候把數據塊db10中的前8個(gè)字節的數據從cp340的通信口發(fā)出,數據內如表2所示。

  該發(fā)送數據包內容可以解釋為,請求讀取站地址為16#b的通信處理器中從16#4100開(kāi)始的22個(gè)寄存器中的數據。即前面提到的網(wǎng)關(guān)變量表中的內容。

  圖中byte7(db10.dbb6),byte8(db10.dbb8)兩個(gè)字節是crc校驗字,crc校驗的步驟如下:

 ?。?)裝載16#ffff到一個(gè)16位crc寄存器;

 ?。?)將crc寄存器的高8位字節與信息中的第一個(gè)8位字節相異或,結果返回到crc寄存器中;

 ?。?)將crc寄存器數據向右移動(dòng)一位;

 ?。?)如果溢出的位等于1,則將crc寄存器與16#a001相異或,結果返回到crc寄存器中;

 ?。?)如果溢出的位等于0,則重復第3步;

 ?。?)重復第3、4步驟,直到已經(jīng)移位了8次;

 ?。?)將crc寄存器的高8位字節與信息中的下一個(gè)8位字節相異或,結果返回到crc寄存器中;

 ?。?)重復第3步到第6步,直到信息中所有字節都與crc寄存器相異或,并都移位了8次;

 ?。?)最后的crc寄存器中的結果即為crc校驗碼,最后被添加到信息(數據)的末尾(交換!低8位在前,高8位在后?。?。



關(guān)鍵詞: S7-300冷凍機Modbus串行通

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>