<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          S7-300與Carrier冷凍機(jī)的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)

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

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

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

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

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

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

          6 軟件編程

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

            call fb 3,db22

            req :=m0.0

            r :=

            laddr :=256

            db-n0 :=10

            len :=8

            done :=

            error :=

            status :=

            引腳說(shuō)明:

            req:發(fā)送請(qǐng)求,每個(gè)上升沿發(fā)送一幀數(shù)據(jù)

            r:復(fù)位請(qǐng)求

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

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

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

            len:發(fā)送字節(jié)的長(zhǎng)度

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

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

            status:狀態(tài)字

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

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

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

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

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

            (3)將crc寄存器數(shù)據(jù)向右移動(dòng)一位;

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

            (5)如果溢出的位等于0,則重復(fù)第3步;

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

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

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

           ?。?)最后的crc寄存器中的結(jié)果即為crc校驗(yàn)碼,最后被添加到信息(數(shù)據(jù))的末尾(交換!低8位在前,高8位在后?。?P>



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();