青島科技大學(xué) 趙 坤
ModBus通訊協(xié)議最初由Modicon公司開(kāi)發(fā)出來(lái),在1979年末該公司成為施耐德自動(dòng)化 (Schneider Automation)部門(mén)的一部分,現(xiàn)在ModBus已經(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)。
ModBus通訊協(xié)議主要包括ASCII、RTU兩種模式,每種模式都有自己特定的消息結(jié)構(gòu)。ASCII模式的消息幀每個(gè)8 Bit字節(jié)都作為兩個(gè)ASCII碼發(fā)送,可以打印字符,便于故障檢測(cè),并且允許字符的傳遞間隔達(dá)到1s而不產(chǎn)生錯(cuò)誤。RTU模式的消息幀必須是連續(xù)的,但是每個(gè)8 Bit字節(jié)包含4 Bit的十六進(jìn)制字符,因此在同樣的波特率下,RTU模式允許的字符密度較大,可比ASCII方式傳送更多的數(shù)據(jù)。ModBus通訊協(xié)議需要對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),串行協(xié)議中除有奇偶校驗(yàn)外,ASCII模式采用LRC校驗(yàn),RTU模式采用16位CRC校驗(yàn)。
本課題使用的是ModBus通訊協(xié)議的RTU模式實(shí)現(xiàn)三伺服枕式包裝機(jī)與觸摸屏之間的通信。
在三伺服枕式包裝機(jī)通訊系統(tǒng)中使用的硬件設(shè)備有以下四種:
1.三伺服枕式包裝機(jī)的運(yùn)動(dòng)控制核心是基于Motorola DSP56F807的通用控制器,作為Motorola 16位DSP56800系列中的一種,DSP56F807運(yùn)算功能強(qiáng)大,外設(shè)接口也非常豐富,其兩路串口通訊滿足控制器與上位機(jī)觸摸屏及整理機(jī)的實(shí)時(shí)通訊。
2.上位機(jī)觸摸屏(HMI)采用 Kinco EviewMT4522T,其編程軟件采用功能強(qiáng)大、簡(jiǎn)單易用的EV5000組態(tài)軟件開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)。
3.溫控模塊采用Delta公司的DTE10T,其支持RS-485通訊口,可用ModBus協(xié)議與上位機(jī)觸摸屏進(jìn)行實(shí)時(shí)通訊,從而實(shí)現(xiàn)溫度采集控制功能。
4.整理機(jī)采用基于Motorola DSP56F8037系列,其支持串口通訊,支持4路PWM輸出,豐富的I/O接口。
在三伺服枕式包裝機(jī)通訊控制系統(tǒng)中,各硬件之間相互通訊的結(jié)構(gòu)框圖及通訊接口如圖1所示:
圖1 硬件通訊接口圖
在觸摸屏程序設(shè)計(jì)中,其主要分為以下幾個(gè)畫(huà)面:主畫(huà)面、點(diǎn)動(dòng)區(qū)、功能區(qū)、報(bào)警區(qū)、溫控區(qū)、幫助等幾大界面,其中在主畫(huà)面主要有產(chǎn)量清零、測(cè)長(zhǎng)、膜進(jìn)、膜退、校料、校膜、定長(zhǎng)、追蹤、袋長(zhǎng)設(shè)定、切點(diǎn)設(shè)定、料位設(shè)定、追蹤量設(shè)定等。
點(diǎn)動(dòng)區(qū)主要包括刀進(jìn)點(diǎn)動(dòng)、刀退點(diǎn)動(dòng)、膜進(jìn)點(diǎn)動(dòng)、膜退點(diǎn)動(dòng)、料軸點(diǎn)動(dòng)、入料開(kāi)關(guān)、參考料點(diǎn)。溫控區(qū)主要是四路溫控的溫度設(shè)定、溫控開(kāi)關(guān)以及溫度PID參數(shù)設(shè)定。報(bào)警區(qū)主要是三軸伺服報(bào)警、色標(biāo)丟失報(bào)警、物料錯(cuò)位報(bào)警、空槽發(fā)生報(bào)警以及超溫報(bào)警。功能區(qū)主要包括空槽檢測(cè)功能、電子防切功能、自動(dòng)接膜功能、整理機(jī)控制、氣缸控制。
在主畫(huà)面上,可以顯示包裝機(jī)運(yùn)行過(guò)程中下位機(jī)的數(shù)據(jù),也可以改變包裝機(jī)下位機(jī)運(yùn)行的參數(shù)。這些數(shù)據(jù)主要包括:顯示產(chǎn)量、測(cè)量袋長(zhǎng)、設(shè)定包速、切點(diǎn)、料位、追蹤量等。其中,在主界面中還可以對(duì)橫封刀切色標(biāo)的位置切點(diǎn),以及送料位置料位進(jìn)行調(diào)整。還有控制膜進(jìn)、膜退、校料、校膜等功能。如圖2所示:
圖2 觸摸屏中文主畫(huà)面
本設(shè)計(jì)中,觸摸屏是主設(shè)備,運(yùn)動(dòng)控制器和溫控模塊作為從設(shè)備,負(fù)責(zé)接收主設(shè)備觸摸屏發(fā)送的訊息,并根據(jù)訊息內(nèi)容做出回應(yīng)。ModBus協(xié)議的功能模塊位于通訊事件庫(kù),在自動(dòng)包裝線運(yùn)行過(guò)程中,通用運(yùn)動(dòng)控制器串口一直處于偵聽(tīng)狀態(tài),接收到第一個(gè)字節(jié)數(shù)據(jù)后,首先由串口中斷判斷訊息的地址域,如果不是發(fā)給自己的訊息,則不作進(jìn)一步處理。如果是發(fā)給自己的訊息,則對(duì)收到的緩沖區(qū)內(nèi)容進(jìn)行校驗(yàn),校驗(yàn)正確則根據(jù)功能代碼對(duì)該訊息進(jìn)行處理,并回復(fù)應(yīng)答訊息。程序流程圖設(shè)計(jì)如圖3所示:
圖3 ModBus通訊系統(tǒng)程序流程圖
觸摸屏在自動(dòng)包裝線高速運(yùn)行過(guò)程中需要實(shí)時(shí)的更新產(chǎn)量、各軸位置等顯示參數(shù),因此需要頻繁的與運(yùn)動(dòng)控制器通訊。同時(shí)運(yùn)動(dòng)控制系統(tǒng)在高速的運(yùn)行過(guò)程中需要處理色標(biāo)傳感器、電子防切傳感器、色標(biāo)傳感器、斷膜檢測(cè)傳感器、空包檢測(cè)傳感器等各種中斷,并且實(shí)時(shí)的進(jìn)行大量數(shù)據(jù)運(yùn)算,為了保證運(yùn)動(dòng)控制的實(shí)時(shí)性,運(yùn)動(dòng)控制器正在處理或接收到更高級(jí)別的中斷時(shí),將暫時(shí)屏蔽串口通訊中斷,在處理完實(shí)時(shí)的運(yùn)算后,重新開(kāi)啟串口通訊中斷,并向觸摸屏更新數(shù)據(jù)。
本設(shè)計(jì)中采用ModBus通訊協(xié)議中的三個(gè)功能碼,介紹如表1所示:
表1 ModBus通訊協(xié)議功能碼
功能碼01在三伺服枕式包裝機(jī)通訊控制系統(tǒng)中作為位操作,實(shí)現(xiàn)報(bào)警信息、點(diǎn)動(dòng)按鈕操作功能。
功能碼03在三伺服枕式包裝機(jī)通訊控制系統(tǒng)中作為字操作,把DSP中的數(shù)據(jù)(如橫封刀軸、膜軸、料軸的位置,已包裝產(chǎn)品數(shù),各路溫度實(shí)時(shí)數(shù)據(jù)等)傳給上位機(jī)觸摸屏,方便實(shí)時(shí)觀測(cè)包裝機(jī)的各生產(chǎn)狀態(tài)。
功能碼16在三伺服枕式包裝機(jī)通訊控制系統(tǒng)中作為字操作,把上位機(jī)觸摸屏上設(shè)置的實(shí)時(shí)參數(shù)傳給DSP,方便的改變各個(gè)包裝狀態(tài)。
新型三伺服枕式包裝機(jī)中通訊系統(tǒng)中使用ModBus通訊協(xié)議,實(shí)現(xiàn)了各個(gè)硬件系統(tǒng)的通訊連接,使整個(gè)通訊系統(tǒng)簡(jiǎn)捷方便。最終通過(guò)ModBus協(xié)議實(shí)現(xiàn)了三伺服枕式包裝機(jī)上位機(jī)與下位機(jī)的通訊,極大地促進(jìn)了三伺服枕式包裝機(jī)的廣泛推廣。