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

  • 開發手冊

    • 通訊協議

      • 通訊埠

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

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

通訊埠電子秤

# FastWeb 通訊埠電子秤

# 1. 說明

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

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

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

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

# 2. 設計明細

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

  1:TUgLabel元件,控制元件名稱為UgLabel01。

  2:TUgImage元件,控制元件名稱為 UgImage01。

  3:TUgPanel元件,控制元件名稱為 UgPanel01。

  4:TUgWebSerial元件,控制元件名稱為 UgWebSerial01。

  5:TUgFSButton元件,控制元件名稱為 UgFSButton01。

  6:TUgFSButton元件,控制元件名稱為 UgFSButton04。

  7:TUgFSButton元件,控制元件名稱為 UgFSButton02。

  8:TUgFSButton元件,控制元件名稱為 UgFSButton03。

  • UgWebRunFrame屬性設定

    • Height:設定頁面高度=640。
    • Width:設定頁面寬度=480。
  • 1:UgLabel01屬性設定

    • Alignment:設定對齊方式,設定為 taCenter。
    • AutoSize:設定控制元件尺寸是否跟隨文字自動變化,設定為 False。
    • Font:設定字型,點選右側的 [√] 打開字型編輯視窗,按照下圖的樣式進行設定。
    • Text:設定標籤顯示的文字= 通訊埠電子秤。
  • 2:UgImage01屬性設定

    • Picture:設定要顯示的圖片,點選右側的 [√] 按鈕,打開影象編輯器,選擇編輯的影象。
    • Stretch:設定影象是否跟隨空間進行自適應拉伸,設定為 True。
  • 3:UgPanel01屬性設定

    • Alignment:設定對齊的方式,設定為 taRightJustify。
    • Caption:設定顯示的字幕= 0.00。
    • Color:設定控制元件的背景顏色,設定為 clBlack。
    • Font:設定字型,點選右側的 [√] 打開字型設定對話方塊,設定字型,示例如下。
  • 5:UgFSButton01屬性設定

    • Caption:設定按鈕上顯示的文字,設定為 打開通訊埠。
    • StyleButton:設定按鈕顯示的樣式,設定為 GoogleGreenRound。
  • 6:UgFSButton04屬性設定

    • Caption:設定按鈕上顯示的文字,設定為 讀數。
    • StyleButton:設定按鈕顯示的樣式,設定為 GoogleBlueRound。
  • 7:UgFSButton02屬性設定

    • Caption:設定按鈕上顯示的文字,設定為 去皮。
    • StyleButton:設定按鈕顯示的樣式,設定為 GoogleBlueRound。
  • 8:UgFSButton03屬性設定

    • Caption:設定按鈕上顯示的文字,設定為 清零。
    • StyleButton:設定按鈕顯示的樣式,設定為 GoogleBlue3Round。

# 3. 程式設計

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

# 3.1. 程式初始設定

  該程式程式初始設定。

    //JScript
    {
      ugWebSerial01.Visible = False;
    }
    
    1
    2
    3
    4
    //PasScript
    Begin
      ugWebSerial01.Visible := False;
    End.
    
    1
    2
    3
    4
    // Make sure to add code blocks to your code group

    # 3.2. 事件設定

    • 5:UgFSButton01-OnClick事件

      點選以啟用通訊埠選擇界面。

      //JScript
      function UgFSButton01OnClick(sender)
      {
        ugWebSerial01.Request();
      }
      
      1
      2
      3
      4
      5
      //PasScript
      procedure UgFSButton01OnClick(sender: tobject);
      begin
        ugWebSerial01.Request;
      end;
      
      1
      2
      3
      4
      5
      // Make sure to add code blocks to your code group
      • 6:UgFSButton04-OnClick事件

        點選以開啟通訊埠讀數。

        //JScript
        function UgFSButton04OnClick(sender)
        {
          ugWebSerial01.Open(0);
        }
        
        1
        2
        3
        4
        5
        //PasScript
        procedure UgFSButton04OnClick(sender: tobject);
        begin
          ugWebSerial01.Open(0);
        end;
        
        1
        2
        3
        4
        5
        // Make sure to add code blocks to your code group
        • 4:UgWebSerial01-OnReceived事件

          當通訊埠接收到數據時,獲取數據並顯示。

          //JScript
          function ugWebSerial01OnReceived(adata)
          //連續模式下的讀數獲取方式
          {
            var text,v1,v2,d1;
            if (copy(adata, 1, 2) == "wn")
            {
              //wn000.530kg
              Text = adata;
              //UgEdit01.Text =adata;
              if (Text == "")
              {
                UgPanel01.Caption = "0.00";
                exit;
              }
              
              v1 = copy(Text, 3, 1);
             
              if (v1 == "0")
              {
                v2 = copy(Text, 3, 7);
                d1 = StrToFloat(v2);
              }
              else if(v1 == "-"){
                v2 = copy(Text, 4, 7);
                d1 = StrToFloat(v2) * (-1);
              }
              
              UgPanel01.Caption = floattostr(d1);
              
              if (Text=="wn000.000kg"){
               d1 = 0;
               UgPanel01.Caption = "0.00";
               }
             }
          }
          
          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
          31
          32
          33
          34
          35
          36
          //PasScript
          procedure ugWebSerial01OnReceived(const adata: string);
          //連續模式下的讀數獲取方式
          var
            Text: String;
            v1, v2: string;
            d1: Double;
          begin
            if copy(adata, 1, 2) = 'wn' Then
            Begin
              //wn000.530kg
              Text := adata;
              //UgEdit01.Text :=adata;
              if (Text = '') then
              begin
                UgPanel01.Caption := '0.00';
                exit;
              end;
              
              v1 := copy(Text, 3, 1);
             
              if v1 = '0' then
              begin
                v2 := copy(Text, 3, 7);
                d1 := StrToFloat(v2);
              end
              else if v1 = '-' then
              begin
                v2 := copy(Text, 4, 7);
                d1 := StrToFloat(v2) * (-1);
              end;
              
              UgPanel01.Caption := floattostr(d1);
              
              if Text='wn000.000kg' then
              begin
               d1 := 0;
               UgPanel01.Caption := '0.00';
              end;
            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
          31
          32
          33
          34
          35
          36
          37
          38
          39
          40
          41
          // Make sure to add code blocks to your code group
          • 7:UgFSButton02屬性設定

              此項僅在電子秤處於連續讀數模式下有效,用於向電子秤發送去皮的指令。

            //JScript
            function UgFSButton02OnClick(sender)
            //去皮(連續模式下此項無效)
            {
              ugWebSerial01.WriteLines("T");
            }
            
            1
            2
            3
            4
            5
            6
            //PasScript
            procedure UgFSButton02OnClick(sender: tobject);
            //去皮(連續模式下此項無效)
            begin
              ugWebSerial01.WriteLines('T');
            end;
            
            1
            2
            3
            4
            5
            6
            // Make sure to add code blocks to your code group
            • 8:UgFSButton03屬性設定

                此項僅在電子秤處於連續讀數模式下有效,用於向電子秤發送置零的指令。

              //JScript
              function UgFSButton03OnClick(sender)
              //置零(連續模式下此項無效)
              {
                ugWebSerial01.WriteLines("Z");
              }
              
              1
              2
              3
              4
              5
              6
              //PasScript
              procedure UgFSButton03OnClick(sender: tobject);
              //置零(連續模式下此項無效)
              begin
                ugWebSerial01.WriteLines('Z');
              end;
              
              1
              2
              3
              4
              5
              6
              // Make sure to add code blocks to your code group

              # 4. 運行結果

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

                如果是首次使用,點選 [打開通訊埠],選擇要打開的通訊埠后,顯示目前的讀數資訊。在首次配對后,運行時可點選 [讀數] 按鈕,可自動獲取讀數資訊。

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

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

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