le 11-04-2016 11:53 AM
Salut à tous !
Je viens vers vous car je cale !
J'utilise une centrale d'acquisition qui necessite qu'on lui envoi la liste des voies que l'on souhaite scanner.
Il est possible de scanner jusqu'à 18 voies, mais on ne sait pas forcement à l'avance quelles voies nous allons devoir scanner.
Actuellement le programme envoi le numéro des voies à scanner une par une.
Exemple : 301-302-303-304-306-307-308-309-313-315-316-317-318
La liste des voies est amenée sous forme d'un tableau 1D
Ce que j'aimerai c'est pouvoir renseigner la centrale sur les voies à scanner à partir du tableau en lui envoyant une scanlist. Pour reprendre mon exemple précédent, j'aimerai que la centrale revoive les informations suivantes :
A la place de : 301-302-303-304-306-307-308-309-313-315-316-317-318
j'aimerai envoyer : 301:304 - 306:309 - 313 - 315:318
J'ai passé une demi journée dessus avant de jetter l'éponge...
Si vous avez des idées je suis preneur ! En espérant avoir été claire quand même !
Fabien
le 11-04-2016 12:28 PM
le 11-09-2016 04:14 AM
Bonjour,
La problématique m'a trotté dans la tête ce week-end, je n'a pas pu m'empêcher d'ouvrir LabVIEW pour bricoler avec des chaînes de caractère.
Avant toute chose, l'écriture "condensées" des channels (301:304), tel qu'on peut la pratiquer avec DAQmx (sous la forme ai0:8 par exemple) doit être supporté par le matériel auquel les fonctions s'adresse : si les VIs qui causent avec la centrale ne comprennent pas l'écriture condensée 301:304, on n'ira pas bien loin.
J'ai constitué deux bout de diagrammes, l'un pour condenser l'écriture de la liste de channels, l'autre pour retrouver la liste complète.
C'est sûrement à robustifier, en particulier si les chaînes passées en entrée n'ont rien à voir avec une liste de channel selon le format attendu. Bref, à titre d'exemple et pour l'algorithmie...
Bonne continuation,