| Volume pwrb | |
| Attributes: Runtime | Development | System | Template | Detail C Binding: Struct | Class | Code  ClassTree | INDEX NO INDEX |
Class Adelay
|
||
|---|---|---|
| Version | 1.0 | |
| Modified | 15-JAN-2025 13:23:36.00 | |
| Kod | rt_plc_arithm.c | |
Tidsfördröjning av analog signal (Analog delay).

Tidsfördröjningen Tim kan vara variabel inom intervallet:
{ 0 - 100 MaxCount ScanTime }
Fördröjningen realiseras i ett skiftregister med 100 steg. Tidsupplösningen per
steg är MaxCount ScanTime . Maximala tidsfördröjning blir 100 MaxCount
ScanTime sekunder.
Krävs större upplösning kan flera Adelay -instanser seriekopplas.
Om tidsupplösningen per steg blir sämre än PLC programmets cykeltid ( dvs.
MaxCount >1) sker medelvärdesbildning vid lagring i skiftregister 1.
Vid allra 1:a samplet lagras insignalvärdet i samtliga skiftregister. Vid 2:a
samplet medelvärdesbildas värdet i skiftregister ? och insignalen varefter
resultatet återlagras i skiftregister 1. Detta upprepas t.o.m sampel nr. MaxCount
- 1. Vid sampel nr. MaxCount sker skiftning av registerinnehåll och insignalen
lagras direkt i skiftregister 1. Första registerpositionen lagrar därefter
insignalens medelvärde fram till nästa skifttillfälle.
Utsignalen hämtas från det register som representerar den aktuella
fördröjningen.
Example1. Med MaxCount = 1 och ScanTime = 20 ms är den maximala fördröjningen 100 * 1 * 1 / 50 secunder. om fördröjningstiden Tim = 1, är ActVal(t) = In(t-50), dvs insignalen är fördröjd 50 exekverings cykler. 2. Om MaxCount = 1 och ScanTime = 1 sekund representerar varje register en fördröjning på en sekund. Tim anger från vilket register ActVal hämtas.

| RtBody attributes pwr_sClass_adelay | |||
|---|---|---|---|
| Float32 | In | IN | Värde på insignalen. |
| Float32 | Tim | TIM | Aktuell tidsfördröjning ( i sekunder ) i intervallet { 0, 100 MaxCount * ScanTime }. |
| Float32 | ActVal | VAL | Fördröjd signal enligt Tim . |
| Pointer to Float32 | ScanTime | ScanTime | Programcykeltid i sekunder, lagras automatiskt vid kompilering. |
| Array of Float32 | TimVect | TimVect | Cykliskt register. |
| Int32 | StoInd | StoInd | Index som anger nästa position för lagring. |
| Int32 | MaxCount | MaxCount | Antal cykler per registersteg ; dvs registerskiftning sker vid vart MaxCount :e programcykel. Är MaxCount t.ex. 1.6 sker avkortning till 1. |
| Int32 | StoredNumbers | StoredNumbers | Räknare under initieringsfas. |
| Int32 | Count | Count | Varvräknare för skift. |
| Int32 | AccTim | AccTim | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Tim . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
| Float32 | MinTim | MinTim | Minsta tillåtna värde vid operatörsändring av Tim. |
| Float32 | MaxTim | MaxTim | Största tillåtna värde vid operatörsändring av Tim. |
| DevBody attributes | |||
|---|---|---|---|
| PlcNode | PlcNode | ||
| GraphPlcNode | |
|---|---|
| object_type | 131 |
| parameters[0] | 2 |
| parameters[1] | 0 |
| parameters[2] | 1 |
| parameters[3] | 0 |
| subwindows | 0 |
| graphmethod | 0 (standard, individual attributes) |
| graphindex | 0 |
| default_mask[0] | 1 |
| default_mask[1] | 1 |
| segname_annotation | 1 |
| compmethod | 4 |
| compindex | 0 |
| tracemethod | 0 |
| traceindex | 0 |
| executeordermethod | 2 |
| objname | Adelay |
| graphname | Adelay |
| debugpar | |
| Template Object | |
|---|---|
| MaxCount | 1 |
| In Input | ||
|---|---|---|
| Klass | Input | |
| Typ | Float32 | |
| Flags | STATE | NOEDIT | REDUTRANSFER | |
| GraphName | IN | |
| Kropp | RtBody | |
Värde på insignalen.
| Tim Input | ||
|---|---|---|
| Klass | Input | |
| Typ | Float32 | |
| Flags | REDUTRANSFER | |
| GraphName | TIM | |
| Kropp | RtBody | |
Aktuell tidsfördröjning ( i sekunder ) i intervallet
{ 0, 100 MaxCount * ScanTime }.
| ActVal Output | ||
|---|---|---|
| Klass | Output | |
| Typ | Float32 | |
| Flags | STATE | NOEDIT | REDUTRANSFER | |
| GraphName | VAL | |
| Kropp | RtBody | |
Fördröjd signal enligt Tim .
| ScanTime Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Pointer to Float32 | |
| Flags | INVISIBLE | POINTER | PRIVATE | |
| GraphName | ScanTime | |
| Kropp | RtBody | |
Programcykeltid i sekunder, lagras automatiskt vid kompilering.
| TimVect Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Array of Float32 | |
| Flags | ARRAY | STATE | INVISIBLE | REDUTRANSFER | |
| Elements | 100 | |
| GraphName | TimVect | |
| Kropp | RtBody | |
Cykliskt register.
| StoInd Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Int32 | |
| Flags | STATE | NOEDIT | INVISIBLE | REDUTRANSFER | |
| GraphName | StoInd | |
| Kropp | RtBody | |
Index som anger nästa position för lagring.
| MaxCount Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Int32 | |
| Flags | REDUTRANSFER | |
| GraphName | MaxCount | |
| Kropp | RtBody | |
Antal cykler per registersteg ; dvs registerskiftning sker vid vart MaxCount :e programcykel. Är MaxCount t.ex. 1.6 sker avkortning till 1.
| StoredNumbers Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Int32 | |
| Flags | STATE | NOEDIT | INVISIBLE | |
| GraphName | StoredNumbers | |
| Kropp | RtBody | |
Räknare under initieringsfas.
| Count Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Int32 | |
| Flags | STATE | NOEDIT | INVISIBLE | REDUTRANSFER | |
| GraphName | Count | |
| Kropp | RtBody | |
Varvräknare för skift.
| AccTim Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Int32 | |
| Flags | REDUTRANSFER | |
| GraphName | AccTim | |
| Kropp | RtBody | |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Tim . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
| MinTim Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Float32 | |
| Flags | REDUTRANSFER | |
| GraphName | MinTim | |
| Kropp | RtBody | |
Minsta tillåtna värde vid operatörsändring av Tim.
| MaxTim Intern | ||
|---|---|---|
| Klass | Intern | |
| Typ | Float32 | |
| Flags | REDUTRANSFER | |
| GraphName | MaxTim | |
| Kropp | RtBody | |
Största tillåtna värde vid operatörsändring av Tim.
| PlcNode Buffer | ||
|---|---|---|
| Klass | Buffer | |
| Typ | PlcNode | |
| Flags | INVISIBLE | |
| Kropp | DevBody | |