愛招飛幫助手冊 愛招飛幫助手冊
  • 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

        • 藍芽印表機
        • 藍芽電子秤
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
        • 藍芽控制LED燈
        • 藍芽讀取溫濕度
      • 無線網WiFi

      • ModbusRTU

      • ModbusTCP

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

藍芽電子秤

# PinToo之藍芽電子秤

# 1. 說明

  範例採用藍芽通訊協議,讀取電子秤並控制電子秤的去皮清零操作。手機端發送讀取指令,電子秤返回稱重重量的資訊;手機端發送去皮與置零的指令,電子秤端執行相應的操作。在使用該功能前需要將設備與電子秤進行藍芽配對連線。對應的PIN以及藍芽的MAC地址可以在電子秤的產品說明中檢視。

  範例使用到的電子秤為耀華XK3190-A12+E,其秤頭的外觀如下圖所示。該型號的電子秤可提供藍芽連線的支援。在使用範例前,請先確認是否已與電子秤進行過藍芽配對,否則會導致範例運行失敗。

  通過範例學習,可以掌握fxBlueTooth相關控制元件的使用,並讀取寫入藍芽電子秤的數據。

# 2. 設計明細

  開啟PinToo設計器,分別加入下插圖之控制元件。或者點選左上角的[打開模板Lib檔案]選擇模板檔案來打開對應模板。

藍芽電子秤 UI設計

  ①:TfxImage元件,控制元件名稱為fxImageSearch。

  ②:TfxText元件,控制元件名稱為fxTextPilled。

  ③:TfxText元件,控制元件名稱為fxTextStatus。

  ④:TfxText元件,控制元件名稱為fxTextWeight。

  ⑤:TfxSwitchButton元件,控制元件名稱為fxSwitchButtonWeight。

  ⑥:TfxImage元件,控制元件名稱為fxImageConnect。

  ⑦:TfxBluetooth元件,控制元件名稱為fxBluetooth1。

  ⑧:TfxText元件,控制元件名稱為fxTextZero。

  • fxRunFrame屬性設定

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

    • Visible:設定控制元件是否可見=True。
    • Name:設定控制元件名稱=fxComboBox。
  • fxComboBoxService屬性設定

    • Visible:設定控制元件是否可見=True。
    • Name:設定控制元件名稱=fxComboBoxService。
  • fxTimer屬性設定

    • Enabled:是否啟用計數功能,此處設定為False。
  • ①fxImageSearch屬性設定

    • Height:設定控制元件高度=40。
    • Width:設定控制元件寬度=40。
    • Name:設定控制元件名稱=fxImageSearch。
    • WarpMode:設定影像在控制元件中顯示的模式,設定為Fit,即影像適應于控制元件大小。
    • Bitmap:設定顯示的圖片,雙擊該屬性或者點選屬性右側的[...]打開影像編輯器。點選[Load...]打開資源管理器,選擇所需的圖片後點擊[打開],選擇的影像會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影像與控制元件的寬度高度相適應,修改完成後點選[OK]按鈕完成影像修改。
  • ②fxTextPilled屬性設定

    • Text:設定顯示文字=去皮。
    • Height:設定控制元件高度=80。
    • Width:設定控制元件寬度=80。
    • Name:設定控制元件名稱=fxTextPilled。
    • TextSettings:設定文字字型的相關資訊。設定Font.Size=24。FontColor=White。
    • HorzAlign:設定文字在控制元件中的水平位置=Center。
    • VertAlign:設定文字在控制元件中的垂直位置=Center。
  • ③fxTextStatus屬性設定

    • Text:設定顯示文字=等待連線。
    • Height:設定控制元件高度=40。
    • Width:設定控制元件寬度=280。
    • Name:設定控制元件名稱=fxTextStatus。
    • TextSettings:設定文字字型的相關資訊。設定Font.Size=18。FontColor=White。
    • HorzAlign:設定文字在控制元件中的水平位置=Center。
    • VertAlign:設定文字在控制元件中的垂直位置=Center。
  • ④fxTextWeight屬性設定

    • Text:設定顯示文字=35.200。
    • Height:設定控制元件高度=70。
    • Width:設定控制元件寬度=220。
    • Name:設定控制元件名稱=fxTextWeight。
    • TextSettings:設定文字字型的相關資訊。設定Font.Size=64。FontColor=White。
    • HorzAlign:設定文字在控制元件中的水平位置=Center。
    • VertAlign:設定文字在控制元件中的垂直位置=Center。
  • ⑤fxSwitchButtonWeight屬性設定

    • Height:設定控制元件高度=200。
    • Width:設定控制元件寬度=200。
    • Name:設定控制元件名稱=fxSwitchButtonWeight。
    • SwitchOffBmp:設定開關狀態為關時顯示的影像,雙擊該屬性或者點選屬性右側的[...]打開影像編輯器。點選[Load...]打開資源管理器,選擇所需的圖片後點擊[打開],選擇的影像會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影像與控制元件的寬度高度相適應,修改完成後點選[OK]按鈕完成影像修改。
    • SwitchOnBmp:設定開關狀態為開時顯示的影像,雙擊該屬性或者點選屬性右側的[...]打開影像編輯器。點選[Load...]打開資源管理器,選擇所需的圖片後點擊[打開],選擇的影像會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影像與控制元件的寬度高度相適應,修改完成後點選[OK]按鈕完成影像修改。
  • ⑥fxImageConnect屬性設定

    • Height:設定控制元件高度=40。
    • Width:設定控制元件寬度=40。
    • Name:設定控制元件名稱=fxImageConnect。
    • WarpMode:設定影像在控制元件中顯示的模式,設定為Fit,即影像適應于控制元件大小。
    • Bitmap:設定顯示的圖片,雙擊該屬性或者點選屬性右側的[...]打開影像編輯器。點選[Load...]打開資源管理器,選擇所需的圖片後點擊[打開],選擇的影像會顯示在預覽框中。可在該頁面下進行裁切或者縮放畫素以使影像與控制元件的寬度高度相適應,修改完成後點選[OK]按鈕完成影像修改。
  • ⑧fxTextZero屬性設定

    • Text:設定顯示文字=置零。
    • Height:設定控制元件高度=80。
    • Width:設定控制元件寬度=80。
    • Name:設定控制元件名稱=fxTextZero。
    • TextSettings:設定文字字型的相關資訊。設定Font.Size=24。FontColor=White。
    • HorzAlign:設定文字在控制元件中的水平位置=Center。
    • VertAlign:設定文字在控制元件中的垂直位置=Center。

# 3. 程式設計

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

# 3.1. 程式初始設定

  窗體關閉前關閉藍芽連線。

Procedure fxRunFrameBeforeClose(Sender: TObject);
//關閉窗體前關閉藍芽以及電子秤的連線
Begin
  fxBluetooth.CloseServerSocket;
  fxBluetooth.FreeClientSocket;
End;
1
2
3
4
5
6

# 3.2. 事件設定

  • ①fxImageSearch-OnClick事件

  點選以載入藍芽設備列表。

Procedure fxImageSearchOnClick(Sender: TObject);
//點選搜索按鈕尋找藍芽設備
Begin
  fxBluetooth.PairedDevices;
  if fxBlueTooth.BTPaireds.Text = '' Then
  begin
      fxTextStatus.Text := '請檢查藍芽是否已配對';
      Exit;
  End;
  fxComboBox.Items := fxBlueTooth.BTPaireds;
  fxComboBox.DropDown;
End;
1
2
3
4
5
6
7
8
9
10
11
12
  • fxComboBox-OnChange事件

  點選切換藍芽設備。

Procedure fxComboBoxOnChange(Sender: TObject);
Begin
  fxBlueTooth.PairedDevice := fxComboBox.Items[fxComboBox.ItemIndex];
  fxTextStatus.Text := '已選擇電子秤 ' + fxComboBox.Items[fxComboBox.ItemIndex];
End;
1
2
3
4
5
  • ⑥fxImageConnect-OnClick事件

  點選打開對應設備的藍芽服務列表。

Procedure fxImageConnectOnClick(Sender: TObject);
//選擇服務連線
Begin
  fxBluetooth.Services;
  fxComboBoxService.Items := fxBluetooth.BTServices;
  fxComboBoxService.DropDown;
End;
1
2
3
4
5
6
7
  • fxComboBoxService-OnChange事件

  點選切換藍芽設備服務。

Procedure fxComboBoxServiceOnChange(Sender: TObject);
//更改服務
Begin
  fxBluetooth.ServiceUUID := fxComboBoxService.Items[fxComboBoxService.ItemIndex];
  fxBluetooth.CreateServerSocket;
  fxTextStatus.Text := '電子秤連線,已連線藍芽服務';
End;
1
2
3
4
5
6
7
  • ⑤fxSwitchButtonWeight-OnSwitch事件

  點選切換計時器開關。

Procedure fxSwitchButtonWeightOnSwitch(Sender: TObject);
//切換讀取與非讀取狀態
Begin
  fxTimer1.Enabled := fxSwitchButtonWeight.IsChecked;
End;
1
2
3
4
5
  • fxTimer1-OnTimer事件

  計時器定時發送讀取命令並讀取。

Procedure fxTimer1OnTimer(Sender: TObject);
//連續讀取
Begin
  fxBluetooth.SendData('R');
  fxBluetooth.ReadData;
End;
1
2
3
4
5
6
  • ②fxTextPilled-OnClick事件

  點選發送去皮指令操作。

Procedure fxTextPilledOnClick(Sender: TObject);
//去皮
Begin
  fxBluetooth.SendData('T');
End;
1
2
3
4
5
  • ⑧fxTextZero-OnClick事件

  點選發送置零操作。

Procedure fxTextZeroOnClick(Sender: TObject);
//置零
Begin
  fxBluetooth.SendData('Z');
End;
1
2
3
4
5
  • ⑦fxBluetooth-OnReceiveData

  當藍芽獲取到數據時,解析數據並顯示。

Procedure fxBluetoothOnReceiveData(Sender: TObject; ServiceName: string; ServiceUUID: string; ReceiveData: string);
//獲取接收資訊,並進行處理以顯示為正確的結果
var
 ASymbol,AValue,AStr,FData:string;
Begin
  if ReceiveData <> '' Then
  begin
   FData :=Trim(ReceiveData);
   if Copy(FData,1,2) = 'AD' Then
   begin
    ASymbol:=Copy(FData,3,1);
    AStr:=Copy(FData,4,6);
    if ASymbol='+' Then
      AValue:=StrToFloat(AStr)*0.001
    else
      AValue:=StrToFloat(AStr)*0.001*-1;   
      fxTextWeight.Text := FloatToStr(AValue);
    end; 
  end
  else
      fxTextWeight.Text := '000.0';        
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 4. 運行結果

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

藍芽電子秤 運行界面

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

  點選藍芽設備按鈕,在彈出的列表中選擇電子秤的藍芽名稱(此處為YaoHuaC66),點選服務按鈕,等待一段時間后顯示可用的連線服務列表,選擇其中一個發起藍芽連線,待連線建立後點擊下方的電子秤圖示按鈕開啟讀取。可點選[去皮]、[置零]按鈕進行去皮和置零的操作。

藍芽印表機
藍芽控制LED燈

← 藍芽印表機 藍芽控制LED燈→

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