工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
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

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

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

IntArrayFB-cli.cpp

ステップ4

ArrayCplus.cpp内 、次のコードを入力します。文字列を含むコンテンツは、Init 領域ではなくプロセス内で初期化する必要があります。 Init 領域での初期化は機能せず、その結果、Engineer を通じて sName と sAttribute に値を書き込むことができなくなります。

ArrayCplus-cli.cpp

ステップ5

ArrayTestCpp フォルダー内のターミナルを開き、次のように入力します。

$ plcncli build all
$ plcncli deploy

ステップ6

PLCnext Engineer を開き、ArrayTest.pcwlx をロードします。 arr

という名前の変数を ArrayTest に追加します。

これで動作できるようになりました

質問

注:

Makers Blog には、フエニックス・コンタクトによってテストまたはレビューされていないアプリケーションとコミュニティ メンバーのユーザー ストーリーが表示されます。ご自身の責任で使用してください。


産業技術

  1. 量子コンピューティングがロジスティクスの未来をどのように推進するか
  2. 簡略化のためのブール規則
  3. Camcodeは倉庫のラベルとサインのインストールを提供します
  4. フィラデルフィアは教育、医療、防衛産業の中心地になれるでしょうか?
  5. デジタルメンテナンスシステムによる容量不足のナビゲート
  6. PLCnextにapt(-get)パッケージマネージャーをインストール
  7. レーザー切断材料:ラピッドプロトタイピングに最適です
  8. フライス盤 1 台
  9. Camcodeは認定されたMetalphotoコンバーターの指定を獲得します
  10. 作業設備:アップグレードの時期ですか?
  11. 適切な電柱タグを選択する必要がある4つの理由