Page 1 sur 2
REGISTRE A DECALAGE SUR SOMACHINE
Posté : 18 juil. 2017, 17:39
par SYLVAIN06
Bonjour à Tous et toutes,
Est-ce que quelqu'un aurait une solution simple pour coder un registre à décalage de mots (int, word ou autres) sur Somachine?
Sur PL7 PRO on pouvait faire ce al aisément avec la fonction shiftword ou qcq chose dan le genre qui permettait sur un front de décaler les valeurs
de mots sur une longueur X.
On utilisait des adresses physiques type %MW100, mais sur Somachine je n'ai pas trouver dans les bibliothèques.
Ex : MW100 = 111
MW101 = 222
MW103 = 333 etc...
Sur un front on a
MW100 = 000
MW101 = 111
MW103 = 222
MW104 = 333 ....
Si quelqu'un à une idée.....Merci D'avance.
Tchou
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 18 juil. 2017, 17:57
par fish
Salut,
Le guide de programmation SoMachine pour trouver bonheur !
http://dl.free.fr/onYbWtciV
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 18 juil. 2017, 18:58
par itasoft
slts,
j'ai encore pas tout utilisé sur SoMachne mais j'ai comme l'impression qu'il ni as pas de fonctions sur les tableaux.
(décalages, recherche, tri, ect...)
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 18 juil. 2017, 18:59
par SYLVAIN06
itasoft a écrit : ↑18 juil. 2017, 18:58
slts,
j'ai encore pas tout utilisé sur SoMachne mais j'ai comme l'impression qu'il ni as pas de fonctions sur les tableaux.
(décalages, recherche, tri, ect...)
Merci beaucoup,
J'y avais pas pensé.....
Je vais zieuter ça de suite pour voir si je trouve bonheur
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 18 juil. 2017, 20:24
par SYLVAIN06
itasoft a écrit : ↑18 juil. 2017, 18:58
slts,
j'ai encore pas tout utilisé sur SoMachne mais j'ai comme l'impression qu'il ni as pas de fonctions sur les tableaux.
(décalages, recherche, tri, ect...)
C'est vrai, c'est complet dans un sens mais de mon côté j'ai un peu de mal avec les bibliothèques. Je n'arrive pas toujours à trouver ce que je veux.
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 20 juil. 2017, 11:03
par ludovicB
ça fait quelques projets que je fais sous somachine, j'ai jamais trouvé les fonctions de décalage rol ou ror pourtant bien pratiques! faut se les coder!!!
si jamais quelqu'un les trouve en biblitotheque, je suis preneur.
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 20 juil. 2017, 11:52
par SYLVAIN06
ludovicB a écrit : ↑20 juil. 2017, 11:03
ça fait quelques projets que je fais sous somachine, j'ai jamais trouvé les fonctions de décalage rol ou ror pourtant bien pratiques! faut se les coder!!!
si jamais quelqu'un les trouve en biblitotheque, je suis preneur.
Tu les as bien mais par sur mots uniquement sur bits.
Pour mon pb j'ai simplement fait un FB avec un ARRAY[ 1..50] (P8_REGISTRE) que je copie ligne par ligne de la fin vers le début pour faire mon décalage sur front d'un bit START.
Cela me permet d'accéder à toute les lignes de mon registre (ARRAY) aux endroits où j'en ai besoin.
Pas élégant mai efficace
FUNCTION_BLOCK P8_CONV_DEC_REG
VAR_INPUT
START:BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
I:INT;
END_VAR
IF START=TRUE THEN
FOR I:=50 TO 2 BY -1 DO
P8_REGISTRE
:=P8_REGISTRE[I-1];
P8_REGISTRE[1]:=0;
END_FOR
END_IF
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 20 juil. 2017, 11:53
par jeanluc69
ludovicB a écrit : ↑20 juil. 2017, 11:03
ça fait quelques projets que je fais sous somachine, j'ai jamais trouvé les fonctions de décalage rol ou ror pourtant bien pratiques! faut se les coder!!!
si jamais quelqu'un les trouve en biblitotheque, je suis preneur.
Tout simplement
"inserer l'appel d'un module" - categorie "mots clé" pluis ROR ou ROL ou SHL ou SHR
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 20 juil. 2017, 13:00
par itasoft
@jeanluc69
on parle de décalage sur tableau de mots et pas sur mots
Re: REGISTRE A DECALAGE SUR SOMACHINE
Posté : 20 juil. 2017, 13:07
par SYLVAIN06
itasoft a écrit : ↑20 juil. 2017, 13:00
@jeanluc69
on parle de décalage sur tableau de mots et pas sur mots
Oui c'est ce que je recherchais mais j'ai donc fait mais à partir d'une variable array.
Ça serait cool qu'il existe des bibliothèques avec les anciennes fonctions qu'on trouvait sur pl7pro