<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯網與傳感器 > 設計應用 > Arduino Opta PLC實操案例:貨物傳送

          Arduino Opta PLC實操案例:貨物傳送

          作者:Michael Parks,貿澤電子時間:2024-02-06來源:電子產品世界收藏


          本文引用地址:http://www.ex-cimer.com/article/202402/455406.htm

          image.png

          可編程邏輯控制器 (PLC) 是現代工業自動化的基石,為控制機器和流程提供一個強大而靈活的平臺。簡單來說,PLC是一種工業數字計算機,適用于控制裝配線、機器人設備等制造過程,或任何需要高可靠性、容易編程且能進行故障診斷的活動。PLC發明于20世紀60年代末,旨在取代當時復雜的繼電器和定時器系統。Richard Morley通常被認為是1968年發明第一臺PLC(Modicon)的功臣。從那時起,隨著技術的不斷發展,PLC已成為眾多應用領域的重要組件,包括機器控制、樓宇自動化、預測性維護、數據記錄、遠程監控和安防等。

          PLC由以下幾個關鍵部件組成:

          ●   處理器 (CPU):它控制PLC的所有活動,處理來自輸入模塊的數據,并向輸出模塊發送信號。

          ●   輸入/輸出模塊 (I/O):PLC可以借助這些模塊與外界互動。輸入模塊接收來自傳感器和人機界面 (HMI) 的數據,而輸出模塊則向執行器和其他設備發送信號。

          ●   存儲器:存儲用戶的程序和流程所需的其他信息。

          ●   通信端口:用于實現PLC與其他設備(如計算機、其他PLC和網絡系統)之間的通信。

          ●   電源:為PLC及其I/O模塊的運行提供必要的電力。

          最近,Arduino攜Opta平臺(圖1)進入了PLC市場,這是一款安全、易用的微型PLC,具有工業物聯網 (IIoT) 功能。該平臺是Arduino與領先的工業和樓宇自動化設備制造商Finder合作設計的。Opta讓專業人員能夠利用Arduino生態系統擴展自動化項目。它支持Arduino sketch和標準PLC語言,包括梯形邏輯圖 (LD) 和功能塊圖 (FBD)。

          image.png

          圖1 Arduino已經攜Opta系列PLC進入了可編程邏輯控制器市場(圖源:Arduino)

          Opta有三種型號:Arduino Opta Lite、Arduino Opta RS485以及功能最豐富的Arduino Opta Wi-Fi?。Opta配備有功能強大的STMicroelectronics STM32H747XI雙核Arm? Cortex?-M7+M4 MCU,可幫助用戶執行實時控制、監控以及實施預測性維護應用。根據型號的不同,Opta還提供多種網絡連接選項,包括USB、以太網和Wi-Fi? /低功耗藍牙,以及RS-485等特定行業協議。Opta是一款可安裝在DIN導軌上的設備,其設計高度可靠,采用雙核架構,無需外部冷卻,可在工業溫度范圍(-20°C至+50°C)內運行。Arduino Opta的主要特性包括:

          ●   安全性:Opta具有安全引導程序,支持使用TLS 1.2進行安全通信。

          ●   方便開發:Opta可使用Arduino IDE或Finder PLC IDE進行編程。

          ●   專業級IIoT功能:Opta具有多種連接選項,可以連接到互聯網用于遠程監控。

          在本項目中,我們將設計一個概念驗證傳送系統,按照尺寸對包裝箱進行分類。我們將通過本項目探索有關Arduino Opta的多個概念,包括使用Arduino 2.0 IDE和Arduino PLC IDE進行開發。我們還將完成硬件與PLC的連接過程。最后,我們將了解如何通過Arduino云將Opta連接到互聯網。

          物料清單和工具

          截至發布之日,物料清單總成本約為300美元(表1)。 

          表1 項目物料清單

          1707209535894451.png

          除了上面的物料,還推薦使用以下工具:

          ●   小型十字頭和平頭螺絲刀

          ●   剪線鉗/剝線鉗

          ●   小型尖嘴鉗

          ●   數字萬用表

          ●   高速互聯網連接

          ●   運行Windows 10或更高版本的PC

          資源

          ●   項目購物車在這里。

          ●   GitHub存儲庫在這里。

          硬件準備

          本項目將使用兩個紅外 (IR) 斷光束傳感器來檢測包裝箱及其尺寸。這類傳感器通常用于物體檢測、計數和安防系統等應用中。它們成對使用,發射器有兩根線,接收器有三根線。

          我們將把這對傳感器上下堆疊在一起。如果一個小箱子通過,它只能激活一個傳感器。而較大的箱子會中斷兩束光,同時激活兩個傳感器。最后,由于這兩個是5V傳感器,我們需要使用穩壓器將電壓從12V降到5V。圖2顯示了這兩個傳感器與Opta的連接方式。 

          1707209562121014.png

          圖2 顯示硬件連接的接線圖。請注意,上拉電阻是可選的,如果需要,可將紅外接收器OUT引腳連接至降壓轉換器的5V電壓(圖源:Green Shoe Garage)

          使用以下步驟連接紅外斷光束傳感器:

          1.將Opta的12V源極引腳連接到穩壓器的正 (+) 輸入端子。

          2.將Opta的GND (-) 源極引腳連接到穩壓器的負 (-) 輸入端子。

          3.將發射器(紅外LED)的VCC(電源)引腳連接至穩壓器的正 (+) 輸出端子。

          4.將發射器的GND(接地)引腳連接至穩壓器的負 (-) 輸出端子。

          5.將接收器的VCC(電源)引腳連接至穩壓器的正 (+) 輸出端子。

          6.將接收器的GND(接地)引腳連接至穩壓器的負 (-) 輸出端子。

          7.對于上方的斷光束傳感器,將OUT(信號)引腳連接至I3數字/模擬輸入端子。

          8.對于下方的斷光束傳感器,將OUT(信號)引腳連接至I4數字/模擬輸入端子。

          9.根據您的具體模塊,可能需要增加一個上拉或下拉電阻。如果使用下拉電阻,則在信號引腳和接地引腳之間連接一個10kΩ電阻。

          接下來,將Opta PLC連接到專為對接直流電機而設計的電路板上。兩塊電路板將通過RS485總線Modbus RTU命令進行通信(半雙工,無終端電阻)??刂瓢灏刂浦绷麟姍C的繼電器,而直流電機將驅動傳送帶移動包裝箱。

          Opta控制板包含一個專用的RS485硬件端口,以嵌入式螺絲端子的形式安裝在外殼頂部。引腳分別標記為A(-)、GND和B(+)。除了用于供電的VIN引腳外,電機控制板還有其他相應的引腳。通過以下步驟將PLC與控制器連接起來:

          1.將PLC的A(-) 引腳連接到控制板的A(-) 引腳。

          2.將PLC的B(+) 引腳連接到控制板的B(+) 引腳。

          3.將PLC的GND引腳連接到控制板的GND引腳。

          4.將PLC的12V電壓連接到控制板的VIN引腳。

          最后,我們必須將12V直流電機連接到控制繼電器。我們希望兩個電機的旋轉方向相反。電機將由Opta 12V端口供電。

          1.將Opta的12V引腳連接到控制板的NO1引腳。

          2.將繼電器控制板的COM1端口連接到直流電機的其中一條引線。

          3.將直流電機的另一條引線連接到Opta的GND引腳。

          4.將Opta的12V引腳連接到控制板的NO2引腳。

          5.將繼電器控制板的COM2端口連接到第二個直流電機的其中一條引線。確保引線與第一臺電機的引線相反,以保證它們的旋轉方向相反。

          6.將第二臺直流電機的另一條引線連接到Opta的GND引腳。

          軟件開發

          Opta的編程有幾種不同的選擇,包括傳統的Arduino IDE 2.0和Web編輯器。Opta還兼容Arduino PLC IDE,可使用工業自動化應用中的傳統語言進行編程。Opta Wi-Fi?型號還可以連接到Arduino IoT Cloud,通過Web瀏覽器或Arduino IoT Cloud Remote智能手機App接收遙測數據和進行遠程控制。

          由于我們的要求之一是PLC能與云通信以進行遠程監控,因此我們將從Arduino IoT Cloud儀表板開始配置我們的新設備(圖3)。首先,下載并安裝Arduino Create代理,允許設備與Arduino Cloud后臺通信。下載代理程序并查看安裝文檔。安裝完成后,用USB Type-C電纜將Opta連接到運行Create代理的開發人員工作站計算機上。 

          image.png

          圖3 在Arduino IoT Cloud上配置新設備(圖源:Green Shoe Garage)

          首先,我們只需導航到Devices選項卡,單擊Add按鈕并完成安裝向導,即可將Opta配置到Arduino IoT Cloud環境中。這一步將建立安全密鑰,允許Opta通過IoT Cloud秘密通信。我們還需要為Opta創建一個“數字雙胞胎”(在Arduino環境中稱為“thing”)(圖4)。為此,請單擊Things選項卡,然后單擊Create按鈕。 

          1707209632390900.png

          圖4 設置Opta PLC的數字雙胞胎(或稱“thing”)(圖源:Green Shoe Garage)

          完成后,PLC應顯示為已連接到IoT Cloud。如果使用Arduino憑據登錄,還可以在桌面IDE中訪問基于Web的代碼。

          代碼概覽

          我們先來看看本項目的關鍵文件:

          ●   main.ino負責設置設備和運行主循環的大部分工作。大多數與項目相關的源代碼都可以在這里找到。

          ●   thingProperties.h包含一些函數調用,用于將物理PLC連接到其在云中的虛擬雙胞胎。

          ●    arduino_secrets.h包含允許Opta連接到本地無線網絡的Wi-Fi? SSID和密碼。

          o   #define SECRET_OPTIONAL_PASS "NETWORK_PASSWORD"

          o   #define SECRET_SSID "NETWORK_NAME_HERE"

          關鍵庫、函數和變量

          除了默認包含的庫,我們還需要通過#include語句添加以下庫:

          ●   ArduinoModbus.h包含處理Modbus RTU通信數據包所需的代碼。

          ●   ArduinoTCloud.h允許Opta連接到Arduino IoT Cloud服務。

          ●   Arduino_ConnectionHandler.h提供一個ConnectionManager,用于控制連接和斷開、屬性變化更新和事件回調。

          這些庫主要用于Opta與直流電機控制器板的通信。該控制器板通過Modbus RTU串行通信協議進行通信,具體設置如下:

          ●   波特率:9600 bps

          ●   數據位數:8

          ●   奇偶校驗位:No

          ●   停止位:1

          以下是main.ino文件中用于Modbus通信的一些關鍵函數和變量:

          ●   byte controlBoardAddress = 0x01設置電機控制板的設備地址。

          ●   int motor1 = 1是電機寄存器,用于在檢測到高包裝箱時控制傳送帶。

          ●   int motor2 = 2是電機寄存器,用于在檢測到矮包裝箱時控制傳送帶。

          ●   int motorTimeOn = 5000設置檢測到包裝箱后傳送帶運行的持續時間。

          ●   ModbusRTUClient.begin(9600) 以給定的波特率啟動Modbus功能。

          ●   void holdingRegisterWrite(int dev_address, uint8_t reg_address, uint8_t holding_write)

          o   int dev_address:電機控制板的地址可能因制造商而異,請查閱控制板文檔。

          o   uint8_t reg_address:寫入電機控制板所執行命令的寄存器地址。寄存器編號與物理繼電器板編號相對應。該值介于0x00和0x0F之間。

          o   uint8_t holding_write:被寫入寄存器以控制繼電器的命令。這些命令包括:

          ●   0x0100:繼電器開啟

          ●   0x0200:繼電器關閉

          ●   0x0300:切換狀態繼電器

          ●   ModbusRTUClient.lastError() 返回一個字符串,其中包含Modbus產生的最后一條錯誤消息。

          接下來,我們檢查斷光束傳感器的代碼。我們可以使用幾種不同的方法進行配置,包括將其作為中斷的輸入,以便及時處理新包裝箱?;叵胍幌?,我們有兩對發射器/接收器。發射器一直處于開啟狀態,因此它們沒有代碼。我們將在代碼中處理接收器信號。請注意,這些傳感器都是ACTIVE LOW(低電平有效)類型,因此當光束因包裝箱的存在而中斷時,PLC將看到0V電壓。表2列出了一些關鍵函數和變量:

          表2 硬件引腳標示

          1707209708800979.png

          ●   void setup()

          o   pinMode(A2, INPUT):下方斷光束傳感器

          o   pinMode(A3, INPUT):上方斷光束傳感器

          o   attachInterrupt(digitalPinToInterrupt(A0), lowerBeamBreak_ISR, LOW):如果下方斷光束傳感器跳閘,我們就知道有包裝箱。然后我們將檢查上方斷光束傳感器,以確定包裝箱是高還是矮。

          o   void lowerBeamBreak_ISR():中斷服務例程 (ISR) 將檢測是否有物體干擾下方斷光束傳感器。

          最后一大段代碼用于將遙測數據通過Wi-Fi?通信傳回Arduino IoT Cloud。用于實現云通信的函數如下:

          ●   void setup()

          o  initProperties() 初始化“thing”屬性,以允許Opta與IoT Cloud通信。

          o  ArduinoCloud.begin(ArduinoIoTPreferredConnection) 啟動Wi-Fi?通信。

          o  setDebugMessageLevel(2) 設置調試信息的粒度。根據文檔說明,數字越大,獲得的信息越詳細;默認值為0(僅錯誤),最大值為4。

          ●   void loop()

          o   主循環的每次迭代都需要調用ArduinoCloud.update(),以便將遙測數據發回云端。

          ●   thingProperties.h

          o   bool lowerSensorTripped是一個變量,用于存儲下方斷光束傳感器的狀態。如果設置為TRUE,表示檢測到包裝箱。如果只有下方斷光束傳感器跳閘,說明包裝箱比較小。

          o   bool upperSensorTripped是一個變量,用于存儲上方斷光束傳感器的狀態。如果設置為TRUE,表示檢測到包裝箱。如果上方和下方傳感器都跳閘,說明檢測到了大包裝箱。

          o   ArduinoCloud.addProperty(lowerSensorTripped, READ, ON_CHANGE, NULL) 將下方斷光束傳感器的狀態發送到云端。

          o   ArduinoCloud.addProperty(upperSensorTripped, READ, ON_CHANGE, NULL) 將上方斷光束傳感器的狀態發送到云端。

          Arduino PLC IDE

          對Opta進行編碼的另一種方法是使用Arduino PLC IDE,這是一種軟件開發環境,允許使用IEC 61131-3標準語言對兼容PLC的Arduino設備進行編程。這是一款免費的開源軟件,僅適用于Windows系統。截至本文發布之日,PLC IDE的功能仍不如市場上其他一些PLC編程軟件豐富。不過Arduino PLC IDE包含多種功能,也是一款功能強大的PLC編程工具:

          ●   支持五種IEC 61131-3編程語言:梯形圖、功能塊圖、結構化文本、順序功能圖和指令表。

          ●   適用于Arduino和PLC編程的統一編程環境。

          ●   多種調試工具,幫助查找和修復代碼中的錯誤。

          ●   易于使用且直觀的用戶界面。

          Arduino PLC IDE是一款寶貴的工具,適用于想要對兼容PLC的Arduino設備進行編程的任何人。它易于使用和配置,并且功能豐富,是一款強大的PLC編程工具。

          使用以下步驟安裝和設置Arduino PLC IDE軟件:

          1.從Arduino網站下載Arduino PLC IDE和Arduino PLC IDE Tools。

          2.運行Arduino PLC IDE Tools安裝程序,并按照安裝說明進行操作。

          3.安裝完成后,打開Arduino PLC IDE。

          4.使用USB電纜將兼容PLC的Arduino設備連接到計算機。

          5.在Arduino PLC IDE中,單擊“Tools”菜單,然后單擊“Board”并選擇設備。

          6.在“Port”部分,選擇設備連接的COM端口。

          7.單擊“PLC IDE Bootloader”按鈕,將引導加載程序下載到設備。

          8.下載引導加載程序后,單擊“Connect”按鈕連接到設備。

          9.在“Device License”部分,輸入設備的硬件ID,然后單擊“Activate”按鈕。

          10.現在,您應該可以使用Arduino PLC IDE對兼容PLC的Arduino設備進行編程了。

          我們已經在GitHub存儲庫中提供了演示如何使用PLC IDE(圖5)對Opta進行編程的代碼。 

          1707209754638380.png

          圖5 Arduino PLC IDE為業界工程師提供了更常用的PLC開發工具(圖源:Green Shoe Garage)

          最后的組裝和故障排除

          硬件已組裝完畢,固件也已經燒寫到Opta PLC,我們接下來將為項目測試做最后的準備。在我們的設置中,斷光束傳感器將放置在傳送帶的兩側(圖6)。我們將把發射器放在右側,接收器放在左側。要特別注意將發射器和接收器水平和垂直對齊,以便一個大包裝箱能同時觸發兩個傳感器。請注意確保電線安全、整齊地穿過任何機械部件,如電機和傳送帶。

          1707209774316017.png

          圖6 一個小包裝箱將僅觸發下方斷光束傳感器(圖源:Green Shoe Garage)

          要查看遙測數據,可下載并進入Arduino Cloud Remote App,然后選擇相應的儀表板(圖7)。

          1707209808448605.png

          圖7 基于云的儀表板,用于監控傳送帶的活動(圖源:Green Shoe Garage)

          故障排除

          如果您在項目中遇到問題,可以參考我們在開發過程中發現的一些解決方法:

          ●   具體的連接問題可能隨不同的紅外斷光束傳感器型號而異,因此請務必查閱傳感器附帶的數據手冊或任意文檔。

          ●   確保紅外LED(發射器)和光電二極管或光電晶體管(接收器)正確對準,以檢測光束中斷情況。

          ●   避免將傳感器暴露在直射陽光或其他紅外光源下,因為它們可能會干擾傳感器的運行。

          ●   確保串行通信設置為9600 bps。

          ●   如果您的設備未列在Arduino PLC IDE中,可能需要安裝相應的Arduino內核。

          ●   如果您的設備沒有引導加載程序,則必須使用Arduino IDE進行燒寫。

          ●   在IDE和PLC IDE之間切換時,Wi-Fi?功能可能會中斷。使用Arduino IDE 2.0,需要通過導航至File > Examples > Portenta H7 board 747_system > example > wififirmwareupdater 來運行Wi-Fi固件更新。在固件刷新后,啟動串行監視器并完成安裝流程。然后刷新項目固件,Wi-Fi?連接即可恢復。

          總結

          五十多年來,在日新月異的技術領域,PLC始終是工業自動化不可或缺的一部分。Arduino進入這類嵌入式系統領域,為工業系統設計人員提供了令人興奮的新選擇,尤其是對于資源較為有限的小型企業而言。憑借其出色的適應性、靈活性和強大的功能,系列必將成為現代工業領域的風向標。

          用Arduino Opta Wi-Fi?代替傳統PLC,是將設備連入IIoT系統的一種便捷方式。使用傳統PLC編程技術的能力,可以幫助習慣于傳統PLC軟件開發的系統集成商更快適應。

          通過本項目,您應該對PLC的原理,以及使我們的工業化社會得以運轉的關鍵系統有了基本的了解。無論您是工程師、技術人員,還是僅僅對技術感興趣,都能為您提供強大的學習平臺,并為許多實際的自動化和遠程控制應用提供物美價廉的解決方案。

          作者簡介

          image.png

          專業工程師Michael Parks是Green Shoe Garage的聯合創始人。Green Shoe Garage是一家提供定制電子設計的工作室和嵌入式安全研究公司,位于馬里蘭州西部。Michael Parks創辦了《Gears of Resistance》播客來提升公眾對科技的認知。他還擁有馬里蘭州專業工程師資質,并獲得了約翰·霍普金斯大學系統工程碩士學位。



          評論


          相關推薦

          技術專區

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();