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

Definieren benutzerdefinierter Arrays in nativen Funktionsblöcken – Ein praktischer Leitfaden

Warum dieser Beitrag?

Tatsächlich wurde dieser Beitrag erstellt, weil ich bei der Entwicklung des Native Function Block festgestellt habe, dass es unmöglich ist, eine Reihe benutzerdefinierter Strukturen zu verwenden. Oder anders ausgedrückt:Es ist schade, dass es auf dem offiziellen GitHub von PLCnext keine Tutorials dieser Art gibt. Wenn Sie das C#-Tutorial verwenden, um ein benutzerdefiniertes Array in Native Function Block zu erstellen, werden Sie feststellen, dass Sie es nicht erfolgreich kompilieren können oder dass das Festlegen der Array-Werte in PLCnext Engineer zu keiner Reaktion führt. Das Beispiel in diesem Fall bezieht sich zufällig auf die Datenbank, das ist alles.

Demo-Beschreibung

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

Anforderungen

$ plcncli --version
plcncli 23.6.0.1450 (23.6.0.1450)

SCHRITT1

SCHRITT2

ArrayCplus.cs

SCHRITT3

Öffnen Sie das Terminal im Ordner „ArrayTestCpp“ und geben Sie Folgendes ein:

$ plcncli generate code

Suchen Sie nach dem Generieren des Codes nach ArrayTest-cli32.h und ArrayTest-cli64.h Dateien im src-Verzeichnis und suchen Sie 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 ändern Sie die Implementierung.

IntArrayFB-cli.cpp

SCHRITT4

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

ArrayCplus-cli.cpp

SCHRITT5

Öffnen Sie das Terminal im Ordner „ArrayTestCpp“ und geben Sie Folgendes ein:

$ plcncli build all
$ plcncli deploy

SCHRITT6

Öffnen Sie den PLCnext Engineer und laden Sie die Datei ArrayTest.pcwlx Fügen Sie dem ArrayTest eine Variable mit dem Namen arr

hinzu

Jetzt kann es funktionieren

Fragen

Hinweis:

Der Makers Blog zeigt Anwendungen und User Stories von Community-Mitgliedern, die nicht von Phoenix Contact getestet oder überprüft wurden. Die Nutzung erfolgt auf eigene Gefahr.


Industrietechnik

  1. Schlauchverbindungstypen und Anwendungsfälle
  2. Präzises 4-Achsen-CNC-Fräsen in Australien – schnelle und zuverlässige Fertigung komplexer Teile
  3. Was ist Laserstrahlbearbeitung? - Typen und Arbeitsweise
  4. Warum haben sich Probenahmesysteme nicht verbessert – drei Hauptgründe
  5. Unterschied zwischen Gießen und Schmieden
  6. Maschinelles Lernen vs. Deep Learning und seine Verwendung im täglichen Leben
  7. Warum ist der Leistungsfaktor in elektrischen Energiesystemen so wichtig?
  8. Aluminiumgusstoleranzen für die Luft- und Raumfahrt
  9. Boeing:Leichtestes Metall aller Zeiten
  10. Warum Sie Rohrverschraubungen nicht untereinander mischen sollten