亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        智能橋式起重機(jī)工控機(jī)數(shù)據(jù)交互實(shí)現(xiàn)

        2020-03-22 03:30:58周奇才熊肖磊
        機(jī)械工程與自動(dòng)化 2020年1期
        關(guān)鍵詞:智能化功能

        周奇才,路 凱,熊肖磊,趙 炯

        (同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院,上海 201804)

        0 引言

        傳統(tǒng)橋式起重機(jī)作為物料搬運(yùn)的主要方式,應(yīng)用范圍廣泛,使用體量大,可靠性高,效率高,在機(jī)械加工、工業(yè)生產(chǎn)、冶金、物流運(yùn)輸中都發(fā)揮著巨大的作用[1]。但大多數(shù)橋式起重機(jī),僅實(shí)現(xiàn)了較低級(jí)的智能化控制,并未真正實(shí)現(xiàn)路徑規(guī)劃、智能尋跡等高級(jí)智能化控制。因此,搭建起重機(jī)自動(dòng)化控制軟硬件平臺(tái),實(shí)現(xiàn)起重機(jī)智能化是必然趨勢(shì)。

        在橋式起重機(jī)智能化平臺(tái)中工控機(jī)與PLC的數(shù)據(jù)交換是重要的一環(huán),類(lèi)似于普通工業(yè)級(jí)兩級(jí)計(jì)算機(jī)控制系統(tǒng)中上位機(jī)與下位機(jī)間的通信問(wèn)題。對(duì)于上、下位機(jī)之間的通信問(wèn)題,學(xué)者提出了很多解決方法[2-5]。而Python作為一種面向?qū)ο?、直譯式計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,其語(yǔ)法簡(jiǎn)捷而清晰,具有豐富和強(qiáng)大的類(lèi)庫(kù)[6]。本文采用基于Windows下的Python語(yǔ)言進(jìn)行工控機(jī)編程設(shè)計(jì),實(shí)現(xiàn)了工控機(jī)與橋式起重機(jī)機(jī)載PLC通信以及數(shù)據(jù)交互的功能。

        1 系統(tǒng)設(shè)計(jì)

        1.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        橋式起重機(jī)智能化平臺(tái)的設(shè)計(jì)架構(gòu)為兩級(jí)計(jì)算機(jī)控制系統(tǒng)。處于上位的計(jì)算機(jī)即將來(lái)的遠(yuǎn)程控制中心,它可根據(jù)實(shí)時(shí)數(shù)據(jù),利用在線最優(yōu)目標(biāo)函數(shù)進(jìn)行被控對(duì)象的最優(yōu)目標(biāo)值計(jì)算,輸出到下一級(jí)系統(tǒng),還可以對(duì)故障進(jìn)行診斷與預(yù)測(cè)[7];下位機(jī)為直接數(shù)字控制系統(tǒng)(Direct Digital Control,簡(jiǎn)稱(chēng) DDC)。

        本文重點(diǎn)介紹下位DDC系統(tǒng)。為實(shí)現(xiàn)橋式起重機(jī)的智能化,DDC系統(tǒng)除原有PLC中采集到的各傳感器數(shù)據(jù)信息外,為實(shí)現(xiàn)吊鉤防搖、防搖策略閉環(huán)控制的吊鉤擺角檢測(cè)、起重機(jī)智能路徑規(guī)劃等高級(jí)控制功能,還需要加入計(jì)算機(jī)視覺(jué)等輸入信息。因此需加入以微型計(jì)算機(jī)為載體,可插接各種控制板實(shí)現(xiàn)復(fù)雜控制功能[8]的工控機(jī),與機(jī)載PLC共同完成下位機(jī)功能。下層DDC結(jié)構(gòu)框圖如圖1所示。通過(guò)工控機(jī)與PLC組合實(shí)現(xiàn)DDC的功能,智能化平臺(tái)系統(tǒng)整體架構(gòu)如圖2所示。

        圖1 橋式起重機(jī)計(jì)算機(jī)監(jiān)控系統(tǒng)DDC結(jié)構(gòu)框圖

        圖2 橋式起重機(jī)智能化平臺(tái)系統(tǒng)整體架構(gòu)

        工控機(jī)作為數(shù)據(jù)路由是智能化平臺(tái)改造的核心,該數(shù)據(jù)交換要求實(shí)時(shí)性好、可靠性高,筆者就工控機(jī)Windows下編程實(shí)現(xiàn)數(shù)據(jù)交換功能進(jìn)行介紹。

        1.2 接口設(shè)計(jì)

        由于工控機(jī)集合了數(shù)據(jù)交互、路徑規(guī)劃、防搖控制等功能結(jié)構(gòu),因此其接口設(shè)計(jì)包括:負(fù)責(zé)與遠(yuǎn)程監(jiān)控中心通信的遠(yuǎn)程通信接口;進(jìn)行數(shù)據(jù)交互的與PLC連接的PLC通信接口;涉及到路徑規(guī)劃時(shí)需要通過(guò)雙目攝像頭對(duì)環(huán)境視頻信息進(jìn)行采集的視頻接口等。工控機(jī)硬件接口設(shè)計(jì)如圖3所示。

        工業(yè)控制系統(tǒng)有多種數(shù)據(jù)交互的方式,對(duì)于一般的常用于工業(yè)生產(chǎn)領(lǐng)域的可編程控制器,其工業(yè)控制要求使用Modbus通信協(xié)議,此為最常用的工業(yè)控制系統(tǒng)接口。而對(duì)于以計(jì)算機(jī)控制系統(tǒng)為核心的DCS控制系統(tǒng)中,一般采用TCP/IP等可靠傳輸通信方式[9]。

        圖3 工控機(jī)硬件接口

        考慮到控制系統(tǒng)的融合,本系統(tǒng)采用TCP/IP、Modbus和串口通信方式的對(duì)外接口。TCP/IP作為可靠通信方式,其通信速度、連接可靠性、通信數(shù)據(jù)包可自定義以適用于本系統(tǒng);而用于與PLC通信的Modbus則需要根據(jù)其通信標(biāo)準(zhǔn),嚴(yán)格按照其數(shù)據(jù)格式、長(zhǎng)度等進(jìn)行使用??紤]到視頻信號(hào)及其他分散式控制器等,設(shè)計(jì)也滿(mǎn)足RS485數(shù)據(jù)傳輸?shù)拇谕ㄐ欧绞健?/p>

        2 數(shù)據(jù)交互Windows編程

        2.1 程序?qū)蛹?jí)結(jié)構(gòu)

        基于現(xiàn)場(chǎng)工控機(jī)功能設(shè)計(jì)框架,本設(shè)計(jì)在Windows環(huán)境下編程,以滿(mǎn)足方便可視化窗口編程、及時(shí)顯示代碼問(wèn)題、調(diào)用更多的庫(kù)函數(shù)等需求。

        為使整個(gè)軟件的通信過(guò)程更加合理,軟件層級(jí)結(jié)構(gòu)如圖4所示,借鑒TCP/IP層級(jí)結(jié)構(gòu),將工控機(jī)軟件按照功能邏輯劃分為通信層、協(xié)議層、業(yè)務(wù)層。

        圖4 軟件層級(jí)結(jié)構(gòu)

        通信層負(fù)責(zé)建立端口,并對(duì)網(wǎng)絡(luò)/串口/USB等外部設(shè)備進(jìn)行讀寫(xiě),其不僅要保證讀寫(xiě)數(shù)據(jù)的完整性,而且還要對(duì)讀寫(xiě)時(shí)間進(jìn)行控制;協(xié)議層負(fù)責(zé)將上層需要發(fā)送的數(shù)據(jù)按照協(xié)議格式組裝成數(shù)據(jù)幀,向下傳遞給通信層,或接收來(lái)自通信層的數(shù)據(jù),根據(jù)應(yīng)用協(xié)議進(jìn)行解析,向上傳遞給業(yè)務(wù)層;業(yè)務(wù)層負(fù)責(zé)處理來(lái)自遠(yuǎn)程設(shè)備或手持設(shè)備的請(qǐng)求,根據(jù)請(qǐng)求向PLC發(fā)送指令進(jìn)行控制。本系統(tǒng)充分利用軟件的分層設(shè)計(jì)來(lái)降低數(shù)據(jù)交互的復(fù)雜度,并且使整個(gè)系統(tǒng)的軟件和硬件耦合度降低。

        2.2 Modbus/TCP通信協(xié)議

        Modbus協(xié)議是一種工業(yè)通信和分布式控制系統(tǒng)協(xié)議,屬于主從網(wǎng)絡(luò),是一種基于應(yīng)用層的報(bào)文傳輸協(xié)議,協(xié)議采用命令/應(yīng)答模式實(shí)現(xiàn)一個(gè)主機(jī)對(duì)一個(gè)或多個(gè)從機(jī)的通信[10]。TCP協(xié)議是基于傳輸層的協(xié)議,為面向連接的端到端可靠傳輸協(xié)議,還可提供設(shè)備間的全雙工連接,保證傳輸?shù)膶?shí)時(shí)性。

        Modbus/TCP通信模型是將Modbus協(xié)議作為應(yīng)用層嵌入底層TCP/IP中,如圖5所示,采用Client/Server模式進(jìn)行報(bào)文傳輸。在客戶(hù)端,負(fù)責(zé)把來(lái)自用戶(hù)的信息(如用戶(hù)要求執(zhí)行的操作和被控制的對(duì)象等)封裝成Modbus幀;在服務(wù)器端,負(fù)責(zé)解釋來(lái)自客戶(hù)端的Modbus幀,執(zhí)行相應(yīng)的請(qǐng)求[11]。最終實(shí)現(xiàn)上位工控機(jī)對(duì)PLC寄存器、I/O輸入口信號(hào)讀取的監(jiān)控功能。

        2.3 數(shù)據(jù)交換

        PLC提供了大量的數(shù)據(jù)寄存器,并將寄存器分成各種功能塊,其中包含了中間繼電器區(qū)、開(kāi)關(guān)量輸出繼電器區(qū)、模擬量輸出寄存器區(qū)、開(kāi)關(guān)量輸入繼電器區(qū)、計(jì)數(shù)器等功能寄存器區(qū)、模擬量輸入寄存器區(qū)、數(shù)據(jù)寄存器區(qū)等。

        圖5 Modbus/TCP模型

        基于通信協(xié)議設(shè)計(jì)架構(gòu),在Windows操作環(huán)境下編程時(shí),選擇已有的pyModbusTCP庫(kù)函數(shù)。pyModbusTCP庫(kù)允許通過(guò)雙向通信的方式使用指定的MODBUS地址從PLC中讀取數(shù)據(jù),并通過(guò)以太網(wǎng)將數(shù)據(jù)寫(xiě)入PLC。pyModbusTCP使用TCP/IP連接上的異步通信,減少了代碼量,并具有良好的調(diào)試和連接管理功能。

        可讀PLC指定地址寄存器線圈字節(jié),以此讀取每一位數(shù)據(jù)值進(jìn)行后續(xù)分析。下面代碼利用面向?qū)ο蟮木幊趟枷?,設(shè)置 Modbus Tcp Client類(lèi),及對(duì)應(yīng)的連接方法如connect,實(shí)際函數(shù)內(nèi)部采用winsocket編程,Socket編程是為了簡(jiǎn)化TCP/UDP通信而產(chǎn)生的技術(shù),是一個(gè)通信連接在本端的句柄(該句柄由本地操作系統(tǒng)分配和管理),建立Socket連接后通信雙方通過(guò)本地的Socket句柄和對(duì)端通信[12]。

        下列為利用Socket函數(shù)進(jìn)行初始化地址設(shè)置及連接相應(yīng)端口,并設(shè)置連接超時(shí),確定連接在設(shè)置時(shí)間內(nèi)是否成功連接,并返回連接結(jié)果的代碼段:

        #Client connection

        import socket

        from socket import*

        ADDR=(HOST=‘192.168.1.100’,PORT=52)

        try:

        tcpCliSocket=socket(AF_INET,SOCK_STREAM)

        tcpCliSocket.settimeout(10)

        tcpCliSocket.connect(ADDR)

        tcpCliSocket.settimeout(None)

        print(“Connect Successful”)

        except:

        print(“Connect Failure!”)

        同時(shí)利用庫(kù)函數(shù),可實(shí)現(xiàn)讀寫(xiě)寄存器的功能,以此簡(jiǎn)化編程操作,滿(mǎn)足適應(yīng)任何平臺(tái)的交互。下列為設(shè)置連接后讀取相應(yīng)位置寄存器內(nèi)數(shù)據(jù)功能的代碼段:

        from pymodbus.client.sync import ModbusTcpClient

        #modbus connection

        client=ModbusTcpClient(‘192.168.1.100’)

        connnection=client.connect()

        #read register

        request=client.read_h(yuǎn)olding_registers(***,3)

        result=request.registers

        3 實(shí)驗(yàn)結(jié)果

        3.1 通信測(cè)試

        PLC端寄存器通過(guò)遠(yuǎn)程手持設(shè)備(如遙控設(shè)備)進(jìn)行測(cè)試值的遠(yuǎn)程輸入,測(cè)試電腦運(yùn)行程序讀取PLC相應(yīng)寄存器內(nèi)的數(shù)據(jù)值。具體測(cè)試流程如圖6所示。

        圖6 測(cè)試程序流程

        遙控設(shè)備輸入信號(hào)值將對(duì)應(yīng)起重機(jī)相應(yīng)動(dòng)作位,因此我們通過(guò)現(xiàn)場(chǎng)遙控設(shè)備發(fā)送的通信信號(hào)采集PLC對(duì)應(yīng)寄存器信號(hào)后,可經(jīng)過(guò)分析得到大車(chē)小車(chē)、主鉤的運(yùn)動(dòng)方向及運(yùn)動(dòng)速度(由控制信息可分析出運(yùn)行的檔位,對(duì)照起重機(jī)國(guó)家標(biāo)準(zhǔn),可得到對(duì)應(yīng)裝置運(yùn)行速度),對(duì)應(yīng)信息如表1所示。

        表1 起重機(jī)各機(jī)構(gòu)主要參數(shù)(速度) m/min

        例如手持設(shè)備控制信息為大車(chē)向前移動(dòng)一檔,PLC將通過(guò)控制變頻器繼而控制電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)橋式起重機(jī)的大車(chē)向前運(yùn)動(dòng)動(dòng)作,并且電機(jī)將以起重機(jī)標(biāo)準(zhǔn)規(guī)定的一檔速度運(yùn)動(dòng)。

        3.2 程序界面

        我們利用工控機(jī)上Python程序進(jìn)行通信動(dòng)作狀態(tài)的監(jiān)測(cè),將手持設(shè)備傳輸?shù)耐ㄐ艅?dòng)作指令進(jìn)行解碼,從而在驗(yàn)證通信過(guò)程的同時(shí)獲取設(shè)備狀態(tài)信息。在確定工控機(jī)、PLC的網(wǎng)絡(luò)連接及通信正常后,運(yùn)行工控機(jī)程序進(jìn)行測(cè)試。

        (1)查看工控機(jī)程序是否成功連接到PLC,程序運(yùn)行界面如圖7所示。

        圖7 工控機(jī)成功與PLC連接

        (2)查看通信狀態(tài)輸出及起重機(jī)動(dòng)作狀態(tài)。圖8為工控機(jī)程序讀到的起重機(jī)初始動(dòng)作狀態(tài),此時(shí)控制大車(chē)、小車(chē)、主起升的開(kāi)關(guān)量都為0,起重機(jī)的大車(chē)、小車(chē)、主起升等機(jī)構(gòu)均應(yīng)處于靜止?fàn)顟B(tài)。

        圖8 初始狀態(tài)

        (3)改變手持設(shè)備的通信控制狀態(tài),觀察此時(shí)起重機(jī)接收狀態(tài)及起重機(jī)運(yùn)動(dòng)狀態(tài)是否有變化。圖9為遙控器狀態(tài)改變。圖9表示此時(shí)接收到的通信動(dòng)作指令為:大車(chē)右行一檔、主起升上升一檔。此時(shí)大車(chē)應(yīng)該以一檔的速度向右行駛,主起升以一檔的速度上升。

        圖9 遙控器狀態(tài)改變

        多次改變控制動(dòng)作指令狀態(tài),通信后讀取到起重機(jī)按照正確的方向、速度運(yùn)行,通信狀態(tài)穩(wěn)定可靠。

        3.3 實(shí)時(shí)分析

        為測(cè)試工控機(jī)數(shù)據(jù)交互的實(shí)時(shí)性和可靠性,我們通過(guò)網(wǎng)關(guān)向工控機(jī)信息路由發(fā)送分別包含2 000個(gè)傳輸數(shù)據(jù)包的4組數(shù)據(jù),重復(fù)發(fā)送實(shí)驗(yàn)5次,其大小分別為128B、256B、512B和1kB,檢測(cè)發(fā)送成功后統(tǒng)計(jì)每組重復(fù)數(shù)據(jù)傳輸過(guò)程中的傳輸時(shí)延及丟包率,結(jié)果如表2所示。

        表2 通信測(cè)試結(jié)果

        表2中的結(jié)果驗(yàn)證了工控機(jī)信息路由的數(shù)據(jù)包捕獲轉(zhuǎn)發(fā)過(guò)程能正常進(jìn)行,且丟包率低,滿(mǎn)足通信交互的實(shí)時(shí)性和可靠性要求。

        4 結(jié)語(yǔ)

        本文創(chuàng)新地利用Python語(yǔ)言及開(kāi)源庫(kù)在Windows編程環(huán)境下實(shí)現(xiàn)了橋式起重機(jī)自動(dòng)化過(guò)程中的中層控制工控機(jī)的編程,實(shí)現(xiàn)了工控機(jī)與起重機(jī)機(jī)載PLC的數(shù)據(jù)交換過(guò)程。

        Windows環(huán)境下編寫(xiě)的工控機(jī)程序具有一定的普適性,還能避免傳統(tǒng)Linux環(huán)境下編程指令復(fù)雜、界面操作困難等弊端。有效地減少了系統(tǒng)環(huán)境限制,同時(shí)使用Windows下現(xiàn)有api函數(shù)庫(kù)與類(lèi),簡(jiǎn)化了編程難度與代碼復(fù)雜程度,具有一定的推廣價(jià)值。

        猜你喜歡
        智能化功能
        也談詩(shī)的“功能”
        智能化戰(zhàn)爭(zhēng)多維透視
        軍事文摘(2022年19期)2022-10-18 02:41:14
        大型公共建筑智能化系統(tǒng)造價(jià)控制
        智能化的“世界觀”
        印刷智能化,下一站……
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        基于“物聯(lián)網(wǎng)+”的智能化站所初探
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡(jiǎn)直”和“幾乎”的表達(dá)功能
        石油石化演進(jìn)智能化
        能源(2015年8期)2015-05-26 09:15:56
        国产精品系列亚洲第一| 亚洲综合新区一区二区| 海外华人在线免费观看| 国产不卡视频在线观看| 国产太嫩了在线观看| 国产成人精品一区二区三区视频| 熟妇五十路六十路息与子| 无码一区二区三区人| 亚洲中文字幕一区精品| 偷看农村妇女牲交| 女人做爰高潮呻吟17分钟| 亚洲国产成人无码电影| 日韩一级精品视频免费在线看| 俺去啦最新地址| 久久久久亚洲av无码a片软件| 亚洲国产日韩欧美高清片a| 国产中文色婷婷久久久精品| 肉色欧美久久久久久久免费看| 国产97色在线 | 日韩| 国产激情在观看| 精品女同一区二区三区亚洲| 欧美奶涨边摸边做爰视频| 国产内射999视频一区| 最新日韩av在线不卡| 久久久国产熟女综合一区二区三区 | ā片在线观看免费观看| 无遮挡中文毛片免费观看| 国产丝袜长腿在线看片网站| 成人免费无码视频在线网站| 国产小受呻吟gv视频在线观看| 国产精品国产三级国产在线观| 国产av剧情刺激对白| 久久精品噜噜噜成人| 欧美一区二区午夜福利在线yw| 亚洲福利一区二区不卡| 午夜成人理论福利片| 久久精品夜夜夜夜夜久久| 国产美女久久久亚洲综合| 久久国内精品自在自线| 午夜精品久久久久成人| 色偷偷女人的天堂亚洲网|