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

Diagramme de bloc fonctionnel

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

Diagramme de bloc fonctionnel

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