DobotStudio Pro peut exécuter plusieurs scripts Lua en même temps. Cet article montre comment utiliser ce parallélisme pour surveiller les entrées numériques (signaux DI) indépendamment du programme principal, idéal pour le logging et la gestion d'événements dans l'automatisation robotique.
Généré par IA
Les tâches parallèles dans DobotStudio Pro
DobotStudio Pro identifie les tâches par un schéma de nommage de fichiers : src0.lua est le programme principal (tâche 0), tandis que src1.lua, src2.lua et les fichiers suivants s'exécutent comme tâches parallèles. Toutes les tâches tournent indépendamment et en même temps, les séquences critiques du programme principal ne sont donc jamais bloquées.
La surveillance DI comme tâche parallèle
La tâche suivante surveille en continu l'entrée DI1 pour détecter les changements d'état et enregistre chaque front. Le contrôle s'exécute toutes les 10 millisecondes :
log("Démarrage de la surveillance DI...")
local last = nil
while true do
local current = DI(1)
if last ~= nil and current ~= last then
local state = current == 1 and "ON" or "OFF"
log("Changement d'état DI1 : " .. state)
end
last = current
Sleep(10) -- contrôle toutes les 10 ms
end
Conclusion
Les scripts Lua parallèles rendent possible une surveillance permanente des signaux sans affecter le programme principal. Combiné à une journalisation centralisée, par exemple avec notre serveur de logs Leif, cela devient une supervision complète de votre production.
Questions fréquentes
Comment exécuter plusieurs scripts Lua en même temps sur un Dobot ?
Par le schéma de nommage de DobotStudio Pro : src0.lua est le programme principal, tandis que src1.lua, src2.lua et suivants démarrent comme tâches parallèles et s'exécutent indépendamment les uns des autres.
Comment lire une entrée numérique en Dobot Lua ?
Avec la fonction DI(n), par exemple DI(1) pour l'entrée 1. La valeur de retour est 1 (ON) ou 0 (OFF). Dans une boucle avec Sleep(10), l'entrée peut être surveillée en continu.