根據(jù)持續(xù)的用戶反饋,目前市場對 PLC 與 myCobot 系統(tǒng)集成的需求很大,因此本文提供的案例介紹了如何使用 PLC(可編程邏輯控制器)來控制 myCobot 320 機(jī)械臂。本案例重點介紹如何實現(xiàn)這一集成效果。
一、本項目使用的硬件組件
Raspberry Pi 4 Model B
M5Stack ESP32 Basic Core IoT Development Kit
Elephant Robotics myCobot 320 m5
二、知識概覽
什么是 PLC?
對于熟悉工業(yè)級機(jī)械臂的人來說,PLC 可能是一個熟悉的概念。PLC 代表可編程邏輯控制器,這是一種工業(yè)數(shù)字計算機(jī),專為控制工業(yè)環(huán)境中的各種機(jī)械和生產(chǎn)過程而設(shè)計。PLC 廣泛用于自動化,用于執(zhí)行邏輯控制、順序控制、定時、計數(shù)和算術(shù)運算等任務(wù)。
通過將機(jī)械臂的靈活性與 PLC 的穩(wěn)定性和實時功能相結(jié)合,可以為特定場景開發(fā)量身定制的解決方案。
myCobot 320 M5 智能協(xié)作機(jī)器人
myCobot 320 是一款 6 自由度機(jī)械臂,有兩個版本:一個使用 M5Stack-Basic 作為嵌入式開發(fā)板,另一個使用 Raspberry Pi 4B。手臂僅重 3360 克,重量輕且便于攜帶。它的末端執(zhí)行器可以處理最大 1000g 的有效載荷,足以滿足大多數(shù)實驗場景。此外,用戶可以將攝像頭或執(zhí)行器(如夾具或抽吸泵)連接到末端執(zhí)行器,留下大約 600 克的剩余有效載荷能力。手臂的最大工作半徑為 350 毫米,可在各種情況下靈活移動。
SiemensS7-1200 PLC是一款緊湊的模塊化可編程邏輯控制器,專為中小型自動化項目而設(shè)計。它提供高可靠性、實時性能和靈活的可擴(kuò)展性。S7-1200 支持多種工業(yè)協(xié)議(如 Profinet 和 Modbus),包括一個以太網(wǎng)接口,可與傳感器、執(zhí)行器和其他設(shè)備無縫集成。
它使用 TIA Portal 軟件進(jìn)行編程,支持梯形圖、功能塊圖和其他語言,使開發(fā)和維護(hù)變得簡單明了。廣泛應(yīng)用于工業(yè)生產(chǎn)、樓宇自動化和機(jī)械控制,提供穩(wěn)定高效的控制解決方案。
三、硬件操作
當(dāng)機(jī)械臂接收到 PLC 的 IO 信號時,它會執(zhí)行一個運動,將所有關(guān)節(jié)重置為零位置。此操作主要用于在兩個系統(tǒng)之間建立通信。
原理解釋:
1. 機(jī)械臂的輸出端口首先發(fā)送信號。
2. 一旦 PLC 檢測到輸入信號,它就會輸出一個信號來為 24V 繼電器線圈供電。
3. 繼電器的常開觸點閉合,將低電平信號傳輸?shù)綑C(jī)械臂的輸入端口。
4. 當(dāng)機(jī)械臂檢測到輸入信號時,它會執(zhí)行動作以將其所有關(guān)節(jié)重置為零位置。
硬件連接
將機(jī)械臂的輸入連接到 PLC 的輸出
1. PLC 為西門子 S7-1200,輸出類型為 PNP,而機(jī)械臂的輸入類型為 NPN。因此,需要一個中間繼電器來轉(zhuǎn)換信號。
2. 將電源連接到 PLC。
3、將繼電器線圈連接到PLC的公共端子和Q0.0
4.將繼電器的常開觸點連接到端子上。
5. 然后將端子連接到機(jī)器人的 IN1 輸入。
將機(jī)械臂的輸出連接到 PLC 的輸入
1. PLC 是西門子 S7-1200,其輸入類型支持 PNP 和 NPN。機(jī)械臂的輸出類型為 PNP,因此 PLC 輸入應(yīng)使用 PNP 配置。
2. 將 24V 連接到 PLC 的輸入端子。
3. 將機(jī)械臂的接地端(GND)和輸出 1(OUT1)連接到可編程邏輯控制器(PLC)的公共端和 I0.0。
4. 將端子插入機(jī)械臂的輸出端。
四、軟件操作
機(jī)械臂程序
from pymycobot import MyCobot import time # Initialize the myCobot on COM port 8 mc = MyCobot("COM8") # Set the basic output port 1 to low level (0) mc.set_basic_output(1, 0) # Infinite loop to monitor input signals while 1: # Check the status of input port 1 if mc.get_basic_input(1) == 0: # If the input is low level (0), send angles to reset all joints to zero mc.send_angles([0, 0, 0, 0, 0, 0], 50) break # Exit the loop once the action is executed else: pass # Do nothing and continue checking # Set the basic output port 1 to high level (1) mc.set_basic_output(1, 1)
五、小結(jié)
西門子PLC以其高穩(wěn)定性、實時性和抗干擾性而聞名,使其專為工業(yè)環(huán)境而設(shè)計。它們非常適合工廠自動化、惡劣環(huán)
境和涉及多個設(shè)備的復(fù)雜工作流程。PLC支持Profinet和Modbus等標(biāo)準(zhǔn)工業(yè)通信協(xié)議,實現(xiàn)與傳感器、執(zhí)行器和其他設(shè)備的無縫集成。這確保了系統(tǒng)能夠以毫秒級的響應(yīng)時間長期穩(wěn)定運行。對于要求高可靠性的場景,如裝配線控制、設(shè)備同步或環(huán)境條件嚴(yán)格的工廠,PLC是最佳選擇。 而Python則在開發(fā)靈活性和效率方面表現(xiàn)出色,憑借其豐富的庫和工具,Python適用于算法實現(xiàn)、機(jī)器學(xué)習(xí)和復(fù)雜的運動控制應(yīng)用。Python更適用于可以快速開發(fā)和驗證新想法的研究和實驗場景。但在實時性能和對惡劣環(huán)境的適應(yīng)性方面相對較弱,因為它取決于底層硬件和操作系統(tǒng)性能。 如果首要需求是長期穩(wěn)定運行、實時控制和工業(yè)環(huán)境集成,PLC是更好的選擇。如果重點是快速開發(fā)和算法靈活性,Python更適合。兩者也可以結(jié)合起來,Python處理高級算法,PLC管理低級控制,為更廣泛的應(yīng)用提供解決方案。
-
plc
+關(guān)注
關(guān)注
5016文章
13383瀏覽量
464739 -
機(jī)械臂
+關(guān)注
關(guān)注
12文章
520瀏覽量
24665
原文標(biāo)題:PLC 與 myCobot 320 結(jié)合案例發(fā)布!硬件、軟件和應(yīng)用程序相結(jié)合,提高工業(yè)應(yīng)用場景穩(wěn)定性
文章出處:【微信號:ElephantRobotics,微信公眾號:大象機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論