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

  • 開發手冊

    • 通訊協議

      • 通訊埠

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

      • 無線網WIFI

      • ModbusRTU

      • ModbusTCP

      • OPC

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

智能電錶採集

# Smart之智能電錶採集

# 1. 說明

  範例採用通訊埠通訊協議,使用DLT-645/2007規約採集智能電能表中的電能數據。

  電能表是用來測量電能的儀表,又稱電度表,火表,千瓦小時表,指測量各種電學量的儀表。

  電能表在低電壓(不超過500伏)和小電流(幾十安)的情況下,可直接接入電路進行測量。一般的家用電路是以這種方式接入電能表進行電費計量的。在高電壓或大電流的情況下,電能表不能直接接入線路,需配合電壓互感器或電流互感器使用。工廠的電能表通常會使用這種方式進行測量。

  目前市面上使用的絕大多數數字液晶顯示屏電能表均有RS485的通訊介面,其介面顯示如下圖。除了用於連線電路的接線柱外,還包含了RS485介面的接線柱,用於與計算機進行連線。範例中使用的電能表通過RS485通訊介面與計算機連線,計算機向該電能表發送讀取電能數據的指令,電能表對應返回數據,計算機進行解析后顯示讀取的結果數值。我們可以將讀取到的數值寫入至資料庫中實現能源分析的功能。

  通過範例學習,可以掌握DLT-645/2007電能表的通訊方式,並結合Smart中的TMeter元件實現電能數據的採集。

# 2. 設計明細

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

  ①:TMeter元件,控制元件名稱為Meter。

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

  ③:TiLedRound元件,控制元件名稱為iLedRound1。

  ④:TiSevenSegmentAnalog元件,控制元件名稱為digiShow。

  ⑤:TiEdit元件,控制元件名稱為iEdit。

  ⑥:TListView元件,控制元件名稱為lvItem。

  ⑦:TEdit元件,控制元件名稱為edtMeterAddress。

  ⑧:TButton元件,控制元件名稱為btnAdd。

  ⑨:TEdit元件,控制元件名稱為edtInterval

  ⑩:TButton元件,控制元件名稱為btnApply。

  (11):TListView元件,控制元件名稱為lvLog。

  • Main窗體屬性設定

    • Caption:主窗體標題,設定為智能電錶採集。
    • ClientHeight:窗體客戶區高度=633。
    • ClientWidth:窗體客戶區寬度=1026。
  • ①Meter屬性設定

    • BaudRate:設定通訊速率,設定為br2400。
    • DataBits:設定通訊的數據位數,設定為db8。
    • DeviceName:設定設備的埠號,此處需設定為設備連線的埠名稱。   點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ②Image1屬性設定

    • Align:設定控制元件的對齊方式,此處設定為alClient,該控制元件在pnMeter控制元件中客戶區對齊。
    • Stretch:設定控制元件中的圖片拉伸對齊,設定為True。
    • Picture:設定圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ③iLEDRound屬性設定

    • Height:設定控制元件高度,設定為24。
    • Width:設定控制元件寬度,設定為24。
    • ActiveColor:設定LED啟用時顯示的顏色,設定為clRed。
  • ④digiShow屬性設定

  使用滑鼠右鍵點選該控制元件,在右鍵選項中選擇[Edit],打開設定界面,界面中的內容可按照下圖進行設定,設定完成後點選[OK]按鈕儲存設定。

  • ⑥lvItem屬性設定
    • Align:設定控制元件對齊方式,設定為alClient,即設定為在Panel界面區域內客戶區對齊。
    • ViewStyle:設定控制元件的檢視型別,設定為vsReport。

  使用滑鼠右鍵點選該控制元件,在選項中選擇[Columns Editor],打開列區編輯器。列區中顯示目前顯示的內容,其中設定各個項的Width屬性分別為100,150,120。

  • (11)lvLog屬性設定
    • Align:設定控制元件對齊方式,設定為alClient,即設定為在Panel界面區域內客戶區對齊。
    • ViewStyle:設定控制元件的檢視型別,設定為vsReport。

  使用滑鼠右鍵點選該控制元件,在選項中選擇[Columns Editor],打開列區編輯器。列區中顯示目前顯示的內容,其中設定各個項的Width屬性分別為120,50,80,120。

# 3. 程式設計

# 3.1. 程式初始設定

  該程式啟動時,將採集的時間間隔讀取至編輯框中。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.edtInterval.Text := IntToStr(FThis.Meter.Interval);
end;
1
2
3
4
5

# 3.2. 事件設定

  • ⑧btnAdd-OnClick事件

  點選[新增]按鈕,新增專案,並執行採集。

procedure TMyHandler.btnAddClick;
var
  vMeterItem:TMeterItem;
  vItem: TListItem;
begin
  vMeterItem := TMeterItem(FThis.Meter.MeterList.Add);
  vMeterItem.Address := FThis.edtMeterAddress.Text;
  vMeterItem.Caption := '電錶';
  vMeterItem.Code := FThis.edtMeterAddress.Text;
  vMeterItem.MeterType := DLT645_2007;
  
  vItem := FThis.lvItem.Items.Add;
  vItem.Caption := FThis.edtMeterAddress.Text;
  vItem.SubItems.Add(FThis.edtMeterAddress.Text);
  vItem.SubItems.Add('電錶');
  vItem.SubItems.Add(FThis.edtMeterAddress.Text);  
  FThis.Meter.Enabled := true;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • ①Meter-OnReceiveData事件

  當接收到數據資訊時,顯示內容。

procedure TMyHandler.MeterReceiveData;
var
  lvitem:Tlistitem;       //此處一定要預定義臨時記錄儲存變數.
begin
  if FThis.lvLog.Items.Count > 12 then
    FThis.lvLog.Items.Clear;
  lvitem:=FThis.lvLog.Items.add;
  //FThis.lvLog.Items.BeginUpdate;
  lvitem.Caption:=AItem.Code;
  lvitem.SubItems.Add(AItem.Caption);
  //lvitem.SubItems.Add(AItem.Address);
  lvitem.SubItems.Add(AItem.Value1);
  lvitem.SubItems.Add(FormatDateTime('c',now));
  FThis.iEdit.Value := AItem.Address;
  FThis.digiShow.Value := StrToFloat(AItem.Value1);
  FThis.iLEDRound1.Active := not FThis.iLEDRound1.Active;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  • ⑩btnApply-OnClick事件

  點選[應用]按鈕,設定採集時間間隔。

procedure TMyHandler.btnApplyClick;
begin
  if StrToInt(FThis.edtInterval.Text) < 0 then
  begin
    ShowMessage('輸入的數據不符合要求,請重新輸入');
    exit;
  end;
  FThis.Meter.Interval := StrToInt(FThis.edtInterval.Text);
end;
1
2
3
4
5
6
7
8
9

# 4. 運行結果

  使用滑鼠點選工具欄運行(Run),測試運行結果。

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

  點選[新增]按鈕,新增儀表資訊,並開啟採集功能。修改採集間隔時間,點選[應用]按鈕,修改採集的時間間隔。

通訊埠控制LED燈
藍芽電子秤

← 通訊埠控制LED燈 藍芽電子秤→

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