Visual HMIデータロギングコントロール:record_* API数値/文字列表操作

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

データロギングコントロール+record_* API:HMI 上でメンテナンス履歴データシート数値(電圧曲線データなど)と文字列(オペレーショナルログなど)の両方を保存でき、テーブルコントロール表示、ページめくり、タイムスタンプの位置決めが可能です。snはデータサンプルチャネルインデックス範囲0~19の合計20チャンネル、制御データソースが選択した“データ収集”チャネル、APIがOperationするもの。

1. record_* APIの概要

関数の機能説明書は
record_get_count(sn)チャネルの保存レコードの数
record_write_data(sn, data)データをワード配列として追加する(インデックスは1から始まる)
record_read_data(sn, index)データ(1からのインデックス)とタイムスタンプ(32ビットUnix 秒)を返します。
record_modify_data(sn, index, data)インデックスは0から始まり、record_get_count snを指定します。
record_write_string(sn, strings)フィールドをセミコロン;で区切った文字列レコードを追加
record_read_string(sn, index)文字列レコードを読み込み、文字列とタイムスタンプを返す
record_modify_string(sn, index, strings)文字列レコードの変更
record_clear(sn)チャンネルのすべてのレコードを空にする(数値/文字列行)

️サンプルが有効な場合ブロックアドレス記憶モード記録した。不変の変更Modifyは失敗する。

2.数値表のケース(追加/修正/読み取り/消去/チェックアウト)

データ収集構成:トリガサンプリング、記録本数100、データアドレスLW2000、UINT16、データ数10、制御アドレスLW1001、サンプリング制御アドレスLW1002、起動モードOFF→ON。データ記録制御:データソース“[0]数値配列”、時間逆順、チャンネル数 10、ページあたり5 行、ページめくり制御LW100 4、ページめくり許可LW100 5(読み取り専用)、タイムスタンプ位置指定LW100 6(UINT32)、選択行通知LW100 8(UINT32)。LW1000を書き込む5つのボタン、定数1=追加/2=変更/3=読み取り/4=クリア/5=読み取りバーの数。

addByteRatio = 0     アキュムレータは、追加するたびに異なるデータを保持します。

function on_update slave vtype
  if vtype ==_LW then
    addr === 0 x 1100の場合              - Operationボタン。
      local key = get_uint16 VT_LW、0x1100
      local datat = {}
      key == 1 thenの場合                  --追加。
        addBeR = addBeR + 1
        I = 1,10の場合
          data [i] = i * addBeR--初めて1.. 10、2回目。20
        End of Endシングル
        record_write_data 0 dataTb
      Elseifキー == 2 then              選択した行の変更
        local cnt = record_get_count(0)
        local line = cnt-get_uint32 VT_LW、0 x 1105-1--逆順のテーブル行マッピング
        for i = 1 10 do data [i] = 12345 end
        record_modify_data 0 line data
      Elseifキー == 3 then              - 選択した行を読む
        local cnt = record_get_count(0)
        local line = c-get_uint32_LW、0x1105 - 1
        local data Unix = record_read_data 0 line
        local msg = "".. timeUnix..“データ”
        for i = 1 10 do msg = msg.. data[i]..”“end”
        set_string_LW、0x1160、msg
      elseifキー == 4 then
        record_clear 0                 【Clearing】
      Elseifキー == 5 then
        set_string VT_LW、0x1160、"バー数".. record_get_count 0
      End of Endシングル
    End of Endシングル
  End of Endシングル
End of Endシングル

逆順序表の行マッピング制御時間は逆順で表示され、行0が最新のレコードです。表示位置、換算式を示す行の選択line = cnt - select - 1

3.文字列表の例

データ収集:トリガサンプリング、記録本数100、データアドレスLW3000、STRING、データ個数50、制御アドレスLW1501、サンプリング制御アドレスLW1502、起動モードOFF→ON。コントロール:データソース“[1] string”、文字列テーブル√、GB CODE、時系列の順序(数値ケースとは逆順が異なることに注意)、チャンネル数 10、1ページあたり5 行、ページめくりLW1201、ページめくり許可LW1202、タイムスタンプ位置決めLW1203、選択行通知LW1205。LW1200を書く5つのボタン。

addStr = 0
function on_update slave vtype
  もしvtype == VT_LWとaddr == 0 x 1200の場合
    local key = get_uint16 VT_LW、0x1200
    key == 1 thenの場合                    --追加。
      local c = record_get_count 1
      local line = get_uint32 VT_LW、0x1205   --順序表は反転しない
      CNTライン-1が終了した場合
      addStr = addStr + 10
      local dataStr =""
      I = 1,10の場合
        dataStr = dataStr..& Quot:..。addStr - 10 + i quot;一つ;"
      End of Endシングル
      record__string 1 dataStr   1番目の..。No.10話。"
    Elseifキー == 2 then                --変更。
      local line = get_uint32 VT_LW、0x1205
      record_modify_string 1 line change; change;change; change; change; change; change; change; change; change; change; change; change;
    Elseifキー == 3 then                【Read ing】
      local line = get_uint32 VT_LW、0x1205
      local dataStr timeUnix = record_read_string 1 line
      set_string VT_LW、0x1260、timeUnix.. dataStr
    elseifキー == 4 then
      record_clear 1
    Elseifキー == 5 then
      set_string VT_LW、0x1260、本数.. record_get_count 1
    End of Endシングル
  End of Endシングル
End of Endシングル

文字列レコードはセミコロンで区切られ、テーブルコントロールの解決規則に従います。順序テーブルの選択行反転なし。略称はLW 120 5。

4つの穴SN-チャネル番号は、制御データソースが選択したデータ収集インデックスと一致する必要があります。2数値レコードdataは添字1からの配列です。習慣Cを0から始めないでください。③逆順テーブル行マッピングを反転する(line = cnt-select-1),順序テーブルは不要です。④ブロックアドレス記憶モードでの記録はModify不可データを変更するには、電源を切らないでください。

Guangzhou Dai Technology Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)LUAチュートリアル“データ記録”、著作権はDai Dai Technologyにあります。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.