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
SRTP_FB_avail_v3
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.
Split Range Time Proportional (SRTP) (15)
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.
L5K_SRTP_equation 2
CoolTime correspond à la durée au sein de CycleTime pendant laquelle la sortie de refroidissement doit être activée.
L5K_SRTP_equaton 3
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.
SRTP_equation 4
L'instruction contrôle les sorties de chauffage et de refroidissement à l'aide des règles suivantes :
  • Définir HeatOut sur vrai si HeatTime Greater than or equal to 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 Greater than or equal to 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
SRTP_FB_ex1_v31
Placez l'instruction SRTP dans une tâche plus rapide de priorité supérieure.
SRTP_FB_ex2_v31
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
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal