Class PlcPgm
Version 1.0
Modified 15-JAN-2025 13:23:37.00
Representerar ett PLC program. 


PlcPgm-objekt konfigureras under $ PlantHier-objekt med hjälp av 
Configuration Editor och dess innehåll, själva PLC programmen, med PLC 
Editorn.
Under PlcPgm-objektet skapas ett WindowPlc objekt, som blir förälderobjekt 
till objekten i PLC programmet. 

PlcPgm-objekten namn fungerar som etiketter på olika PLC program.
PlcPgm-objekt representera både kod och data. 

Olika PlcPgm-objekt med samma värde på ScanTime kommer att exekvera i 
en och samma PLC- subprocess.

NB! PLC-subprocessen med kortaste cykeltiden, dvs. med högsta frekvensen, 
kallas basefrekvenssubprocessen. Den hanterar också inläsning/utställning av 
Di-, Do-, Dv- och Co-signaler anslutna till nodens lokala I/O-system. De 
övriga subprocesserna benämns gemensamt som delfrekvenssubprocesserna.


RtBody attributes pwr_sClass_plc
String80 Description   Optional the text to describe the program.
Objid ThreadObject  
AttrRef HostObject   Used by the code generator.
ConfigStatusEnum ConfigurationStatus   Configuration status.
SafetyLevelEnum SafetyLevel   Safety level.

DevBody attributes 
Float32 ScanTime ScanTim Anger, i sekunder, den nominella tiden mellan två successiva exekveringar av
PLC programmet. Minsta tillåtna värde på ScanTime är 0.02 sekunder. Vid
'Create Plc Files ...' erhålls meddelande om ScanTime ? heltalsmultipel av 20
millisekunder. Lämnas ScanTime blankt kommer det att få värdet 0.02.

En ändring av ScanTime med hjälp av Configuration Editor eller Utilities
Window kommer att beaktas utan att PLC programmet omkompileras förutsatt
att nya 'load files' och ny 'boot file' skapas.

Eftersom systemklockans upplösning är 10 ms är det lämpligt att ange
ScanTime med högst 2 decimaler.

ScanTime and Slip

frekvenssubprocessen och därmed I/O-hanteringen. Praktiska överväganden får
avgöra detta val; vad klarar I/O:et, vad får det kosta i CPU-last ,
storleksordningen av processens dödtider etc. Vanliga val är 0.02 (=50 Hz) och
1 (= 1 Hz).

Basfrekvenssubprocessen arbetar i två steg enligt följande:

Inläsning och utställning av digitala signaler. Inläsning av Co-signaler.
Exekverar PlcPgm-kod.
Dvs under denna cykel beräknade utsignaler ställs ut först vid nästa
basfrekvenscykel.

Sätts delfrekvenssubprocessernas ScanTime = 'heltalsmultipel av basperioden'
kommer delfrekvenssubprocesserna att få 'färska' insignalvärden. Om inte, säg
t.ex. att basperioden är 60 sek och en delfrekvenssubprocess har ScanTime =
100 sek, då är de till delfrekvenssubprocessen inlästa signalvärdena drygt 40
sek gamla när de tidigast börjar användas och signalerna från
delfrekvenssubprocessen kommer att ställs ut drygt 20 sek efter det att de
beräknats!

En ytterligare aspekt till valet av ScanTime är hanteringen av övriga signaler
mellan hårdvara och I/O-kopierad area. Analoga signaler hanteras med
frekvensen 5 Hz, räknares ActualValue uppdateras med 1 Hz (av separat
IO_COMM-jobb). är det fråga om distribuerat I/O av typen RTP spelar också
konfigureringen av DIOC ( 'Distributed IO Controller') in. (PLC-jobbet är inte
synkroniserat med IO_COMM-jobbet.)
AttrRef ResetObject ResObj Anger komplett namn på det Di -, Dv - eller Do-objekt som används som
resetsignal i PLC programmets Grafcet-kedja/or. Vad gäller resetsignalens
användning.

Saknas behov av att kunna göra reset på Grafcet-kedja lämnas attributet blankt.

Naturligtvis kan Objekts Editorn alltid användas för att ange namn på
ResetObject . Men i PLC Editorn kan följande metod vara ett alternativ:

Öppna Edit-menyn under ikonpaletten och välj ShowPlcAttr . Skapa på vanligt
sätt ett ShowPlcAttr-objekt i PLC programmet.

Välj nu namnet på önskat ResetObject i Navigator genom att med MB1 klicka
på det och därefter dubbel-klicka med CTRL/MB1 i Reset-fältet.
Int32 ExecuteOrder ExecOrd Kontrollerar exekveringsordning av olika PlcPgm på samma tråd.
Lägre värden av ExecuteOrder exekverar före högre.
PlcProgram PlcProgram  


Attributes detail


Description Intern
Klass Intern
Typ String80
Flags
Kropp RtBody
 Optional the text to describe the program.

ThreadObject Intern
Klass Intern
Typ Objid
Flags
Kropp RtBody

HostObject Intern
Klass Intern
Typ AttrRef
Flags INVISIBLE
Kropp RtBody
 Used by the code generator.

ConfigurationStatus Intern
Klass Intern
Typ ConfigStatusEnum
Flags
Kropp RtBody
 Configuration status.
 Status in the development environment for an hierarchy,
 plcprogram or process graph, set by the designer to indicate
 the current state. If a status is set for an object, it is
 marked red, yellow or green in the configurator. Also the
 status text if viewed surrounded by angel brackets.

SafetyLevel Intern
Klass Intern
Typ SafetyLevelEnum
Flags
Kropp RtBody
 Safety level.
 Safety level in the development environment for an hierarchy,
 plcprogram or process graph, set by the designer to indicate
 the level. If a level is set for an object, it is marked with
 a warning trangle.

ScanTime Intern
Klass Intern
Typ Float32
Flags INVISIBLE
GraphName ScanTim
Kropp DevBody
Anger, i sekunder, den nominella tiden mellan två successiva exekveringar av 
PLC programmet. Minsta tillåtna värde på ScanTime är 0.02 sekunder. Vid 
'Create Plc Files ...' erhålls meddelande om ScanTime ? heltalsmultipel av 20 
millisekunder. Lämnas ScanTime blankt kommer det att få värdet 0.02. 

En ändring av ScanTime med hjälp av Configuration Editor eller Utilities 
Window kommer att beaktas utan att PLC programmet omkompileras förutsatt 
att nya 'load files' och ny 'boot file' skapas. 

Eftersom systemklockans upplösning är 10 ms är det lämpligt att ange 
ScanTime med högst 2 decimaler.

ScanTime and Slip 

frekvenssubprocessen och därmed I/O-hanteringen. Praktiska överväganden får 
avgöra detta val; vad klarar I/O:et, vad får det kosta i CPU-last , 
storleksordningen av processens dödtider etc. Vanliga val är 0.02 (=50 Hz) och 
1 (= 1 Hz). 

Basfrekvenssubprocessen arbetar i två steg enligt följande: 

Inläsning och utställning av digitala signaler. Inläsning av Co-signaler. 
Exekverar PlcPgm-kod. 
Dvs under denna cykel beräknade utsignaler ställs ut först vid nästa 
basfrekvenscykel. 

Sätts delfrekvenssubprocessernas ScanTime = 'heltalsmultipel av basperioden' 
kommer delfrekvenssubprocesserna att få 'färska' insignalvärden. Om inte, säg 
t.ex. att basperioden är 60 sek och en delfrekvenssubprocess har ScanTime = 
100 sek, då är de till delfrekvenssubprocessen inlästa signalvärdena drygt 40 
sek gamla när de tidigast börjar användas och signalerna från 
delfrekvenssubprocessen kommer att ställs ut drygt 20 sek efter det att de 
beräknats! 

En ytterligare aspekt till valet av ScanTime är hanteringen av övriga signaler 
mellan hårdvara och I/O-kopierad area. Analoga signaler hanteras med 
frekvensen 5 Hz, räknares ActualValue uppdateras med 1 Hz (av separat 
IO_COMM-jobb). är det fråga om distribuerat I/O av typen RTP spelar också 
konfigureringen av DIOC ( 'Distributed IO Controller') in. (PLC-jobbet är inte 
synkroniserat med IO_COMM-jobbet.) 

ResetObject Intern
Klass Intern
Typ AttrRef
Flags
GraphName ResObj
Kropp DevBody
Anger komplett namn på det Di -, Dv - eller Do-objekt som används som 
resetsignal i PLC programmets Grafcet-kedja/or. Vad gäller resetsignalens 
användning.

Saknas behov av att kunna göra reset på Grafcet-kedja lämnas attributet blankt. 

Naturligtvis kan Objekts Editorn alltid användas för att ange namn på 
ResetObject . Men i PLC Editorn kan följande metod vara ett alternativ: 

Öppna Edit-menyn under ikonpaletten och välj ShowPlcAttr . Skapa på vanligt 
sätt ett ShowPlcAttr-objekt i PLC programmet. 

Välj nu namnet på önskat ResetObject i Navigator genom att med MB1 klicka 
på det och därefter dubbel-klicka med CTRL/MB1 i Reset-fältet.

ExecuteOrder Intern
Klass Intern
Typ Int32
Flags
GraphName ExecOrd
Kropp DevBody
Kontrollerar exekveringsordning av olika PlcPgm på samma tråd.
Lägre värden av ExecuteOrder exekverar före högre.

PlcProgram Buffer
Klass Buffer
Typ PlcProgram
Flags INVISIBLE
Kropp DevBody