Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Définition de tableaux personnalisés dans les blocs de fonctions natifs – Guide pratique

Pourquoi cet article ?

En fait, cet article a été créé car lors du développement du bloc de fonctions natif (Native Function Block), j'ai découvert qu'il était impossible d'utiliser un tableau de structures personnalisées. Ou pour le dire autrement, c'est dommage que le GitHub officiel de PLCnext n'ait pas de tutoriels de ce type. Si vous utilisez le tutoriel C# pour créer un tableau personnalisé dans un bloc de fonctions natif, vous constaterez que vous ne pouvez pas le compiler avec succès, ou que la définition des valeurs du tableau dans PLCnext Engineer n'a aucune réponse. L'exemple dans ce cas concerne simplement la base de données.

Description de la démo

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

Prérequis

$ plcncli --version plcncli 23.6.0.1450 (23.6.0.1450) 

ÉTAPE 1

ÉTAPE 2

ArrayCplus.cs

ÉTAPE 3

Ouvrez le terminal dans le dossier ArrayTestCpp et entrez ce qui suit.

$ plcncli generate code 

Après la génération du code, localisez les fichiers ArrayTest-cli32.h et ArrayTest-cli64.h dans le répertoire src, et trouvez les endroits où #error est indiqué.

Nous devons supprimer les commentaires et améliorer le code. Cliquez pour accéder à InArrayFB-cli.cpp et modifier l'implémentation.

IntArrayFB-cli.cpp

ÉTAPE 4

Dans ArrayCplus.cpp, entrez le code suivant. Le contenu contenant des chaînes doit être initialisé dans le processus plutôt que dans la région Init ; l'initialisation dans la région Init ne fonctionnera pas, entraînant l'impossibilité d'écrire des valeurs dans sName et sAttribute via Engineer.

ArrayCplus-cli.cpp

ÉTAPE 5

Ouvrez le terminal dans le dossier ArrayTestCpp et entrez ce qui suit.

$ plcncli build all $ plcncli deploy 

ÉTAPE 6

Ouvrez PLCnext Engineer et chargez le ArrayTest.pcwlx, ajoutez une variable à ArrayTest nommée arr

Maintenant, cela fonctionne

Questions

Note :

Le blog Makers présente des applications et des histoires d'utilisateurs de membres de la communauté qui ne sont pas testés ou revus par Phoenix Contact. Utilisez-les à vos propres risques.

Technologie industrielle

  1. Comment l'ERP réduit les stocks et améliore l'efficacité opérationnelle
  2. Conception efficace d'un convertisseur abaisseur 12V vers 5V (Buck Converter)
  3. Primitives des fonctions exponentielles de base e
  4. Top 7 des logiciels de gestion de stocks 2022 : maximisez précision et efficacité
  5. Filtres passe-bande : conception, implémentation et conseils pratiques
  6. Nouvel algorithme quantique : 20 millions de qubits pour casser le RSA 2048 bits en 8 heures
  7. 3 avantages clés de la gestion de maintenance de bâtiment mobile
  8. Assemblages Rainure-Langue : Applications, Avantages et Guide de Réalisation
  9. Podcast : Accélérer la connectivité Edge dans l'IoT industriel