Table de mesurage de réservoir (Process Tank Strapping Table, PTST)

Ces informations s’appliquent aux automates CompactLogix 5380P, ControlLogix 5580P et ControlLogix 5590P.
L'instruction Table de mesurage du réservoir (Process Tank Strapping Table, PTST) calcule le volume du produit dans un réservoir cylindrique vertical, en fonction du niveau du produit et de la table d'étalonnage du réservoir. L'instruction peut compenser :
  • L'eau libre au bas du réservoir, compte tenu du niveau d'interface du produit / de l'eau.
  • L'extension thermique de l'enveloppe du réservoir, compte tenu du coefficient d'extension linéaire du matériau de l'enveloppe et du produit, ainsi que des températures ambiantes.
  • Un réservoir à toit flottant, compte tenu de la densité du produit fournie.
L'instruction Table de mesurage du réservoir (Process Tank Strapping Table, PTST) est une fonction de calcul, entre des blocs.
Langues disponibles
Diagramme à relais
PTST_avail_LD
Diagramme de bloc fonctionnel
PTST_avail_FBD
Texte structuré
PTST(PTST_tag, Cfg_CalTbl);
Opérandes
IMPORTANT: Une opération inattendue peut se produire dans les cas suivants :
  • Les opérandes de balise de sortie sont remplacés.
  • Les membres d'un opérande de structure sont remplacés.
  • Sauf lorsque cela est spécifié, les opérandes de structure sont partagés par plusieurs instructions.
Il existe des règles de conversion de données pour combiner des types de données numériques dans une instruction. Reportez-vous à la section Conversions de données.
Opérandes de configuration
Opérande
Type
Format
Description
PlantPAx Control
P_TANK_STRAPPING_TABLE
balise
Structure des données requise pour obtenir une bonne exécution de l'instruction.
Cfg_CalTbl
P_STRAPPING_TABLE_ROW
balise
Table d'étalonnage du réservoir, niveau à volume.
Structure P_TANK_STRAPPING_TABLE
Les membres publics sont des membres standard, de balises visibles accessibles par programmation. Les membres privés et masqués sont utilisés dans les façades HMI et ne sont pas accessibles par programmation. Les membres privés sont répertoriés dans des tableaux distincts après les membres publics.
Membres d'entrée publique
Type de données
Description
EnableIn
BOOL
Activez l'entrée. Diagramme à relais : Correspond à rung-condition-in.
La valeur par défaut est définie sur vrai.
Inp_InitializeReq
BOOL
1 = Demande d'initialisation de l'instruction. L'instruction est généralement initialisée lors de sa première exécution. Utilisez cette demande lorsqu'une réinitialisation est requise. L'instruction efface automatiquement cet opérande.
La valeur par défaut est définie sur vrai.
Inp_Level
REAL
Niveau de jaugeage par le plein du réservoir, en pieds ou en mètres. Valide = toute valeur flottante.
La valeur par défaut est 0,0.
Inp_FreeWaterLevel
REAL
Niveau d'interface d'eau libre du jaugeage par le plein du réservoir, en unités de niveau majeures (pieds ou mètres). Valide = toute valeur flottante.
La valeur par défaut est 0,0.
Inp_ObsAPI
REAL
Densité observée, ou API en degrés, à la température du produit. Cette option est utilisée pour la compensation de toit flottant afin de calculer le déplacement en fonction du poids du toit. Valide = toute valeur flottante.
La valeur par défaut est 30,5.
Inp_AvgProdTemp
REAL
Entrée moyenne de la température du produit en degrés Fahrenheit ou Celsius. Valide = toute valeur flottante.
La valeur par défaut est 60,0.
Inp_AmbTemp
REAL
Entrée de température ambiante en degrés Fahrenheit ou Celsius. Valide = toute valeur flottante.
La valeur par défaut est 60,0.
Cfg_MinorPerMajor
REAL
Table des unités secondaires, en pouces, en centimètres, en millimètres, par unité principale, en pieds ou en mètres. Saisissez 0,0 si les unités secondaires ne sont pas utilisées. Valide = toute valeur flottante.
La valeur par défaut est 12,0.
Cfg_HasCorrTempShell
BOOL
0 = Aucune correction de température de l'enveloppe du réservoir. 1= Inclure la correction de la température de l'enveloppe du réservoir.
La valeur par défaut est fausse.
Cfg_HasFloatRoofAdj
BOOL
0 = Ne pas utiliser l'ajustement de toit flottant. 1= Inclure l'ajustement de toit flottant afin de tenir compte du déplacement du niveau de liquide.
La valeur par défaut est fausse.
Cfg_HasMoreObj
BOOL
1 = indique à HMI qu’un objet contenant plus d’informations est disponible.
La valeur par défaut est fausse.
Cfg_CalTemp
REAL
Température d'étalonnage du réservoir (généralement 15 °C). Valide = toute valeur flottante.
La valeur par défaut est 60,0.
Cfg_ShellCoefOfExp
REAL
Coefficient linéaire de dilatation thermique de l'enveloppe du réservoir (1 par degré Celsius). Valide = toute valeur flottante.
La valeur par défaut est 0,0000062.
Cfg_K
REAL
Pondération de la température (type 0,0 pour le réservoir isolé). Reportez-vous à l'API MPMS 2.2A Annexe D. Valide = toute valeur flottante.
La valeur par défaut est 7,0.
Cfg_FloatRoofLevel
REAL
Niveau le plus bas auquel ajouter ou soustraire une compensation de toit flottant (en pieds). Valide = toute valeur flottante.
La valeur par défaut est 0,0.
Cfg_FloatRoofCalAPI
REAL
API en degrés pour laquelle la table comprend des données de toit flottant. Valide = toute valeur flottante.
La valeur par défaut est 30,5.
Cfg_FloatRoofVolPerAPI
REAL
Réglage des valeurs de la table pour une densité de produit différente de la densité de calibrage (en unités de volume par API de degré, généralement un nombre négatif). Valide = toute valeur flottante.
La valeur par défaut est -2,5.
Membres de sortie publique
Type de données
Description
EnableOut
BOOL
Activer la sortie. Cet état de sortie reflète toujours l'état de l'entrée EnableIn.
Val_TotObsVol
REAL
Volume total brut observé à partir de la table d'étalonnage (barils, gallons, litres).
Val_FreeWater
REAL
Volume d'eau libre (barils, gallons, litres).
Val_TempShell
REAL
Température calculée de l'enveloppe du réservoir en degrés Fahrenheit ou Celsius.
Val_CorrTempShell
REAL
Correction de la température de l'enveloppe du réservoir (multiplicateur).
Val_FloatRoofAdj
REAL
Volume d'ajustement de toit flottant (barils, gallons, litres).
Val_GrossObsVol
REAL
Valeur principale : Volume brut observé (reportez-vous à l'API MPMS 12.1.1).
Sts_Initialized
BOOL
1 = L'instruction est initialisée. Utilisez Inp_InitializeReq pour réinitialiser.
Sts_UnderMin
BOOL
Inp_Level est inférieur au niveau le plus bas dans la table de mesurage.
Sts_OverMax
BOOL
Inp_Level est supérieur au niveau le plus haut dans la table de mesurage.
Membres InOut publics
Type de données
Description
Cfg_CalTbl
P_STRAPPING_TABLE_ROW[2]
Table d'étalonnage du réservoir (niveau à volume).
Structure P_STRAPPING_TABLE_ROW
Membres
Type de données
Description
Principal
REAL
Nombre d'unités principales (pieds, mètres). Valide = de 0,0 à la valeur flottante positive maximale.
Secondaire
REAL
Nombre d'unités secondaires (pouces, centimètres ou millimètres). Valide = de 0,0 à la valeur flottante positive maximale.
Volume
REAL
Volume du réservoir (barils, gallons, degrés) au niveau donné (pieds, pouces). Valide = de 0,0 à la valeur flottante positive maximale.
Fonctionnement
Configuration de chaînes pour HMI
Configurez les chaînes pour les façades HMI (FT View) et pour la boîte de dialogue de configuration Logix Designer. Les chaînes sont définies sur des propriétés étendues d'éléments de balise. Configurez les chaînes dans Logix Designer uniquement.
  • Description
  • Étiquette du symbole graphique
  • Bibliothèque d'affichage pour l'appel de façade HMI
  • Nom de l'instruction
  • Nom de zone
  • Lien URL
  • Plus d'informations
  • Unités de volume brut
  • Unités de volume d'eau libre
  • Unités de volume brut
  • Unités de température du réservoir calculées
  • Correction des unités de température du réservoir
  • Unités de volume des ajustements de toit flottant
  • Température des unités d'étalonnage du réservoir
  • Température des unités API
  • Unités de niveau
  • Unités de volume
  • Température des unités de coefficient linéaire de l'enveloppe du réservoir
Surveillance de l'instruction PTST
Surveillez depuis Logix Designer. L'instruction PTST n'a pas de façade d'opérateur associée.
Affecte les indicateurs d'état mathématique
Non.
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à Indexer via des tableaux pour consulter les défauts d'indexation par tableau.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
La condition de sortie d'échelon est définie sur faux.
Première exécution de l'instruction
Tous les états internes et tous les calculs sont réinitialisés.
L’instruction s’exécute normalement.
La condition d'entrée d'échelon est égale à faux
La condition de sortie d'échelon est définie sur faux.
Les valeurs de calcul ne sont pas mises à jour (la dernière valeur est maintenue).
La condition d'entrée d'échelon est égale à vrai
Définir la condition de sortie d'échelon sur la condition d'entrée d'échelon.
L'instruction s'exécute.
Post-scrutation
La condition de sortie d'échelon est définie sur faux.
Diagramme de bloc fonctionnel
Condition/état
Action entreprise
Préscrutation
EnableOut est défini sur faux.
Première exécution de l'instruction
Tous les états internes et tous les calculs sont réinitialisés.
L’instruction s’exécute normalement.
Première scrutation de l'instruction
Reportez-vous à la section Première exécution de l'instruction dans le tableau Diagramme de bloc fonctionnel.
EnableIn est faux
EnableOut est défini sur faux.
Les valeurs de calcul ne sont pas mises à jour (la dernière valeur est maintenue).
EnableIn est vrai
EnableOut est définie sur vrai.
L'instruction s'exécute.
Post-scrutation
Les bits EnableIn et EnableOut sont définis sur faux.
Texte structuré
Dans Texte Structuré, EnableIn est toujours vrai lors d'une scrutation normale. L'instruction s'exécute lorsqu'elle se trouve dans le chemin d'accès de commande activé par la logique.
Condition/état
Action entreprise
Préscrutation
Reportez-vous à la section Pré-scrutation dans le tableau Diagramme de bloc fonctionnel.
Première exécution de l'instruction
Reportez-vous à la section Première exécution de l'instruction dans le tableau Diagramme de bloc fonctionnel.
EnableIn est vrai
Reportez-vous à EnableIn est vrai dans le tableau Diagramme de bloc fonctionnel.
Post-scrutation
Reportez-vous à la section Post-scrutation dans le tableau Diagramme de bloc fonctionnel.
Exemple
Dans cet exemple, l'instruction PTST calcule le volume de produit dans un réservoir de stockage en fonction du niveau mesuré du réservoir de stockage et des informations relatives à la table de mesurage du réservoir de stockage. Il n'y a pas de toit flottant ni de compensation pour le déplacement. Il n'y a pas d'ajustement basé sur la température à prendre en compte pour l'extension thermique du réservoir.
Diagramme à relais
PTST_example_LD
Diagramme de bloc fonctionnel
PTST_example_FBD
Le niveau mesuré du réservoir de stockage se connecte à l'instruction PTST en faisant appel à l'entrée Inp_Level. Le niveau est exprimé en pieds. Le réservoir de stockage a une hauteur de quatre pieds. Dans cet exemple, les données sont exprimées par incréments de six pouces. La table de mesurage se compose de neuf lignes :
Niveau (pieds-pouces)
Volume (barils)
0-00
3,1
0-06
136,6
1-00
264,2
1-06
402,7
2-00
541,4
2-06
692,7
3-00
844,1
3-06
990,8
4-00
1137,5
Pour stocker les informations de la table de mesurage dans l'automate (Controller), le balise MyP_StrapTbl_CalTable est créé en tant que type P_STRAPPING_TABLE_ROW [9], un tableau à neuf éléments.
.Principal
.Secondaire
.Volume
MyP_StrapTbl_CalTable[0]
0
0
3,1
MyP_StrapTbl_CalTable[1]
0
6
136,6
MyP_StrapTbl_CalTable[2]
1
0
264,2
MyP_StrapTbl_CalTable[3]
1
6
402,7
MyP_StrapTbl_CalTable[4]
2
0
541,4
MyP_StrapTbl_CalTable[5]
2
6
692,7
MyP_StrapTbl_CalTable[6]
3
0
844,1
MyP_StrapTbl_CalTable[7]
3
6
990,8
MyP_StrapTbl_CalTable[8]
4
0
1137,5
Le balise InOut Cfg_CalTbl de l'instruction PTST est modifié pour pointer vers le nouveau tableau MyP_StrapTbl_CalTable et fournir à l'instruction les informations de la table de mesurage. La sortie de l'instruction PTST est ensuite connectée à une autre instruction PAI. La sortie est le volume calculé du réservoir de stockage.
Texte structuré
MyPTST.Inp_Level := MyLevel.Val;
MyVolume.Inp_PVUncertain := MyLevel.Sts_PVUncertain;
MyVolume.Inp_PVData := MyPTST.Val_TotObsVol;
PAI(MyLevel);
PTST(MyPTST,MyP_StrapTbl_CalTable);
PAI(MyVolume);
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal