probleme de limitation mémoire 10M sur M241

Forum traitant des automates industriels de marque Schneider - Telemecanique
LIONEL
Apprend le binaire
Apprend le binaire
Messages : 6
Inscription : 17 oct. 2018, 15:47

Re: probleme de limitation mémoire 10M sur M241

Message par LIONEL »

philou77 a écrit : 17 oct. 2018, 16:33 Et bien, si tu es à la milliseconde.... effectivement, il va falloir changer d'automate et prendre un M540 !!

tu as une autre possibilité, c'est de coder toi même ton grafcet (si tu y tiens) .... sans utiliser le grafcet intégré, cela consomme des mémentos et du temps de cycle, c'est tout.

Combien d'étapes as-tu par prise ?
Peut être que je m'y prend très mal ? Je pensais les faire parallèle pour pas qu'il y ait de conflit entre les programmes des différentes prises.
J'ai une boucle sur chacune des prises avec différentes actions
- lecture de compteur SDM120C : en fonction de si la personne c'est bien branché ou pas, la prise s'éteind, ou reste allumé.
- lancement d'un compteur : si le compteur > 3H, la prise s'éteind
- passage de la prise en mode déconnecté en fonction d'une demande du serveur
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: probleme de limitation mémoire 10M sur M241

Message par philou77 »

Ok, si tu n'es pas si pressé que cela
je te dirai de n'écrire qu'un fois ton programme en indexant les variables !
puis d'incrémenter ton index à chaque tour de cycle !

Il te faudrait 40 cycle automate pour acquérir ou actualiser tes 40 prises (avec un temps de cycle de 10ms, cela fait à peine une demi seconde !)

Mais dans ce cas, elles se font les unes derrière les autres et PAS EN MEME TEMPS !

et aussi de ne pas passer par le grafcet pour faire cela, des bits de mots devraient suffire !
1 bit pour connecté
1 bit pour dépassement temps
1 bit pour pause
etc....

Pour 40 prises, cela ne fait que 40 Mots !!
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
MiGaNuTs
Dieu du process
Dieu du process
Messages : 979
Inscription : 12 nov. 2015, 21:02
Localisation : 45 - Loiret
Contact :

Re: probleme de limitation mémoire 10M sur M241

Message par MiGaNuTs »

Bonjour,

juste pour rappel, un automate qui effectue plusieurs taches en même temps, ça n'existe pas.
Quand vous avez plusieurs taches en parallèle dans un seul automate, il effectue un morceau d'une tache, puis passe a un morceau d'une autre tache, etc.
Pour effectuer réellement 2 taches en même temps, il faut 2 automates. Ou a la limite un automate avec 2 CPU, mais ce qui revient en fait a avoir 2 automates dans la même boite. Comme sur les automates de sécurité.

Déjà quand vous parlez d'un grafcet a 40 branches en //, je pense que ce n'est clairement pas la façon optimale de gérer le problème.Perso j'aurais fait un p'tit grafcet qui ne fait que compter de 1 a 40 en boucle (et encore, un grafcet pour faire ça, c'est un lance flamme pour tuer une mouche)
et un 2eme grafcet pour gérer une prise a la fois, et a chaque boucle je m'en sert pour traiter un bloc de données différent passé en paramètre d'une façon ou d'une autre.
Les clefs du succès étant de réussir a optimiser le bloc de données pour n'y mettre que le strict minimum nécessaire (a priori vu vos impératifs y'a moyen de faire ça en quelques octets) et de faire en sorte que le grafcet paramétré soit le plus simple possible.

Vu la rapidité du bouzin je pense que y'a moyen de rester avec un temps de cycle de quelques millisecondes. Moins de temps qu'il n'en faut pour que le contacteur qui alimente chaque prise ne change d’état.
Avatar de l’utilisateur
skip74
Créateur de langage
Créateur de langage
Messages : 640
Inscription : 13 oct. 2015, 06:34

Re: probleme de limitation mémoire 10M sur M241

Message par skip74 »

Salut
Je pense que tu fait une confusion entre la gestion des tâches sous un automate qui tournés d'une manière cyclique et la notion de threed en langage informatique...
Si j'ai bien compris, ta supervision récupère le QR code + le temps de crédits et envoi les paramètres numéro prise et temps de pilotage

Ensuite l'automate exécuté ça...
Tu peux faire si numéro de prise=1, on affecte la tempo avec le temps renvoyé, set la sortie, si tempo finie, on reset la sortie.

Et cela 40 fois....
Avatar de l’utilisateur
Béryl
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1659
Inscription : 20 oct. 2015, 12:00
Localisation : localhost

Re: probleme de limitation mémoire 10M sur M241

Message par Béryl »

Un seul DFB instancié 40 fois, avec le bout de programme qui gère les variables envoyées aux DFB en fonction de ton QR Code.
T'auras autant de solutions différentes qu'il y a d'automaticiens !
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7035
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: probleme de limitation mémoire 10M sur M241

Message par itasoft »

Slts,
Je ferais pas ça avec un grafcet, plutôt avec un DFB nommé « PRISE » et instancié 40 fois
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: probleme de limitation mémoire 10M sur M241

Message par philou77 »

+1 avec vous tous les amis !

L'optimisation de code, y a longtemps que c'est plus d'actualité !!
ah il est loin le temps ou l'on avait 64 ko de programme ET données pour faire tourner un bouzin !!

J'ai connu un S5 qui faisait tourner une ligne complète (12 machines !!) comme une fleur, mais aucun automaticien ne voulait se plonger la dedans car sur le papier, cela dépasse très largement les capacités de la CPU, et pourtant ça marchait du tonnerre, on arrive à tout (ou presque) en cherchant bien !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: probleme de limitation mémoire 10M sur M241

Message par philou77 »

Salut !

Je me suis amusé à faire sa gestion de prise avec un M221 et somachine basic..
ça prend quelques réseaux, et ai du ajuster le chien de garde à 500 ms...du à l'appel d'un bloc périodique (250ms) qui gère les 40 compteurs !
Et pas un pet de grafcet ;)

Mais ça passe , alors dans un M241 avec somachine, ça doit passer les doigts dans le nez !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Répondre