Page 1 sur 1

[TUTO SIOC] Ajouter une led

MessagePosté: Mar 10 Mar 2015 14:12
de mameloose
bonjour a tous

je continue mes ptits tutos pour débutant avec aujourd'hui comment assigner une led

Pour cet exemple je vais reprendre mon tuto précedent avec la commande de train et donc assigner une ou plusieurs led avec cette commande

1 - déclarer la led dans sioc !

nous allons donc connecter une led sur la carte master sur l'entrée n°15 pour l'exemple

je reprend le code d'avant avec ma commande de train

Image

voila maintenant je vais crée une nouvelle variable pour declarer ma led : donc EDIT NEW VAR

Image
Image

OK donc pour cet exemple je vais utiliser cette led pour l'etat du train gauche a savoir que la led va s'allumer si mon train est sorti et s'eteindre si le train gauche est rentré c'est pour cela que je l'appel LEDTRAINGAUCHE

Image

2 - rechercher maintenant l'offset dans le sdk qui controle le train gauche

Image

VOILA ici l'offset $0BF4 longueur 4 nous dit que si le train gauche est rentré alors le bit de commande est a zero et au contraire si il est sortie la commande sera de 16383

Maintenant il faut rajouter dans sioc cette variable d'etat du train gauche

Image

a partir de la j'ai declaré ma led puis la variable qui va controller cette led .

ATTENTION dans sioc la led est controllé par soit un inter soit une variable fsuipc mais la led ne peut pas commander un etat il faut donc assigner la commande soit dans une variable fsuipc soit dans un inter declaré .

3 - programmer la commande d'allumage de la led

donc la variable ETATTRAINGAUCHE va commander l'allumage de ma led

clic droit sur la variable et newcommand

Image
Image

maintenant il faut assigner la fonction allumage de la led puisque l'ont veut qu'elle soit allumé train sorti et eteinte en rentré donc reclic droit sur la fonction IF et NEWCOMMAND

Image

et maintenant le contraire avec la fonction ELSE clic droit sur LA VARIABLE et NEWCOMMAND

Image

ET VOILA !! donc on pourra constater que quand je rentre le train la led va seteindre et quand je le sort elle s'allumera je peux egalement dans le cadre d'un boeing 737 par exemple continuer pour les led du train droit et du train avant

voila donc ce que ca donne avec le train complet et 2 autres led cablé sur les entrées 16 et 17

Image

ok donc on voit bien ici que j'ai declaré mes 3 leds ainsi que chaque offset de controle du train ( avant gauche et droit) et que les commandes partent des variables fsuipc

par ailleurs on constate aussi que ca deviens vite le bordel pour un bouton et trois led donc je vous laisse imaginer le code complet d'un 747 par exemple !!!!

n'hesitez pas a ranger votre code pour vous y retrouver et meme ecrire dans les case description a quoi correspond votre assignation c'est mieux ....

4 - AJOUTER UN DELAI DALLUMAGE

sur certains avion pour plus de realisme les differents train sortent pas en meme temps du coup on peut remplacer la fonction assignation par la fonction DELAY qui va retarder notre allumage pour plus de realisme !!

ICI dans cette exemple je crée un delai d'une seconde pour le train gauche

Image
Image

voila un retard d'une seconde sur le train gauche on pourra faire pareil sur le train droit avec 0.5 seconde par exemple et le train avant avec 2 secondes c'est comme on veux

a+ greg

Re: tuto sioc ajouter une led

MessagePosté: Sam 11 Avr 2015 13:36
de C6_Pat
Hello Mameloose !

C'est donc non sans une certaine fierté que je t'annonce avoir programmé avec succès ma premiére led, à savoir une led verte qui s'allume lorsque le train est sorti :

Image

On voit donc que ma led est sur la sortie 40, qu'elle s'allume après cinq secondes lors de la sortie du train, s’éteint immédiatement lors de la rentrée.

Pour enrichir le débat, je souhaite utiliser une led orange sortie 42 en plus de la verte sortie 40.
Cette led doit s'allumer durant toute la phase de rentrée/sortie du train c'est à dire cinq secondes.

Comment programmerais tu la led orange sortie 42 Mameloose ?

EDIT / Je pense avoir trouvé et ferais un retour ce soir ici.

Re: tuto sioc ajouter une led

MessagePosté: Sam 11 Avr 2015 14:42
de mameloose
alors attention ! dans ton code tu as mis DELAY 5 500 c'est pas ca c'est DELAY 1 500 (1 pour allumer la led et pas 5)

tu peux utiliser la variable $0BEC par exemple qui lit letat de ton train avant

et sur cette variable tu lui donne deux assign avec ta led en lui disant que si la valeur est entre 0 et 16383 donc on va dire a partir de 1 jusqua 16380 la led sallume

comme ca :

Image

Re: tuto sioc ajouter une led

MessagePosté: Sam 11 Avr 2015 20:57
de C6_Pat
Et voilà c'est fait et fonctionne aux petits oignons !

merci affiche

Image

Re: tuto sioc ajouter une led

MessagePosté: Sam 11 Avr 2015 23:33
de mameloose
Cool !! Bon courage pour la suite

Re: tuto sioc ajouter une led

MessagePosté: Dim 19 Juin 2016 08:44
de Brenne
J'ai bien lu le topic , malgres tout ca ne fonctionne pas et je vois vraiment pas pourquoi SIOC ne reconnais pas la commande ?
J'ai meme mofifie le script pour le simplifier

Var 6001, name ETATDISHON, Link FSUIPC_INOUT, Offset $564D, Length 2
{
&DISH1ON_SW = TESTBIT &ETATDISHON ,0
}

Var 1648, name DISH1ON_SW, Link IOCARD_SW, Device 11, Input 2, Type P
{
IF &DISH1ON_SW = 1
{
&ETATDISHON = SETBIT 0
}
ELSE
{
&ETATDISHON = CLEARBIT 0
}
}

Var 3177, name DISH1A_LED,Link FSUIPC_INOUT, Offset $563C, Length 2

Var 1529, name DISH1BTLA_SW, Link IOCARD_SW, Input 14
{
IF &DISH1BTLA_SW = 1
{
    &DISH1A_LED = DELAY 1 ,600
}
ELSE
{
    &DISH1A_LED = 0
}
}

Re: tuto sioc ajouter une led

MessagePosté: Dim 19 Juin 2016 09:52
de pierre01
Ne manque t-il pas un espace après la virgule dans la ligne :
Brenne a écrit:Var 3177, name DISH1A_LED,Link FSUIPC_INOUT, Offset $563C, Length 2

Après le nom de la variable devant "link" ?

Essaie de supprimer complètement la ligne et de la retaper (s'il y a un caractère spécial qui s'y serait glissé) !
Essaie de mettre le n° de variable à la place du nom !

Normalement ta commande est bonne (Bernard, les virgules ne sont pas obligatoires, en tout cas je n'en met pas pour cette commande avec notepad++).

Re: tuto sioc ajouter une led

MessagePosté: Dim 19 Juin 2016 10:05
de fab
Oui, ça marche chez moi :
- J'ai copier ton script directement de ton post,
- j'ai collé dans le bloc note
- j'ai sauvegardé en testbrenne.txt
- j'ai importé dans SIOC

tout est OK gratgrat

Re: tuto sioc ajouter une led

MessagePosté: Mar 21 Juin 2016 14:02
de jacquesvde
Bonjour mameloose, grandsoleil
Je trouve tes tuto génial applaublanc pour la simple raison que tu aides les personnes à régler leur problème avec la théorie en Sioc via la pratique, ce qui est plus facile à comprendre la programmation en Sioc via FSUIPC. Moi-même je suis de près tes tuto malgré une certaine connaissance du sujet.

bonne journée,
Jacques cligneoeil

Re: tuto sioc ajouter une led

MessagePosté: Mar 21 Juin 2016 15:39
de mameloose
Merci Jacques grandsoleil