Ceci est une ancienne révision du document !
L'objectif de ce wiki est de répertorier toutes les actions pouvant empêcher l'arrêt Chien de garde des automates de la gamme PLCnext de Phoenix Contact (1152, 2152, 3152 ).
Si un automate de cette gamme fais des arrêts chien de garde régulièrement, veillez vérifier tous ces points :
Les vieux firmware automates (<2022) causent des problèmes d'arrêt chien de garde, il faut absolument mettre à jour le firmware et la version automate du programme dans une version >= 2022.0 !
Phoenix contact nous recommande de passer en version de bibliothèque PlcNext Base 1.6.1 pour éviter les arrêt chien de garde.
Il faut vérifier que l'envoie des mails fonctionne bien et qu'ils ne sont pas bloqués sur l'automate.
(L'automate peut planter en essayant de les envoyer en boucle et en faisant saturer la RAM de mails) :
Si aucunes de ces solutions ne fonctionne, les arrêts chien de garde sont probablement dues à une surcharge de l'automate.
Voici des solutions pour réduire la charge des automates sur les centrales Solaires
Ce qui cause de gros piques de surcharge de l'automate est de vouloir lire toutes les données de tous les PTRs en même temps et toutes les secondes.
Cette procédure permet de lire les PTRs une par un, ce qui réduit grandement la charge de l'automate.
Se connecter sur AVEVA et mettre en place la licence.
Créer un nouveau tag booléen :PC_TopMAJOPC_PTR
Aller dans l'onglet calendrier d'AVEVA et ajouter un évènement qui change l'état de ce bit toutes les secondes :
Aller dans l'onglet task, puis dans Script.
Faire clique droit insérer, mettre en Description :
“Séquencement de la lecture OPC des PTRs”
Et bien mettre en Exécution le tag : PC_TopMAJOPC_PTR
A l'intérieur du script, vous pouvez copier coller le script ci-dessous :
'Variables disponible uniquement pour ce groupe peuvent être déclarés ici.
'Le code configuré ici est exécuté alors que la condition configuré dans le champ exécution est VRAI.
' Mise à jour pointeur table OPC à lire
' De tables de 2 à 10 concernées
$idxLectOPC = $idxLectOPC + 1
if $idxLectOPC < 2 then
$idxLectOPC = 2
ElseIf $idxLectOPC > 5 Then
$idxLectOPC = 2
end if
Select Case $idxLectOPC
Case 2
$TOP_MAJOPC_Feuil2 = not $TOP_MAJOPC_Feuil2
Case 3
$TOP_MAJOPC_Feuil3 = not $TOP_MAJOPC_Feuil3
Case 4
$TOP_MAJOPC_Feuil4 = not $TOP_MAJOPC_Feuil4
Case 5
$TOP_MAJOPC_Feuil5 = not $TOP_MAJOPC_Feuil5
End Select
$PC_TopMAJOPC_PTR=0
Il faut ensuite créer la variable idxLectOPC et autant de variables TOP_MAJOPC_Feuil que vous avez de PTRs sur votre site, en commençant par le chiffre 2.
Pensez bien à mettre autant de lignes dans le CASE que vous avez de PTRs également.
Finalement, aller dans l'onglet avancé de la communication avec chaque PTRs et rentrer le tag TOP_MAJOPC_Feuil correspondant au numéro du PTR :
=== Pour cela, vous pouvez suivre la procédure du wiki memory_log_pdl_engie @tma:pv