Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Definition benutzerdefinierter Arrays in Native Function Blocks – Ein praktischer Leitfaden

Warum dieser Beitrag?

Tatsächlich wurde dieser Beitrag erstellt, weil ich bei der Entwicklung des Native Function Blocks feststellte, dass es unmöglich war, ein Array von benutzerdefinierten Strukturen zu verwenden. Anders ausgedrückt: Es ist schade, dass das offizielle GitHub von PLCnext keine Tutorials dieser Art hat. Wenn Sie das C#-Tutorial verwenden, um ein benutzerdefiniertes Array in einem Native Function Block zu erstellen, werden Sie feststellen, dass Sie es nicht erfolgreich kompilieren können, oder das Setzen der Array-Werte in PLCnext Engineer keine Reaktion zeigt. Das Beispiel im Fall bezieht sich zufällig auf die Datenbank, das ist alles.

Demo-Beschreibung

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

Voraussetzungen

$ plcncli --version plcncli 23.6.0.1450 (23.6.0.1450) 

SCHRITT 1

SCHRITT 2

ArrayCplus.cs

SCHRITT 3

Öffnen Sie das Terminal im ArrayTestCpp-Ordner und geben Sie Folgendes ein.

$ plcncli generate code 

Nach der Codegenerierung suchen Sie die Dateien ArrayTest-cli32.h und ArrayTest-cli64.h im src-Verzeichnis und finden die Stellen, an denen #error angezeigt wird.

Wir müssen die Kommentare entfernen und den Code verbessern. Klicken Sie, um zu InArrayFB-cli.cpp zu navigieren und die Implementierung zu ändern.

IntArrayFB-cli.cpp

SCHRITT 4

In ArrayCplus.cpp geben Sie den folgenden Code ein. Inhalte, die Strings enthalten, müssen im Process-Bereich initialisiert werden, nicht im Init-Bereich; eine Initialisierung im Init-Bereich funktioniert nicht und führt dazu, dass Werte nicht über Engineer in sName und sAttribute geschrieben werden können.

ArrayCplus-cli.cpp

SCHRITT 5

Öffnen Sie das Terminal im ArrayTestCpp-Ordner und geben Sie Folgendes ein.

$ plcncli build all $ plcncli deploy 

SCHRITT 6

Öffnen Sie PLCnext Engineer und laden Sie die ArrayTest.pcwlx, fügen Sie eine Variable zum ArrayTest namens arr hinzu.

Jetzt funktioniert es.

Fragen

Hinweis:

Der Makers Blog zeigt Anwendungen und Benutzerberichte von Community-Mitgliedern, die nicht von Phoenix Contact getestet oder überprüft wurden. Verwendung auf eigenes Risiko.

Industrietechnik

  1. Vier entscheidende Erkenntnisse für resiliente E-Commerce-Lieferketten nach der Pandemie
  2. Generatorüberlastung: Warnsignale & mögliche Folgen
  3. Umfassender Leitfaden zu Rohrkennzeichnung und -markierung: Standards, Sicherheit & Best Practices
  4. Schneller Wiederanlauf nach Brand: Leitfaden für Werkstätten
  5. Keramische Dieselpartikelfilter: Fortschrittliche Emissionsreinigung für sauberere Stadtluft
  6. Lagerautomatisierung voranbringen: Bots zur Kommunikation befähigen für mehr Effizienz
  7. Das richtige Verkabelungssystem & Kabelführungen für sichere Inneninstallationen wählen
  8. Werkstattwachstum durch Automatisierung beschleunigen – bei Erhalt der Arbeitsplätze
  9. Industrielle Beschaffung meistern: Von Markenbekanntheit zum Purchase Order
  10. Warum Gusseisen-Platentische der Goldstandard für Schweißen sind