• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于條形碼掃描技術(shù)的貨物存儲(chǔ)系統(tǒng)的研究與設(shè)計(jì)

      2019-09-27 05:05:06張世綜徐世許邊長安
      制造業(yè)自動(dòng)化 2019年9期
      關(guān)鍵詞:碼器條形碼控件

      張世綜,徐世許,邊長安

      ZHANG Shi-zong,XU Shi-xu,BIAN Chang’an

      (青島大學(xué)自動(dòng)化學(xué)院,青島 266071)

      0 引言

      隨著經(jīng)濟(jì)水平的提高以及工業(yè)生產(chǎn)力的迅速發(fā)展,人們對(duì)原材料、制成品的需求數(shù)量不斷增加的同時(shí),對(duì)物料儲(chǔ)存的要求也越來越高,伴隨著條碼識(shí)別技術(shù)的發(fā)展及設(shè)備自動(dòng)化水平的不斷提高,條碼技術(shù)成為信息數(shù)據(jù)自動(dòng)識(shí)別、輸入的重要方法和手段,現(xiàn)已應(yīng)用到了商業(yè)、工業(yè)、交通運(yùn)輸業(yè)、物流、醫(yī)療衛(wèi)生等國民經(jīng)濟(jì)各行各業(yè)。該系統(tǒng)將條碼掃描識(shí)別技術(shù)、ACCESS數(shù)據(jù)庫、NJ控制器與小型自動(dòng)化倉庫結(jié)合起來,使自動(dòng)化立體倉庫,能夠按照指令自動(dòng)實(shí)現(xiàn)貨物存取,而且能夠自動(dòng)管理庫存貨物,實(shí)時(shí)對(duì)存取的貨物信息進(jìn)行記錄和刪除,并且通過查詢歷史貨物進(jìn)出流水信息對(duì)庫存信息全面的掌握,進(jìn)行制定合理的進(jìn)出庫計(jì)劃。有利于企業(yè)根據(jù)所掌握的現(xiàn)有庫存量等信息及時(shí)的對(duì)生產(chǎn)計(jì)劃、采購計(jì)劃等進(jìn)行有效的調(diào)整,增強(qiáng)了企業(yè)在生產(chǎn)加工過程的靈活性,也有利于企業(yè)管理人員的決策分析。具有十分重要的社會(huì)和經(jīng)濟(jì)效益。

      1 控制系統(tǒng)原理

      1.1 運(yùn)動(dòng)控制

      系統(tǒng)的運(yùn)動(dòng)控制部分采用位置控制模式,當(dāng)交流伺服系統(tǒng)處于位置控制模式時(shí),能夠精準(zhǔn)地控制伺服電動(dòng)機(jī)的轉(zhuǎn)數(shù),進(jìn)而準(zhǔn)確的實(shí)現(xiàn)執(zhí)行部件的移動(dòng)距離,即能夠?qū)?zhí)行部件實(shí)現(xiàn)運(yùn)動(dòng)定位控制。該模式下由驅(qū)動(dòng)器接收位置命令,并控制伺服電機(jī)轉(zhuǎn)動(dòng),運(yùn)行至目標(biāo)位置。伺服控制器可以通過判斷脈沖編碼器傳送回來的脈沖數(shù)與PLC傳送來的位置命令即總的脈沖信號(hào)數(shù)量判斷電機(jī)是否旋轉(zhuǎn)至規(guī)定位置,即以當(dāng)前伺服作為驅(qū)動(dòng)的機(jī)構(gòu)已經(jīng)運(yùn)動(dòng)到了指定的位置。另外控制器輸出脈沖的頻率越快,電機(jī)旋轉(zhuǎn)的速度也越快[1]。位置控制模式架構(gòu)如圖1所示。

      圖1 位置控制模式框架圖

      1.2 直線插補(bǔ)

      直線插補(bǔ)是數(shù)控設(shè)備上常見的一種插補(bǔ)功能。數(shù)控系統(tǒng)中直線插補(bǔ)功能的主要任務(wù)是在給定行進(jìn)速度的基礎(chǔ)上在直線的起點(diǎn)和終點(diǎn)中間計(jì)算出若干個(gè)點(diǎn)的坐標(biāo),兩點(diǎn)間的插補(bǔ)運(yùn)動(dòng)通過逼近直線中的點(diǎn)群來實(shí)現(xiàn)[2~4]。

      系統(tǒng)采用直線插補(bǔ)的方式到達(dá)指定位置,既做到了穩(wěn)定平滑也實(shí)現(xiàn)了精確控制。假設(shè)在平面上存在任意直線,其起點(diǎn)和終點(diǎn)分別表示為A(x0,y0)和B(x1,y1),則直線的數(shù)學(xué)表達(dá)式可表示為:y=kx。式中:

      圖2為從A點(diǎn)到B點(diǎn)的直線插補(bǔ)示意圖。

      圖2 直線插補(bǔ)示意圖

      當(dāng)k<1時(shí),有vx>vy,則一動(dòng)點(diǎn)D運(yùn)動(dòng)的方向存在兩種情況:

      1)僅沿x方向運(yùn)動(dòng);

      2)除了沿x方向運(yùn)動(dòng)外,同時(shí)沿y方向運(yùn)動(dòng)vx>vy。當(dāng)k>1時(shí),有vx<vy,此時(shí)動(dòng)點(diǎn)D的運(yùn)動(dòng)方向同樣也存在兩種情況:僅沿y方向運(yùn)動(dòng);除了沿y方向運(yùn)動(dòng)外,同時(shí)沿x軸方向運(yùn)動(dòng)且vx<vy[6,7]。

      2 條形碼掃碼系統(tǒng)的組成與實(shí)現(xiàn)

      2.1 條形碼識(shí)別技術(shù)

      條形碼技術(shù)是在計(jì)算機(jī)發(fā)展和應(yīng)用過程中產(chǎn)生和發(fā)展起來的自動(dòng)識(shí)別的技術(shù)。識(shí)別過程主要分為讀取、識(shí)別和傳送三個(gè)過程,讀取條形碼的裝置稱作掃碼器。本系統(tǒng)用到的條碼標(biāo)簽示意圖如圖3所示,系統(tǒng)在一個(gè)周期內(nèi)讀取多個(gè)條形碼完畢后將數(shù)據(jù)發(fā)送至串口。

      2.2 系統(tǒng)組成

      貨物條形碼掃描系統(tǒng)主要由上位機(jī)、邁斯肯MICROHAWK ID-40掃碼器、歐姆龍NJ控制器、CXSupervisor組態(tài)軟件、數(shù)據(jù)庫程序等組成。系統(tǒng)結(jié)構(gòu)圖如圖4所示。掃碼器和上位機(jī)通過RS232c進(jìn)行通信,遵循串口通信協(xié)議。掃碼器固定在取送貨物的機(jī)械手上,結(jié)構(gòu)示意圖如圖5所示。

      圖3 標(biāo)簽示意圖

      圖4 掃碼系統(tǒng)結(jié)構(gòu)圖

      圖5 機(jī)械手結(jié)構(gòu)示意圖

      2.3 系統(tǒng)實(shí)現(xiàn)

      2.3.1 CX-Supervisor

      CX-Supervisor是為歐姆龍系列PLC和運(yùn)動(dòng)控制器開發(fā)的組態(tài)軟件,掃碼系統(tǒng)采用CX-Supervisor編寫程序,CX-Supervisor可實(shí)現(xiàn)一鍵模擬,點(diǎn)擊鼠標(biāo)即可實(shí)現(xiàn)對(duì)應(yīng)用程序的模擬仿真;可實(shí)現(xiàn)遠(yuǎn)程維護(hù),不需要修改應(yīng)用程序就可以在任何地方查看應(yīng)用程序的運(yùn)行狀態(tài),只需要通過網(wǎng)頁瀏覽器就可以安全訪問安裝的應(yīng)用并對(duì)狀態(tài)進(jìn)行監(jiān)視,這對(duì)于后期的維護(hù)提供了極大地方便;CXSupervisor3.2支持多種腳本語言,包括VBScript以及歐姆龍自己的語言,編寫者可以根據(jù)自己的需要自行選擇,易用性較強(qiáng),縮短開發(fā)周期。CX-Supervisor常用功能如完整的項(xiàng)目視圖、點(diǎn)編輯器、圖形庫、警報(bào)、動(dòng)畫、權(quán)限管理、數(shù)據(jù)庫操作以及遠(yuǎn)程管理等功能[8]。對(duì)中小型系統(tǒng)的開發(fā)相比專業(yè)的編程軟件更加簡潔和便利,同時(shí)可以省去大量通訊程序的編寫,大大降低開發(fā)難度,做到隨調(diào)隨用。

      2.3.2 系統(tǒng)條碼識(shí)別的實(shí)現(xiàn)

      條形碼掃碼系統(tǒng)的數(shù)據(jù)管理部分由數(shù)據(jù)庫管理系統(tǒng)ACCESS2010和CX-Supervisor共同實(shí)現(xiàn)。通過修改掃碼器系統(tǒng)固件參數(shù)實(shí)現(xiàn)同時(shí)讀取多個(gè)條形碼的數(shù)據(jù),在CX-Supervisor編寫程序發(fā)打開掃碼器鏡頭發(fā)送命令使掃碼器進(jìn)入預(yù)讀碼狀態(tài),貨物入庫過程中機(jī)械手夾報(bào)貨物托盤入庫,同時(shí)進(jìn)行讀碼,每盒貨物的多個(gè)條碼讀取完成后數(shù)據(jù)自動(dòng)上傳到掃碼器的緩沖區(qū)。然后將數(shù)據(jù)存在串口緩沖區(qū),在下次讀碼前進(jìn)行數(shù)據(jù)提取,關(guān)掉鏡頭、將串口進(jìn)行初始化和清空緩沖區(qū)等操作,等待下一次讀取,重復(fù)執(zhí)行該操作即可實(shí)現(xiàn)連續(xù)讀碼。

      2.3.3 數(shù)據(jù)處理

      將接收的數(shù)據(jù)在程序中進(jìn)行解析,判斷出該物品的具體信息,如身份標(biāo)識(shí)、種類、采購日期、失效日期等,然后將處理完的數(shù)據(jù)為下一步的操作做準(zhǔn)備。數(shù)據(jù)處理與機(jī)械手的入庫動(dòng)作通過條件腳本結(jié)合在一起,例如在運(yùn)動(dòng)控制器中程序rh_sh_pos_A_back1觸發(fā)時(shí)執(zhí)行寫庫程序,如圖6所示。

      圖6 寫庫觸發(fā)程序圖

      2.3.4 數(shù)據(jù)庫操作實(shí)現(xiàn)

      ADO控件(ActiveX Data Objects,ActiveX數(shù)據(jù)對(duì)象)是Microsoft提出的應(yīng)用程序接口,可以使用ADO控件在CX-Supervisor與Access數(shù)據(jù)庫之間建立關(guān)聯(lián),通過ADO控件將讀取解析完的數(shù)據(jù)對(duì)數(shù)據(jù)庫進(jìn)行讀寫操作,同時(shí)通過ADO控件可進(jìn)行查詢功能的設(shè)計(jì)[9]。

      3 程序設(shè)計(jì)

      3.1 掃碼程序?qū)崿F(xiàn)

      3.1.1 串口設(shè)置程序

      在編寫掃碼器讀碼程序前需要先對(duì)串口進(jìn)行配置,以保證上位機(jī)和掃碼器可以正常通信。串口1配置程序如下:

      MSComm1.CommPort=1 ‘設(shè)置串口為端口1

      MSComm1.Settings=“115200,N,8,1”‘設(shè)置波特率,

      MSComm1.InputMode=0 ‘?dāng)?shù)據(jù)通過 Input 屬性以文本形式取回

      MSComm1.InputLen=0

      MSComm1.InBufferCount=0 '清空接收緩沖區(qū)

      MSComm1.outBufferCount=0

      MSComm1.RThreshold=1 '緩沖區(qū)中接收到一個(gè)字符,就產(chǎn)生一次OnComm事件

      MSComm1.PortOpen=True

      程序中對(duì)端口、波特率、奇偶校驗(yàn)開始位、停止位等進(jìn)行設(shè)置,同時(shí)對(duì)串口接收緩沖區(qū)進(jìn)行清空,為下一次接收數(shù)據(jù)做準(zhǔn)備,串口2和串口3的配置與串口1相同,串口配置是應(yīng)用掃碼器的必要條件[10]。

      3.1.2 掃碼器讀碼程序

      在串口準(zhǔn)備完畢后,打開掃碼器,進(jìn)入預(yù)讀碼狀態(tài)。程序?qū)崿F(xiàn)如下:

      程序中在運(yùn)動(dòng)控制器的對(duì)貨物進(jìn)行運(yùn)動(dòng)掃碼狀態(tài)下,分別對(duì)三個(gè)串口發(fā)送16進(jìn)制命令打開掃碼器鏡頭。

      3.1.3 數(shù)據(jù)接收、處理程序

      掃碼器掃到條形碼后會(huì)將數(shù)據(jù)存儲(chǔ)到緩沖區(qū)等待取出,編寫程序取出數(shù)據(jù)并進(jìn)行數(shù)據(jù)的匹配。部分程序如下:

      取出數(shù)據(jù)后向掃碼器發(fā)送16進(jìn)制命令關(guān)閉鏡頭同時(shí)關(guān)閉串口,下次使用時(shí)再次打開串口、發(fā)送命令。數(shù)據(jù)匹配完成后程序上會(huì)給出貨物對(duì)應(yīng)的詳細(xì)信息,如圖7所示。

      圖7 掃碼信息圖

      3.2 使用ADO控件實(shí)現(xiàn)對(duì)ACCESS數(shù)據(jù)庫的操作

      ADO Data控件是通過Microsoft ActiveX數(shù)據(jù)對(duì)象(ADO)來建立起符合OLE DB規(guī)范數(shù)據(jù)源連接的數(shù)據(jù)綁定控件。在VB6.0的環(huán)境下使用ADO控件對(duì)數(shù)據(jù)庫中的數(shù)據(jù)表進(jìn)行操作,具體操作步驟如下。

      3.2.1 連接數(shù)據(jù)庫

      在CX-Supervisor編輯界面點(diǎn)擊工具欄上的配置Active X工具欄,勾選“Microsoft ADO Data Control,version6.0”對(duì)ADO控件進(jìn)行調(diào)用,然后在界面上放置ADO控件,雙擊控件選擇要連接的數(shù)據(jù)源,如圖8所示,生成連接字符串完成數(shù)據(jù)庫的連接[8]。

      圖8 連接數(shù)據(jù)庫

      3.2.2 對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)操作

      在CX-Supervisor中對(duì)ACCESS數(shù)據(jù)庫操作不需要編寫特定的連接語句,可做到隨調(diào)隨用,省去了傳統(tǒng)編程下對(duì)數(shù)據(jù)庫操作時(shí)編寫繁瑣的連接語句。貨物進(jìn)庫時(shí)對(duì)數(shù)據(jù)庫進(jìn)行寫庫操作,部分程序如下:

      貨物出庫時(shí)機(jī)械手將取到的貨物托盤送至窗口,同時(shí)數(shù)據(jù)庫刪除相應(yīng)的記錄[11]。程序?qū)崿F(xiàn)如下:

      3.2.3 查詢歷史記錄

      系統(tǒng)在實(shí)現(xiàn)存取操作時(shí)將貨物信息記錄到數(shù)據(jù)庫中保存在ACCESS數(shù)據(jù)表中,設(shè)計(jì)查詢界面可對(duì)當(dāng)前的庫存信息和流水信息就行查詢和導(dǎo)出Excel表格,方便用戶進(jìn)行查看。

      1)查詢程序設(shè)計(jì)部分代碼如下:

      2)導(dǎo)出到Excel部分程序部分代碼如下:

      系統(tǒng)中查詢歷史出入記錄主要借助ADO控件和Datagrid控件,用Adodc中的RecordSource屬性或者Recordset對(duì)象從數(shù)據(jù)源中根據(jù)需要的數(shù)據(jù),選擇打開的記錄集。用Recordset對(duì)象中的屬性對(duì)記錄集中的記錄查詢功能。將Datagrid與ADO控件進(jìn)行綁定即可將數(shù)據(jù)直觀的顯示在程序界面中。本系統(tǒng)能夠?qū)崿F(xiàn)根據(jù)日期、貨物種類、貨物名稱或貨號(hào)對(duì)數(shù)據(jù)進(jìn)行查詢、導(dǎo)出到Excel等功能[12]。查詢導(dǎo)出界面如圖9所示。

      圖9 查詢導(dǎo)出界面

      4 結(jié)語

      本文通過運(yùn)動(dòng)控制器配合機(jī)械手運(yùn)動(dòng)可做到精確存取,加入掃碼器配合機(jī)械手使入庫操作和出庫操作做到信息自動(dòng)統(tǒng)計(jì),無需人工干預(yù),真正做到自動(dòng)存取、自動(dòng)記錄,相比傳統(tǒng)存儲(chǔ)過程省去了大量的人力物力,提高了存儲(chǔ)效率。利用CX-Supervisor設(shè)計(jì)用戶操作界面不僅可以減少編程人員的工作量,也令運(yùn)動(dòng)控制過程和用戶界面更好的結(jié)合在一塊,使系統(tǒng)更加穩(wěn)定,方便調(diào)試。本文設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)自動(dòng)掃碼出入庫,后期將沿著更加智能的方向進(jìn)行設(shè)計(jì)和研究。

      猜你喜歡
      碼器條形碼控件
      磁吸式掃碼器固定調(diào)節(jié)裝置的研究
      五金科技(2023年5期)2023-11-02 01:50:06
      對(duì)于多位置條煙條形碼統(tǒng)一檢測的應(yīng)用研究
      電子測試(2021年22期)2021-12-17 11:19:16
      創(chuàng)意條形碼
      從條形碼到二維碼
      從條形碼到二維碼
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      條形碼大變身
      康耐視 DataMan?8050系列手持式讀碼器
      讀碼器DATAMAN 50L
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      乌拉特后旗| 洛隆县| 阜南县| 乳山市| 东莞市| 林西县| 崇阳县| 山阳县| 海林市| 改则县| 大田县| 巴南区| 前郭尔| 台中市| 三河市| 莆田市| 开封市| 达州市| 宜兰县| 南昌市| 琼海市| 洪雅县| 曲水县| 五家渠市| 巴里| 唐河县| 丰顺县| 云浮市| 通城县| 高雄市| 仙桃市| 三原县| 六盘水市| 黔西县| 黄龙县| 武宣县| 兰考县| 普陀区| 左权县| 石泉县| 托克逊县|