工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

ネイティブ ファンクション ブロックでのカスタム配列定義:実践ガイド

この投稿の理由

実は、ネイティブ ファンクション ブロックを開発していたとき、カスタム構造体の配列を使用することが不可能であることに気づきました。つまり、PLCnextの公式GitHubにはこのタイプのチュートリアルがないのは残念です。C#チュートリアルを使ってネイティブ ファンクション ブロックでカスタム配列を作成しようとすると、正常にコンパイルできない、またはPLCnext Engineerで配列値を設定しても反応しないことがわかります。この例はたまたまデータベースに関連しています。

デモの説明

https://github.com/Leeable/UserDefineArray_NativeFB/tree/Master

要件

$ plcncli --version
plcncli 23.6.0.1450 (23.6.0.1450)

ステップ1

ステップ2

ArrayCplus.cs

ステップ3

ArrayTestCppフォルダでターミナルを開き、以下を入力します。

$ plcncli generate code

コード生成後、srcディレクトリ内のArrayTest-cli32.hおよびArrayTest-cli64.hファイルを見つけ、#errorが示されている箇所を探します。

コメントを削除してコードを改善する必要があります。InArrayFB-cli.cppに移動して実装を修正します。

IntArrayFB-cli.cpp

ステップ4

ArrayCplus.cppに以下のコードを入力します。文字列を含むコンテンツは、Init領域ではなくProcess領域で初期化する必要があります。Init領域で初期化すると機能せず、Engineerを通じてsNameとsAttributeに値を書き込めなくなります。

ArrayCplus-cli.cpp

ステップ5

ArrayTestCppフォルダでターミナルを開き、以下を入力します。

$ plcncli build all
$ plcncli deploy

ステップ6

PLCnext Engineerを開き、ArrayTest.pcwlxをロードし、ArrayTestという名前の変数arrを追加します。

これで動作します

質問

注記:

Makers Blogは、Phoenix Contactによってテストまたはレビューされていないコミュニティ メンバーのアプリケーションとユーザー ストーリーを紹介しています。自己責任でご利用ください。

産業技術

  1. 平削り盤(プレーナー)とは:定義、構成部品、種類を徹底解説
  2. 耐久性のある電子機器エンクロージャの最適製造方法選定ガイド
  3. 初心者向け電気工学必読書トップ6
  4. 直列・並列コンデンサの理解:静電容量の加算と減算
  5. 半導体革命:物質科学からデバイス物理まで体系的に理解する入門ガイド
  6. 空港設備安全監査をマスターする:ステップバイステップガイド
  7. オーバーエンジニアリングを防ぐ:金属部品から先進プラスチックへの転換
  8. 最適化荒加工で劇的効果:高速化と工具寿命延長の6つの実証済み戦略
  9. メタライゼーション(金属化)徹底解説:メリット・プロセス・用途
  10. 産業セールス加速のために排除すべき4つのバイヤーペインポイント
  11. 理想的なCNC材料選定のための必須要因