Page 1 sur 1

info Unity

Posté : 05 juil. 2016, 19:23
par itasoft
Slts,
Pour info (pour ceux qui ne le sauraient encore pas, lol) on peut copier les sorties sur les entrées pour simuler les retours contacteurs

(* Par paquet de 16 *)
MOVE_AREBOOL_INT(%Q0.6.0:16,INT0);
WRITE_INPUT_AREBOOL_16 (INT0,%I0.3.0:16);

(* individuel *)
%I0.3.0:=WRITE_INPUT_EBOOL(%Q0.6.0);



(ps: à écrite en début de scrutation)

Re: info Unity

Posté : 07 juil. 2016, 23:30
par kosbor
salut,
oui la semaine derniere j'ai simulé les mouvements ça marche pour les entrées analog et codeur aussi
Plus que pratique pour simuler les retour de thermique shunter les autorisations et les mouvements

Code : Tout sélectionner

SimMotionEncoder_trl (MotionForwardDir      :=Sim_trl.MotionForwardDir (*BOOL*),
                       MotionBackDir        :=Sim_trl.MotionBackDir (*BOOL*),
                       MotionSP_Speed 	    :=Sim_trl.MotionSP_Speed (*INT*),
                       EncoderCurrentMeasure:=Sim_trl.EncoderCurrentMeasure (*DINT*),
                       EncoderPresetValue   :=Sim_trl.EncoderPreset (*DINT*),
                       EncoderResolution    :=Sim_trl.EncoderResolution (*INT*),
                       ClockTriggerInteval  :=Sim_trl.ClockTriggerInteval (*REAL*));

SimMotionEncoder_dir (MotionForwardDir      :=Sim_dir.MotionForwardDir (*BOOL*),
                       MotionBackDir        :=Sim_dir.MotionBackDir (*BOOL*),
                       MotionSP_Speed 	    :=Sim_dir.MotionSP_Speed (*INT*),
                       EncoderCurrentMeasure:=Sim_dir.EncoderCurrentMeasure (*DINT*),
                       EncoderPresetValue   :=Sim_dir.EncoderPreset (*DINT*),
                       EncoderResolution    :=Sim_dir.EncoderResolution (*INT*),
                       ClockTriggerInteval  :=Sim_dir.ClockTriggerInteval (*REAL*));

SimMotionEncoder_lev (MotionForwardDir      :=Sim_lev.MotionForwardDir (*BOOL*),
                       MotionBackDir        :=Sim_lev.MotionBackDir (*BOOL*),
                       MotionSP_Speed 	    :=Sim_lev.MotionSP_Speed (*INT*),
                       EncoderCurrentMeasure:=Sim_lev.EncoderCurrentMeasure (*DINT*),
                       EncoderPresetValue   :=Sim_lev.EncoderPreset (*DINT*),
                       EncoderResolution    :=Sim_lev.EncoderResolution (*INT*),
                       ClockTriggerInteval  :=Sim_lev.ClockTriggerInteval (*REAL*));

%ID0.5.0.0:=WRITE_INPUT_DINT (INP:=Sim_trl.EncoderCurrentMeasure (*DINT*));
%ID0.5.1.0:=WRITE_INPUT_DINT (INP:=Sim_dir.EncoderCurrentMeasure (*DINT*));
%ID0.6.0.0:=WRITE_INPUT_DINT (INP:=Sim_lev.EncoderCurrentMeasure (*DINT*));

FOR k:=0 TO 63 BY 1 DO
  (*EBOOL*)%I0.3.0.0[k]:=WRITE_INPUT_EBOOL (INP:=%M1000[k]);
END_FOR;

Re: info Unity

Posté : 08 juil. 2016, 08:20
par itasoft
Slts,
A ce propos pour les tests, ça me fait penser que j’avais fais une moulinette Excel qui génère automatiquement
un « Ecran d’exploitation » « Boite à boutons » spécifique à la configuration des E/S à importer dans Unity
Très pratique quand le besoin s’en fait cruellement sentir, lol

cliquer dessus pour agrandir
2Ecran.JPG

Re: info Unity

Posté : 08 juil. 2016, 08:37
par geronimo
merci beaucoup itasoft pour l'info.
Ta moulinette pour les écrans d'exploitation peut etre très pratique pour faire des tests de programme pour les simulations.
Est ce que tu la diffuses?

Re: info Unity

Posté : 08 juil. 2016, 10:21
par itasoft
@ gero,
j'ai pas fais de notice d'utilisation de la moulinette et comme "ça me les brises menu" d'en faire une,
le plus simple c'est de m'envoyer par mail la photo du RACK et je te retourne le fichier "Ecran d'exploitation" à importer sur Unity.
AM

ps:
pour les défauts "Retours Contacteurs" si les entrées correspondent aux sorties, je les traites par paquets de 16
ex:

cliquer dessus pour agrandir
16def.JPG