Blocaine logo
fr
en
中文
 Manuel Utilisateur   Téléchargement   contact@blocaine.org 
Blocaïne est une plateforme logicielle
dédiée à
l'automatisation des procédés industriels
Blocaïne achitecture générale

Blocaïne sépare la conception du programme de son exécution
Pc de développement
Éditeur de bloc
  • Création de programmes par chaînage de blocs fonctionnels.
  • Compilation.
  • Chargement de programmes dans la Machine Cibe.
  • Visualisation des variables en temps réel.
  • Forçage des variables.
Machine Cible (faisant office de PLC).
Exécuteur
  • Exécution les programmes créés avec l’Éditeur de bloc.
  • Pilotage de l’équipement industriel via des entrées/sorties déportées.
  • Communication avec un éventuel IHM/SCADA via OPC UA.


Tuto d'installation

Caractéristiques
Chargement à chaudUne nouvelle version d'un programme peut être chargée à la volée, donc sans arrêter l'installation
Édition - Programmation graphique sous forme de blocs fonctionnels chaînés
- L’ordre d’exécution des blocs est généré automatiquement
- La mise en page est automatique
Bit de validitéChaque variable possède nativement un bit de validité, qui se propage de bloc en bloc
Python - Typage dynamique des variables
- Écriture possible de blocs fonctionnels en Python
Débogage - Visualisation en temps réel des variables
- Forçage des variables
Connectivité - Un serveur web, permet la visualisation de l'état de la cible
- Un serveur OPC UA, permet l'interfacage avec un IHM/SCADA
- Un client ModBus, permet le pilotage de remotes I/O
open sourceBlocaïne est libre de droits et en sources ouvertes
Fiche technique
Avantages
PhilosophieKISS - Keep It Simple Stupid
Fonctionnalités avancées"Chargement à chaud", bit de validité, typage dynamique...
Coûtlow cost (matériel & logiciel)
LicenceLibre et open source. Le code est intégralement disponible et modifiable.
PérennitéMimimise l'obsolescence grâce à des standards pérennes (Python, Ethernet, PC)
Limitations
Ressources CPUPas adapté aux gros projets gourmands en CPU — un bloc « System » de base s'exécute en ~2 µs sur Raspberry Pi 5 (max ~0,5 M blocs/s).
Temps réelPas de système temps réel « dur » — la latence restant sous 1 ms sur Raspberry Pi 5.
BibliothèqueCertains blocs « System » attendus peuvent encore manquer.
Avancement du projet
La version "Béta" de Blocaïne est disponible sur github, afin de faciliter son installation dans un but d'évaluation, la version téléchargeable est configurée pour que:
  • l'Éditeur de bloc et l'Exécuteur s'exécutent sur le même PC, ce qui élimine toute configuration réseau
  • Certaines fonctionnalités sont déactivées (OPC, GPIO, MudBus/TCP), ce qui élimine toute installation de modules Python spécifiques
Il ne faut que 3 minutes pour télécharger et commencer à utiliser Blocaïne. Après le téléchargement, il faudra simplement lancer l'Exécuteur puis l'Éditeur de bloc, la connection entre les deux est automatique, vous pourez alors commencer à évaluer Blocaïne.
Procédure d'installation et d'évaluation
Documentation
doc. générale :


blocs "System" :
add addition and ET logique append ajout un élément en fin de list cablin ajoute un élément à une structure cablout extrait un élément à une structure clock horloge comp comparaison const.pi constante pi delay retard à la montée ou à la descente differencial différenciel div division dt temps de cycle de la tâche edge détection de front montant et/ou descendant filter_FO filtre du 1er ordre geti retourne l'élément [n] GPIO_DI lecture d'une entrée digitale GPIO GPIO_DO écriture d'une sortie digitale GPIO GPIO_PWM écriture d'une sortie MLI GPIO hold fonction maintien information retourne les infos d'une variable input entrée d'un bloc input_output accéde à une sortie d'un autre process insert insert un élément dans une list integrator intégrateur en fonction du temps len retourne le nombre d'éléments limit limitations haute et basse memory mémoire (bascule RS) minmax minimum et maximum modbus_conn ModBus/TCP connexion modbus_read ModBus/TCP lecture des entrées modbus_write ModBus/TCP affectation des sorties mult multiplication not NON logique OPC_node création d'un noeud OPC UA OPC_read lecture d'une variable OPC UA OPC_server configuration d'un serveur OPC UA OPC_var création d'une variable OPC UA OPC_write affectation d'une variable OPC UA or OU logique output sortie d'un bloc pop suprime un élément d'une list previous variable mémorisée puti affecte un élément d'une list range itération pour boucle readbit lit un bit d'un entier select selection (if/then/else) sub soustraction time lecture horloge system type conversion de type validRead lecture du bit de validité validWrite écriture du bit de validité writebit affecte un bit d'un entier


blocs "User" :
loop incrémentation
contact: contact@blocaine.org Mentions légales