Sioc autothrottle

Questions de programmation / Offset FSUIPC et IOCP

Re: Sioc autothrottle

Messagede worldhugo » Dim 24 Avr 2011 23:00

Ok merci pour toutes ces précisions !! rigolus rigolus rigolus

A+

Hugo
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: Sioc autothrottle

Messagede worldhugo » Dim 1 Mai 2011 13:43

Bonjour,
je reviens vers vous car j'ai commencé un code mais il ne fonctionne pas ......
Code: Tout sélectionner
Var 0000, name INIT
{
  &CONTROL = TIMER 999 ,0 ,2
}

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0007, name CONTROL, Link SUBRUTINE
{
  IF &PA_ACTIF = 1
  {
    IF &DIF >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
  }
}

Var 0008, name DIF
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: Sioc autothrottle

Messagede chtipilot » Dim 1 Mai 2011 17:49

Bonjour Hugo,

Peux-tu mettre une photo de ton montage (mieux une vidéo) ?
Le code seul ne permet pas de voir où est le problème.
Jean-Louis
Chtipilot Image

Image
Avatar de l’utilisateur
chtipilot
 
Messages: 371
Inscription: 2/04/11
Localisation: Lille (Nord)

Re: Sioc autothrottle

Messagede worldhugo » Dim 1 Mai 2011 18:14

C'est bon tout est résolu :
Code: Tout sélectionner
Var 0000, name INIT

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
  IF &PA_ACTIF = 1
  {
    IF &DIF_ABSOLUE >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
    ELSE
    {
      &MOTOR_1 = 0   
    }
  }
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
  IF &PA_ACTIF = 1
  {
    IF &DIF_ABSOLUE >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
    ELSE
    {
      &MOTOR_1 = 0   
    }
  }
}

Var 0008, name DIF
{
  &DIF_ABSOLUE = ABS &DIF
}

Var 0009, name DIF_ABSOLUE
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: Sioc autothrottle

Messagede chtipilot » Dim 1 Mai 2011 19:51

Bonsoir Hugo, applaublanc

La différence entre le code 1 et le 2 c'est juste le ELSE &motor_1=0; essai de reprendre le 1° code en insérant cette condition et ça fonctionnera. De plus ton code sera plus lisible avec la SUBRUTINE "Control".

Jean-Louis
Chtipilot Image

Image
Avatar de l’utilisateur
chtipilot
 
Messages: 371
Inscription: 2/04/11
Localisation: Lille (Nord)

Re: Sioc autothrottle

Messagede worldhugo » Dim 1 Mai 2011 19:59

Comment inclure une subrutine la dedans ? gratgrat gratgrat
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: Sioc autothrottle

Messagede chtipilot » Lun 2 Mai 2011 00:42

Bonsoir Hugo,

Le premier code était bon, mais '&MOTOR_1 = -1' est remplacé par "&MOTOR_1 = 0" ce qui coupe l'alimentation du moteur.

Pour la SUBRUTINE:
La "VAR 0000" lance le timer pour la SUBRUTINE "&CONTROL" (VAR 0007) qui tourne en permanence (incrément=0), c'est ce que j'appelle moi un "SCANNER" puisque tous les 2/10° de seconde on scanne &CONTROL (on passe la main à &CONTROL).
C'est très pratique mais il ne faut pas mettre trop de "SCANNER" en marche nonbleu .
Pour la valeur absolue (VAR yyyy = ABS VAR xxxx) je te fais confiance j'ai pas vérifé...
Je pense que tu peux alléger ton code.
En espérant que cette brève explication du timer te permettra d'y voir plus clair, cligneoeil

Jean-Louis

Code: Tout sélectionner
Var 0000, name INIT
{
  &CONTROL = TIMER 999 ,0 ,2
}

Var 0001, name MARGE_ERREUR, Value 5

Var 0002, name PA_ACTIF, Value 0

Var 0003, name MOTOR_1, Link USB_DCMOTOR, Output 1

Var 0004, name THR_MOTOR1_FS, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  &THR_MOTOR1_LIS = &THR_MOTOR1_FS / 64.25
}

Var 0005, name POTAR_THR1, Link IOCARD_ANALOGIC, Input 1, PosL 50, PosC 125, PosR 200
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0006, name THR_MOTOR1_LIS
{
  &DIF = &THR_MOTOR1_LIS - &POTAR_THR1
}

Var 0007, name CONTROL, Link SUBRUTINE
{
  IF &PA_ACTIF = 1
  {
    IF &DIF >= &MARGE_ERREUR
    {
      IF &DIF < 0
      {
        &MOTOR_1 = 127   
      }
      IF &DIF > 0
      {
        &MOTOR_1 = -1   
      }
    }
  }
   ELSE
    {
      &MOTOR_1 = 0   
    }
}

Var 0008, name DIF
Dernière édition par chtipilot le Lun 2 Mai 2011 07:42, édité 2 fois.
Chtipilot Image

Image
Avatar de l’utilisateur
chtipilot
 
Messages: 371
Inscription: 2/04/11
Localisation: Lille (Nord)

Re: Sioc autothrottle

Messagede worldhugo » Lun 2 Mai 2011 01:03

Merci de toutes ces précisions Jean-Louis. grandsoleil

Autre petite question, est-il possible d'allumer une led brancher sur la master par l'intermédiaire d'une pression sur un bouton du joystick ???? gratgrat

Hugo
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

Re: Sioc autothrottle

Messagede chtipilot » Lun 2 Mai 2011 07:37

Bonjour Hugo,

Oui, tu peux tout faire même à partir d'une pression de touche au clavier;
Il suffit de connaître l'offset (la fonction) que tu active avec le bouton du Joystick ou du clavier.... grandsoleil
par exemple si tu met un bouton Joystick pour le frein de park :

Var 0010, name Led_ParkBrake, Link IOCARD_OUT, Device 1, Output 11 // LED Frein Park
Var 0025, name FSo_parkingBrake, Link FSUIPC_OUT, Offset $0BC8, Length 2 // Frein de park
{
&Led_ParkBrake = &FSo_parkingBrake
}

Jean-Louis
Chtipilot Image

Image
Avatar de l’utilisateur
chtipilot
 
Messages: 371
Inscription: 2/04/11
Localisation: Lille (Nord)

Re: Sioc autothrottle

Messagede worldhugo » Lun 2 Mai 2011 08:29

Je texplique : un de mes boutons du joystick est assigne a vasfmc par lintermediaire du reseau et de fsuipc. Je voudrais allumer une led quand jappui sur le bouton
worldhugo
 
Messages: 279
Inscription: 28/03/10
Localisation: Reims 51100

PrécédenteSuivante

Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 invités