Un fournisseur vous livre une bibliothèque CODESYS « compilée » (pas de code source) et une licence. Deux étapes bien distinctes vous attendent : installer la bibliothèque sur votre PC de développement, puis activer la licence sur l'automate. La première est simple. La seconde réserve une mauvaise surprise sur les automates WAGO, et mieux vaut la connaître avant d'acheter.
Les formats de bibliothèque
.library: bibliothèque en source, on peut ouvrir et lire ses POU..compiled-library: bibliothèque protégée, le code source n'est plus visible une fois intégrée au projet. Format des versions antérieures à CODESYS V3.5 SP15, signé avec une clé privée..compiled-library-v3: même principe, mais depuis la SP15 la signature se fait obligatoirement avec un certificat de signature de code..package: un paquet d'installation qui peut contenir des bibliothèques, des descriptions d'équipements, de la documentation…
1. Installer la bibliothèque sur le PC
- Dans CODESYS : menu Outils > Référentiel de bibliothèques (Library Repository).
- Cliquer sur Installer et sélectionner le fichier
.compiled-libraryou.compiled-library-v3. - Vérifier l'icône devant la bibliothèque installée : elle indique si la bibliothèque est signée numériquement ou non. Une bibliothèque compilée non signée venant d'un fournisseur mérite une question.
- Sélectionner la bibliothèque puis cliquer sur Dépendances : la liste montre les autres bibliothèques qu'elle utilise. Chacune doit être présente dans votre référentiel, dans la bonne version. Celles qui manquent doivent être fournies par l'éditeur.
Si l'éditeur livre un .package, on l'installe avec le gestionnaire d'extensions de CODESYS plutôt qu'avec le référentiel de bibliothèques. Selon la version de CODESYS, c'est le Package Manager ou le CODESYS Installer.
2. L'ajouter au projet
- Dans l'arborescence du projet, ouvrir le Gestionnaire de bibliothèques (Library Manager) de l'application.
- Cliquer sur Ajouter une bibliothèque et choisir la bibliothèque installée.
- Compiler. Les blocs fonctionnels apparaissent, mais leur code reste fermé.
Un point à vérifier dans la documentation de l'éditeur : la version de CODESYS (SP) et le compilateur pour lesquels la bibliothèque a été générée. Une bibliothèque compilée pour une version plus récente que la vôtre ne se chargera pas.
3. La licence : trois cas de figure
Cas 1 : bibliothèque libre
Rien à faire. C'est le cas des bibliothèques marquées « Free » sur le CODESYS Store et de la plupart des bibliothèques WAGO standard.
Cas 2 : licence CODESYS (CodeMeter)
C'est le modèle du CODESYS Store et des éditeurs qui passent par lui. On vous remet un ticket de 5 blocs de 5 caractères (du type XXXXX-XXXXX-XXXXX-XXXXX-XXXXX), et la licence est stockée dans un conteneur CodeMeter : un conteneur logiciel (soft container) lié à l'automate, ou une clé USB (CODESYS Key).
Procédure sur un automate qui le supporte :
- Menu Outils > License Manager.
- Cible : Device (l'automate), puis le type de conteneur (soft container ou dongle), puis sélection de l'automate sur le réseau.
- Installer des licences > Activer une licence : saisir le ticket et le serveur de licence indiqué par l'éditeur. Il faut une connexion internet sur le PC.
- Sans internet : Demander une licence génère un fichier de contexte (
WibuCmRaC). On le transmet au serveur de licences depuis un autre PC, on récupère en retour un fichier de mise à jour (WibuCmRaU), et on l'installe avec Installer une licence.
À l'activation, CODESYS conserve une copie de la licence de l'appareil dans un fichier .WibuCmRau sur le PC. Gardez-le : sur les runtimes compatibles, il permet de restaurer la licence sur le même automate en cas de perte.
⚠️ Le piège WAGO
Sur un PFC WAGO avec son runtime d'origine (firmware 04.xx, programmé en CODESYS V3.5), cette procédure échoue. Le License Manager répond : « Licensing info not available. The device does not support this service. » Le runtime WAGO n'embarque pas de conteneur CodeMeter : WAGO utilise son propre modèle de licences.
Et le piège est sournois : en mode démo, la bibliothèque fonctionne parfaitement sur le banc d'essai. C'est au moment de passer en licence définitive qu'on découvre le blocage. Un cas réel sur le forum CODESYS : un serveur IEC 60870-5-104 testé sans problème en démo sur PFC200, impossible à licencier ensuite.
Les solutions :
- Acheter la licence au format WAGO quand le produit existe chez WAGO. Exemple : la redondance CODESYS sur PFC200 s'achète chez WAGO (référence 2759-0249/0211-1000, une licence par automate) et se charge avec WAGOupload, pas avec le License Manager de CODESYS.
- Demander à l'éditeur s'il propose un autre mode de licence compatible avec le runtime WAGO.
- Remplacer le runtime WAGO par CODESYS Control for PFC200 SL (ou PFC100 SL), vendu sur le CODESYS Store. Celui-ci fonctionne avec un soft container CodeMeter lié à l'automate, et accepte donc les licences CODESYS. Sans licence, il tourne 2 heures en démo puis demande un redémarrage. C'est un vrai changement d'architecture : on n'est plus sur le runtime livré par WAGO, à valider avant de s'engager.
Cas 3 : licence propre à l'éditeur
Certains éditeurs gèrent la licence eux-mêmes : la bibliothèque lit un fichier de licence sur l'automate, souvent lié à son adresse MAC. Il suffit alors de déposer le fichier à l'endroit indiqué.
Attention sur WAGO : depuis le firmware 26, le runtime CODESYS ne peut plus accéder qu'à /home/codesys, /media/sd et /tmp. Une bibliothèque qui cherche sa licence ailleurs fonctionnera sur un vieux firmware et plus du tout après la mise à jour. C'est à vérifier avec l'éditeur.
Avant d'acheter : la check-list
- Quel mode de licence : libre, CodeMeter (ticket CODESYS), WAGO, ou fichier propre à l'éditeur ?
- Est-il compatible avec votre runtime ? Sur un PFC avec le runtime WAGO, une licence CodeMeter ne passe pas.
- Pour quelle version de CODESYS la bibliothèque est-elle compilée ?
- Licence par automate ou transférable ? Que se passe-t-il si l'automate est remplacé ?
- Où sont sauvegardées les licences, et comment les restaurer ?
- Toutes les dépendances sont-elles livrées ?
Et dans tous les cas : testez l'activation de la licence sur un automate identique à celui de l'installation, pas seulement le fonctionnement en démo.
Sous e!COCKPIT (firmware 03.xx), l'installation de la bibliothèque suit la même logique, puisqu'e!COCKPIT est construit sur CODESYS V3.5 : seuls les menus diffèrent. Voir WAGO PFC : quel firmware pour quel logiciel ?
Sources
- CODESYS : référentiel de bibliothèques
- CODESYS : types de bibliothèques et signature
- CODESYS : License Manager
- Forum CODESYS : licence impossible sur PFC200 avec le runtime WAGO
- WAGO Community : licence de redondance sur PFC200
- CODESYS Store : CODESYS Control for PFC200 SL
- WAGO : notes de version PFC200 G2 (accès fichiers du runtime, FW26)