Motoraggregat kontaktorstyrd
BaseMotorAggr objektet hanterar en motor som styrs av en kontaktor med många olika
kringkomponenter (12st olika konfigurationer) och körsätten Auto/Man/Lokal mod som
också har många olika inställningsalternativ.
Möjliga komponenter förutom motorn och kontaktorn:
- Effektbrytare (MCCB)
- Överströmsskydd (motorskydd)
- Säkerhetsbrytare
- Säkring
Kontaktorn kan konfigureras med två utgångar om pulsmanöver start/stopp önskas. Används
två utgångar bör man INTE styra start/stopp från funktionsobjektets ingångar ExtStart och
OpLocStart pga att egna "tydliga" ingångar för stopp saknas. Dvs detta styrsätt bör bara
användas när start och stoppknappen i objektsbilden används. Se klasshjälp om BaseContactor
där info om pulsstyrning tas upp utförligare och speciellt exempel 3 under rubrik "Exempel
styrsätt" som visar principen hur kontaktorn i detta aggregat fungerar vid pulsstyrning.
Knappar i objektsbilden kan göras osynliga genom att konfigurera attribut i inbyggda
CompModeD objektet, se CompModeD objektet för mer info. OBS! Att tillhörande objektsbilder
för aggregatet inte stödjer CompModeD olika texter på knappar start/stopp, dvs dessa
knappar kan endast visa texten start/stopp och ej Till/Från.
Motor i objektsbilden kan konfigureras med temperaturövervakning. Se BaseMotor objektet
för mer info. OBS! Att tillhörande objektsbilder för aggregatet inte stödjer visning av
BaseMotorns olika temperaturövervakningsalternativ, dvs tempsensor/switch syns inte i bild.
Om man vill styra en fläkt eller pump bör man välja BasePumpAggr eller BaseFanAggr
objekten istället som har anpassade objektsymboler för dessa drifter.
Objektsymbol
Grafiska symbolen för detta objekt är BaseComponent/MotorAggr.

Dynamik för symbolen:
- Grön när motorn är startad (originalfärgen går att ändra).
- Grå när motorn är redo men ej startad.
- Gul färg när det är varning (säkerhetsbrytare från eller aggregatet förreglad).
- Röd färg när det är fel (motorskydd utlöst mm).
Aktuell mod visas med bokstäver:
M Manuell mod
L Lokal mod
LM Lokal och Manuell mod
Ingen bokstavsindikering betyder att objektet är i automatik mod (externt styrd).
Objektets metoder (menyval) öppnas med höger musknapp.
Objektsbild

Indikatorer:
- Ready indikatorn är grön när motorn kan startas.
- Interlock indikatorn är röd när motorn är förreglad att starta, objektsymbol blir gul.
- Start indikatorn bredvid startknappen är grön när driften körs.
- Lokal mod indikatorn visar gult när lokal styrning pågår. Start, stopp knappar
dimmas. Styrning via Auto/man mod förreglas.
- Extern indikatorn som kan ses i denna bild (ej nu) visar "mod status" när auto/man mod
inte styrs/används i objektet. Inga auto/man knappar visas i bilden.
- Motorindikator och objektsymbol är grön när motor är startad.
- Contactor är grön när kontaktorn är dragen. dvs om driftsvar/feedback är konfigurerat
annars är det styrsignalen (Do) som styr färgen.
- Safety switch är grön när säkerhetsbrytaren är tillslagen och gul om frånslagen.
(rött hänglås visas när brytaren är frånslagen)
Övriga indikatorer är normalt gröna men vid fel blir de röda.
Visningsfält Starts visar antalet gånger som driften har startats och Run visar total tiden
driften har varit igång (dagar timmar:minuter:sekunder).
Knappar Auto/Man växlar mod i fjärrstyrning och Start/stoppknappar används för att
manuellt styra driften i fjärrstyrning (från bild, ej lokalt vid driften).
- Knappen Start har toggelfunktion, dvs man behöver ej trycka på stopp.
- Knappar Man/Auto väljer mod vid fjärrstyrning
- Dimmade Start och Stopp knappar betyder att auto mod gäller (Extern indikator grön).
- Syns inga knappar alls är ALLTID Extern indikator grön och auto/man bör visas på
annat sätt.
Exempel

Bilden visar när auto/man mod styrs av ingång ExtControl i funktionsobjektet. Auto mod
aktiveras genom att sätta ingång ExtControl till 1 (knappar start/stopp dimmas) och styr
sedan utgången/kontaktorn via ingång ExtStart.
Denna konfiguration utan auto/man knappar fås genom att konfigurera aggregatet CbCoSs och
i det inbyggda modobjektet CompModeD sätta OpExtAndIntMan till 1.
Konfigurering
BaseMotorAggr objektet hanterar 12 olika alternativ beroende på den elektriska utformningen:
- Circuitbreaker Effektbrytare (MCCB)
- Contactor Kontaktor
- OverloadRelay Överströmsskydd (motorskydd)
- Safetyswitch Säkerhetsbrytare
- Fuse Säkring
1 CbCoOrSs Circuitbreaker, contactor, oveloadrelay, safetyswitch.
2 CbCoSs Circuitbreaker, contactor, safetyswitch.
3 CbCoOr Circuitbreaker, contactor, oveloadrelay.
4 CbCo Circuitbreaker, contactor.
5 CoOrSs Contactor, overloadrelay, safetyswitch.
6 CoOr Contactor, oveloadrelay.
7 CoSs Contactor, safetyswitch.
8 Co Contactor.
9 FuCoOrSs Fuse, contactor, oveloadrelay, safetyswitch.
10 FuCoOr Fuse, contactor, oveloadrelay.
11 FuCoSs Fuse, contactor, safetyswitch.
12 FuCo Fuse, contactor.
OBS! Motorn kan konfigureras med temperaturövervakning (tempswitch, Tempsensor)via
"ConfigureComponent" metoden via inbyggda motorobjektet BaseMotor.
OBS! Använder man temperaturövervakning i motorobjektet ska man vara medveten att denna
förregling kopplas bort om funktionsobjektets ingången DisableSup [dis] är 1, dvs motorn
kan starta även vid hög temp!
Signaler
Objektet innehåller signaler som ska kopplas till I/O kanaler.
- CircuitBreaker.NotTripped Di (valbart)
- OverloadRelay.Overload Di (valbart)
- SafetySwitch.On Di (valbart)
- Contactor.Order Do (valbart via "ConfigureComponent" metoden)
- Contactor.OrderOff Do (valbart via "ConfigureComponent" metoden val TwoOrderFeedback)
- Contactor.Feedback Di (valbart via "ConfigureComponent" metoden)
- Motor.TempSwich.Switch Di (valbart via "ConfigureComponent" metoden)
- Motor.TempSensor.Value Ai (valbart via "ConfigureComponent" metoden)
Ska en ingång inverteras för rätt funktion får man ändra attributet "InvMask" på
kanal/kortobjektet för Di signalen.
OBS! Att göra Disable på en IO signal/komponent innebär att man kan få en felaktig
objektsbild och därför ska man bara konfigurera/Disable komponenter via
"ConfigureComponent" metoden för hela aggregatet.
OBS! att valet där kontaktorn har två styrutgångar med pulsfunktion (TwoOrderFeedback)
bara är tänkt att användas när start och stoppknappen i objektsbilden används för att
styra driften.
Mod
Dom olika moder Auto/Manuell/lokal som kan förekomma hanteras utav mod objektet
CompModeD.
Modfunktion:
-Felhantering för manövrering (5 larm).
-Dimmar knappar i objektsbild så felmanövrering undviks.
Körsätt som kan konfigureras:
1 Fjärr mod auto/man Driftens auto/manuell mod styrs av knappar i bilden.
2 Fjärr mod extern Driftens auto/manuell mod styrs av "extern" funktion via PLC programmet
3 Fjärr mod extern Driften styrs som 2, men knappar Start/Stopp kan användas i objektsbilden.
4 Intern mod Driften styrs endast men knappar Start/Stopp i objektsbilden.
5 Lokal mod Driften styrs via manöverlåda placerad lokalt vid driften.
Körsätt enligt ovan: (attributen ligger i inbyggda CompModeD objektet)
1 Är grundinställningen (default).
2 Inga knappar i bild fås genom att sätta attribut OpExtOnly till 1.
3 Är som 2, men Start/Stopp knappar är kvar i bilden, fås genom att sätta attribut OpExtAndIntMan till 1.
4 Fås genom att sätta attribut OpIntOnly till 1.
5 Hanteras via funktionsobjektets ingång Local, kan konfiguras bort genom att sätta attribut OpNoLocal till 1.
OBS! Endast en åt gången av dessa tre inställningsattribut i CompModeD får ha värdet 1, Är flera
satta till 1 samtidigt fungerar inte objektet som tänkt:
-OpExtAndIntMan
-OpIntOnly
-OpExtOnly
Se objekt CompModeD för mer info om hur man konfiguerar moder.
OBS! Konfiguerar man CompModeD för extern styrning (inga knappar auto/man) och vid lokal
körning bör man använda aggregatets funktionsobjektsutgång Error [err] för att ta ner
styrorder så att oönskade återstarter förhindras vid/efter fel.
Övervakning och felhantering
Aggregatet innehåller en hel del övervakning och larm. Varje komponent har oftast en larmtext
som kan ändras, se hjälpen för de inbyggda objekten för mer info.
Försöker man påverka objektets olika moder mm och förreglingar är aktiva som ska hindra
felmanövrering utgår diverse larm.
Om kontaktorsvar (Di) används på kontaktorn går objektets auto/man mod över i man för att
förhindra återstart vid fel på kontaktorsvaret. Detta gäller ALLTID när objektet har hand om
Auto/Man mod. Gäller ej alternativ OpExtAndIntMan och OpExtOnly där det är programmerarens uppgift
att koda förhindra återstart.
Om ingången ExtInterlock [ilk] på funktionsobjektet är hög förreglas utgången till kontaktorn
och detta gäller i alla moder. Det normala beteendet när ingången går hög är att tvinga objektet
i manuell mod, vill man ligga kvar i auto mod oavsett ExtInterlock kan man konfigurera detta genom
att sätta attributet OpNoAutoToMan till 1 i inbyggda objektet CompModeD.
OBS! Om inställningsattributet OpNoAutoToMan är satt till 1 och OpExtAndIntMan eller OpExtOnly är
1 är det programmerarens uppgift att använda funktionsobjektets utgång Error [err] för att ta ner
styrorder på ingång ExtStart [est] alternativt ta ner ExtControl [eco] om denna används, detta för
att förhindra oönskade återstarter vid fel (KONTAKTORN PULSAR ANNARS VID FEEDBACKFEL!).
Om kontaktorn är konfigurerad med två utgångar (pulsmanöver) och kontaktorsvaret försvinner genereras
en frånslagspuls (Do OrderOff i kontaktorn går till i 1,5 sekund).
OBS! Används lokal mod ska man ta ner manuell styrorder på funktionsobjektets ingång LocalStart
[lst] för att förhindra oönskade återstarter vid fel, dvs använd funktionsobjektets utgång Error
[err] för detta ändamål, se exempel nedan.
Exempel felhanteringskod

Bilden visar ett kodexempel när utgången err i funktionsobjektet används för att återställ lokal
start, återställningskoden är gulmarkerad i bilden.
Lokala manöverlådan innehåller en start-tryckknapp DI24.Ch19, stopp-tryckknapp DI24.Ch20 och en
omkopplare med två lägen, DI24.Ch10 för fjärrstyrningsläget och Di24.Ch11 för lokalläget.
Err utgången påverkar en Dv "Driftklar" som i sin tur återställer den lokala starten SR_R
vippa LokStart. Denna kod förhindrar oavsiktlig start från yttre logik efter ett fel i objektet,
exempelvis utlöst motorskydd.
OBS! Att denna återställningsfunktion är programmerarens uppgift att koda, dvs utgången err är
till för det. Om Auto/Man mod är konfigurerad att styras utanför objektet (ingångar eco, est) bör
man också ta hänsyn till err utgången för att förhindra oavsiktlig start efter fel.
Plc kod
För PLC programmering används funktionsobjektet BaseMotorAggrFo.

Skapa ett funktionsobjekt i PLC editorn och koppla till objektet i planthierarkin.
Start/orderutgången för kontaktorn styrs av fyra olika körsätt:
1 Ingång ExtStart [est] från funktionsobjektet och intern auto/man mod.
2 Ingång ExtStart [est] från funktionsobjektet och extern auto/man mod [eco].
3 Knappar Start/stopp från objektsbilden i manuell mod.
4 Ingång LokalStart [lst]från funktionsobjektet och LocalMode [loc].
Simulering
För simulering använder man funktionsobjektet BaseMotorAggrSim.
Se även
Template Object |
Contactor.Order.Description |
Energize contactor |
Contactor.DisableOffControl |
1 |
Contactor.Feedback.Description |
Contactor is energized |
Contactor.FbTimeLimit |
1.000000e+00 |
Contactor.Alarm.DetectOn |
1 |
Contactor.Alarm.DetectText |
Contactor feedback lost |
Contactor.Alarm.EventType |
64 |
Contactor.Alarm.EventPriority |
67 |
Contactor.Alarm.EventFlags |
7 |
Contactor.Alarm.MoreText |
|
Contactor.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Contactor |
Contactor.Alarm.CtrlPosition |
1 |
Contactor.Alarm.LockAttribute |
1 |
CircuitBreaker.NotTripped.Description |
CircuitBreaker is tripped |
CircuitBreaker.Alarm.DetectOn |
1 |
CircuitBreaker.Alarm.DetectText |
Circuit breaker tripped |
CircuitBreaker.Alarm.EventType |
64 |
CircuitBreaker.Alarm.EventPriority |
67 |
CircuitBreaker.Alarm.EventFlags |
7 |
CircuitBreaker.Alarm.MoreText |
|
CircuitBreaker.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.CircuitBreaker |
CircuitBreaker.Alarm.CtrlPosition |
1 |
CircuitBreaker.Alarm.LockAttribute |
1 |
SafetySwitch.Alarm.DetectOn |
1 |
SafetySwitch.Alarm.DetectText |
Safety switch is not on |
SafetySwitch.Alarm.EventType |
64 |
SafetySwitch.Alarm.EventPriority |
67 |
SafetySwitch.Alarm.EventFlags |
7 |
SafetySwitch.Alarm.MoreText |
|
SafetySwitch.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.SafetySwitch |
SafetySwitch.Alarm.CtrlPosition |
1 |
SafetySwitch.Alarm.LockAttribute |
1 |
OverloadRelay.Alarm.DetectOn |
1 |
OverloadRelay.Alarm.DetectText |
Overload relay tripped |
OverloadRelay.Alarm.EventType |
64 |
OverloadRelay.Alarm.EventPriority |
67 |
OverloadRelay.Alarm.EventFlags |
7 |
OverloadRelay.Alarm.MoreText |
|
OverloadRelay.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.OverloadRelay |
OverloadRelay.Alarm.CtrlPosition |
1 |
OverloadRelay.Alarm.LockAttribute |
1 |
Mode.AlarmNotReadyM.DetectOn |
1 |
Mode.AlarmNotReadyM.DetectText |
Check interlocks. Manual start is not allowed, not ready |
Mode.AlarmNotReadyM.EventType |
64 |
Mode.AlarmNotReadyM.EventPriority |
66 |
Mode.AlarmNotReadyM.EventFlags |
7 |
Mode.AlarmNotReadyM.MoreText |
|
Mode.AlarmNotReadyM.Attribute |
BaseComponent:Class-BaseMotorAggr-Template |
Mode.AlarmNotReadyM.CtrlPosition |
1 |
Mode.AlarmNotReadyM.LockAttribute |
1 |
Mode.AlarmNotReadyA.DetectOn |
1 |
Mode.AlarmNotReadyA.DetectText |
Check interlocks. Automode is not allowed, not ready |
Mode.AlarmNotReadyA.EventType |
64 |
Mode.AlarmNotReadyA.EventPriority |
66 |
Mode.AlarmNotReadyA.EventFlags |
7 |
Mode.AlarmNotReadyA.MoreText |
|
Mode.AlarmNotReadyA.Attribute |
BaseComponent:Class-BaseMotorAggr-Template |
Mode.AlarmNotReadyA.CtrlPosition |
1 |
Mode.AlarmNotReadyA.LockAttribute |
1 |
Mode.Alarm1LocalMod.DetectOn |
1 |
Mode.Alarm1LocalMod.DetectText |
Local mode is activated, remote control is not allowed |
Mode.Alarm1LocalMod.EventType |
64 |
Mode.Alarm1LocalMod.EventPriority |
66 |
Mode.Alarm1LocalMod.EventFlags |
7 |
Mode.Alarm1LocalMod.MoreText |
|
Mode.Alarm1LocalMod.Attribute |
BaseComponent:Class-BaseMotorAggr-Template |
Mode.Alarm1LocalMod.CtrlPosition |
1 |
Mode.Alarm1LocalMod.LockAttribute |
1 |
Mode.Alarm2LocalMod.DetectOn |
1 |
Mode.Alarm2LocalMod.DetectText |
Local mode is activated |
Mode.Alarm2LocalMod.EventType |
64 |
Mode.Alarm2LocalMod.EventPriority |
66 |
Mode.Alarm2LocalMod.EventFlags |
7 |
Mode.Alarm2LocalMod.MoreText |
|
Mode.Alarm2LocalMod.Attribute |
BaseComponent:Class-BaseMotorAggr-Template |
Mode.Alarm2LocalMod.CtrlPosition |
1 |
Mode.Alarm2LocalMod.LockAttribute |
1 |
Mode.AlarmNotManOrd.DetectOn |
1 |
Mode.AlarmNotManOrd.DetectText |
Automode active. Manual start/stop order is not allowed |
Mode.AlarmNotManOrd.EventType |
64 |
Mode.AlarmNotManOrd.EventPriority |
66 |
Mode.AlarmNotManOrd.EventFlags |
7 |
Mode.AlarmNotManOrd.MoreText |
|
Mode.AlarmNotManOrd.Attribute |
BaseComponent:Class-BaseMotorAggr-Template |
Mode.AlarmNotManOrd.CtrlPosition |
1 |
Mode.AlarmNotManOrd.LockAttribute |
1 |
Motor.GraphConfiguration |
2 |
Motor.DisableTempSwitch |
1 |
Motor.TempSwitch.Super.DisableSwitch |
1 |
Motor.TempSwitch.Super.Alarm.DetectOn |
1 |
Motor.TempSwitch.Super.Alarm.DetectText |
High motor temperature |
Motor.TempSwitch.Super.Alarm.EventType |
64 |
Motor.TempSwitch.Super.Alarm.EventPriority |
67 |
Motor.TempSwitch.Super.Alarm.EventFlags |
7 |
Motor.TempSwitch.Super.Alarm.MoreText |
|
Motor.TempSwitch.Super.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSwitch |
Motor.TempSwitch.Super.Alarm.CtrlPosition |
1 |
Motor.TempSwitch.Super.Alarm.LockAttribute |
1 |
Motor.DisableTempSensor |
1 |
Motor.TempSensor.Super.DisableValue |
1 |
Motor.TempSensor.Super.Value.Unit |
C |
Motor.TempSensor.Super.Value.PresMaxLimit |
1.500000e+02 |
Motor.TempSensor.Super.LimitHH.Alarm.DetectOn |
1 |
Motor.TempSensor.Super.LimitHH.Alarm.DetectText |
High High motor temperature |
Motor.TempSensor.Super.LimitHH.Alarm.EventType |
64 |
Motor.TempSensor.Super.LimitHH.Alarm.EventPriority |
67 |
Motor.TempSensor.Super.LimitHH.Alarm.EventFlags |
7 |
Motor.TempSensor.Super.LimitHH.Alarm.MoreText |
|
Motor.TempSensor.Super.LimitHH.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor |
Motor.TempSensor.Super.LimitHH.Alarm.CtrlPosition |
1 |
Motor.TempSensor.Super.LimitHH.Alarm.LockAttribute |
1 |
Motor.TempSensor.Super.LimitHH.Limit |
1.300000e+02 |
Motor.TempSensor.Super.LimitHH.Hysteres |
3.000000e+00 |
Motor.TempSensor.Super.LimitHH.TimeDelay |
1.000000e+00 |
Motor.TempSensor.Super.LimitHH.Used |
1 |
Motor.TempSensor.Super.LimitH.Alarm.DetectOn |
1 |
Motor.TempSensor.Super.LimitH.Alarm.DetectText |
High motor temperature |
Motor.TempSensor.Super.LimitH.Alarm.EventType |
64 |
Motor.TempSensor.Super.LimitH.Alarm.EventPriority |
66 |
Motor.TempSensor.Super.LimitH.Alarm.EventFlags |
7 |
Motor.TempSensor.Super.LimitH.Alarm.MoreText |
|
Motor.TempSensor.Super.LimitH.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor |
Motor.TempSensor.Super.LimitH.Alarm.CtrlPosition |
1 |
Motor.TempSensor.Super.LimitH.Alarm.LockAttribute |
1 |
Motor.TempSensor.Super.LimitH.Limit |
1.150000e+02 |
Motor.TempSensor.Super.LimitH.Hysteres |
3.000000e+00 |
Motor.TempSensor.Super.LimitH.TimeDelay |
1.000000e+00 |
Motor.TempSensor.Super.LimitH.Used |
1 |
Motor.TempSensor.Super.LimitL.Alarm.DetectText |
Temperature below Low limit |
Motor.TempSensor.Super.LimitL.Alarm.EventType |
64 |
Motor.TempSensor.Super.LimitL.Alarm.EventPriority |
66 |
Motor.TempSensor.Super.LimitL.Alarm.EventFlags |
7 |
Motor.TempSensor.Super.LimitL.Alarm.MoreText |
|
Motor.TempSensor.Super.LimitL.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor |
Motor.TempSensor.Super.LimitL.Alarm.CtrlPosition |
1 |
Motor.TempSensor.Super.LimitL.Alarm.LockAttribute |
1 |
Motor.TempSensor.Super.LimitLL.Alarm.DetectText |
Temperature below LowLow limit |
Motor.TempSensor.Super.LimitLL.Alarm.EventType |
64 |
Motor.TempSensor.Super.LimitLL.Alarm.EventPriority |
67 |
Motor.TempSensor.Super.LimitLL.Alarm.EventFlags |
7 |
Motor.TempSensor.Super.LimitLL.Alarm.MoreText |
|
Motor.TempSensor.Super.LimitLL.Alarm.Attribute |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor |
Motor.TempSensor.Super.LimitLL.Alarm.CtrlPosition |
1 |
Motor.TempSensor.Super.LimitLL.Alarm.LockAttribute |
1 |
Motor.TempSensor.Super.Trend.Multiple |
1 |
Motor.TempSensor.Super.Trend.DataName |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor.Super.Value.ActualV |
Motor.TempSensor.Super.Trend.StorageTime |
239 |
Motor.TempSensor.Super.Trend.BufferStatus[0] |
1 |
Motor.TempSensor.Super.Trend.BufferStatus[1] |
1 |
Motor.TempSensor.Super.Trend.NoOfBuffers |
2 |
Motor.TempSensor.Super.Trend.NoOfBufElement |
239 |
Motor.TempSensor.Super.DefTrend |
BaseComponent:Class-BaseMotorAggr-Template.Motor.TempSensor.Super.Trend |