Temps proportionnel de Split Range (SRTP)
Ces informations s’appliquent aux automates
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 et ControlLogix 5590.L'instruction SRTP prend la sortie entre 0 et 100 % d'une boucle PID et pilote les contacts de sortie numérique de chauffage et de refroidissement avec une impulsion périodique. Cette instruction contrôle des applications telles que le contrôle de la température du corps de chauffe sur les extrudeuses.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel

Texte structuré
SRTP(SRTP_tag)
Opérandes
Bloc fonctionnel
Opérande | Type | Format | Description |
SRTP tag | SPLIT_RANGE | Structure | Structure SRTP |
Texte structuré
Opérande | Type | Format | Description |
SRTP tag | SPLIT_RANGE | Structure | Structure SRTP |
Reportez-vous à
Syntaxe du texte structuré
pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.Structure SPLIT_RANGE
Paramètre d’entrée | Type de données | Description |
|---|---|---|
EnableIn | BOOL | Activez l'entrée. Si défini sur faux, l’instruction n’est pas exécutée et les sorties ne sont pas mises à jour. La valeur par défaut est définie sur vrai. |
In | REAL | Entrée du signal analogique demandant le chauffage ou le refroidissement. Cette entrée provient généralement du CVEU d'une boucle PID. Valide = tout flottant |
CycleTime | REAL | Période des impulsions de sortie en secondes. La valeur zéro désactive les sorties de chauffage et de refroidissement. Si cette valeur n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status. Valide = toute valeur flottante positive Par défaut = 0,0 |
MaxHeatIn | REAL | Entrée de chauffage maximal. Cette valeur spécifie le pourcentage d'In qui provoquera un chauffage maximal. Il est généralement de 100 % pour une boucle de chauffage/refroidissement. Valide = tout flottant Par défaut = 100,0 |
MinHeatIn | REAL | Entrée de chauffage minimal. Spécifiez le pourcentage d'In qui représente le début de la plage de chauffage et provoque un chauffage minimal. Il est généralement de 50 % pour une boucle de chauffage/refroidissement. Valide = tout flottant Par défaut = 50,0 |
MaxCoolIn | REAL | Entrée de refroidissement maximal. Spécifiez le pourcentage d'In qui provoque le refroidissement maximal. Il est généralement de 0 % pour une boucle de chauffage/refroidissement. Valide = tout flottant Par défaut = 0,0 |
MinCoolIn | REAL | Entrée de refroidissement minimal. Spécifiez le pourcentage d'In qui provoque le refroidissement minimal. Il est généralement de 50 % pour une boucle de chauffage/refroidissement. Valide = tout flottant Par défaut = 50,0 |
MaxHeatTime | REAL | Temps de chauffage maximal en secondes. Spécifiez le temps maximal en secondes pendant lequel une impulsion de chauffage peut être activée. Si l'instruction calcule le paramètre HeatTime pour qu'il soit supérieur à cette valeur, HeatTime est limité à MaxHeatTime. Si MaxHeatTime n'est pas valide, l'instruction présume une valeur de CycleTime et définit le bit approprié dans Status. Valide = 0,0 à CycleTime Par défaut = CycleTime |
MinHeatTime | REAL | Temps de chauffage minimal en secondes. Spécifiez le temps minimal en secondes pendant lequel une impulsion de chauffage peut être activée. Si l'instruction calcule le paramètre HeatTime pour qu'il soit inférieur à cette valeur, HeatTime est défini sur zéro. Si MinHeatTime n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status. Valide = 0,0 à MaxHeatTime Par défaut = 0,0 |
MaxCoolTime | REAL | Temps de refroidissement maximal en secondes. Spécifiez le temps maximal en secondes pendant lequel une impulsion de refroidissement peut être activée. Si l'instruction calcule le paramètre CoolTime pour qu'il soit supérieur à cette valeur, CoolTime est limité à MaxCoolTime. Si MaxCoolTime n'est pas valide, l'instruction présume une valeur de CycleTime et définit le bit approprié dans Status. Valide = 0,0 à CycleTime Par défaut = CycleTime |
MinCoolTime | REAL | Temps de refroidissement minimal en secondes. Spécifiez le temps minimal en secondes pendant lequel une impulsion de refroidissement peut être activée. Si l'instruction calcule le paramètre CoolTime pour qu'il soit inférieur à cette valeur, CoolTime est défini sur zéro. Si MinCoolTime n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status. Valide = 0,0 à MaxCoolTime Par défaut = 0,0 |
Paramètre de sortie | Type de données | Description |
|---|---|---|
EnableOut | BOOL | Indique si l'instruction est activée. Mis à zéro (faux) en cas de débordement de HeatTimePercent ou CoolTimePercent. |
HeatOut | BOOL | Impulsion de sortie de chauffage. L'instruction génère une impulsion sur cette sortie pour le contact de chauffage. |
CoolOut | BOOL | Impulsion de sortie de refroidissement. L'instruction génère une impulsion sur cette sortie pour le contact de refroidissement. |
HeatTimePercent | REAL | Temps d'impulsion de sortie de chauffage en pourcentage. Cette valeur correspond au pourcentage calculé du cycle actuel pendant lequel HeatingOutput sera activé. Cela permet d'utiliser l'instruction avec une sortie analogique pour le chauffage si nécessaire. |
CoolTimePercent | REAL | Temps d'impulsion de sortie de refroidissement en pourcentage. Cette valeur correspond au pourcentage calculé du cycle actuel pendant lequel CoolingOutput sera activé. Cela permet d'utiliser l'instruction avec une sortie analogique pour le refroidissement si nécessaire. |
Status | DINT | État du bloc fonctionnel. |
InstructFault (Status.0) | BOOL | L'instruction a détecté l'une des erreurs d'exécution suivantes. Il ne s'agit pas d'une erreur d'automate mineure ou majeure. Contrôlez les bits d'état restants pour déterminer la cause du problème. |
CycleTimeInv (Status.1) | BOOL | Valeur CycleTime non valide. L'instruction utilise la valeur zéro. |
MaxHeatTimeInv (Status.2) | BOOL | Valeur MaxHeatTime non valide. L'instruction utilise la valeur CycleTime. |
MinHeatTimeInv (Status.3) | BOOL | Valeur MinHeatTime non valide. L'instruction utilise la valeur zéro. |
MaxCoolTimeInv (Status.4) | BOOL | Valeur MaxCoolTime valide. L'instruction utilise la valeur CycleTime. |
MinCoolTimeInv (Status.5) | BOOL | Valeur MinCoolTime non valide. L'instruction utilise la valeur zéro. |
HeatSpanInv (Status.6) | BOOL | MaxHeatIn = MinHeatIn. |
CoolSpanInv (Status.7) | BOOL | MaxCoolIn = MinCoolIn. |
Description
La longueur de l'impulsion SRTP est proportionnelle à la sortie PID. Les paramètres de l'instruction s'adaptent aux applications de chauffage et de refroidissement.
Utilisation du temporisateur de cycle interne
L'instruction maintient un temporisateur de cycle s'exécutant librement qui passe de zéro à la valeur CycleTime définie. Le temporisateur est mis à jour par DeltaT. DeltaT correspond au temps écoulé depuis la dernière exécution de l'instruction. Ce temporisateur détermine si les sorties doivent être désactivées.
Vous pouvez modifier la valeur de CycleTime à tout moment. Si CycleTime = 0, le temporisateur interne est effacé et HeatOut et CoolOut sont mis à zéro (faux).
Calcul des temps de chauffage et de refroidissement
Les temps de chauffage et de refroidissement sont calculés à chaque exécution de l'instruction.
HeatTime correspond à la durée au sein de CycleTime pendant laquelle la sortie de chauffage doit être activée.

Si HeatTime < MinHeatTime, définissez HeatTime = 0.
Si HeatTime> MaxHeatTime, limitez HeatTime = MaxHeatTime.
HeatTimePercent correspond au pourcentage de CycleTime pendant lequel l'impulsion HeatOut est vraie.

CoolTime correspond à la durée au sein de CycleTime pendant laquelle la sortie de refroidissement doit être activée.

Si CoolTime < MinCoolTime, définissez CoolTime = 0.
Si CoolTime > MaxCoolTime, limitez CoolTime = MaxCoolTime.
CoolTimePercent correspond au pourcentage de CycleTime pendant lequel l'impulsion CoolOut est vraie.

L'instruction contrôle les sorties de chauffage et de refroidissement à l'aide des règles suivantes :
- Définir HeatOut sur vrai si HeatTime
l’accumulateur de temps de cycle interne. Mettre HeatOut à zéro (faux) lorsque Temporisateur de cycle interne > HeatTime. - Définir CoolOut sur vrai si CoolTime
l’accumulateur de temps de cycle interne. Mettre CoolOut à zéro (faux) si le temporisateur de cycle interne > CoolTime. - Mettre HeatOut et CoolOut à zéro (faux) si CycleTime = 0.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Bloc fonctionnel
Condition/état | Action entreprise |
|---|---|
Préscrutation | Les bits EnableIn et EnableOut sont définis sur faux. |
Tag.EnableIn est faux | Les bits EnableIn et EnableOut sont définis sur faux. |
Tag.EnableIn est vrai | Les bits EnableIn et EnableOut sont définis sur vrai. L'instruction s'exécute. |
Première exécution de l'instruction | N/A |
Première scrutation de l'instruction | HeatOut et CoolOut sont mis à zéro (faux). HeatTimePercent et CoolTimePercent sont réinitialisés à 0,0. |
Post-scrutation | Les bits EnableIn et EnableOut sont définis sur faux. |
Texte structuré
Condition/état | Action entreprise |
|---|---|
Préscrutation | Reportez-vous à Pré-scrutation dans le tableau Bloc fonctionnel. |
Exécution normale | Reportez-vous à Tag.EnableIn est vrai dans le tableau Bloc fonctionnel. |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Bloc fonctionnel. |
Exemple
Dans cet exemple, une instruction PIDE s'exécute selon une tâche lente de priorité inférieure, car il s'agit d'une boucle de température lente. La sortie de l'instruction PIDE est une étiquette accessible par l'automate, car elle devient l'entrée d'une instruction SRTP. L'instruction SRTP s'exécute selon une tâche plus rapide de priorité supérieure afin que les sorties des impulsions soient plus précises.
Bloc fonctionnel
Placez l'instruction PIDE dans une tâche lente de priorité inférieure

Placez l'instruction SRTP dans une tâche plus rapide de priorité supérieure.

Texte structuré
Placez l'instruction PIDE dans une tâche lente de priorité inférieure.
BarrelTempLoop.PV := BarrelTemp;
PIDE(BarrelTempLoop);
LoopOutput := BarrelTempLoop.CVEU;
Placez l'instruction SRTP dans une tâche plus rapide de priorité supérieure.
SRTP_02.In := LoopOutput;
SRTP(SRTP_02);
ResistiveHeater := SRTP_02.HeatOut;
CoolingSolenoid := SRTP_02.CoolOut;
Fournir une réponse