愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • PinToo幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

      • 通訊埠

      • 藍芽Bluetooth

      • 無線網WiFi

      • ModbusRTU

      • ModbusTCP

        • ModbusTCP控制元件使用
        • ModbusTCP控制LED燈
        • ModbusTCP讀取溫濕度
        • 控制虛擬機器械手臂
          • 1. 說明
          • 2. 設計步驟
            • 2.1. Factory IO 場景設計
            • 2.2. PinToo 程式設計
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

控制虛擬機器械手臂

# PinToo 虛擬機器械手臂

# 1. 說明

  1. Android 開發工具 PinToo 使用 ModbusTCP 協議,控制虛擬工廠場景中的機械手臂,實現機械臂的位移、抓取物件等操作。示例中的 X軸、Y軸與Z軸滑塊用於控制機械臂的位移動作。抓取物體的操作由抓取按鈕控制。
  2. 範例所使用的虛擬工廠為 Factory IO,這是一款出色的虛擬模擬軟體,可以自由使用其內部的各種元器件、感測器、驅動器等搭建自己理想中的工業現場,並聯合PLC進行程式設計模擬。
  3. Factory IO 虛擬場景所使用的感測器與驅動器,通過ModbusTCP對映至指定的暫存器,通過讀取對應的暫存器地址,可以得知機械手臂的運行狀態。通過寫入驅動器的數值,控制機械臂的位移與抓取動作。

# 2. 設計步驟

# 2.1. Factory IO 場景設計

  Factory IO 場景的設計步驟如下:

  1. Factory IO 場景中包含一個平移式機械臂,機械臂下方有傳送帶與模擬使用的紙箱。
  2. Factory IO 場景設定完成後,請修改場景的驅動設定。點選功能表欄中的 檔案-驅動,在下拉框中選擇驅動方式為 Modbus TCP/IP Server,點選右側的 配置 按鈕,將從站ID 修改爲 255。 IO配置 界面中的數值按照下圖所示的內容修改。
  1. 感測器與控制器的設定界面按照下圖所示的內容設定。這個步驟用於Modbus暫存器與感測器的繫結。後續 PinToo 會依照圖示的暫存器地址設計。
  1. 場景的配置完成後,開始設計 PinToo 界面。

# 2.2. PinToo 程式設計

  開啟PinToo設計器,分別加入下插圖之控制元件。

  PinToo程式設計流程步驟如下:

  1. 設計佈局,界面中的佈局主要為標題欄與下側的內容顯示區,標題欄放置顯示的標題,內容區域放置控制的滑塊與按鈕。
  2. 設計區域放置 TfxModbusTCP 控制元件,對應的控制元件名稱分別為 fxModbusTCP1- fxModbusTCP4。控制的專案有四種類型,需要放置四個控制元件來對每個控制元件進行控制,需注意修改每一個控制元件的 Host 屬性,修改屬性取值為 Factory IO 中設定的地址,其他取值的填寫是無效的。還需注意 UnitID 的取值是否與Factory IO 中設定的 從站ID 一致,如不一致請修改爲 Factory IO 中預設的值。
  3. 放置滑塊控制元件 TfxHorzSlider、TfxVertSlider,共計放置三個控制元件,控制元件名稱分別為 slideX,slideY,slideZ。都需要調整旋轉角度的屬性 RotationAngle 。
  4. 放置按鈕,開啟與關閉時,按鈕的顯示狀態圖片上傳至控制元件中。

  詳細的的控制元件清單如下:

  1. TfxRDVertSlideBar 元件,控制元件名稱為 slideX。
  2. TfxRDHorzSlideBar 元件,控制元件名稱為 slideY。
  3. TfxRDHorzSlideBar 元件,控制元件名稱為 slideZ。
  4. TfxSwitchButton 元件,控制元件名稱為 fxSwitchButton1。
  5. TfxModbusTCP 元件,控制元件名稱為 fxModbusTCP1。
  6. TfxModbusTCP 元件,控制元件名稱為 fxModbusTCP2。
  7. TfxModbusTCP 元件,控制元件名稱為 fxModbusTCP3。
  8. TfxModbusTCP 元件,控制元件名稱為 fxModbusTCP4。

  以下是各控制元件需要調整的屬性的說明。

  • fxRunFrame屬性設定

    • Height:設定頁面高度=800。
    • Width:設定頁面寬度=400。
  • slideX 屬性設定

    • ValueMax:設定取值的最大值,設定為 1000。
    • RotationAngle:設定控制元件旋轉的角度,設定為 -90。
  • slideY 屬性設定

    • ValueMax:設定取值的最大值,設定為 1000。
    • RotationAngle:設定控制元件旋轉的角度,設定為 90。
  • slideZ 屬性設定

    • ValueMax:設定取值的最大值,設定為 1000。
    • RotationAngle:設定控制元件旋轉的角度,設定為 90。
  • fxSwitchButton1 屬性設定

    • SwitchOffBmp:設定處於關閉狀態時顯示的圖片。點選右側的按鈕打開圖片編輯器,選擇圖片進行上傳。
    • SwitchOnBmp:設定處於開啟狀態時顯示的圖片。點選右側的按鈕打開圖片編輯器,選擇圖片進行上傳。
  • fxModbusTCP1 屬性設定

    • Host:設定Factory IO 場景的 IP 地址,此處需填寫 Factory IO 中指定或預設設定的地址。
  • fxModbusTCP2 屬性設定

    • Host:設定Factory IO 場景的 IP 地址,此處需填寫 Factory IO 中指定或預設設定的地址。
  • fxModbusTCP3 屬性設定

    • Host:設定Factory IO 場景的 IP 地址,此處需填寫 Factory IO 中指定或預設設定的地址。
  • fxModbusTCP4 屬性設定

    • Host:設定Factory IO 場景的 IP 地址,此處需填寫 Factory IO 中指定或預設設定的地址。

# 3. 程式設計

  點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式需要引用uModbusTCP單元。

# 3.1. 程式初始設定

  設定演示模式,以及初始狀態設定。

//演示模式下,此項被設定為 True ,演示模式下不會與設備或服務連線。
//相關的連線操作會被阻止,如需要使用範例功能,請將此項設定為 False。
const demo = true;
var
  Detected,Grab: Boolean;
  ZValue: Integer;
1
2
3
4
5
6

  初始狀態設定。

Procedure fxRunFrameAfterScriptRun(Sender: TObject);
var
  v,w,z: word;
Begin
  if demo Then
  begin
    fxSwitchButton1.HitTest := False;
    exit; 
  End;
  if fxModbusTCP1.ReadHoldingRegister(1,v) Then
    slideX.Value := Round(v);
  if fxModbusTCP2.ReadHoldingRegister(2,w) Then
    slideY.Value := Round(w);
  if fxModbusTCP3.ReadHoldingRegister(3,z) Then
  begin
    slideZ.Value := Round(z);
    ZValue := Round(z);
  End;
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 3.2. 事件設定

slideX - OnChange 事件

  X軸的滑塊移動時,向 Modbus 暫存器寫入數值,控制機械臂在 X 軸方向上移動。

Procedure slideXOnChange(Sender: TObject);
Begin
  if not demo Then
    fxModbusTCP1.WriteRegister(1,slideX.Value);
End;
1
2
3
4
5

slideY - OnChange 事件

   Y 軸的滑塊移動時,向 Modbus 暫存器寫入數值,機械臂在 Y 軸方向上移動。

Procedure slideYOnChange(Sender: TObject);
Begin
  if not demo Then
    fxModbusTCP2.WriteRegister(2,slideY.Value);
End;
1
2
3
4
5

slideZ - OnChange 事件

   Z 軸的滑塊移動時,向 Modbus 暫存器寫入數值,機械臂在 Z 軸方向上移動。

Procedure slideZOnChange(Sender: TObject);
var 
  i: Integer
Begin
  if (not demo) Then
  begin
    fxModbusTCP3.WriteRegister(3,slideZ.Value); 
  End;
End;
1
2
3
4
5
6
7
8
9

fxSwitchButton1 - OnSwitch 事件

  按鈕按動時,向 Modbus 暫存器寫入數值,切換機械臂抓取、鬆開的狀態。

Procedure fxSwitchButton1OnSwitch(Sender: TObject);
Begin
  if (not demo) Then
  begin
    Grab := fxSwitchButton1.IsChecked;
    fxModbusTCP4.WriteCoil(4,Grab); 
  End;
End;
1
2
3
4
5
6
7
8

# 4. 運行結果

  使用滑鼠在 PinToo 功能表,點選[儲存至資料庫]按鈕,將其儲存至資料庫,點選[除錯運行]確認能夠正常打開。

  通過同步中心,將程式上傳至手機PinToo運行;同步時,請確保手機已經運行PinToo,並且已經登錄。

  當設備與虛擬場景連線時,可通過 PinToo 中的控制控制元件,控制場景中的機械臂,拖動三個滑塊控制元件,可使機械臂執行移動的操作,點選抓取按鈕,控制機械臂爪子抓取物體、鬆開物體的操作。

ModbusTCP讀取溫濕度
MQTTClient控制元件使用

← ModbusTCP讀取溫濕度 MQTTClient控制元件使用→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式