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

        ?

        基于STM32和LabVIEW的嵌入式可編程控制系統(tǒng)

        2023-05-31 09:22:02史曉娟程森林
        儀表技術(shù)與傳感器 2023年4期
        關(guān)鍵詞:用戶程序觸點端口

        史曉娟,姚 兵,王 磊,程森林

        (西安科技大學(xué)機械工程學(xué)院,陜西西安 710054)

        0 引言

        可編程邏輯控制器(PLC)是針對工業(yè)控制而設(shè)計的數(shù)字運算電子控制器,是工業(yè)控制系統(tǒng)的核心器件,在自動控制領(lǐng)域發(fā)揮了重要作用。但由于傳統(tǒng)PLC兼容性差、缺乏統(tǒng)一標準等因素,難以形成開放的軟硬件體系結(jié)構(gòu),同時又無法滿足客戶的個性化和差異化需求[1-2]。

        嵌入式PLC的架構(gòu)較為開放,不僅具有傳統(tǒng)PLC的邏輯控制功能,而且軟硬件均可根據(jù)需求定制,可實現(xiàn)特殊控制功能,具有較高的靈活性,在融合控制算法方面也具有明顯優(yōu)勢[3]。雷路路[4]研究了一種嵌入式PLC,采用與三菱PLC產(chǎn)品兼容的方式開發(fā),需配合三菱PLC軟件使用,開放程度較低,難以實現(xiàn)特殊控制功能。許貞俊[5]研究了一種快速嵌入式PLC,采用德國Inforteam的OpenPCS系統(tǒng)開發(fā),嵌入式PLC功能完善,但由于系統(tǒng)封閉,軟硬件拓展困難。針對以上問題,本文設(shè)計了基于STM32的嵌入式PLC,提出一種嵌入式PLC系統(tǒng)執(zhí)行語句表指令的方法,利用通用的通訊工具即可編輯用戶程序,并且對語句表指令格式要求更低,開發(fā)用戶程序時更加便捷高效。同時基于LabVIEW設(shè)計的嵌入式PLC監(jiān)控中心,可對嵌入式PLC遠程監(jiān)測和控制。

        1 系統(tǒng)硬件總體設(shè)計

        嵌入式PLC硬件總體結(jié)構(gòu)如圖1所示,其中包含主控芯片、輸入模塊、輸出模塊、通訊模塊、顯示模塊、復(fù)位模塊、按鍵模塊和電源模塊。采用STM32F407微處理器作為嵌入式PLC的控制核心,負責(zé)系統(tǒng)的運算和控制任務(wù)。嵌入式PLC設(shè)計為16路數(shù)字量輸入、8路模擬量輸入和16路數(shù)字量輸出的結(jié)構(gòu)。

        圖1 嵌入式PLC硬件總體結(jié)構(gòu)

        1.1 電源模塊電路設(shè)計

        根據(jù)嵌入式PLC硬件結(jié)構(gòu),電源模塊需提供12、5、3.3 V的電壓。電源模塊電路如圖2所示,電源模塊由24 V直流電源供電,熔斷器后串聯(lián)整流二極管,在正負極兩端接共模電感,濾除共模干擾信號和后級電路產(chǎn)生的電磁干擾。24 V電壓通過LM2576-12、LM7805和ASM1117-3.3集成穩(wěn)壓電路輸出所需電壓[6]。各集成穩(wěn)壓電路的輸入和輸出端均使用電容濾波。

        圖2 電源模塊電路

        1.2 數(shù)字量輸入和輸出模塊電路設(shè)計

        嵌入式PLC數(shù)字量輸入和輸出模塊電路如圖3所示。數(shù)字量信號通過X輸入端口輸入時,使用L217光耦實現(xiàn)光電隔離,并在光耦前端采用RC濾波電路,濾除電路在開關(guān)瞬間產(chǎn)生的尖波信號,避免光耦誤判,最后信號由Xpin引腳輸入芯片。嵌入式PLC數(shù)字量輸出模塊同樣采用光電隔離方式設(shè)計,由Ypin芯片引腳輸出控制信號,通過光電隔離將信號映射到Y(jié)輸出端口,驅(qū)動被控對象。

        (a)數(shù)字量輸入模塊

        (b)數(shù)字量輸出模塊圖3 數(shù)字量輸入和輸出模塊電路

        1.3 模擬信號調(diào)理電路設(shè)計

        嵌入式PLC模擬數(shù)字轉(zhuǎn)換器的轉(zhuǎn)換參數(shù)是電壓,傳感器輸出的電流信號需要經(jīng)過調(diào)理電路轉(zhuǎn)換為電壓信號。模擬信號調(diào)理電路如圖4所示,輸入4~20 mA的電流信號通過電阻R6轉(zhuǎn)換為0.06~0.3 V的電壓信號,再由放大電路將電壓放大后輸出0.6~3 V的電壓。通過串聯(lián)電阻R12增加輸入阻抗,可以減少信號損失。二極管D3、D4使輸入微控制器引腳的電壓限制在0~3 V之間。電路中C11和C14電容的作用是濾波,提高信號質(zhì)量。最終轉(zhuǎn)換后的電壓信號通過Vpin引腳輸入芯片進行處理。

        圖4 模擬信號調(diào)理電路

        1.4 通訊模塊電路設(shè)計

        嵌入式PLC的通訊模塊電路如圖5所示。控制器集成3種通訊接口,控制系統(tǒng)中僅有1臺嵌入式PLC時,使用RS232串口或HC-25 WiFi模塊實現(xiàn)通訊。HC-25 WiFi模塊內(nèi)置IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,無線通訊方式可以有效解決線路布置問題??刂葡到y(tǒng)中多臺嵌入式PLC組網(wǎng)時,采用CAN總線通信,TAJ1050T收發(fā)器連接CAN控制器和物理總線,并將TTL電平信號和差分信號相互轉(zhuǎn)換[7]。

        (a)RS232通訊電路

        (b)CAN總線通訊電路

        (c)WiFi模塊電路連接圖圖5 通訊模塊電路

        2 系統(tǒng)軟件總體設(shè)計

        嵌入式PLC系統(tǒng)軟件結(jié)構(gòu)如圖6所示,系統(tǒng)軟件由嵌入式PLC系統(tǒng)程序和上位機監(jiān)控中心組成。嵌入式PLC監(jiān)控中心主要由監(jiān)控模塊和用戶程序編輯模塊構(gòu)成。為確保嵌入式PLC實時性,移植μC/OS-Ⅲ操作系統(tǒng),嵌入式PLC系統(tǒng)程序的核心是PLC指令驅(qū)動程序,PLC指令驅(qū)動程序由語句表格式化程序、指令編碼程序、指令解釋程序、輸入采樣程序和輸出刷新程序構(gòu)成。指令解釋程序包含指令分析程序和指令解釋子程序。

        圖6 嵌入式PLC系統(tǒng)軟件結(jié)構(gòu)

        2.1 μC/OS-Ⅲ操作系統(tǒng)移植

        嵌入式PLC系統(tǒng)執(zhí)行用戶程序時,同時處理信號采樣、按鍵檢測、顯示、通訊等任務(wù),μC/OS-Ⅲ實時操作系統(tǒng)能夠根據(jù)任務(wù)優(yōu)先級實現(xiàn)多任務(wù)管理與調(diào)度[8]。

        移植μC/OS-Ⅲ操作系統(tǒng)時,根據(jù)微控制器特性修改bsp.h、bsp.c、os_cpu_a.asm、os_cpu_c.c、os_cfg_app.h等文件。同時將原順序執(zhí)行任務(wù)分割為獨立的循環(huán)任務(wù),并按照重要程度劃分優(yōu)先級。用戶程序執(zhí)行任務(wù)和模擬信號轉(zhuǎn)換任務(wù)設(shè)置為中優(yōu)先級任務(wù),通訊任務(wù)設(shè)置為高優(yōu)先級。

        此方法對網(wǎng)絡(luò)文本內(nèi)容進行處理,分析文本的每一個詞目,將樣本內(nèi)容分解為若干個分析單元,對每一個單元進行整合,評判單元內(nèi)所表現(xiàn)的事實并進行定量的統(tǒng)計描述,可以進行特征分析、發(fā)展分析和比較分析[3]。

        2.2 用戶程序接收原理

        嵌入式PLC用戶程序接收流程圖如圖7所示。系統(tǒng)初始化包括系統(tǒng)初始配置及各狀態(tài)標識初始化。系統(tǒng)通過判斷用戶程序接收狀態(tài)標識和接收次數(shù)標識進入不同狀態(tài),系統(tǒng)初始化后處于等待接收用戶程序狀態(tài)。首次完成接收后,更新標識,并將用戶程序?qū)懭隦OM,隨后調(diào)用PLC指令驅(qū)動程序。再次完成接收時,更新接收次數(shù)標識,系統(tǒng)停止執(zhí)行原用戶程序,并將新用戶程序?qū)懭隦OM,通過這種方式可實現(xiàn)用戶程序?qū)崟r修改。

        圖7 用戶程序接收流程圖

        2.3 PLC指令驅(qū)動程序設(shè)計

        2.3.1 軟元件配置

        PLC指令驅(qū)動程序能夠驅(qū)動執(zhí)行常用PLC指令,包括輸入觸點X、輸出線圈Y、繼電器M和定時器T、計數(shù)器C等軟元件的使用,各軟元件數(shù)量均配置為256。軟元件根據(jù)其操作數(shù)存儲在RAM對應(yīng)的映像區(qū)中。觸點或線圈占用1 bit存儲空間,表示開關(guān)狀態(tài)。定時器和計數(shù)器需要存儲觸點、線圈、設(shè)定值和當(dāng)前值,其中觸點、線圈各占用1 bit,設(shè)定值和當(dāng)前值各占用4 Byte。

        線圈和觸點存儲地址的計算方法如式(1)所示,定時器和計數(shù)器的設(shè)定值及當(dāng)前值的存儲地址如式(2)所示。

        BitAdd=BaseAdd+OffsetAdd+N/8

        (1)

        式中:BitAdd為線圈或觸點的存儲地址;BaseAdd為存儲基地址,設(shè)置為0x20001000;OffsetAdd為偏移地址,根據(jù)軟元件類型分配;N為序號。

        ValueAdd=BaseAdd+OffsetAdd+4N

        (2)

        式中:ValueAdd為定時器和計數(shù)器的當(dāng)前值或設(shè)定值存儲地址。

        依據(jù)式(1)計算出線圈或觸點的存儲地址,再進一步通過N%8可計算其處于字節(jié)中的位地址。各軟元件的具體存儲地址可根據(jù)表1 軟元件偏移地址計算。定時器T、計數(shù)器C的設(shè)定值和當(dāng)前值的具體存儲地址可根據(jù)表2數(shù)值偏移地址計算。

        表1 軟元件偏移地址

        表2 數(shù)值偏移地址

        2.3.2 用戶程序執(zhí)行原理

        用戶程序執(zhí)行原理如圖8所示,系統(tǒng)調(diào)用輸入采樣程序,檢測輸入端口電平信號,并將電平值存入輸入映像區(qū)。用戶程序和輸入信號經(jīng)過指令解釋程序分析運算,將輸出線圈的值保存在輸出映像區(qū),最終利用輸出刷新程序輸出控制信號[9]。嵌入式PLC系統(tǒng)循環(huán)執(zhí)行輸入采樣、解釋用戶程序和輸出刷新3個過程,實現(xiàn)邏輯控制功能。

        圖8 用戶程序執(zhí)行原理

        2.3.3 指令解釋程序設(shè)計

        傳統(tǒng)PLC使用專用集成開發(fā)環(huán)境編輯用戶程序,本文提出一種由嵌入式PLC識別并執(zhí)行標準語句表指令的方法,利用通用通訊工具即可編輯和修改用戶程序。如圖9所示,使用Android設(shè)備并利用網(wǎng)絡(luò)調(diào)試工具編輯和修改用戶程序。編輯的語句表中允許存在空格、換行和分號等字符,軟元件地址碼可使用連續(xù)可變位數(shù)的數(shù)字字符串表示,有效提高用戶程序編輯的便捷性和容錯性。該方法實現(xiàn)的核心在于語句表格式化程序和指令編碼程序。利用語句表格式化程序?qū)邮盏挠脩舫绦蝾A(yù)處理,過濾無效字符,并重新順序排列。通過指令編碼程序?qū)⒚織l指令的操作碼和操作數(shù)統(tǒng)一編碼為短整型數(shù)據(jù),有效降低指令解釋難度。

        圖9 編輯用戶程序界面

        指令解釋程序包含指令分析程序和指令解釋子程序。解釋語句表時首先調(diào)用指令分析程序識別操作碼,根據(jù)操作碼類型調(diào)用指令解釋子程序,指令解釋子程序通過識別操作數(shù),尋址讀取軟元件,并與運算棧的值進行邏輯運算,運算結(jié)果再次保存在運算棧中。輸出線圈時,讀取運算結(jié)果并寫入輸出映像區(qū)。指令解釋程序流程如圖10所示。

        圖10 指令解釋程序流程圖

        讀寫軟元件時,通過位尋址修改和訪問對應(yīng)的映像區(qū)。解釋用戶程序之前,首先建立8位運算棧變量Result。用戶程序在梯形圖上具有分支結(jié)構(gòu)時,變量Result左移1位(模擬進棧)并將運算結(jié)果保存在最低位,完成分支運算后,運算棧Result右移1位(模擬出棧),保存運算結(jié)果。例如執(zhí)行LD取指令時,運算棧Result左移1位,讀入觸點狀態(tài),若觸點值為1,通過或運算將運算棧Result最低位置1;若觸點值為0,由于運算棧Result左移時,最低位已為0,直接讀取下一條指令。LD指令解釋流程如圖11所示。運算完成后,根據(jù)輸出映像區(qū)對應(yīng)值輸出控制信號。

        圖11 LD指令解釋流程圖

        2.4 監(jiān)控中心設(shè)計

        嵌入式PLC監(jiān)控中心利用LabVIEW軟件開發(fā),系統(tǒng)界面如圖12所示。

        圖12 嵌入式PLC監(jiān)控中心界面

        嵌入式PLC定時讀取映像區(qū)數(shù)據(jù),通過通訊模塊發(fā)送給上位機的監(jiān)控中心,實現(xiàn)輸入輸出端口電平可視化。同時監(jiān)控中心可編輯、修改用戶程序,控制系統(tǒng)運行。

        3 系統(tǒng)測試

        3.1 邏輯控制測試

        為測試嵌入式PLC邏輯控制的可行性及可靠性,選擇機械臂作為控制對象。通過編制語句表類型的用戶程序控制機械手前后移動,機械臂動作控制方案如表3所示。

        表3 機械臂動作控制方案

        實驗結(jié)果表明:嵌入式PLC對機械臂的控制動作符合設(shè)定方案。通過讀取監(jiān)控中心數(shù)據(jù)繪制各端口時序圖,輸入輸出端口時序如圖13所示,驗證了嵌入式PLC準確執(zhí)行用戶程序,實現(xiàn)了可編程邏輯控制。

        圖13 輸入輸出端口時序圖

        3.2 實時性測試

        為了檢測嵌入式PLC的實時控制性能,通過標記時間戳來計算系統(tǒng)響應(yīng)時間。在機械臂動作控制實驗中,根據(jù)控制邏輯可知,按鈕SB和SB1被分別按下后,Y0和Y1端口電平立即跳變,可分別記錄觸發(fā)輸入端口X0和X1后,Y0和Y1端口輸出高電平的響應(yīng)時間。對系統(tǒng)進行100次測試,實時性測試結(jié)果如表4所示。Y0端口最大響應(yīng)時間為19 ms,平均響應(yīng)時間為16.3 ms;Y1端口最大響應(yīng)時間為18 ms,平均響應(yīng)時間為15.2 ms,表明系統(tǒng)具有良好的實時性。

        表4 系統(tǒng)實時性典型測試結(jié)果 ms

        4 結(jié)束語

        本文設(shè)計的嵌入式PLC系統(tǒng)克服了傳統(tǒng)PLC兼容性差的缺點,能夠根據(jù)需求定制軟硬件。該系統(tǒng)采用多種通訊方式,具有較強的適應(yīng)性。與傳統(tǒng)PLC相比,該系統(tǒng)可利用通用設(shè)備編輯和修改用戶程序,便于用戶程序開發(fā)?;贚abVIEW的監(jiān)控中心可實時監(jiān)測與控制系統(tǒng)運行。通過實驗驗證了該嵌入式PLC系統(tǒng)的可行性和可靠性,且具有較高的實時性。

        猜你喜歡
        用戶程序觸點端口
        中國人民大學(xué)新聞學(xué)院教授 林升棟:將消費者觸點思維融入廣告媒體計劃
        一種端口故障的解決方案
        航空電轉(zhuǎn)換器的損傷原因分析及修理
        變速箱控制系統(tǒng)Bootloader設(shè)計與實現(xiàn)
        嵌入式設(shè)備遠程升級方案設(shè)計
        端口阻塞與優(yōu)先級
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實例探討
        C8051F410單片機BootLoader的實現(xiàn)
        接觸器式繼電器的失效分析
        中文字幕亚洲精品码专区| 午夜亚洲av日韩av无码大全| 中文字幕日韩精品永久在线| 色大全全免费网站久久| 小鲜肉自慰网站| 91精品福利观看| 国产自产拍精品视频免费看| 日本亚洲视频免费在线看| 日韩经典午夜福利发布| 国产亚洲精品bt天堂精选| 97久久精品人人做人人爽| 亚洲精品123区在线观看| 人妻精品人妻一区二区三区四五| av在线免费观看大全| 蜜桃一区二区三区| a国产一区二区免费入口| 精品国产品欧美日产在线| 日本一级二级三级在线| 亚洲tv精品一区二区三区| 少妇无码av无码一区| 亚洲AV无码专区一级婬片毛片| 国产蜜臀精品一区二区三区| 极品嫩模大尺度av在线播放| 国产在视频线精品视频| 99精品欧美一区二区三区美图| 日本在线免费不卡一区二区三区| 国产成人精品日本亚洲专区61| 国产亚洲av人片在线观看| 亚洲无码美韩综合| av在线免费高清观看| 成年免费视频黄网站zxgk| 亚洲高潮喷水中文字幕| 国产一区二区三区四区在线视频| 欧美精品videosse精子| 国产精品原创巨作AV女教师| 亚洲黄色官网在线观看| 色欲色香天天天综合网www| 丁香五香天堂网| 无码AⅤ最新av无码专区| 日本高清不卡二区三区| 人妻精品久久久久中文字幕69|