時(shí)間:2012年6月17日 來源:網(wǎng)絡(luò) 關(guān)鍵詞:S7-300 Modbus 串行通訊

  1 引言  近年來,隨著自動(dòng)化水平的提高,公司正在逐步建立以西門子s7-300plc為基礎(chǔ)的工業(yè)集中監(jiān)控網(wǎng)絡(luò)。由于目前公司有幾臺(tái)carrier冷凍機(jī),其采用的是專用的通訊協(xié)議,與s7-300不兼容,plc無法采集到冷凍機(jī)的數(shù)據(jù),導(dǎo)致實(shí)現(xiàn)集中監(jiān)控系統(tǒng)遇到了瓶頸。  經(jīng)咨詢了解到carrier公司有自己的modbus網(wǎng)關(guān),可以把其冷凍機(jī)專用協(xié)議轉(zhuǎn)化為通用的modbustru串口協(xié)議,而s7-300有自己的串口通信模塊cp340。所以可以采用modbus通信的方法實(shí)現(xiàn)s7-300對(duì)冷凍機(jī)的數(shù)據(jù)采集?! ? modbus協(xié)議簡(jiǎn)介  modbus協(xié)議由modicon公司開發(fā),目前已經(jīng)是工業(yè)領(lǐng)域全球最流行的協(xié)議之一。此協(xié)議支持傳統(tǒng)的rs-232、rs-422、rs-485和以太網(wǎng)設(shè)備。許多工業(yè)設(shè)備,包括plc、dcs、智能儀表等都在使用modbus協(xié)議作為他們之間的通訊標(biāo)準(zhǔn)。  當(dāng)在網(wǎng)絡(luò)上通信時(shí),modbus協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),控制器將生成應(yīng)答并使用modbus協(xié)議發(fā)送給詢問方?! odbus協(xié)議包括ascii、rtu、tcp等,并沒有規(guī)定物理層。此協(xié)議定義了控制器能夠認(rèn)識(shí)和使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。modbus的ascii、rtu協(xié)議規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和就答的方式,數(shù)據(jù)通訊采用maser/slave方式,master端發(fā)出數(shù)據(jù)請(qǐng)求消息,slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到master端以響應(yīng)請(qǐng)求。  modbus協(xié)議需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),rtu模式采用16位crc校驗(yàn),另外,modbus采用主從方式定時(shí)收發(fā)數(shù)據(jù),在實(shí)際使用中如果某slave站點(diǎn)斷開后(如故障或關(guān)機(jī)),master端可以診斷出來,而當(dāng)故障修復(fù)后,網(wǎng)絡(luò)又可自動(dòng)接通。因此,modbus協(xié)議的可靠性較好?! ?

  3 carrier modbus rtu網(wǎng)關(guān)  3.1網(wǎng)關(guān)簡(jiǎn)介  carrier modbus網(wǎng)關(guān)是一種智能型基于微處理器的數(shù)據(jù)控制器,它可以作為modbus  slave站點(diǎn),能將carrier冷凍機(jī)組轉(zhuǎn)換成符合modbus  rtu協(xié)議提供給控制系統(tǒng)。它可以使carrier冷凍機(jī)組的內(nèi)部運(yùn)行狀態(tài)參數(shù)全面被控制系統(tǒng)采集?! ?.2網(wǎng)關(guān)設(shè)置  首先對(duì)網(wǎng)關(guān)的通信參數(shù)進(jìn)行設(shè)置:波特率為9600bit/s,無校驗(yàn)位,1位停止位,站地址為16#b。  然后對(duì)需要采集的冷凍機(jī)變量及其在網(wǎng)關(guān)中的地址進(jìn)行組態(tài)設(shè)置,其對(duì)應(yīng)關(guān)系如表1所示?! ?

  4 cp340簡(jiǎn)介  西門子s7-300系列有支持modbus協(xié)議的通信處理器cp341,但是cp341加載modbusrtu格式通信協(xié)議必須購買軟件,而且該軟件價(jià)格比較高。所以我采用了普通的串口通信模塊cp340,通過編寫modbus主機(jī)請(qǐng)求報(bào)文程序,通過串口數(shù)據(jù)發(fā)送功能塊把報(bào)文發(fā)送給carriermodbus網(wǎng)關(guān)。再通過接收數(shù)據(jù)功能塊接收響應(yīng)的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)采集的功能?! p340有三種接口方式,包括rs232c,rs422/rs485和20ma tty接口。本例中按carriermodbus網(wǎng)關(guān)的要求選擇了rs422/rs485接口形式?! ? cp340硬件組態(tài)  (1)安裝驅(qū)動(dòng):安裝cp340的驅(qū)動(dòng)光盤,安裝后可以對(duì)cp340進(jìn)行硬件配置,可以調(diào)用cp340的發(fā)送、接收功能塊fb3、fb2。  (2)新建項(xiàng)目:打開西門子編程軟件step7,選擇菜單“file”→“new”新建一個(gè)項(xiàng)目,在“name”中輸入項(xiàng)目名稱?! ?3)組態(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ù)化界面(見圖1),在endid of receive message frame 欄中,選擇用兩個(gè)字符的間隔時(shí)間來判斷報(bào)文是否結(jié)束(on expiry ofdelay time),字符延長(zhǎng)時(shí)間為20ms。在speed格中傳輸速率選擇9600bit/s。在“characerframe‘欄中選擇數(shù)據(jù)位8位,停止位1位、無校驗(yàn),與冷凍機(jī)的modbus網(wǎng)關(guān)設(shè)置相同。
共兩頁 第1頁   第2頁