Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par itasoft »

Slts,
Si quelqu’un à la possibilité de faire le test pour confirmer.
Apparemment on ne peut pas utiliser une variable locale comme index dans un , « Bloc fonction défini par l’utilisateur » ni dans « Fonctions définies par l’utilisateur » je vois pas pourquoi ? ça serait une couille (Bug en français) que ça ne m’étonnerait qu’à moitié.
Ex :
%VAR0 :=%MW1000[%VAR1]
Modifié en dernier par itasoft le 26 avr. 2018, 14:44, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par philou77 »

Salut Itasoft.

Peux pas faire un test.. suis en V1.4 et je n'ai pas trouvé comment faire un bloc fonction, encore moins une variable locale !
itasoft a écrit : 26 avr. 2018, 03:45 ça serait une couille que ça ne m’étonnerait qu’à moitié.
A deux, tu est 100% étonné ? ;)
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 931
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par Bruce33 »

Bonjour,

Les blocs fonction définis par l'utilisateur viennent tout juste d'apparaître avec la version 1.6. On peut espérer des améliorations (il y en a eu beaucoup depuis la première version de SoMachine Basic !)
Cependant l'aide en ligne, à la rubrique "Objets indexés", indique que l'index est défini par un mot mémoire %MWi... et rien d'autre !
La difficulté pour les développeurs de SoMachine Basic c'est sûrement que la variable locale %VARi peut être de différents types. Mais effectivement, cela devrait être possible.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par itasoft »

Slts,
Oui mais le charme est rompu ,
Pour ceux qui trouvent du charme à un bloc fonction , lol
-----------------------------------------------------------------------------
Disons que mon bloc fonction fait un traitement sur un tableau de mots, pour la diffusion j’indique l’adresse du tableau concerné ex : %MW1000 :32
et en plus je dois indiquer de ne pas utiliser ex : le mot %MW0 qui me sert d’index , c’est là que le charme est rompu, lol
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2242
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par JC87 »

Hello,

Le truc c'est que dans Somachine basic il y a basic donc on ne peut pas trop en demander pour ce qui est en définitive un "petit automate". Sinon y'a Somachine tout court, non je déconne là :mrgreen:

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par itasoft »

@ Phil, et à trois je le serais à 150 %
@ JC,
Non pas ça !!!!!!!!!!!! non pas SoMachine tout court !!!!!!!!!!! S.O.S
lol
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par philou77 »

J'ai fait la mise à jour (peut être une connerie...)

Ai le même problème.. donc une couille en moins aussi ;)

A la version 12, ils seront au point !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par itasoft »

@phil, oui on va attendre la version 12
@bruce
c'est sûrement que la variable locale %VARi peut être de différents types. Mais effectivement, cela devrait être possible.
c'est vrai que la variable %VARi peut être de différents type, mais le type est connu puisque on le déclare.
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par philou77 »

Salut !

Pour contourner ce problème j'utilise ceci :

en début de fonction je place des %MWxx -> %VAR de la fonction ou du bloc défini par utilisateur
j'utilise les %MW en adressage indexé
en fin de fonction je restitue les mots %VAR->%MW

de cette façon, l'adressage indexé est utilisable et les %MW utilisés importent peu car ils sont sauvegardés puis restitués.
Attention à ne pas utiliser des %MW utilisés par une tâche périodique ou évènementielle !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Bloc fonction défini par l’utilisateur sur SoMachine Basic V1.6

Message par itasoft »

philou77 a écrit : 16 nov. 2018, 11:59 Salut !

Pour contourner ce problème j'utilise ceci :

en début de fonction je place des %MWxx -> %VAR de la fonction ou du bloc défini par utilisateur
j'utilise les %MW en adressage indexé
en fin de fonction je restitue les mots %VAR->%MW

de cette façon, l'adressage indexé est utilisable et les %MW utilisés importent peu car ils sont sauvegardés puis restitués.
Attention à ne pas utiliser des %MW utilisés par une tâche périodique ou évènementielle !
pas bête, y avait pas pensé,
moralité: rien ne sert de penser il faut réfléchir avant, d'accord mais ça prends plus de temps.
Automaticien privé (de tout)
itasoft@free.fr
Répondre