吳強(qiáng)澤,袁永明,2
(1.南京農(nóng)業(yè)大學(xué) 無錫漁業(yè)學(xué)院,江蘇 無錫214081;
2.中國水產(chǎn)科學(xué)研究院 淡水漁業(yè)研究中心 國家羅非魚產(chǎn)業(yè)技術(shù)研發(fā)中心農(nóng)業(yè)部淡水漁業(yè)和種質(zhì)資源利用重點(diǎn)實(shí)驗(yàn)室,江蘇 無錫214081)
投飼機(jī)已成為池塘投喂必不可少的設(shè)備,常用的投飼機(jī)按控制方式分為兩大類[1],一種是機(jī)械定時(shí)的普通投飼機(jī),另一種是以單片機(jī)或可編程邏輯控制器(programmable logic controller,PLC)為核心的智能程控投飼機(jī),這兩種都不具備感知飼料量的功能,只能根據(jù)定時(shí)時(shí)間來估算。目前,稱重傳感技術(shù)不僅普及于日常生活,也用于很多行業(yè)的連續(xù)計(jì)量過程,如中藥材溯源[2]和食品動(dòng)態(tài)稱重[3]等。而PLC 技術(shù)也可用于很多稱重系統(tǒng)設(shè)計(jì)的控制部分,如,陸雪影[4]設(shè)計(jì)的稱重加料系統(tǒng);吳任和等人[5]研究的在線動(dòng)態(tài)稱重分揀系統(tǒng)。PLC 可以讀取稱重傳感器的輸出信號,完成對飼料量的數(shù)據(jù)采集,然后反饋給投飼機(jī),實(shí)現(xiàn)對投喂過程的控制。
計(jì)重投喂系統(tǒng)主要包括三部分:負(fù)責(zé)投喂的投飼機(jī);感知重量的稱重裝置;實(shí)現(xiàn)控制的PLC。其中,稱重裝置安裝在投飼機(jī)的底部,用于實(shí)時(shí)計(jì)重;PLC 接收稱重裝置的輸出信號,從而控制投飼機(jī)的投喂過程。
1)設(shè)計(jì)一種能隨投飼機(jī)大小伸縮的稱重裝置,以適用于不同類型的投飼機(jī)。從外形上看,稱重裝置是由4 個(gè)相同規(guī)格的三角箱通過可伸縮滑軌連接而成的底座式結(jié)構(gòu),傳感器置于三角箱的內(nèi)部。整個(gè)稱重裝置如圖1 所示。
圖1 稱重裝置Fig 1 Weighing apparatus
2)稱重傳感器選用深圳科普瑞傳感儀器公司的平行梁式稱重傳感器CPR392B(50 kg),輸出靈敏度為2.0×(1±10%)mV/V。4 只傳感器組合使用,總量程約為200 kg。稱重變送器選用原廠日本NMB 公司的CSA—591,能放大輸出±10 V 給外圍PLC 控制系統(tǒng)。
3)系統(tǒng)的PLC 選用三菱FX 系列小型PLC,型號為FX2N—32MR—D。輸入和輸出繼電器各16 點(diǎn);PLC 采用24VDC 供電;帶一組RS—232 接口和RS—485 接口,內(nèi)置時(shí)鐘;配FX2N—2AD 模擬量輸入模塊;A/D 轉(zhuǎn)換單元含2 個(gè)模擬輸入通道占用輸入端子分別為:CH1 和CH2;輸入范圍為0 ~5 V,0 ~10 V,0 ~20 mA 可選。
稱重裝置內(nèi)的4 只傳感器實(shí)時(shí)感知投飼機(jī)的重量,連接變送器進(jìn)行信號放大。輸出的模擬量信號,PLC 無法直接讀取,需通過AD 模塊進(jìn)行A/D 轉(zhuǎn)換。PLC 接收信號后,通過預(yù)先設(shè)定的程序?qū)?shù)據(jù)進(jìn)行計(jì)算、比較、分析,從而控制投飼機(jī)的啟動(dòng)和停止。投飼機(jī)則是直接面向養(yǎng)殖對象,執(zhí)行投喂的重要部分。圖2 是系統(tǒng)工作的原理圖。
圖2 系統(tǒng)原理Fig 2 System principle
計(jì)重投喂系統(tǒng)最基本的功能就是根據(jù)飼料量來控制整個(gè)投飼過程,工作時(shí)稱重裝置實(shí)時(shí)感知投飼機(jī)的重量,當(dāng)投喂的飼料量達(dá)到預(yù)先設(shè)定值時(shí),投飼機(jī)立即停止工作,到下一次設(shè)定的投喂時(shí)間,投飼機(jī)按同樣的流程執(zhí)行投喂。
普通投飼機(jī)不設(shè)置無料停機(jī)功能,在人力不足的情況下,可能會(huì)出現(xiàn)飼料投完的狀況,這時(shí)投飼機(jī)空轉(zhuǎn)既浪費(fèi)電力,又容易造成機(jī)器故障。而計(jì)重投喂系統(tǒng)能實(shí)時(shí)感知料箱內(nèi)的剩余飼料量,當(dāng)余料不足以支持投喂時(shí),不執(zhí)行投喂并發(fā)出投飼機(jī)需要加料的提醒。
首先,設(shè)定參數(shù),包括每次投喂需達(dá)到的量和每次投喂開始的時(shí)間。投喂前,需進(jìn)行剩余飼料量檢查,余料是料箱總重量減去投飼機(jī)的凈重得到。料箱內(nèi)的余料必須大于最低投喂量(可設(shè)定為一次或一天的投喂量);否則,不執(zhí)行投喂并發(fā)出加料提醒的指令。這種設(shè)定免除了料箱無料時(shí),機(jī)器空轉(zhuǎn)的情況。到了定時(shí)投喂時(shí)間,投飼機(jī)開始工作,這時(shí)從傳感器得到一個(gè)初始重量,投喂過程中傳感器都會(huì)實(shí)時(shí)輸出重量,初始重量減去實(shí)時(shí)重量即為當(dāng)時(shí)的投喂量。若投喂量達(dá)到之前設(shè)定的值時(shí),PLC 發(fā)出指令,投飼機(jī)停止工作,并進(jìn)入下一次計(jì)時(shí)。具體流程如圖3 所示。
圖3 工作流程Fig 3 Working flow
實(shí)現(xiàn)計(jì)重投喂功能,PLC 首先需要讀取稱重傳感器輸出的模擬量信號,而FX2N 系列并不自帶A/D 轉(zhuǎn)換功能,需擴(kuò)展一個(gè)模擬量輸入模塊,本系統(tǒng)選用FX2N—2AD,帶有2 路AD 輸入通道。稱重傳感器的信號從CH1 接入PLC。具體I/O 接線如圖4 所示。
圖4 I/O 接線圖Fig 4 I/O wiring diagram
設(shè)計(jì)的主程序負(fù)責(zé)控制投飼機(jī)的定時(shí)投喂,子程序主要用來實(shí)現(xiàn)飼料的重量信息采集,并將數(shù)據(jù)存儲(chǔ)到特定的單元中,計(jì)算出投飼機(jī)實(shí)時(shí)的投喂量,再判斷是否需要加料,從而實(shí)現(xiàn)計(jì)重投喂。首先設(shè)定投飼機(jī)開啟的定時(shí)時(shí)間,這需要讀取PLC 的內(nèi)置時(shí)鐘。參考三菱FX 系列編程手冊可知,內(nèi)置時(shí)鐘保存在特殊數(shù)據(jù)寄存器D8013 ~D8019 中,依次為秒、分、時(shí)、日、月、年、星期。三菱PLC 的時(shí)間讀取指令為TRD 指令。“TRD D0”代表的含義是:將PLC 的實(shí)時(shí)時(shí)鐘的數(shù)據(jù)讀入以D0 寄存器為首的7 個(gè)寄存器里。時(shí)間比較指令為TCMP,用于實(shí)時(shí)時(shí)間與設(shè)置開啟的時(shí)間的比對。投飼機(jī)每天都是定時(shí)開啟,所以,只需從小時(shí)位比較。若定時(shí)時(shí)間設(shè)為上午8:30,那么,定時(shí)投喂的梯形程序圖如圖5 所示。
圖5 定時(shí)梯形圖Fig 5 Timing ladder diagram
投飼機(jī)根據(jù)設(shè)定的時(shí)間開始投喂,停止投喂由投飼量決定。投飼量由稱重傳感器得出,傳感器接變送器后的輸出范圍為0 ~10V,F(xiàn)X2N—2AD 的精度為212,即4096,一般作增益偏移調(diào)整,取值0 ~4 000。當(dāng)0 ~4 000 的數(shù)值跟0 ~10 V 的模擬值并用時(shí),數(shù)字值40 等于一個(gè)模擬輸入量100 mV。
三菱PLC 與AD 模塊之間的數(shù)據(jù)通信是由FROM 指令和TO 指令來執(zhí)行的。FROM 指令是將讀取特殊功能模塊內(nèi)的緩沖寄存器的數(shù)據(jù),TO 指令是將數(shù)據(jù)寫入到特殊功能模塊內(nèi)的緩沖寄存器中[7]?;靖袷綖椤癋ROM(TO)Kn1Kn2Dn3Kn4”。Kn1為特殊模塊的地址編號;Kn2為要讀取的緩沖區(qū)的地址;Dn3為目標(biāo)寄存器起始地址編號(TO 為源寄存器起始地址編號)。也可用“K2M100”這樣的格式表示,K2 代表從特殊模塊BFM 讀取的二進(jìn)制的位數(shù),以4 位(bit)為單位,M100 為中間繼電器;Kn4 表示傳送的點(diǎn)數(shù)。實(shí)際上PLC 對AD 模塊的讀、寫操作都是對緩沖寄存器BFM進(jìn)行的。BFM 這一緩沖寄存器區(qū)由32 個(gè)16 位的寄存器組成,編號為BFM#0 ~#31。通道分配如表1 所示。
表1 FX2N-2AD BFM 分配表Tab 1 FX2N-2AD BFM allocation table
#17 緩存器中,b0 的數(shù)值是選擇哪一個(gè)通道,b1=1時(shí)開始進(jìn)行模擬量轉(zhuǎn)換。所以,讀取稱重傳感器的梯形程序圖如圖6 所示。
圖6 模擬量轉(zhuǎn)換梯形圖Fig 6 Analog conversion ladder diagram
梯形圖中,H0 即“0 0 0 0”選擇CH1 通道,H2 即“0 0 1 0”CH1 通道開始模擬量轉(zhuǎn)換?!癋ROM K0 K0 K2M100 K2”不是把BFM#0 和BFM#1 存到K2M100 中,而是把BFM#0存到K2M100,BFM#1 存到K2M108 中。
系統(tǒng)的投喂控制和缺料警報(bào)都需用到比較指令,投喂控制是與設(shè)定的投喂參數(shù)比較,缺料警報(bào)是與余料最低值比較。數(shù)值比較指令為CMP 指令[8]。以缺料警報(bào)為例,若從傳感器中得到的余料的數(shù)值存儲(chǔ)在D200 中,設(shè)定的最低余料為5 kg,由于量程為0 ~200 kg,所以,10 kg 根據(jù)線性關(guān)系相當(dāng)于數(shù)值100,比較指令為“CMP D200 K100 M100”,若D200 等于或小于K100 時(shí),M101,M102 都指向Y004。這時(shí)缺料警報(bào)的燈亮起,投飼機(jī)不執(zhí)行投喂。
為檢驗(yàn)系統(tǒng)的穩(wěn)定性,對其進(jìn)行投喂測試。設(shè)定每次的投喂量分別為2.5,5,10 kg,每個(gè)級別各投喂5 次。記錄PLC 接收得到的傳感器數(shù)值并換算為重量,然后計(jì)算平均值及其相對誤差、標(biāo)準(zhǔn)差。具體數(shù)據(jù)如表2 所示。
表2 系統(tǒng)測試數(shù)據(jù)Tab 2 System test datas
觀察表2 可知,投喂的量越大,相對誤差越小,且均不超過5%。每5次投喂量的標(biāo)準(zhǔn)差都較小,說明系統(tǒng)運(yùn)行穩(wěn)定,無太大起伏。觀察所有數(shù)據(jù),發(fā)現(xiàn)實(shí)際投喂量大都低于設(shè)定值,考慮為投飼機(jī)工作時(shí),震動(dòng)產(chǎn)生的影響使傳感器的感知數(shù)值在上下波動(dòng),其最大值達(dá)到設(shè)定值時(shí),系統(tǒng)感知并已發(fā)出停止投喂的信號,這時(shí)真實(shí)的投喂量并沒有達(dá)到要求,這說明系統(tǒng)很好地實(shí)現(xiàn)了計(jì)重投喂。
本系統(tǒng)是基于稱重傳感器和PLC 控制技術(shù)設(shè)計(jì)的一種定時(shí)開啟、實(shí)時(shí)稱重,并根據(jù)量來控制整個(gè)投飼過程的計(jì)重投喂系統(tǒng)。實(shí)際使用時(shí),考慮投飼機(jī)震動(dòng)沖擊的影響,傳感器輸出值與真實(shí)的投喂量存在一定的誤差,經(jīng)測試,誤差不到投喂量的5%,實(shí)際養(yǎng)殖中并不影響投喂效果。計(jì)重投喂系統(tǒng)符合現(xiàn)代化漁業(yè)生產(chǎn)的需要,使飼料投喂變得簡單而精準(zhǔn),具有廣闊的市場前景。
[1] 肖 忠,張新建,莫洪林.程控投餌機(jī)自動(dòng)控制系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2007(12):79-82.
[2] 何 菊,陸明洲,王 珍,等.中藥材溯源系統(tǒng)中的高精度稱重傳感器節(jié)點(diǎn)設(shè)計(jì)[J].傳感器與微系統(tǒng),2015,34(3):123-125.
[3] 劉立業(yè),李 青.粘性塊狀食品動(dòng)態(tài)定量稱重系統(tǒng)設(shè)計(jì)[J].機(jī)電工程,2008,25(8):62-65.
[4] 陸雪影.基于PLC 控制的稱重加料系統(tǒng)設(shè)計(jì)分析[J].電子技術(shù)與軟件工程,2015(2):179-180.
[5] Beggs Edwin J,Costa José Félix,,Tucker John V.Physical oracles:The turing machine and the Wheatstone bridge[J].Studia Logica,2010,95(1):279-300.
[6] 朱建梅,黃松和.平行梁式稱重傳感器的動(dòng)態(tài)仿真分析[J].計(jì)算機(jī)應(yīng)用技術(shù),2014,41(11):31-35,76.
[7] 廖常初.PLC 模擬量輸入模塊的使用方法[J].電工技術(shù),2003(10):23-24.
[8] 李生明,楊 紅.三菱FX 系列PLC 比較指令的應(yīng)用[J].清遠(yuǎn)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009(3):32-34.