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

  • 開發手冊

    • 通訊協議

      • 通訊埠

        • 通訊埠印表機
        • 通訊埠電子秤
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
        • 通訊埠控制LED燈
      • 藍芽Bluetooth

      • 無線網WiFi

      • ModbusRTU

      • ModbusTCP

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

通訊埠電子秤

# PinToo之通訊埠電子秤

  • 文件號:P-EL-DEM-2002

# 1. 說明

  範例採用通訊埠通訊協議,控制駁接在手機上的電子秤。手機端發送讀取指令,電子秤返回稱重重量的資訊;手機端發送去皮與置零的指令,電子秤端執行相應的操作。電子秤是工業生產過程中經常使用到的設備,現如今大部分近期生產的工業用電子秤都已經預留了通訊埠通訊的介面。在範例中使用的電子秤也具有該功能。

  範例使用到的電子秤為耀華XK3190-A12+E,其秤頭的外觀如下圖所示。

  地磅與秤頭按照上圖所示的內容進行連線,電子秤的外接通訊埠端與USB通訊埠轉接線的通訊埠端相連,另外一端與手機的USB埠連線,打開電子秤的開關。

  通過範例學習,可以掌握通訊埠的基本通訊原理,並結合電子秤進行數據讀取的功能。

# 2. 設計明細

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

通訊埠電子秤 UI佈局

  ①:TfxImageSearh元件,控制元件名稱為fxImageSearch。   ②:TfxText元件,控制元件名稱為fxTextStatus。   ③:TfxText元件,控制元件名稱為fxTextPilled。   ④:TfxText元件,控制元件名稱為fxTextWeight。   ⑤:TfxSwitchButton元件,控制元件名稱為fxSwitchButtonWeight。   ⑥:TfxImage元件,控制元件名稱為fxImageConnect。   ⑦:TfxUsbSerial元件,控制元件名稱為fxUsbSerial。   ⑧:TfxText元件,控制元件名稱為fxTextZero。

  • fxRunFrame屬性設定

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

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

    • Enabled:是否啟用計數事件觸發功能,此處設定為False。
    • Interval:計數時間的間隔,此處設定為1000。
  • ①fxImageSearch屬性設定

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

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

    • Text:設定顯示文字=去皮。
    • Height:設定控制元件高度=80。
    • Width:設定控制元件寬度=80。
    • Name:設定控制元件名稱=fxTextPilled。
    • TextSettings:設定文字字型的相關資訊。設定Font.Size=24。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]按鈕完成影象修改。
  • ⑦fxUsbSerial屬性設定

    • UsbSerialType:設定USB通訊埠的連線型別,此處設定為RS232。
  • ⑧fxTextZero屬性設定

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

# 3. 程式設計

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

# 3.1. 程式初始設定

  該程式無初始設定。

# 3.2. 事件設定

  • ①fxImageSearch-OnClick事件

  點選按鈕以載入通訊埠列表並顯示。

Procedure fxImageSearchOnClick(Sender: TObject);
//點選搜索按鈕尋找印表機
Begin
  if fxUsbSerial.Devices.Text = '' Then
  begin
      fxTextStatus.Text := '請檢查通訊埠是否連線';
      Exit;
  End;
  fxComboBox.Items := fxUsbSerial.Devices;
  fxComboBox.DropDown;
End;
1
2
3
4
5
6
7
8
9
10
11
  • fxComboBox-OnChange事件

  點選切換選擇通訊埠。

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

  點選以打開通訊埠。

Procedure fxImageConnectOnClick(Sender: TObject);
//連線印表機
Begin
   fxUsbSerial.Open(True);
   if fxUsbSerial.Devices.Text <> '' Then
     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
  fxUsbSerial.WriteByte(Ord('R'),1000);
End;
1
2
3
4
5
  • ⑦fxUsbSerial-OnReceiveData事件

  當通訊埠接收到資訊時解析數據並顯示。

Procedure fxUsbSerialOnReceiveData(Sender: TObject; ReceiveData: string);
//獲取接收資訊
var
 FData:String;
 ASymbol:string;
 AStr:String;
 AValue:float;
 AD:string;
begin
  FData := ReceiveData;
  if FData <> '' Then
  begin
   FData :=Trim(FData);
   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
  begin
      fxTextWeight.Text := '000.0';
  end        
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  • ③fxTextPilled-OnClick事件

  點選按鈕以執行電子秤去皮操作。

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

  點選按鈕以執行電子秤置零操作。

Procedure fxTextZeroOnClick(Sender: TObject);
//置零
Begin
  fxUsbSerial.WriteByte(Ord('Z'),1000);
End;
1
2
3
4
5

# 4. 運行結果

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

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

同步中心

  點選左側的搜索按鈕,載入通訊埠設備列表,選擇對應的設備后,點選右側的連線按鈕打開通訊埠建立通訊連線。點選下方的電子秤圖示開啟數據讀取,可點選兩側的[去皮]與[置零]按鈕對電子秤進行對應的操作。

通訊埠印表機
通訊埠控制LED燈

← 通訊埠印表機 通訊埠控制LED燈→

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