Codesys 2.3 - Creation de tâches

Partie du forum pour tout ce qui concerne la partie soft, ou logiciel, dans l'industrie. Forum, conseil, astuce et entraide sur les logiciels d'automatisme ou d'informatique industrielle .
Folco
Apprend le binaire
Apprend le binaire
Messages : 4
Inscription : 04 août 2017, 19:35

Codesys 2.3 - Creation de tâches

Message par Folco »

Bonjour,

Je programme un automate Eaton avec Codesys 2.3, et je cherche à utiliser la bibliothèque SysLibTasks.lib (documentation ici : ftp://ftp.moeller.net/AUTOMATION/DOWNLO ... btasks.pdf )

J'aurais aimé avoir des précisions :
- une tâche créée est-elle lancée automatiquement ?
- si une tache tache "tache_1" crée une tache "tache_2", est-ce que "tache_2" est détruite quand "tache_1" se termine ?
- puis-je faire un SysTaskDestroy sans que la tâche cible ait appelé SysTaskEnd ?


Merci d'avance !
Avatar de l’utilisateur
JAPIB
Aguerri de l'automation
Aguerri de l'automation
Messages : 84
Inscription : 20 oct. 2015, 23:32
Localisation : Lyon

Re: Codesys 2.3 - Creation de tâches

Message par JAPIB »

Bonsoir,
Je n'ai jamais utilisé cette bibliothèque.
Mais au vu du fonctionnement des tâches sous CoDeSys V2, on peut penser que :
- Une tâche créée est lancée systématiquement par le système en fonction des paramètres de sa création : type, période, priorité, ....
- Une tâche créée n'est détruite ou arrêtée quand quand on lui en donne l'ordre (Destroy, Suspend, ...)
- SysTaskEnd me semble plutôt une commande pour arrêter une tâche X à partir de la tâche X, la tâche s'arrète mais n'est pas détruite, elle sera de nouveau exécutée quand les conditions de lancement seront de nouveau réunies.
Alors que Destroy permet à une tâche Y d'éliminer une tâche X. Après cette commande la tâche X n'existe plus.
Pensez bien au fait que l'API n'est pas multitâches, dans le sens que les tâches sont exécutées les unes après les autres et jamais simultanément. (On nous l'annonce avec le CODESYS V3.xx en utilisant les différents cours des processeurs, mais ce n'est pas encore effectif). :shock:

Le mieux est de réaliser des essais, si vous avez l’API sous la main, ou la simulation, bien que je ne soit pas sur que la simulation gère les tâches exactement comme l'APi matériel.
Sinon vous pouvez télécharger le logiciel CoDeSys V2 standard d'origine (https://store.codesys.com/), c'est gratuit après identification. Puis créer un programme d'essai (la bibliothèque SysLibTask existe) et utiliser l'automate soft "SP PLCWinNTV2.4" qui s'installe lors de l'installation du logiciel. Cet APi soft est un vrai automate qui tourne sous Windows et qui est pleinement opérationnel.
La différence entre Xsoft-CoDeSys-2 et CoDeSys V2 est "minime", Xsoft intègre les cibles et bibliothèques spécifiques Eaton.
Attention quand même aux types de tâches, les APi Eaton de connaissent pas les 4 types de tâches de CoDeSys (Tâche à répétition automatique par exemple).

Vous pouvez aussi appeler Eaton, ils ont un interlocuteur qui connait bien le système.

Cordialement. :)
Folco
Apprend le binaire
Apprend le binaire
Messages : 4
Inscription : 04 août 2017, 19:35

Re: Codesys 2.3 - Creation de tâches

Message par Folco »

Un très grand merci pour cette réponse très complète !
Venant de la programmation PC, j'avais commencé mon programme en pensant "évènementiel", donc avec des tâches.
Finalement, je découvre les machines à état et les grafcet pour décrire leur fonctionnement.
Je vais donc adopter les règles de l'art pour écrire mon programme, mais je garde cette possibilités de tâches en cas de besoin.

Merci encore !
Répondre