DAQNavi le SDK pour l’acquisition ADVANTECH

Un PC industriel en plus d’être communiquant, peut contrôler et commander un process industriel au coeur duquel il est implanté. On lui ajoute ainsi des cartes d’acquisition de données directement sur son bus PCI ou PCI express, et également des cartes communicantes sur des réseaux de terrain industriels en liaison avec des cartes d’acquisition de données déportées via un protocole Modbus TCP par exemple. Cette deuxième solution permet de couvrir de plus longues distances à moindre coup. DAQNavi fournit toutes les API pour le développement de vos applications.

LA GAMME DES CARTES D’ACQUISITION ADVANTECH

Pour couvrir l’ensemble des besoins, Advantech propose une gamme très étoffée permettant de raccorder tout type de capteur et d’actionneur du marché. On trouvera des cartes d’entrées et sorties TOR (Tout ou Rien) intégrant des entrées de comptage notamment à fréquences élevées mais également des cartes pour le traitement de signaux analogiques.

acquisition de données DAQNavi

UN PACKAGE DE DEVELOPPEMENT COMPLET DAQNAVI

Le SDK (Software Development Kit) DAQNavi est le kit de développement dédié à cette tâche sous Windows et Linux. Après installation, il permet de consulter le manuel de mise en oeuvre, de tester les cartes implantées dans le PC grâce à son outil Navigator. Mais en plus de ces fonctions basiques, il intègre un driver de simulation permettant de mettre au point votre application sans même avoir installé une carte d’acquisition. Ainsi, toute une palette d’exemples est fournie permettant de simuler un grand nombre de scénarios d’acquisition rencontrés dans les divers process industriels. Non seulement vous aurez accès aux versions compilés ou runtime de ces exemples, mais l’ensemble des sources est livré dans les langages les plus courants comme le C, C++, C Borland, c#, Delphi, java, Visual basic, Labview. Ainsi vous pourrez créer votre application pas à pas à partir du squelette d’un de ces exemples fonctionnels et bien commentés.

SDK DAQNavi complet

LA MISE EN OEUVRE AVEC VISUAL STUDIO 2015

 

visual studio avec DAQNavi

CONFIGURATION DU PROJET

Au préalable, cette mise en oeuvre s’adresse à un utilisateur connaissant bien son IDE en l’occurrence Visual Studio. L’exemple traité ici est codé en Visual Basic. La première opération consiste en la création d’un nouveau projet, on le nomme DAQNavi. Puis on incorpore les contrôles élaborés par Advantech. Pour cela, il faut récupérer les DLL mises à disposition par DAQNavi lors de l’installation du SDK. Elles sont dans C:\Advantech\DAQNavi\Automation.BDaq\4.0.0.0 et on les copie dans C:\Windows\System32. On procédera de même sur le PC cible comme un PC industriel rackable par exemple. Après clique droit dans la toolbox, « choose item » on inclut Automation.BDaq4.dll qui contient l’ensemble des Objets DAQNavi.

Configuration dans visual studio

CONSTRUCTION DE LA FORM

On ajoute ainsi au projet un contrôle instantDiCtrl1, pour la lecture des voies d’entrées TOR. Ces objets présents dans le groupe « General » sont complets et inclus leurs propres évènements, attributs et méthodes. On inclut également la dll « Automation.Bdaq » via le mot clé Imports. On renseigne ensuite la propriété « SelectedDevice » de l’objet « InstantDiCtrl1 » avec la description du driver qui sera installé sur le PC de production. Notre fenêtre applicative est désormais dotée d’objets servant d’interface entre notre application et les cartes d’acquisition. Ajoutons un bouton afin de déclencher une lecture et deux TextBox pour lire les valeurs des 2 octets d’entrées puis on a plus qu’à plonger dans le code.

CODE DU POUR L’ACQUISITION

Ce code se réduit à sa plus simple expression :

Imports Automation.BDaq

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim g_Tor0 As Byte

Dim g_Tor1 As Byte

‘ reading Byte 0

InstantDiCtrl1.Read(0, g_Tor0)

TextBox1.Text = g_Tor0.ToString()

‘ reading Byte 1

InstantDiCtrl1.Read(1, g_Tor1)

TextBox2.Text = g_Tor1.ToString()

End Sub

 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

‘The default device of project is demo device, users can choose other devices according to their needs.

InstantDiCtrl1.SelectedDevice = New DeviceInformation(« PCI-1750,BID#0 »)

If Not InstantDiCtrl1.Initialized Then

MessageBox.Show(« Please select a device in control property! », « StaticDI »)

Me.Close()

Return

End If

Me.Text = « Static DI – Run( » + InstantDiCtrl1.SelectedDevice.Description + « ) »

End Sub

End Class

A noter que sur le driver d’acquisition qu’on utilise pour les tests en développement, la lecture provoquera des incrémentations de valeur pour simuler des évolutions.
Important également, l’utilisation des mêmes versions du framework .net sur le PC de développement et le PC de production.

Une petite compilation et voilà le résultat :

 

resultat final

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.