Balises AIS/Sarsat

J’ai dû faire récemment une petite comparaison des tarifs des balises personnelles de sécurité pour la navigation en mer. Quelques réflexions:

  • La législation est démodée
  • Les capacités techniques ont fait un bond en avant énorme depuis 2000
  • C’est cher…

Législation

Sur la législation, la France demande toujours l’enregistrement de toutes les « stations VHF », ça inclut donc une balise de sécurité individuelle qui n’aura de toute sa vie qu’une communication ASN de type « MOB » le jour où elle sera déclenchée… mais on demandera toujours à l’inscription un numéro MMSI (de station « fixe » donc) à lui associer et d’avoir le CRR.

La loi fait « comme si » un équipement de protection individuel sur piles à messages ASN « tout numérique » pour un marin seul à bord ou sur le pont présentait le même risque de parasitage des bandes de fréquences qu’une station VHF fixe: Pour donner une idée, la portée d’une balise de sécurité est entre 4 et 8 miles, une VHF fixe c’est 25 miles, on n’est pas du tout dans la même catégorie.

Je pense que cela limite artificiellement l’usage de ces équipements individuels de sécurité, avec potentiellement des morts évitables.

On pourrait sans doute pour ces équipement aligner la législation sur celle des balises SARSAT (pas de CRR, simple déclaration après création de compte sur le site du CNES). On n’est plus en 1970!

Dernier point: pourquoi deux sites concurrents pour l’enregistrement des balises? (et je ne parle même pas du design des sites)
VHF: site de l’ANFR
SARSAT: site du CNES

Capacités techniques

On trouve maintenant des balises individuelles qui font SARSAT, AIS, VHF ASN + GPS/GLONASS/GALILEO tout en un, portables sur le gilet ou dans la poche. Il est probablement temps d’en faire un équipement recommandé pour la navigation de nuit.

Tarifs

Les tarifs sont assez élevés, probablement liés à deux contraintes fortes:

  1. la batterie
  2. La batterie doit tenir plusieurs années sur étagère et garantir un fonctionnement >24h après ce délai.

  3. La certification
  4. Les certifications sont apparemment nationales: il y a des différences entre les USA et la France, et les règles ont l’air différentes (code national à flasher lors de l’achat, registre national) entre pays, alors que les canaux de détresse et le fonctionnement sont régis par la convention SOLAS et sont donc internationaux. Il y a peut-être, au moins en Europe, une petite marge de simplification possible.

Et maintenant les prix..

Nomsite webAISVHF numérique406MHzGPSPrix
rescueME MOB1https://www.comptoirdelamer.frOUIOUINONOUI335
sMRT ALERT de MRT https://www.smrtsos.com/OUIOUINONOUI370
easyRESCUE-A040-BW-COMhttps://www.kon-maritime.comOUIOUINONOUI566
ACR AISLink MOB Personal Beaconhttps://www.svb-marine.frOUIOUINONOUI330
SIMY My-MOBhttps://www.simy-beacons.comOUIOUINONOUI400
SIMY My-AIShttps://www.simy-beacons.comOUINONNONOUI280
Ocean Signal PLB3https://oceansignal.comOUIOUIOUIOUI670
AIS - GME - MO520https://www.comptoirdelamer.frOUINONNONOUI315
Ocean Signal PLB1https://www.comptoirdelamer.frOUINONOUIOUI365

Publié dans Non classé | Commentaires fermés sur Balises AIS/Sarsat

Labview: XControl events

LabView XControl.

Dans les événements prédéfinis de la façade, on a « data change », « direction change », exact « State change » et « display State change ».
Quelles sont les conditions qui déclenchent ces événements ?
« Data change ». Donc d’après la doc cet événement déclenche quand on passe à une valeur sur le terminal, sur une variable locale, ou une valeur de propriété du contrôle.
En pratique, si je définis une variable locale sur un des éléments du contrôle, est-ce-que si je modifie cette variable, j’ai le déclenchement de cet événement?
Donc j’ai défini une variable locale à l’intérieur de la boucle while du VI façade. Cette variable est actualisée à chaque itération. Et je n’ai aucun déclenchement de l’événement Data change.

Exécution en mode débug
Ok donc à l’exécution en mode debug un qu’est ce qu’on observe ? Que le contrôle ne sort jamais de sa boucle while interne tant qu’il est en exécution.
Il reste en exécution jusqu’à ce que le VI appelant soit arrêté donc sa valeur n’est jamais mise à jour. Et donc on ne peut pas récupérer sa valeur simplement en liant l’icône de du contrôle du X Control dans sur le diagramme du VII appelant, puisque le programme ne sort pas de la boucle, tant que le VI façade s’exécute.

Test simple avec un Xcontrol de type nombre
En ouvrant l’exemple thermomètre de la commande X, on voit que dans l’exemple, le thermomètre transmet sa valeur à l’indicateur. Pourtant, dans notre cas, dans notre test, ça ne fonctionne pas, donc la question c’est pourquoi ? Donc, si on ouvre le diagramme pendant l’exécution, clic droit ouverture ouvrir le diagramme. Et qu’on essaie de modifier la valeur du du champ du champ numérique. Je vois qu’en mode debugs on arrive, on ne rentre jamais dans la modification de valeur dans le changement de data.

Bon donc on a refait un exemple de zéro un XControl je lui mets en numérique sur sa face avant. Je le mets dans 1VI qui fait une boucle avec un bouton stop de base quoi. Et le but du jeu, c’est de sortir la valeur du numérique du X Control dans un indicateur qui est sur le VI de test.
Donc je mets mon numérique sur la facade, le numérique du X Control qui est une commande. Je le relie à à mon fil data out dans l’événement changement de données.
Théoriquement, si j’ai bien compris, l’événement chargement de données devrait se déclencher quand on clique sur le contrôle dans le dans le VI de test pour changer sa valeur. Donc voilà, je lance le VI de test, je mets 2 dans le truc. Réponse, non. Je n’ai pas l’évènement change la valeur.

La seule condition qui s’exécute, c’est le time out. Dans l’exemple de contrôle X du thermomètre, il est indiqué que labview appelle le VI façade avec Valeur changed si l’utilisateur change la valeur du thermomètre. De fait, si je modifie avec le slide la valeur du thermomètre, et bien le changement qui est fait sur l’indicateur dans le VI de test.

Sur le forum de LAVA, on a quelqu’un qui indique avoir le même problème, c’est que le data changed ne ne se produit jamais. Et une des réponses qui est donnée, sans plus de détails. Est que Le data change property de l’action Output Doesn’T Trigger de Data Changed Évent.

Affecter une valeur à la propriété « Value signal » du XControl dans le VI de test permet de déclencher l’événement « Data change » du XControl.

Ajouter un événement face avant de valeur changée sur le la commande numérique à l’intérieur du X Control permet de récupérer la valeur du X Control en sortie de la boucle while mais ne déclenche pas les évènements.

Création de propriété.
Quand on crée une propriété pour le X Control, on peut ensuite, sur le VI de test déposer un nœud de propriété qui accédera à cette propriété.
On peut donc manipuler le X contrôle par des nœuds de méthode et des nœuds de propriété accessibles dans le menu d’application depuis le VI de test.
Lorsque ces propriétés et ces méthodes sont appelées, elles déclenchent à leur tour les événements display change ou data change en fonction de ce qui est prévu.
On définit une propriété en lecture, écriture. Je peux écrire dans cette propriété, auquel cas j’aurais le déclenchement de l’événement Display Change dans le X Control. De la même façon, si je définis une méthode, j’aurais un appel à cet événement display change dans le X Control. Par contre, si je fais un appel en lecture à une propriété de X Control que j’ai défini alors je n’ai aucun événement qui est déclenché dans le X Control.

L’événement Display change peut être conçu comme un événement qui se déclenchera si on manipule l’objet X Control depuis l’extérieur, par exemple depuis un autre VI, un autre contexte. Par contre, la manipulation d’événements internes ou X Control, par exemple, un clic de souris sur un champ du X contrôle ou un changement de valeur à l’intérieur du X contrôle doivent être gérées différemment avec des événements de face avant comme dans une boucle classique.

Dans le cas d’un X Control défini comme indicateur, je peux affecter de façon classique des données à l’indicateur dans le VI de test. Chaque fois qu’une donnée est affectée au X contrôle, alors j’ai le l’événement « Data change » qui est déclenché.

Publié dans Non classé | Commentaires fermés sur Labview: XControl events

Cablage moteurs pas à pas série HY200

schéma de câblage du moteur pas à pas HY200-2200
schéma de câblage du moteur pas à pas HY200-2200

Extrait de la doc pour le câblage du moteur pas-à-pas HY200 à huit fils en configuration unipolaire/bipolaire parallèle ou bipolaire série.

Publié dans Non classé | Commentaires fermés sur Cablage moteurs pas à pas série HY200

Legrand : tarifs disjoncteurs

Tarifs relevés en janvier 2022 pour quelques références d’usage domestique

Itemref legrand123ElecElecPromoElec44habitatmatElecdistribElecDirectDomomatEasyElecElec destock
10A auto/auto4067829,98,1612,58,099,88,58,638,9364614
Diff 30mA AC auto 63A41165059,5N/A5954575971,473,988155
Diff 30mA AC vis/vis 40A411611353651,234,8353440,184,130635
Diff 30mA AC vis/Auto 40A41163237,93347,334393942,641,546753
Publié dans Technique | Commentaires fermés sur Legrand : tarifs disjoncteurs

T6703 Détecteur de CO2 Amphénol

Datasheet du détecteur de CO2 T6703 amphénol (car petite erreur sur le site alldatasheet)

Publié dans Non classé | Marqué avec , , , | Commentaires fermés sur T6703 Détecteur de CO2 Amphénol

Labview 7.1 et modèle Queue Message Handler

Le labo étant encore coincé avec de vieilles licences, impossible d’utiliser les fonctionnalités des versions récentes, et en particulier les modèles QMH et QDMH de développement d’application labview. Profitant de la période spéciale que nous vivons, et histoire de penser à autre chose qu’à l’actualité, je me suis lancé dans les formations NI sur le sujet.

Un des exercices présente le modèle QDMH, que j’ai essayé de reproduire avec la version 7.1. De ce que je crois avoir compris, l’intérêt est d’avoir une structure de base similaire pour tous les développements et de concentrer les variations spécifiques à chaque application dans des structures case.

Machine d’état pour initialisation d’un modèle QDMH Labview 7.1

Une première étape du programme est de créer deux types de communication entre nos futures boucles: soit des évènements, soit des queues ou files d’attente. Les queues peuvent transporter des messages « lourds », des clusters associant une chaîne et un variant, qui transportent des commandes et des données d’une boucle à l’autre. Il est possible à plusieurs boucles d’envoyer des messages sur une queue, mais, pour un bon fonctionnement, il faut n’avoir qu’une seule boucle de traitement de ces messages par queue. Par contre on peut avoir plusieurs queues spécialisées. Elles sont normalement en FIFO, mais il est possible d’inverser cet ordre.

Les évènements ne portent pas d’information autre que leur survenue. Un évènement peut se propager à plusieurs boucles réceptrices en même temps. Ici, je les utilise uniquement pour déclencher l’arrêt du programme (évènement stop).

La phase d’initialisation créé un cluster de queues (une par spécialisation), et un cluster d’évènement personnalisé (avec pour l’instant un seul évènement stop).

Deux types de boucles, pour le traitement des évènements ou des messages sur la queue

Dans le corps du programme, je créé deux types de boucles: certaines associées aux évènements, ou aux queues. Ici en haut, j’ai une boucle de contrôle de l’ensemble de l’application qui, lorsqu’elle reçoit l’évènement personnalisé STOP, envoie un message de STOP sur toutes les files d’attente (queues) en position prioritaire -c’est à dire en LIFO-, avant de sortir de la boucle (donc de cesser de surveiller les évènements).

La boucle du bas, représentative de toutes les autres boucles basées sur les files d’attente, reçoit le message STOP, supprime sa file d’attente et envoie les erreurs possibles au gestionnaire d’erreur.

Ce gestionnaire, ici placé dans un sous VI, est lui-même une boucle qui lit une file d’attente dédiée. Il a le même comportement en cas d’arrêt.

Une boucle dédiée à l’interface utilisateur est placée dans un sousVI. Il s’agit en fait d’une double boucle, avec une gestion d’évenement classique des boutons de la face avant, et une boucle de traitement des messages spécifiques à l’UI (typiquement des demandes des autres boucles pour mettre à jour un indicateur).

Toutes les files d’attente et clusters de file d’attente/d’évènement sont des types personnalisés, de façon à pouvoir les modifier en répercutant le changement de type dans l’ensemble de l’application facilement.

Il y a sans doute un certain nombre de soucis potentiels (quid si une erreur se produit après la sortie de la boucle évènement de contrôle?), mais globalement c’est une assez bonne approximation des modèles proposés par NI sur les versions plus récentes de labview…

L’ensemble des fichiers en zip

Publié dans Technique | Marqué avec , | Commentaires fermés sur Labview 7.1 et modèle Queue Message Handler

Excel et encodage des caractères lors des sauvegardes

L’option « enregistrer sous »/options web d’excel v2016 permet théoriquement d’utiliser les encodages standards UTF8, unicode…

C’est un peu plus compliqué que cela car, en ouvrant les fichiers avec un éditeur hexadécimal, on voit des différences entre deux fichiers textes.

Enregistrer sous « Fichier texte UNICODE »

Quelque soit l’option « web » choisie (UTF8, unicode, occidental ISO ou windows), le fichier commence par la séquence FF FE correspondant à UCS-2 Little Endian. Après quoi, tous les caractères sont enregistrés en laissant un octet sur deux vide, sauf pour le symbole €. Exemple: a est codé (61 00); é (E9 00), le € (AC 20), sa valeur sous unicode en inversant les deux octets.
Aucune différence visible entre les différentes « options web ».

Enregistrer sous « Fichier texte (tabulation) »

Pas de séquence de démarrage (BOM) comparable en début de fichier: on embraye immédiatement avec les valeurs. Le é est codé E9, le € (AC 20), sa valeur sous unicode en inversant les deux octets. Contrairement au cas précédent, tous les octets sont utilisés en séquence, et non uniquement pour le symbole  €.

Enregistrer sous « Fichier texte (prn) pour lotus »

Pas de séquence de démarrage (BOM) en début de fichier: on embraye immédiatement avec les valeurs. Le é est codé E9, le € est codé 80, on suit l’encodage spécifique windows cp1252.

Enregistrer sous « Fichier texte (macintosh) »

Pas de séquence de démarrage (BOM) en début de fichier: on embraye immédiatement avec les valeurs. Le é est codé 8E, le € DB, le fichier suit l’encodage Mac OS roman, ce qui est au moins logique….

Enregistrer sous « Fichier texte (MSDOS) »

Pas de séquence de démarrage (BOM) en début de fichier: on embraye immédiatement avec les valeurs. Le é est codé 82, le € 3F et n’est pas affiché sous notepad++. Le caractère n’est visiblement pas encodé, car sa valeur est perdue même si on réouvre le fichier sous excel. L’encodage semble suivre la table IBM OEM 850 ou cp850.

Bref, le seul moyen d’obtenir de l’UTF 8 depuis excel semble être d’enregistrer le fichier excel en tant que page web….

 

Note:

Pour utiliser les fichiers texte « tabulation » tels qu’enregistrés par excel sous latex, cet environnement semble bien opérationnel:

\newenvironment{excelTXTinput}{%
    \inputencoding{latin9} %utilise l'encodage des fichiers TXT excel "tabulation"
    \DeclareInputText{"80}{\euro} %dans le fichier de sortie excel hexa 80
    \DeclareInputText{164}{\euro}
    \DeclareInputText{25}{\symbol{25}} %symbole degré °
    }%
    {\inputencoding{utf8}%revient à l'encodage utf 8 après l'environnement
    }

 

Publié dans Technique | Marqué avec , , , | Commentaires fermés sur Excel et encodage des caractères lors des sauvegardes

Caveat avant la soudure sur fil d’or (étain or)

Diagramme des différentes phases du mélange Or/Etain
D’après J.Ciulik et M.R.Notis
https://doi.org/10.1016/0925-8388(93)90273-P

La température de soudure étain-or est très basse. Pour un mélange à forte teneur en étain (grosse goutte de soudure versus petit fil d’or typiquement), la température de fusion est de l’ordre de 200°C à 300°C maxi.

Il est donc très difficile de souder sur or comme on peut le faire sur cuivre. Il faut fortement réduire la température du fer à souder.

Publié dans Science, Technique | Marqué avec , , , | Commentaires fermés sur Caveat avant la soudure sur fil d’or (étain or)

Impédance résiduelle dans un montage 4 fils

Schéma de la connection 4 fils du four

Dans notre montage de mesure électriques « four », nous avons un système de mesure en faux quatre fils, soit deux fils soudés juste avant le contact échantillon de chaque coté de celui-ci.

Nous avons malheureusement une impédance résiduelle qui semble liée à ce montage, spécifiquement à la partie de câble parallèle de chaque coté de l’échantillon qui se situe à l’intérieur du four.

 

Impédance résiduelle du montage 4 fils (phase et module)

Cette impédance a une phase qui augmente légèrement lorsque l’on connecte entre eux les deux câbles d’une des électrodes au niveau de l’appareil de mesure.

Le montage permet donc de supprimer au moins une partie de la contribution des câbles (entre l’appareil et l’échantillon). La composante résiduelle est légèrement modifiée si l’on touche au fil dans le four: Cela plaide pour une modification de la connection à l’intérieur du four.

L’impédance ayant tendance à augmenter avec la fréquence (puis à diminuer à haute fréquence), on serait sans doute sur un système RLC parasite dû à la proximité des fils à l’intérieur de la canne alumine.

Publié dans Science, Technique | Marqué avec , , , | Commentaires fermés sur Impédance résiduelle dans un montage 4 fils