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

probleme de limitation mémoire 10M sur M241

Message par LIONEL »

Bonjour à tous,

Je développe un projet sur un automate M241 de Schneider.
Je dois faire tourner 40 taches en parallèles ( des cycles d'allumage et d'extinction de prise ).
Quand je lance mes cycles de taches sur 10 prises tout ce passe bien, mais quand j'éssaie de faire les 40, je me retrouve avec l'erreur :

" plus de mémoire de données globales disponible !"

Est il possible d'augmenter la mémoire ? Avez-vous une idée ... Je suis un peu désespéré :)
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 !

Des tâches en parallèle ? Elles se font les unes derrière les autres non ? aucune en même temps ?

La mémoire semble de 8MB pour le programme, de 64Mo pour le système (Tu n'indique pas la ref de ton automate).
Tu peux avoir jusqu'à 32Go en carte Sd de données sauvegardées

Tu dois pouvoir optimiser ton programme je pense...enfin, je dis cela sans le voir...
Un peu plus de visibilité sur ton code pourrait aider ;)
Dernière modification par philou77 le 17 oct. 2018, 16:19, modifié 2 fois.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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

Ben il suffit de mettre 4 CPU...

Sinon itasoft te fera cela avec un zelio... Et il aura assez de place car il va rentrer les bits a la dur ...

Tu peux aussi donner plus de détail de tes tâches, ce qu'elle font screenshot...


Courage
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 »

skip74 a écrit : 17 oct. 2018, 16:12 Ben il suffit de mettre 4 CPU...
Lol, j'y avais pas pensé !!
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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 »

Merci pour vos réponses !!!!

Alors enfait je dois faire un programme qui allume ou éteind des prises, l'automate reçoit en entrée des informations d'un serveur via Modbus TCP/IP
( pour la partie communication tout marche niquel )

Il y a en tout 40 prises qui fonctionnent de manière indépendantes, l'utilisateur flashe un qr code, on lui attribue une prise, mais en fonction de son crédit, ou d'autre conditions sa prise peut s'allumer plus ou moins longtemps, se mettre su pause, etc...

Donc la seule manière auxquels j'ai pensé pour faire fonctionner mon programme est de faire un appel d'un grafcet a 40 branches parallèles, qui lance des fonctions Blocks, qui vont fonctionner de manière indépendante (mais apparamment ca utilise trop de mémoire :( )
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:20
skip74 a écrit : 17 oct. 2018, 16:12 Ben il suffit de mettre 4 CPU...
Lol, j'y avais pas pensé !!

C'est vraiment possible de rajouter des CPU sur un automate SChneider ? (M241)
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 »

LIONEL a écrit : 17 oct. 2018, 16:23 C'est vraiment possible de rajouter des CPU sur un automate SChneider ? (M241)
LOL, non.. faut acheter 4 automates !!

Ah, ok.. je comprend mieux alors.

Tu n'as qu'à faire une tâche paramétrée que tu appelles 40 fois de suite avec des paramètres différents...
ou bien tu crée une fonction (si c'est possible), que tu utilises 40 fois
ou bien tu écris 40 fois la même tâche avec des adressages différents
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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:10 Salut !

Des tâches en parallèle ? Elles se font les unes derrière les autres non ? aucune en même temps ?

La mémoire semble de 8MB pour le programme, de 64Mo pour le système (Tu n'indique pas la ref de ton automate).
Tu peux avoir jusqu'à 32Go en carte Sd de données sauvegardées

Tu dois pouvoir optimiser ton programme je pense...enfin, je dis cela sans le voir...
Un peu plus de visibilité sur ton code pourrait aider ;)
Justement mon problème est qu'elles se font en même temps, mon automate c'est un M241 de schneider,
Apparamment mon code consomme presque 7MB, juste pour faire 10 prises en même temps
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 »

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 ?
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
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:26
LIONEL a écrit : 17 oct. 2018, 16:23 C'est vraiment possible de rajouter des CPU sur un automate SChneider ? (M241)
LOL, non.. faut acheter 4 automates !!

Ah, ok.. je comprend mieux alors.

Tu n'as qu'à faire une tâche paramétrée que tu appelles 40 fois de suite avec des paramètres différents...
ou bien tu crée une fonction (si c'est possible), que tu utilises 40 fois
ou bien tu écris 40 fois la même tâche avec des adressages différents
c'est quoi la différence entre une tache paramétrée et une fonction ?
Des tache avec des adressages ? Genre des programmes avec des adressages différents ?

J'aurai pu utiliser une fonction avec des paramètres différents, mon problème est que quand je lance une fonction elle reste prise dans mon programme qui calcule par exemple le temps de charge au niveau de la prise, ou qui reste bloqué en attendant une condition de sortie.

Donc impossible de relancer la même fonction avec un paramètre différent en entrée, puisque elle est bloqué dans sa boucle.
Ce n'est peut être pas la meilleur manière de faire ?
Répondre