AiMaster300 IoTプログラマブルエッジコンピューティングゲートウェイ:Luaスクリプトによるカスタムプロトコル変換スキーム

freeFree Technical Resource

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

AiMaster300製品概要

AiMaster300は、デュアルLua仮想マシン、豊富なCommunicationインターフェイス、強力なデータ処理機能を統合したLuaスクリプトプログラマブルIoTコントローラであり、産業用モノのインターネットの分野でカスタムプロトコル変換、データ収集、エッジコンピューティング、クラウドドッキングのための高性能プログラマブルプラットフォームです。このコントローラはLuaスクリプトプログラミングに対応しており、現場のニーズに応じてアプリケーションロジックを柔軟に開発でき、ハードウェアを変更することなく複雑な産業用通信やデータ処理機能を実現できます。

AiMaster300は、最大4つのLua仮想マシンの並列実行をサポートし、各仮想マシンは独立してスクリプトタスクを実行し、TCP/IPクライアント/サーバー、Modbus Master、SQLデータベースインターフェイス、MQTTインターフェイス、シリアルポートCommunication、リアルタイムクロック、データ変換などの豊富な機能ライブラリを提供し、内蔵コードベースには、通信例の数十種類が含まれており、産業用モノのインターネットアプリケーションを迅速に開発することができます。

製品の主な特徴

  • Luaスクリプトプログラマブル標準Luaスクリプト言語をサポートし、カスタムアプリケーションロジックを柔軟に開発し、ハードウェアを変更する必要はありません。
  • 複数の仮想マシンの並列化最大4台のLua仮想マシン(VM1ターゲットポート91 00、VM2ターゲットポート91 01)を同時に実行でき、各仮想マシンは独立してタスクを実行できます。
  • Rich Libraryより:TCP/IP、Modbus Master、SQLデータベース、MQTT、シリアルポート、RTCリアルタイムクロック、データ変換などの完全な関数ライブラリを提供
  • 組み込みコードベース:TCPクライアント/サーバ、Modbusポーリング、データベースOperation、MQTTクラウドなど、数十種類のCommunicationサンプルコードを事前にプロビジョニングし、直接呼び出して生成できます。
  • データベース·ゲートウェイの機能:データベースゲートウェイへの直接接続をサポートし、SQL文、ストアドプロシージャを実行し、ネットワークを切断したデータローカルストレージの自動再発行をサポートします。
  • ブレークダウン機能通信中断データはネイティブフラッシュに保存され、バックグラウンドサービスによって自動的に再発行された後、開発者の介入なしにCommunicationが再開された。
  • ビジュアルプログラミング環境:Windowsプログラミングインターフェイスを提供し、コード編集、デバッグ、保存をサポートし、コントローラの実行にアップロードする

プログラミング環境の説明

プログラミングインタフェース

AiMaster300は、以下の機能を備えた専用のWindowsプログラミングソフトウェアを提供します。

  • コードプロジェクト管理プロジェクトファイルの作成、開く、保存
  • 編集者。構文ハイライトをサポートするLuaコードエディタ
  • コードベースからのコード生成(ショートカットCtrl+D):組み込みコードベースからサンプルコードを選択自動生成
  • コードベースの管理ユーザー定義コードベースの管理
  • セットアップネットワークパラメータ、動作モードなどの設定
  • コントローラに保存してアップロードして実行(ショートカットF 9):コントローラにコードをアップロードして実行する
  • 現在のプロジェクトをデータベースに保存する(Ctrl+S):プロジェクトファイルを保存する

作業モード

  • デバッグモード開発デバッグ段階に適したDEBUGライブラリと印刷機能を有効にします。
  • 完成品モデル:デバッグ機能を無効にし、実行性能を最適化し、正式な配置に適する

仮想マシンの構成

Lua仮想マシンの数を選択できます:1、2、3、4、各仮想マシンは独立してスクリプトを実行し、異なるCommunicationポートとタスクを割り当てることができます。

組み込みコードベース

AiMaster300には豊富なコードベースが内蔵されており、ユーザーは“コード選択”機能を通じて直接サンプルコードを呼び出すことができ、応用を迅速に開発する:

  • Luaの基礎:Lua関数の定義と使用、基本構文、基本例、スクリプトデバッグ
  • ネットワークCommunication:Luaネットワークサービスの例、TCP/IPクライアントの各種モード、TCP/IPサーバの各種モード
  • 産業協定の締結:ModbusMasterターミナルライブラリ、Modbus仮想マシンインタフェース
  • データベースの種類:SQLデータベースインタフェース関数、データベース操作例
  • モノのインターネット:mqtt仮想マシンインターフェイス、クラウドプラットフォームの例
  • シリアルポートCommunication:シリアルポート関数、シリアルポートポーリング下位機例
  • システムの機能:動的生成コード、タイマ入力、基本出力、データ変換、リアルタイムクロック
  • アプリケーション例:汎用TCP制御リモートIOモジュール、ノンブロッキング連続読み取りTCP/IPサーバの読み書きデータなど

コア機能の詳細

TCP/IPサーバの

AiMaster300はTCP/IPサーバとして動作し、複数のクライアント同時接続をサポートします。

  • startserverTCP/IPサーバを起動し、10クライアント同時接続をサポートするように設定できます。
  • 増分ポートモード700 0 ~ 70 0 9のリスニングポート範囲、受信タイムアウト設定可能(20秒など)
  • 透過型のモデル:透過伝送モードの起動をサポートし、シリアルデータをネットワークに透過的に伝送することを実現する
  • srvwaitrecTCP/IPサーバが受信メッセージをトリガーするのを待ちます。コードはこの関数でStopし、データを受信するとトリガーされます。
  • srvreadrecstrサーバー TCP/IPバッファからクライアントデータを読み取り、データはバッファに保存されます。
  • srvrespクライアントのデータ処理が完了したことをサーバーに通知する
  • マルチクライアント管理:指定されたクライアント接続の閉鎖、マルチクライアント文字列通信、マルチクライアントポーリング、マルチクライアント透過伝送などのモードをサポートします。

TCP/IPクライアント機能

AiMaster300は、TCP/IPクライアントとしてリモートサーバにアクティブに接続できます。

  • startclient:指定したサーバのIPとポートに直接書き込みモードで接続するクライアントサービスを開始します。
  • cliwriteastr文字列データをサーバに送信する
  • clireadastrサーバから文字列データを受信する
  • cligetrhost:指定されたインデックスを読み取るクライアントサービスのリモートサーバIPとポート
  • アプリケーションモード:16進データの能動的アップロード、直接読み書きモード、模擬量通信、能動的に文字列をアップロード、能動的にポーリングサーバーなどの多種モードをサポートする

データベース·ゲートウェイの機能

AiMaster300は、産業データの保管を実現するためのデータベースゲートウェイへの直接接続をサポートします。

  • connectodbデータベース·ゲートウェイへのTCP/IP接続を確立し、接続パラメータを設定できます。
  • データ型設定{{でーたがたせってい}}
    • setval_string文字列データの設定
    • setval_float:浮動小数点データを設定し、指定した小数点以下を保持できます。
    • setval_int整数データの設定
    • setval_dt日時データの設定
  • datachanged:データが変化するかどうかを判断し、データが変化する時だけデータベースを更新し、無効な書き込みを減らす
  • sql_insertSQL insertを呼び出してデータベースにデータを挿入し、失敗した場合にデータがネイティブFlashにexistenceし、通信再開後に自動的に再発行されます。
  • sql_execproc:指定されたストアドプロシージャを実行し、配列はストアドプロシージャから返される結果セットを受け取る
  • execsql:標準SQL文を実行し、update、select、select countなどのOperationをサポートします。
  • ブレークダウンの継続:ネットワークの切断データはネイティブフラッシュに保存され、Communicationはバックグラウンドサービスによって自動的に再発行され、開発者の介入なしに復元されます。

Modbus Masterの機能

AiMaster300はModbusマスター機能を内蔵し、Modbus RTUデバイスをアクティブにポーリングできます。

  • modmaster.readrtu:シリアルポートを通じてModbus RTUデータを読み取り、読み出したシリアルポート、Modbus下位機ステーション番号、読み出したレジスタ数、データフォーマットなどのパラメータの設定をサポートする。
  • データParseに戻る:浮動小数点解析をサポートし、読み込んだ生データをエンジニアリング値に変換します。
  • マルチデバイスポーリング:複数の下位マシンデバイスの循環ポーリングをサポートし、各デバイスは異なるステーション番号とレジスタを設定できます。

シリアル通信機能

AiMaster300は柔軟なシリアルポート通信機能を提供します。

  • lib_uart.queryuart:シリアルポートで1回ポーリングを実行し、queryuartはシリアルポートポーリング関数で、任意のデータを送信し、下位機を受信してデータを返すことができます。
  • lib_uart.uart_rxnw:ノンブロッキングでシリアルデータを受信し、タイムアウト時間の設定をサポートし、タイムアウトに達してデータを受信しない場合は最初のバイトを返してから後続のコマンドを実行します。
  • カスタム契約の定義任意のデータの送信をサポートし、任意のデータにすることができますが、下位マシンのCommunicationプロトコル仕様に準拠する必要があります。
  • データの印刷:debug.printarray配列の内容を表示できるためデバッグに便利

システムの機能

  • rtc.getdatetimeリアルタイムクロック時刻と日付を読み取る
  • syslib.ossleep:現在の仮想マシンは指定ミリ秒の数をスリープさせ、CPUリソースを解放し、パラメータの有効値は0~60000ミリ秒です。
  • マルチVMスケジューリング複数の仮想マシンがスリープ機能を介してCPUを放棄し、協調マルチタスクを実現
  • データ変換:数値および文字列データParseをサポートする豊富なデータ型変換関数を提供します。

典型的なアプリケーション開発例

例1:Modbusデータ収集

Modmaster.readrtuを介してModbus RTUデバイスデータを読み取り、データの変更を判断した後、sql_insertを介してデータベースに書き込み、ネットワーク切断時にデータローカルストレージが自動的に再発行されます。

例2 TCP透過サーバ

startserverを通じてTCPサーバを起動し、10個のクライアント同時接続をサポートし、srvwaitrecを使用してデータを待ち、srvreadrecstrを使用してデータを読み取り、srvrespを完了し、シリアルデータをネットワークに透過的に伝送することを実現する。

例3:クラウドプラットフォームへの積極的なアップロード

startclientを介してクラウドサーバに接続し、cliwriteastrを使用して収集データをアップロードし、clireadastrはクラウドからの制御コマンドを受信します。

例4カスタムプロトコルポーリング

lib_uart.queryuartを用いてカスタムプロトコルフレームを送信し、下位機がデータを返すことを受信し、Parseして処理またはアップロードする。

技術パラメータ

パラメータアイテムSpecificationの略
プログラミング言語Luaスクリプト
Lua仮想マシン最大4つの並列実行(VM1ポート91 00、VM2ポート91 01)
TCP/IPClientとServerモードをサポートし、Serverは10個のクライアントの同時接続をサポートする。
産業協定の締結Modbus RTU Master
データベースの種類SQLデータベースゲートウェイをサポートし、SQL文とストアドプロシージャを実行し、ブレークポイントを継続する
モノのインターネットプロトコルMQTTクライアント
シリアルポートRS 485/RS 232のサポート、ノンブロッキング受信
リアルタイムクロック。内蔵RTC、日付時刻の読み取りをサポート
データストア内蔵フラッシュ、ローカルストレージの自動再発行をサポート
プログラミング環境デバッグモードと完成品モードをサポートするWindows専用プログラミングソフトウェア
コードベース。数十種類のCommunicationサンプルコードを内蔵
設置方法はレールの取り付け
動作温度は-40 ° C ~85 ° C工業用グレード

典型的な応用シナリオ

  • 産業データの収集Modbusデバイスデータの収集、SQLデータベースへの直接書き込み、ネットワークの自動再発行
  • プロトコル変換ゲートウェイ:Luaスクリプトによる任意のシリアルポートプロトコルからTCP/IP、MQTTへの変換
  • エッジコンピューティングコントローラデータ処理、論理判断、アラーム出力をローカルで完了し、クラウドへの圧力を低減
  • カスタムプロトコルデバイスのネットワーキング:任意のシリアルプロトコル設備のデータ収集とアップロードをサポートする
  • クラウドプラットフォームの接続:MQTTまたはTCP経由でさまざまなクラウドプラットフォームにデータをアクティブにアップロード
  • 複数デバイスの集中監視複数の仮想マシンを並列に実行し、複数のCommunicationタスクとデバイスを同時に処理
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 *.