13- SIOC et la configuration PC


les cartes IO Cards

Avec l'option écran tactile pour les CDU,  les cartes IOCards nécessaires sont:

 

1 carte USB Expansion  (Device 1), située dans le Glareshield.

1 carte Master n°1 pour le MCP et les EFIS , les LEDs du MCP,carte située dans le Glareshield.

1 carte Master n°2 pour le panneau  de commande de l'EICAS (sur le Glareshield), et tous les commutateurs situés sur le tableau principal. Carte située dans le Glareshield.

 1 Carte Master n°3 Device 1 pour tout  le Pedestal

 

1 carte Master n° 1 Device 2 pour les entrées et les sorties LEDs de l'Overhead. Cette carte est située dans la partie arrière de l'OVH.

1 carte Master n°2 Device 2 pour le reste de l'Overhead, en particulier les LEDs.

1 carte USB Expansion (Device 2) située dans l'Overhead.

 

1 carte USB Output Device 2 située dans l'Overhead arrière, pour le complément des LEDs de l'Overhead.

 

Il faut y ajouter 2 cartes Displays pour le MCP,  et 2 Displays pour les radios (Glareshield)

 

 

 et, en additif non IO Card:

 

1 carte Bodnar BU 0836 pour les axes des Yokes  ainsi que les poussoirs pour des commandes des Yokes, AP Disconnect et chapeau chinois.et, sur une entrée analogique, le potentiomètre de Tilt du Pedestal.

 

Les dimmers pour l'éclairage (voir le chapitre 12)


le programme

Nico Kaan a écrit un programme d'interface entre SIOC et PSX dénommé PSXSEECON (un peu compliqué, comme nom, mais cela signifie PSX-SIOC-CONnector...) Son fonctionnement, extrèmement simple, a été expliqué entre autres par Greg "Mameloose" dans un petit tutoriel. PSXSEECON comprend plus de 2200 variables, mais toutes ne sont pas des commandes,la moitié des variables analysent seulement l'état d'une commande, sinon le nombre de Masters exploserait.

Greg, très bon programmeur, a préféré faire son propre code, qui a l'avantage d'avoir des noms de variables plus explicites, car en français. Bien entendu, les numéros des variables, qui déterminent les fonctions, sont les mêmes chez Greg et Nico Kaan.

Nous avons donc deux codes SIOC existants, mais rien n'empêche d'en faire un personnel.

J'ai choisi le code de Greg, qu'il m'a aimablement communiqué, code largement assez complet et qui entre entièrement dans les Masters citées ci-dessus. Il était totalement inutile de refaire ce code SIOC, je n'ai changé que les numéros d'entrées et sorties et l'intitulé de certaines variables, car je n'ai que le pilote.  Le code de Nico, est, à mon avis, plus complexe, ne serait-ce que parce que Nico utilise dans son cockpit de 747 des éléments récupérés sur son 767, pas toujours bien adaptés. 

 

L'installation de PSXseecon  est on ne peut plus simple, la fenêtre d'accueil indique si SIOC et PSX sont connectés, c'est tout. Mais attention, si vous avez Windows 10 en 64 bits, il faut utiliser la version 3.15 en 64 bits de PSXSeeCon.


le principe des variables de PSX

Les variables de PSX sont de deux types: les variables de commande (interrupteurs, etc...) et les variables d'état, qui indiquent la situation d'une commande, ON ou OFF par exemple, ou des valeurs comme l'altitude, la température, etc...

La liste de ces variables est bien entendu fournie par Aerowinx, en deux tableaux par ordre de numéros de variable et par ordre alphabétique de fonctions.Chaque variable est également désignée par  deux lettres comme Qh, Qi, QS qui précisent sa nature, c'est moins important pour nous.

L'utilisation de ces variables est extrèmement simple, car il s'agit de variables STATIC pour SIOC, sans offset, et toute la programmation (les IF, les fonctions etc...) est incluse dans PSX, nous n'avons pas à nous en occuper.

Par exemple, la variable de la batterie porte le numéro 1196 (ne nous occupons pas du Qh196 qui le précède).

Si nous devons créer un script pour la batterie, il suffit d'indiquer 1196 comme numéro de variable, lui donner un nom, éventuellement ajouter une petite description, cocher la case STATIC, et mettre le numéro de l'entrée interrupteur de notre cockpit (qui peut être un poussoir, donc avec P). C'est tout.

 

Greg a en outre fait un petit tuto sur ce sujet, qui résume tout ça et l'illustre de captures d'écran, inutile donc de donner plus de précisions.


le branchement sur le PC

Le branchement dépend des cartes graphiques utilisées. Greg utilise 8 écrans sur un seul PC. Pour ma part, j'utilise une carte GTX 770 pour l'écran tactile (CDUs et EICAS inférieur) et l'affichage du paysage P3Dv4. Une deuxième carte, une GTX 560 affiche les instruments Pilote (ND/PFD) et l'EICAS supérieur et les instruments de secours.

La seule règle impérative à retenir est que l'écran tactile doit être le moniteur principal dans Windows  . Les instructions tactiles sont toujours envoyées au moniteur principal, si ce n'est pas le tactile, elles se perdent.

Le moniteur Iiyama 24 pouces utilisé ne nécessite aucun driver ni étalonnage.

Les nombreuses connexions USB sont branchées soit sur l'ordinateur, soit sur un HUB USB alimenté de bonne qualité.

Pour les essais initiaux de PSX, voir le chapitre 2.


premier essai avec SIOC

Nous allons créer un début de code SIOC pour PSX.

La toute première chose à faire est de mettre à jour le fichier sioc.ini, en particulier lui indiquer le nom du fichier .ssi qui va être chargé au lancement de SIOC, et surtout le nombre de cartes utilisées et le numéro de "device" correspondant. Voir le chapitre 19 de la section SIOC de ce site, si nécessaire. Il est logique de démarrer avec un fichier .ssi vierge, intitulé "SIOC_PSX.ssi" par exemple. Pour ce faire on copie le fichier .txt d'un programme SIOC existant, ou l'ouvre dans le Bloc Notes, on efface tout et on exporte dans le nouveau fichier SIOC_PSX.ssi  Pour le branchement physique des cartes, les premiers essais se feront avec une seule carte Master dans le Glareshield, si la deuxième est déjà câblée, il faut la débrancher le la carte USB Expansion et ne mettre qu'une seule ligne de "device" dans SIOC.ini (voir le chapitre SIOC de ce site).

 

Nous allons commencer nos essais avec l'EFIS .

Le tableau ci-dessus est un tableau Excel "Attributions" absolument indispensable pour s'y retrouver. On y voit que l'EFIS occupe tout le connecteur J3, et même un peu plus. Cliquer dessus pour une version plus lisible.

 

Le plus simple est de brancher les sorties de l'EFIS, par groupes de 9 plus un GND, "comme ça tombe", puis d'ouvrir SIOC MONITOR.

Prenons le commutateur "Range". Quand on le met sur 5, on voit le chiffre 1 s'allumer, sur 160 c'est le 6, etc... Reportons ces entrées sur un papier. Ce sont les numéros d'entrée à faire figurer dans chaque variable "Range", pour notre cockpit.

Nous allons maintenant aller à la chasse aux variables.

 

Nous avons à notre disposition une liste des variables par nom (SIOC variables (by Name).txt  et une autre par n° de code (SIOC variables (byQcode).txt   Dans la liste par nom, si nous faisons CTRL F "range" nous allons certainement trouver les variables qui nous intéressent:

Attention à ne pas confondre l'EFIS CPT avec l'EFIS FO qui suit. Comme nous sommes bien organisés, nous allons reporter dès maintenant les numéros de variables EFIS CPT sur notre tableau d'attributions, c'est la colonne "variable".

Remarquons au passage que les "Ranges" ne suivent pas les numéros d'entrée Master, mais qu'ils suivent les numéros de broches, ce qui va clarifier le câblage.

 

Reste à faire le code SIOC.  soit nous reprenons des bouts du code établi par Nico Kaan, soit nous recopions des bouts du code de Greg, soit on fait tout nous mêmes. 

 

Si nous voulons utiliser le code SIOC de Nico Kaan, nous allons trouver son code EFIS sous le nom 3_Ecp.txt, et, bien évidemment, nous y retrouvons les variables 3907, à 3914. Reste à recopier cette partie de script dans notre nouveau .ssi, soit directement dans Config SIOC, soit par copier-coller dans un fichier Bloc Notes à compiler (voir le chapitre SIOC de ce site si nécessaire).

Si vous voulez partir sur le travail de Greg, le principe est le même, ouvrons le code de Greg, cherchons la variable 3907  et.. on ne trouve rien car Greg n'a pas prévu la position 5 Nautiques... Bon on l'ajoutera, puisqu'elle est câblée chez nous. Par contre, à partir de la 3908, tout va bien:

Recopions les variables 3908 à 3914 dans notre .txt vierge, changeons les numéros d'entrée pour les nôtres,  et compilons.

Ajoutons la variable 3907 pour le Range 5, sans oublier de cocher la case Static:

puis File / Save.

Pour vérification (et révision de SIOC) exportons le .ssi en .txt puis compilons. OK et enregistrons sous le nom SIOC_PSX. Tout va bien. 


quelques rappels

Le câblage est facile, le dépannage difficile...

En cas de problème, avant d'incriminer les cartes IO Cards, qui sont pratiquement indestructibles, il est bon de vérifier:

- le fichier SIOC.ini qui doit comporter une ligne du genre: MASTER=0,4,2,xx   sans crochets. Ici, cela concerne 1 carte USB Expansion et deux Master Cards, voir le chapitre "Devices" SIOC de ce site. 

-le même fichier .ini doit comporter le nom du fichier .ssi qu'on va utiliser, par exemple PSX.ssi Cliquer sur Edit INI sur la première page de SIOC.

- SIOC Monitor permet de visualiser l'état des entrées et de toutes les sorties. Quand on appuie sur un bouton et que le chiffre 25 s'allume, on doit avoir "Input 25" dans le script utilisé.
-SIOC Monitor permet aussi d'envoyer un chiffre au choix sur chaque afficheur, pour en vérifier le bon fonctionnement.

-IOCP Console permet de vérifier l'état de toutes les variables utilisées, chercher par exemple la variable 3908 et mettre le commutateur d'échelle de l'EFIS sur 10: l'état de la variable passe à 1. On peut également vérifier si le bit n° 16 de la variable 3064 passe bien à 1 quand on appuie sur le poussoir SPD du MCP. Dans ce cas, on peut vérifier sur SIOC Monitor que la LED correspondante s'allume.

-enfin, quand on fait une modification dans SIOC, il ne faut pas oublier de cliquer sur RELOAD, et de relancer PSXSeeCon.
 


l'interface

C'est le moment d'installer PSXSEECON.

Ouvrons PSX, puis SIOC avec notre premier petit bout de programme, puis PSXSEECON, qui, après un court instant va nous confirmer que tout va bien.

Vérification: lorsqu'on tourne le bouton "Range", l'affichage sur le ND change d'échelle. Waouhh.

Notons aussi que si on essaie de modifier le Range en tournant le bouton affiché sur le moniteur, c'est SIOC qui est prioritaire, PSX suit toujours l'état du cockpit. Notons aussi que PSXSEECON se ferme automatiquement, en même temps que PSX.

 

Voila une étape importante franchie, 8 variables d'un coup, il n'y en a plus que 2203 !

Pas de panique, tout ne sera pas utilisé et en procédant par petits bouts comme indiqué c'est TRES facile.


le câblage

Moins il y a de connecteurs, plus c'est fiable, 90% des pannes viennent des connecteurs. Sur la photo ci-dessous, montrant le Glareshield en cours de câblage, on voit les éléments suivants:

1: USB Expansion    2: Carte Dimmers 5 circuits     3: Carte Master n°2     4: Carte Display    

5 Carte Master n°1

Les fils sortant du MCP sont branchés directement sur le connecteur J3 ou J4 de la Master (40 broches)
Les fils sortant de l'EICAS sont branchés sur la Master 2 par l'intermédiaire d'une barrette de connexion GoTronic ref. 08094.

La plupart des fils sont une nappe de 40 fils, dont les fils sont séparés après soudure des éléments à chaque bout. Exemple: les torons 6. Ces fils étant relativement fragiles, on évitera de les tenir en torons avec des colliers nylon costauds, serré à la pince, par contre, les liens que l'on trouve dans les paquets sacs de congélation sont parfaits... Les fils plus gros, 0.20², comme le 7 (éclairage), peuvent avoir des colliers nylon. Par prudence, les sorties de la carte Display sont câblées en 0.20² et un soin très particulier est apporté aux soudures sur les connecteurs FH100, fragiles. Si un fil est défectueux, le comptage des digits et segments est complètement perturbé, et les afficheurs ont des segments manquants par exemple. Pour la même raison de solidité, le groupe de 16 connecteurs est en une seule barrette et non 4 indépendantes, les connecteurs se tiennent tous par les coudes, c'est plus fiable.
Les cartes sont fixées sur des entretoises de 20 mm, les fils passent souvent dessous, c'est plus clair.

Voir aussi le chapitre 9-Glareshield