您的位置:首頁 > 熱點(diǎn) >

Modbus與第三方系統(tǒng)通訊

背景:

本文引用地址:http://www.eepw.com.cn/article/201609/303889.htm

我們現(xiàn)在做鍋爐節(jié)能控制,都是在原有的控制系統(tǒng)上加上西門子的控制器,把我們的算法寫在西門子控制器中,通過通訊的方式讀取第三方系統(tǒng)的數(shù)據(jù)運(yùn)算后把控制指令再發(fā)回去。因?yàn)?em>第三方系統(tǒng)使用的系統(tǒng)不同,目前比較多的如ABB,施耐德,GE,上海新華,和利時(shí),浙大中控等,為了實(shí)現(xiàn)和這些系統(tǒng)做的控制系統(tǒng),就要有一個(gè)比較合理的通訊方式,目前采用的是opc方式通訊。

目前采用的通訊方式:

目前采用opc方式,鍋爐也是采用母管制的,所以要同時(shí)把整個(gè)母管中鏈接的鍋爐的數(shù)據(jù)都采集過來才好,這樣數(shù)據(jù)兩比較大,在大量數(shù)據(jù)交換的情況下,速度比較好。我們現(xiàn)在在向大型鍋爐控制上轉(zhuǎn)型,大型鍋爐都是一爐一機(jī)的,針對(duì)我們的現(xiàn)在的要求不太合適,我們的特點(diǎn)是需要交換的數(shù)據(jù)量小最多兩三百點(diǎn),但是要求速度快。我們目前的通訊方式是用pc和第三方系統(tǒng)通訊然后pc和PLC通訊,pc中用wincc把讀取到的數(shù)據(jù)轉(zhuǎn)寫到plc的變量中,wincc中如果腳本執(zhí)行的速度過快,則影響到wincc的其他的功能,所以目前最快也就是1s的周期。

目前的技術(shù)需求:

而針對(duì)一爐一機(jī)這種數(shù)據(jù)量小,要求速度快的通訊特點(diǎn),modbus通訊方式更合適,modbus是比較早的通訊協(xié)議,大多數(shù)的智能儀表都支持,控制系統(tǒng)也都支持,所以不存在無法通訊的難點(diǎn)。為了實(shí)現(xiàn)這個(gè)通訊,我于2014年的年底在江蘇阜寧澳洋熱電廠做了測試。

項(xiàng)目硬件需求:

江蘇阜寧澳洋熱電廠采用的是和利時(shí)的DCS控制系統(tǒng),因?yàn)槲覀兊目刂扑悸肥窃谠锌刂葡到y(tǒng)基礎(chǔ)上做的程序,所以硬件中不包含io模塊采用西門子ps407,400控制器以及cp441通訊模塊。網(wǎng)上采購232通訊接頭,自制232通訊線。

硬件組態(tài):

硬件組態(tài)很簡單,只要按照說明資料一步步操作就可以了,這里沒有什么好說的。

遇到的問題:

1、接線。網(wǎng)上搜索到的232接線圖:

按照這個(gè)接線圖連接后無法通訊,后來我考慮到modbus的通訊需要告訴對(duì)方是否準(zhǔn)備還收發(fā)數(shù)據(jù)以及是否收發(fā)結(jié)束,所以應(yīng)該狀態(tài)也發(fā)給對(duì)方才行,所以把上面的接線圖改成:

實(shí)現(xiàn)了硬件連接,可以通訊了。

2、通訊格式設(shè)置:

大家都知道西門子的數(shù)據(jù)存儲(chǔ)格式和其他的公司有點(diǎn)不一樣,西門子是低字高位,其他公司大多數(shù)都是采用的高字高位,如果只是傳輸字節(jié)的話,兩者是沒有區(qū)別的,如果用modbus傳輸32位的數(shù)據(jù)就需要注意這個(gè)問題了,因?yàn)閙odbus只是原封不動(dòng)的把藥傳輸?shù)?2位地址的數(shù)據(jù)傳過去,具體這些位中式什么它不管的,所以如果沒有注意到這個(gè)高低位的問題,很有可能你都不知道傳過去的是什么。對(duì)方能夠?qū)崿F(xiàn)換位功能,則只要采用4321的數(shù)據(jù)格式就行了,否則就要我們手動(dòng)把需要傳輸?shù)臄?shù)據(jù)在傳輸前或者接收后進(jìn)行換位操作。第一次使用沒有注意這個(gè)問題,通訊后的數(shù)據(jù)全變了,后來換位后正常了。

3、處理:

在實(shí)際測試使用過程中處理了前面說的問題后,又遇到了新的問題。實(shí)數(shù),整數(shù)都能正確通訊,只有bool量無法通訊,只要增加bool量,則第三方系統(tǒng)報(bào)錯(cuò),通訊中斷,咨詢技術(shù)服務(wù)人員也沒有解決問題,后來我想既然整數(shù)能夠正確處理,那么我就把bool量打包成字節(jié)按整數(shù)傳輸,這樣還省了需要傳輸?shù)淖兞繑?shù),只是雙方都需要編程,發(fā)送bool量方打包數(shù)據(jù)把8個(gè)bool量轉(zhuǎn)換成一個(gè)字節(jié)的整數(shù),接收方再把這個(gè)整數(shù)分解成8個(gè)bool量。

通過以上的處理,終于實(shí)現(xiàn)的西門子400控制器通過modbus與和利時(shí)dcs系統(tǒng)的通訊。

標(biāo)簽: Modbus 第三方 系統(tǒng)通訊

相關(guān)閱讀