ESP8266のANSI / ISA-88制御言語をサポートするSCADA「BortX」

正直なところ、私は現代のマイクロコンピューターが大好きです。特に、Wi-Fiインターフェースを備えた中国のメーカーEspressifSystemsによって製造されています。もちろん、私たちはESP8266ESP32について話しています。これらは、教育の文脈で大きな可能性を秘めています。



画像



もちろん、欠点もあります。しかし、価格。これは奇跡です。特に、条件付きの「Witty Cloud」を3ドルで購入すれば、栄養やプログラミングについて心配する必要さえありません。 IoTのアプリケーションの範囲により、さまざまな方法で独自の自動化プロジェクトを作成できます。従来の方法では、コードを記述してIDEで作業します。または同じFLProgを介して。ただし、いつものように、ハードウェアベースとしてのESP8266の一般的なアプリケーションのフレームワーク内での作業の表現をいくらか遅くするニュアンスがあります。そして、問題は、ルーターを介したインターネットアクセスを備えたホーム/オフィスローカルネットワークへのネットワーク接続にはまったくありません。デバイスは熱心に動作し、特定の構成でZigbeeコーディネーターとして機能できます。



ESP8266 / ESP32は、アクセスポイントとエンドステーションの両方として機能します。通常のLAN動作中、ESP8266はエンドポイントモードに設定されます。これを行うには、デバイスでWi-FiネットワークのSSIDを設定し、閉じたネットワークではアクセスパスワードを設定する必要があります。アクセスポイントモードは、これらのパラメータの初期設定に役立ちます。アクセスポイントモードでは、タブレットやコンピューターでの標準的なネットワーク検索中にデバイスが表示されます。デバイスに接続し、HTML構成ページを開いて、ネットワークパラメーターを設定する必要があります。その後、デバイスは通常、ターミナルステーションモードでローカルネットワークに接続します。



データをリアルタイムで管理および視覚化することは重要なタスクです。ただし、このビジネスのクイックスタートが常に利用できるとは限りません。しかしその後、彼らの分析が必要です。グラフ上のタイムラインの役割も重要です-測定の頻度と均一性を示すために。プロセスの履歴は、分析と診断に必要です。必要な知識と分析がなければ、データの潜在能力を十分に活用できません。これは欠陥であり、数値とパーセンテージに明確な意味を与え、データの理解と解釈を容易にするツールが必要です。これは、科学実験の分野および製造プロセスで必要です。



オンラインデータ視覚化ツール時代のこの挑戦への適切な対応です。データの結合、つまり情報の合成は、別のタスクのようです。時間のスケーリング、ビューポートの選択、Y軸に沿ったスケーリング、Y軸に沿ったシフト-これらはすべて視覚化ツールに必要な属性です。これにより、ダッシュボードに表示される最も複雑なグラフやチャートでさえ、明確で理解しやすくなります。 SCADAをサポートするオンラインデータ視覚化のオプションの1つは、新しいBortXプロジェクトです。



これに精通していると、リアルタイムで実験を行うのに役立つと思います(たとえば、教育プロセスでのアイデアの簡単な実装など)。作業するには、SputnikスケッチをESP8266に縫い付ける必要があります。あなたはそのコードに慣れることができますリンク。自由に変更できることが作業の前提条件です。SSIDとパスワードを入力して、ESPをルーターに接続します。ところで、衛星パイロットプロジェクトが配置されている



スケッチをダウンロードした後、マイクロプロセッサは情報をWebページの形式でインターネットに出力します。各マイクロプロセッサには一意の番号があり、この番号はインターネット経由のアクセスに使用されるため、登録は必要ありません。 ID自体は、Arduino IDEでCOMポートステータスウィンドウを開くことで確認できます(115kbaud / s):



画像



デフォルトでは、TCPポート6110伝送制御プロトコルを使用します。TCPはTCP / IPネットワークの主要なプロトコルの1つです。 TCPは接続指向のプロトコルであり、エンドツーエンドの通信を確立するにはハンドシェイクが必要です。接続が確立された後でのみ、ユーザーデータを双方向に送信できます。ページ等のパスワード設定が可能です。しかし、この「システム」の最も重要な要素は、APCSからの制御言語の条件付きサポートです。



BS-88制御言語はISAS-88標準に基づいています..。グラフィカルアナログの例はSFCです。制御言語を使用すると、ESPは現在の状況に基づいて制御戦略を決定でき、特定のアクションのニーズに応じてESPの制御を順序付けることができます。この言語は、従来のプログラミング言語とは異なります。その理由は、言語が製造プロセスを制御するためのアクションを説明しているためです。



BS-88に準拠した製造プロセスは、水の加熱や溶液成分の調製など、同時に発生する可能性のある操作で構成されています。

同様に、操作は順次実行されるフェーズで構成されます。制御言語演算子には、次の2つのタイプしかありません。



  1. アクティブなオペレーター。
  2. 遷移演算子(条件ありまたはなし)(遷移)。


たとえば、水を加熱する操作:

フェーズ1:水バルブを開きます。

レベルセンサーがトリガーされたら、フェーズ2

フェーズ2に進みます。ウォーターバルブを閉じます。

ヒーターをオンにします;;

温度が60度に達したら、フェーズ3に移行し

ます。フェーズ3:ヒーターをオフにします。

やめる;

水バルブがDOに接続され、水位センサーがD5に接続され、ヒーターがD1に接続され、A0が温度センサーであるとします。



スクリプトは次のようになります。



1: $ D0 = 1; // phase1
if($D1 = 1) trans {2}; // wait_for_D5_become_ "on"
2: $ D0 = 0; // phase2
$D2 = 1;
if($0 >= 60) trans {3}; // wait_for_tempeature
3: $D2 = 0;
stop; // end_of_script


言語は、arduinoの慣例のように変数の書き込みを使用しますが、パネルでは、変数に別の名前を付けることができます(例:Uakk、Set_Ux、Set_temp)。名前の置換は、構成エディターで可能です。エディターにアクセスするには、パネルのギアアイコンをクリックします。内部計算または$ X0〜 $ X9メモリ用の変数もあります。表示する独自のフィールドはありませんが、変数に値を設定すると表示されます。



$X9 = $ X9 + 1; //  
$ S3 = $ X9; //  $ X9   S3  .


APCSの制御言語に関するより完全な説明は、Webサイトに掲載されています。オンライン構成モードでは、サイトから直接、作業シナリオを設定できます。



画像



そして、ピン変数の名前を設定(変更)します。



画像



All Articles