️ Remarque: actuellement inactif. De développement ultérieur disponible s'il est financé.? Contact: [email protected]
Ce projet vise à implémenter un outil open source pour l'analyse de code statique des programmes CEI 61131-3.
Cet outil prend actuellement en charge le langage de programmation de texte structuré, les formats PLCOPEN XML et SEL XML. Il fonctionne avec un dialecte de texte structuré étendu qui est complètement compatible avec le transpiler MATIEC.
Si vous constatez que iec-checker ne fonctionne pas avec des extensions de texte structurées fournies par votre fournisseur de PLC, veuillez me le faire savoir. Cela peut probablement être facilement mis en œuvre avec quelques ajustements dans l'analyseur.
Les fonctionnalités suivantes sont actuellement implémentées:
--dump Argument) et produire des avertissements au format JSON ( --output-format-format json ).Vous pouvez télécharger la dernière version binaire pour Linux et Windows X86_64 à partir des versions GitHub.
Installez le dernier compilateur OCAML et OPAM. Envisagez des instructions d'installation sur OCAML.org et opam.ocaml.org.
Installez ensuite les dépendances requises:
opam install --deps-only . # first time only Construisez et installez le bin/iec_checker :
make buildInstallez OCAML pour Windows en fonction du guide d'installation. Le programme d'installation graphique fonctionne bien "hors de la boîte".
Ensuite, ouvrez le shell Cygwin installé, clonez le référentiel et utilisez les instructions d'installation de la section "Linux".
Il existe également un script Checker.py pratique qui enveloppe OCAML Binary et fournit des options supplémentaires comme la prise en charge étendue de la mise en forme et l'exécution des plugins Python. La suite de tests est également écrite en Python et nécessite un interprète Python avec quelques packages supplémentaires.
Obtenez Python 3 et installez les dépendances dans l'environnement virtuel:
virtualenv venv --python=/usr/bin/python3
source venv/bin/activate
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txtEffectuez ensuite des tests unitaires:
make test Consultez certains programmes de démonstration écrits en texte structuré:
bin/iec_checker test/st/*.st
Vous pouvez également utiliser un argument --help help pour afficher l'aide.