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

  • 開發手冊

    • 通訊協議

      • 通訊埠

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

      • 無線網WIFI

      • ModbusRTU

      • ModbusTCP

      • OPC

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

通訊埠電子秤

# Smart之通訊埠電子秤

# 1. 說明

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

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

  地磅與秤頭按照上圖所示的內容進行連線,電子秤的外接通訊埠端與USB通訊埠轉接線的通訊埠端相連,另外一端與PC的USB埠連線,打開電子秤的開關,待連線確認后,打開Windows中的設備管理器,檢視該通訊埠埠號,在本範例中會使用到該埠號。

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

# 2. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]-[打開專案]選擇範例專案檔案來打開該範例。

通訊埠電子秤 UI佈局

  ①:TImage元件,控制元件名稱為Image1。

  ②:TLabel元件,控制元件名稱為Label1。

  ③:TImage元件,控制元件名稱為Image2。

  ④:TWidgetLCDLabel元件,控制元件名稱為WidgetLCDLabel1。

  ⑤:TImage元件,控制元件名稱為ImageSheer。

  ⑥:TTimer元件,控制元件名稱為Timer1。

  ⑦:TComPort元件,控制元件名稱為ComPort1。

  ⑧:TImage元件,控制元件名稱為ImageZero。

  • Main窗體屬性設定

    • Caption:設定窗體標題=通訊埠電子秤。
    • ClientHeight:設定窗體客戶區高度=504。
    • ClientWidth:設定窗體客戶區寬度=635。
  • ①Image1屬性設定

    • Align:設定對齊方式=alClient。
    • Stretch:設定影象拉伸=True。
    • PicTure:設定影象。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ②Label1屬性設定

    • AutoSize:設定控制元件大小與字型自適應=True。
    • Caption:設定顯示標籤的內容=通訊埠電子秤。
    • Font:設定字型,點選該屬性右側[...]按鈕或者雙擊該屬性打開字型設定界面,設定內容如下。
  • ③Image2屬性設定

    • Height:設定圖片高度=417。
    • Width:設定圖片寬度=624。
    • Picture:設定圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ④WidgetLCDLabel1屬性設定

    • Height:控制元件高度,設定為130。
    • Width:控制元件寬度,設定為308。
    • Fill.Kind:設定填充樣式=gfkSolid。
    • Caption.FillOff.Color:設定未顯示區域的數值顏色=clBlack。
  • ⑤ImageSheer屬性設定

    • Height:設定控制元件高度=30。
    • Width:設定控制元件寬度=32。
    • Name:設定控制元件名稱=ImageSheer。
  • ⑥Timer1屬性設定

    • Enabled:是否啟用計時器的功能=True。
    • Interval:計數器計時事件觸發的時間間隔(ms)=1000。
  • ⑦ComPort1屬性設定

    • BaudRate:通訊埠通訊速率=br9600。
    • DataBits:通訊埠通訊數據位=db8。
    • DeviceName:通訊埠通訊設備埠,此處設定為電子秤連線的埠號。
    • Parity:通訊埠通訊校驗方式=paNone。
    • StopBits:通訊埠通訊停止位=sb1。
  • ⑧ImageZero屬性設定

    • Height:設定控制元件高度=30。
    • Width:設定控制元件寬度=32。
    • Name:設定控制元件名稱=ImageZero。

# 3. 程式設計

# 3.1. 程式初始設定

  在程式打開時,開啟通訊埠通訊。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.ComPort1.Open;
end;
1
2
3
4
5

# 3.2. 事件設定

  • ⑥Timer1-OmTimer事件

  計數器事件,每隔一段時間讀取數據解析並顯示。

procedure TMyHandler.Timer1Timer;
//Timer1的OnTimer事件,定時讀取並顯示在界面上
var 
  FData: String;
  ASymbol:string;
  AStr:String;
  AValue:Double;
begin
  //讀取計數並轉換顯示
  FThis.ComPort1.WriteChar('R');
  FData := FThis.ComPort1.ReadUtf8;
  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;   
      FThis.WidgetLCDLabel1.Caption.Value := AValue;
    end; 
  end
  else
  begin
      FThis.WidgetLCDLabel1.Caption.Value := 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
30
  • ⑤ImageSheer-OnClick事件

  該控制元件對應的是去皮按鈕,點選可進行電子秤的去皮操作。

procedure TMyHandler.ImageSheerClick;
//ImageSheer的OnClick事件,電子秤執行去皮操作
begin
  FThis.ComPort1.WriteChar('T');
end;
1
2
3
4
5
  • ⑧ImageZero-OnClick事件

  該控制元件對應的是置零按鈕,點選可進行電子秤的清零操作。

procedure TMyHandler.ImageZeroClick;
//ImageZero的OnClick事件,電子秤執行清零操作
begin
  FThis.ComPort1.WriteChar('Z');
end;
1
2
3
4
5

# 4. 運行結果

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

  使用滑鼠點選工具欄運行(Run),測試運行結果。程式運行時,如果通訊埠通訊正常,則電子秤圖片處會顯示數值。點選除皮按鈕,電子秤進行除皮操作;點選置零按鈕,電子秤進行置零操作。

通訊埠印表機
通訊埠讀取溫濕度

← 通訊埠印表機 通訊埠讀取溫濕度→

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