はじめに CXMM_MessageManagementライブラリは、アプリケーションプログラムから情報、警告、エラー、その他のメッセージをHMIに表示するための機能を提供します。設計はPLCnext WBMの通知表示に準拠しています。 最初のステップ例 PLC変数udtTextBufferにメッセージテキストを設定 メッセージテキストはCSVファイルに格納し、PLCnextBaseライブラリのFB PBCL_FileCsvReadを使用してPLC変数にデータを設定することを推奨します。 送信者カラムのテキスト設定 送信者カラムのパラメータ設定: uiSender > 0, wCode
Java 9では、jlinkという新しいツールが導入されました。これはモジュールを組み合わせてオールインワンのランタイムイメージを構築するものです。一方で、32ビットARM版JDK全体をPLCnext Controlで実行することも可能ですが、jlinkとモジュールを使用すると、Javaアプリケーションに必要なリソースを削減できます。アプリケーションに必要なJDKの部分だけを含むバンドルを作成します。 前提条件 ホストシステム用JDK コントローラ用JDK OpenJDKのバイナリは多くのプラットフォームでAdoptOpenJDKなどから入手可能です。このチュートリアルでは、コントローラ用
このブログでは、PLCnextでGo言語を使用してアプリケーションを構築する最初のステップをガイドします。Goに馴染みのない方のために、公式サイトwww.golang.orgから引用します。 Goを好む理由の1つは、Webアプリケーションを簡単に作成できるのに静的バイナリにコンパイルされるため、PLCnextコントローラにプログラムをデプロイする際にパッケージをインストールする必要がないことです。 このブログでは、PLCnext向けのクロスコンパイルのみを扱い、2つの小さなプログラムで示します。コンパイルが正常に動くか確認する定番のHello Worldプログラムと、Goの威力を示す小さなRE
Dockerコンテナを使用して、PLCnextデバイス上でNode-REDサーバーを実行できます。こちらで説明されている別の方法の方が少し速いですが、OCIコンテナの利点もあります。例えば、アプリケーションで同じパッケージを繰り返し使用する場合、標準イメージをビルドしてDocker Hubからダウンロードするだけで済みます。また、Dockerを使えばNode-REDサーバーを必要なときに開始・停止できます。 このブログではその手順を説明します。まずDockerのインストールプロセスをガイドし、インストールを確認します。Dockerfileで好みのパッケージを事前インストールしたカスタムイメージ
Driesの「DockerコンテナでNode-REDを実行する」という素晴らしいブログ記事を読んで、いくつかヒントを共有しようと思いました。 コンテナのデータは永続化されません。コンテナが削除されるとデータは失われます。 DockerとbalenaEngineでは、コンテナの外部(ホストシステム)にファイルを保存する2つのオプションがあります:ボリュームとバインドマウント。 ボリュームはDockerが管理するホストファイルシステムの領域(/var/lib/docker/volumes)に保存され、ホストシステムから隔離されています。非Dockerプロセスはこの領域を変更すべきではありません。
こんにちは皆さん、 このブログ記事では、C++とPLCnext Engineerにおけるシンプルおよび複合データ型について探求します。シンプルな演習と複合的な演習の2部構成です。 このチュートリアルは、C++とPLCnext Engineerのある程度の経験があることを前提としています。 準備 まず必要なツールを揃えます:C++エディタ、PLCnext Engineerソフトウェア、実行用のPhoenix Contact PLC。私が使用した環境は以下の通りです: AXC F 2152(ファームウェアバージョン 2021.0.3) PLCnext Engineerバージョン 2021.0.2
こんにちは、PLCnextユーザーの皆さん 前書き 昨日、Jan Christoph Müllerのおかげで、私のPLCnextデバイス(EPC 1522)にioBrokerをインストールできました。これで得られた知見を皆さんと共有します。 課題と目標 私の環境には以下のデバイスがあります: Modbus TCPで動作するPluggit換気システム。先月Visu+で小さなプロジェクトを作りましたが、満足していません。 MQTTで動作するShellyリレーいくつか Xiaomiスマートホームデバイス(Yeelight、ロボット掃除機など) これらすべてを1つのシステムで管理したい なぜioB
Tankerkönig APIは、ドイツのすべての登録ガソリンスタンドの現在の燃料価格へ簡単にアクセスできるサービスです。ドイツの14,000軒以上のガソリンスタンドは、スーパーE5、スーパーE10、ディーゼルの価格を連邦カルテル庁のこの部門に適時に報告する義務があります。このデータへのアクセスは、ライセンスを持つ燃料価格情報サービスを通じてのみ可能です。アプリやWebサイトの開発者など他のユーザーもこのデータを利用できるよう、Tankerkönigは無料APIを公開しています。Tankerkönig.deは、オープンデータの概念のもと、得られた経験を他者に提供するためAPIを公開することを
Phoenix Contact PLCnext Controlのデータがクラウドに流れ始めたら、Grafanaダッシュボードを作成してすべてを簡単に監視できるようにしましょう。まずはPLCnext ControlをMicrosoft Azureに接続するところから始めます。 Phoenix Contactには、Node.jsクライアントを使用してPLCnextコントローラをAzure IoT Hubに接続する方法を示した動画があります(https://youtu.be/QST1RpTkdfA)。非常に参考になります。しかし、Azureリソースグループ、IoT Hub、ストレージコンテナ、スト
Phoenix Contact PLCnext Controlのデータがクラウドに流れ始めたら、Power BIレポートを作成してすべてを簡単に監視できるようにしましょう。まずはPLCnext ControlをMicrosoft Azureに接続するところから始めます。 Phoenix Contactには、Node.jsクライアントを使用してPLCnextコントローラをAzure IoT Hubに接続する方法を示した動画があります(https://youtu.be/QST1RpTkdfA)。非常に参考になります。しかし、Azureリソースグループ、IoT Hub、ストレージコンテナ、ストレー
Phoenix Contact PLCnext Controlのデータがクラウドに流れ始めたら、Tableauダッシュボードを作成してすべてを簡単に監視できるようにしましょう。まずはPLCnext ControlをMicrosoft Azureに接続するところから始めます。 Phoenix Contactには、Node.jsクライアントを使用してPLCnextコントローラをAzure IoT Hubに接続する方法を示した動画があります(https://youtu.be/QST1RpTkdfA)。非常に参考になります。しかし、Azureリソースグループ、IoT Hub、ストレージコンテナ、スト
このチュートリアルでは、PLCnext Engineerで多言語機能を扱う方法を紹介します。この機能は2021.0 LTSからサポートされています。 以下の例では、デフォルト言語を英語、代替言語をスウェーデン語とします。 ハードウェア:AXC F 2152 PLCnextコントローラ(FW 2021.0 LTS以降) ソフトウェア:PLCnext Engineer 2021.0 LTS プロジェクト:Starterkitデモプロジェクト(2021.0 LTSに適応済み) ステップ1. プロジェクトで多言語を有効化 「Extras(エクストラ)> Options(オプション)」を選択
Azure IoT Edgeを使用すると、クラウド分析とカスタムロジックを「エッジ」、つまり私たちの場合はPLCnextデバイスに移動できます。これにより、使用帯域幅とレイテンシの削減というメリットがあります。Azure IoT Edgeでは、中央のクラウドアプリケーションから独自のアプリケーションを開発・デプロイできます。このブログでは、Azure IoT Edgeのセットアップと基本原則について学びます。 はじめに Azure IoT EdgeソリューションのすべてをMakers Blogで説明するのは範囲が広すぎますが、続ける前にこちらのポータルでよく理解しておくことをお勧めします。それ
技術的背景 Kafka Apache Kafkaはデータの取り込み、保存、処理、再配布のためのフレームワークです。現在、世界中の企業で広く導入されています。Kafkaの公式サイトでその思想や導入方法について詳しく知ることができます。主要な特徴の1つは、MQTTを含む他のアプリケーションや通信プロトコルへのコネクタが豊富に既存していることです。 MQTT MQTTは軽量なTCPベースのメッセージングプロトコルで、堅牢性とフットプリントの小ささからIoT通信によく使用されます。OASIS標準のMQTTについて詳しくは公式サイトを参照してください。 こちらで、PLCnext向けにmosquittoを
今や誰もが機械学習について耳にし、それがすべてを変えると聞いています。しかし、実際にどう始めればよいか分かっている人はごく少数です。このブログの手順を試すか、あるいは読むだけでも、PLCnextコントローラで機械学習を始める足がかりになれば幸いです。ここでは、最初のMLモデルの訓練、ONNX形式への変換、PLCnextコントローラでの推論実行までを扱います。わかりやすくするため、有名なIrisデータセットを使用してモデルを構築します。 始める前に、何を達成しようとしているかを明確にしておきましょう。このブログで扱うトピックを簡単に説明します。参考資料は文末にまとめています。 機械学習入門 機械
このデモプロジェクトでは、PLCnextコントローラをオープンソースのホームオートメーションソフトウェア「Home Assistant」でスマートホームデバイスとして利用する方法を紹介します。接続にはREST APIとModbus TCPを使用します。PLCnextコントローラを使えば、Axiolineコンポーネントを自動化に組み込み、Raspberry PiのGPIOピンより強力な出力、Pt100などの温度センサー、DALIなどのバスシステムを簡単に追加できます。必要なのは、動作中のHome Assistantインストール環境と、小規模だが実行可能なPLCnextプロジェクトを搭載したPLC
アプリケーションをビルド環境ごと丸ごと配布すると、システムはすぐに巨大になります。これにはビルド環境やテスト環境も含まれます。配布に必要なファイルの抽出自体は問題ではありませんが、時間がかかります。 コンテナを使用すれば、このプロセスを自動化できます。 1つのファイル内で複数のコンテナを定義することが可能です。Node.jsでビルドされたJavaScriptベースのWebサイトが好例です。 例: Node.js: 約400〜600 MB Webサーバーnginx: 約20 MB Webサイト本体: 約2 MB 全体を1つのコンテナにすると600 MB以上になりますが、実際に本番で必要なのは
このデモプロジェクトは、PLCnext EngineerのeHMIで使用するカスタムキーパッドの作成方法を示します。これはBWP 2000シリーズHMIタッチスクリーンの回避策として開発されましたが、WP 4000シリーズタッチスクリーンでも動作します。 BWP 2000シリーズタッチスクリーンにはフル画面キーボードしかなく、キーパッドオプションがありません。画面キーボードを画面下部から上部に移動して入力フィールドを隠さないようにできますが、多くのシナリオでは数値キーパッドが望まれます。 WP 4000シリーズタッチスクリーンにはフル画面キーボードと数
課題 より高速な開発のために、AXCF2152またはAXCF1152向けのARMベースのコンテナをx86ハードウェア上で作成したいと考えています。このために、通常のPC上で実行されるDebianまたはUbuntuベースの仮想マシンを使用します。 エミュレーターが必要 x86システム上でARMバイナリコードを実行するには、それを可能にするエミュレーターが必要です。 QEMUは、ARMバイナリコードをエミュレートし、x86向けにコンパイルできる数少ないハイパーバイザーの1つです。ホストシステムにQEMUをインストールし、エミュレーターを有効化するだけで済みます。UbuntuまたはDebianへのQ
ITでは何年も標準とされてきましたが、産業分野ではまだ大きな影響を与えていません。多くの場合、このようなテクノロジーは複雑すぎると、不要だと見なされます。問われるのは、これらが我々に利点をもたらすかどうかです。 Kubernetesを例にしたPLCnextのビジョン。 Kubernetes Kubernetesは、コンテナなどを使用して、さまざまなデバイスを介してネットワークを形成するオーケストレーター(管理システム、マスター)です。このシステムは、アプリケーションを少し異なる方法で提供するために使用されます。 従来、アプリケーションはデバイスに分散して維持されていました。どのコンピューターで
産業技術