Profibus/dp PPO5 modul för en ABB frekvensomriktare ASC800
ABB_ACS_PPO5 objektet hanterar datautbyte mellan en frekvensomriktare och Proview
via Profibus/dp med hjälp av standardprotokollet PPO5 (Parameter/Process data object).
PPO5 protokollet är det PPO alternativ (av 1-5) som innehåller mest alternativ för IO utbyte
och funktioner mellan ett styrsystem och en omriktare.
Modulobjektet ABB_ACS_PPO5 ihop med ABB_ACS_Pb_Slave objektet (placerad nodehierarkin)
ingår i frekvensomriktarobjekt ABB_ASC800_1 (placerad planthierarkin). Utöver de
specificerade/använda IO signaler finns det lediga oknutna signaler som fritt kan användas
ihop med objekt ABB_ASC800_1, se attributbeskrivning för mer info.
Aggregat ABB_ACS800MotorAggr (Fan & Pump också) och ABB_ACS800_1 objekten använder denna
IO modul för att kommunicera med en omriktare.
Modulobjektet

Bilden, gult område visar de viktigaste IO kanalerna och blått är själva objektmodulen.
Proview tolkar/hanterar PPO standardorden (16 bitar) SW och CW som namnats I_SW och O_CW
i bild ovan enligt följande:
Kontrollord CW:
BIT: PPO NAMN: PROVIEW TOLKNING AV FUNKTIONEN:
0 OFF1 Start (run) om bit är 1, stoppar med ramp om bit är 0.
1 OFF2 Nödstopp om bit är 0, stoppar med frirullning, dvs ingen ramp.
2 OFF3 Nödstopp om bit är 0, stoppar med nödstoppsramp inställd i omriktare.
3 ENABLE Driftfrigivning om bit är 1.
4 RAMP ZERO Rampgeneratorns utsignal tvingas till noll om bit är 0.
5 RAMP HOLD Rampgeneratorns utsignal fryses om bit är 0.
6 RAMP IN-ZERO Rampgeneratorns insignal tvingas till noll om bit är 0.
7 RESET Återställning trippad omriktare om bit är 1 (flanktriggad).
8 ? Se PPO protokollet.
9 ? Se PPO protokollet.
10 REMOTE CMD Begäran om bit är 1 att styrning ska ske via fältbussen (Proview/PLC).
11 ? Se PPO protokollet.
12-15 RESERVED Reserverad för framtid funktion, Se PPO protokollet.
Statusord SW:
BIT: PPO NAMN: PROVIEW TOLKNING AV FUNKTIONEN:
0 READY ON Redo (switch on) om bit är 1.
1 READY RUN Driftklar om bit är 1.
2 READY REF Startad (run) följer styrreferensen om bit är 1.
3 TRIPPED Omriktare trippad (återställning krävs) om bit är 1, drift stoppad.
4 OFF2 Nödstopp med frirullning aktiverad om bit är 1.
5 OFF3 Nödstopp med stoppramp aktiverad om bit är 1.
6 INHIBITED Driftförreglad bit är 1.
7 ALARM Varningslarm om bit är 1 (stoppar ej drift)
8 AT_SETPOINT Driftvarvtal uppnått om bit är 1, dvs bör/ärvärde är lika.
10 REMOTE Om bit är 0 är omriktaren i lokal mod, dvs styrning via Proview/PLC ej tillåten.
11 ? Se PPO protokollet.
12 ? Se PPO protokollet.
13-14 RESERVED Reserverad för framtid funktion, Se PPO protokollet.
15 ? Se PPO protokollet.
Konfigurering
Se klasshjälp för ABB_ACS_Pb_Slave objektet där en utförligare beskrivning hur man skapar ett
modulobjekt i nodehierarkin och konfigurerar profibus för en ASC800 omriktare.
Koppla därefter modulen till frekvensomriktarobjekt ABB_ACS800_1 i planthierarkin med hjälp av
IoConnect funktionen. Detta gör att allt signalutbyte som behövs nu är knutet.
OBS! Glöm inte att ABB_ASC_PPO5 och ABB_ACS_Pb_Slave objekten också ska ha en referens till en
plc tråd i attribut ThreadObject.
Inställningar PPO5
PPO5 protokollets PZD data (prozessdaten) PZD3 till PZD9 ska också konfigureras i omriktaren för ström
och moment, dvs:
-PZD3 Ställs in för current/ström i omriktaren
-PZD4 Ställs in för Toque/moment i omriktaren
-PZD5 Ställs in för Felord 1 i omriktaren
-PZD6 Ställs in för Felord 2 i omriktaren
-PZD7 Ställs in för DI6_1 i omriktaren
-PZD8 Ställs in för Alarmord 5 i omriktaren
-PZD9 Ställs in för Statusord 3 i omriktaren
Anpassning/skalning mellan Proview och omriktarens IO signaler måste också göras i kanalobjekten
ChanAi och ChanAo för frekvensomriktaren, dvs signaler i ABB_ACS_PPO5 som bör gås igenom är:
-O_REF Referens (börvärde i varvtal är att föredra)
-I_ACT Ärvärde (varvtalsvärde är att föredra)
-I_PZD3 Ström
-I_PZD4 Moment
Se exempel nedan på hur en ABB ASC800 omriktare och Proview kan ställas in.
OBS! Att INTE alla data som specificeras i PPO5 protokollet finns tillgänglig i planthierarki
objektet ABB_ACS800_1, dessa är:
- I_PZD10 är ledig integer insignal (Ii, 16 bit).
- O_PZD3 till O_PZD7 är lediga analoga utsignaler (Ao, 16 bit).
- O_PZD8 till O_PZD10 är lediga integer utsignaler (Io, 16 bit).
Dessa signaler ligger alltså oknutna i ABB_ACS_PPO5 objektet och kan användas fritt för PLC
programmering t.ex. för att momentbegränsa motorn.
Exempel inställningar i en omriktare
Nedan inställningar visar vilka parametrar som behöver gås igenom för att få ett fungerande
signalutbytet mellan Proview ABB_ACS_PPO5 modul och en ABB ACS800 frekvensomriktare. Vissa
inställningar har bara med själva omriktaren att göra och är med som ytterligare hjälp för
intressanta parametrar att beakta.
INSTÄLLNINGAR I ACS800 OMRIKTAREN (text på engelska):
Parameter Value Description
group
10.01 COMM.CW Ext1 start/stop/direction
10.03 ? Rotation of the motor
11.02 EXT1 Reference select
11.03 COMM.REF Source for external reference 1
11.04 ? Minimum value for external reference 1
11.05 ? Maximum value for external reference 1
16.04 COMM.CW Source for the fault reset signal "tripped"
21.03 RAMP Motor stop function
22.01 ACC/DEC 1 Acceleration and deceleration times
22.02 ? Acc time 1
22.03 ? Dec time 1
51.01 Profibus/dp Modultype
51.02 ? Node adress (via dipswitchar, om switchar är 0 ställs den in här.)
51.06 104 PZD3 IN, Current/Ström
51.08 105 PZD4 IN, Torque/Moment
51.10 305 PZD5 IN, Fault word 1
51.12 306 PZD6 IN, Fault word 2
51.14 117 PZD7 IN, DI6_1
51.16 318 PZD8 IN, Alarm word 5
51.18 313 PZD9 IN, Statusword 3
98.02 FIELDBUS Serial communication
98.07 ABB Drives Communication profile
16.01 Ja Run enable parameter/driftfrigivning
20.01 ? Limits min speed
20.02 ? Limits max speed
Exempel parameter PZD4 IN:
Parameter PZD4 IN ställs in i parametergrupp 51.08 och ska ställas in till 105,
som betyder värde "01.05" som är motorns ärmoment. Dennas signal läses sen av
i Proview, ingångskanal I_PZD4.
Överföringshastigheten (Baude raten) grupp 52.03 och PPO typen grupp 52.04 ställs in
automatiskt när kommunikation etableras.
Om man önskar att en ACS800 ska retarera/rampa på tid (rampa aktivt) och inte frirulla
elmotorn när Profibus kommunikationen går ner (dör) krävs vissa speciella inställningar
i omriktaren, dessa är (inställningar på engelska):
Parameter Value Description
group
11.02 COMM.CW Signalkälla (Ext1/2) om vald extern styrplats
16.01 16.08 Driftfrigivning via grupp 16.08
16.08 -.003.008.12 Pekare för driftfrigivning
21.07 RAMP STOP Stoppfunktion när driftfrigivning inte råder
21.09 OFF3 STOP Stopptyp när omriktaren förreglas (OFF3 = ramp)
30.18 LAST SPEED Vad som ska hända vid Profibus kom.fel
30.19 0.5 Tid i sekeunder innan omriktaren börjar rampa vid kom.fel.
OBS! Att parameter 30.19 summeras ihop med inställningar WdFact1 och WdFact2 i Proview
för att få tiden det tar innan omriktaren börjar retarera vid kom.fel. Se objekt
ABB_ACS_Pb_Slave för mer info om WdFact1 och WdFact2.
OBS! Att parameter 30.18 konstigt nog ska ställas in på "LAST SPEED" (sent varvtal) för att
rampning ska fungera vid kom.fel.
Via "ConfigureSlave" metoden i Proview ska man ställa in följande för en ABB omriktare ACS800:
- PrmUserData Operation mode till till Vendor specific (info från GSD fil)
- Protokoll till PPO5 (info från GSD fil)
Proview kanalobjekt ChanAi och ChanAo attribut som styr skalning/anpassning mot
omriktarens analoga signaler har en grundinställning (default) som kanske behöver
ändras visas här:
I_ACT (varvtal/ärvärde)
Omriktarens Max/Min varvtal parameter 20.01 och 20.02 bestämmer vad I_ACT ska
skalas till. Exempel +/- 1500r/m är inställt i omriktaren vilket ger:
- RawValRangeLow -20000
- RawValRangeHigh +20000
- ActValValRangeLow -1500 (default)
- ActValRangeHigh +1500 (default)
Omriktarens varvtalsområde råvärde i omriktaren är alltid +/- 20000.
I_PZD3 (ström) ÄNDRA INTE!
Omriktarens strömområde är 0-1000A.
- RawValRangeLow -10000
- RawValRangeHigh +10000 (betyder 1000A)
- ActValValRangeLow -1000
- ActValRangeHigh +1000
Omriktarens strömområde råvärde i omriktaren är alltid +/- 10000 vilket är 1000.0 Amper
(Råvärde RawValRange på 1382 betyder 138,2A).
I_PZD4 (moment) ÄNDRA INTE!
Omriktarens momentområde är i procent (råvärde RawValRange på +/- 32768)
- RawValRangeLow -32768
- RawValRangeHigh +32767 (betyder 327.67%)
- ActValValRangeLow -327.68
- ActValRangeHigh +327.67
Omriktarens momentområde i manualen är otydlig men dessa inställningar fungerar!!!
O_REF (Referens/börvärde)
Omriktarens referensområde i varvtal parameter 11.04 och 11.05 bestämmer vad O_REF ska
skalas till. Exempel +/- 1500r/m referensområde önskas vilket ger:
- RawValRangeLow -20000
- RawValRangeHigh +20000
- ActValValRangeLow -1500 (default)
- ActValRangeHigh +1500 (default)
Omriktarens varvtalsområdes råvärde i omriktaren är alltid +/- 20000.
Övriga attribut i kanalobjekten som skalar signaler kan lämnas som de är, dvs:
- SensorSigValRangeLow
- SensorSigValRangeHigh
- ChannelSigValRangeLow
- ChannelSigValRangeHigh
Att ändra/förstå dessa attribut är inte lätt och exemplet nedan visar när O_REF attributet
skalas om så en begränsning av max +/- 400r/m kan "nå" omriktaren, dvs om Ao RefSpeed.ActualValue
värde överskrider 400 blir omriktarens referens i alla fall bara 400:
- ActValValRangeLow -400 (begränsningen i r/m)
- ActValRangeHigh +400 (begränsningen i r/m)
- SensorSigValRangeLow -20 (1/5 av ChannelSigValRangeLow, dvs procent av 2000r/m)
- SensorSigValRangeHigh +20 (1/5 av ChannelSigValRangeHigh,dvs procent av 2000r/m)
- ChannelSigValRangeLow -100 (procent)
- ChannelSigValRangeHigh +100 (procent)
- RawValRangeLow -20000 (ska alltid vara -20000)
- RawValRangeHigh +20000 (ska alltid vara +20000)
Omriktarens min/max parametrar/styrreferens 11.04 och 11.05 är inställda på +/- 2000r/m
i detta exempel och ChannelSigValRange och SensorSigValRange attributen ovan är i
procent för enkelhetens skull.
OBS! Att ställa in Proview på detta sätt är inte att rekomendera, det är bättre att
omriktarens inställningar får råda.
Om startorder OFF1 bit 0 i kontrollordet CW går från hög till låg och hög igen måste
motorn rampa ner till noll innan motorn startar/börjar rampa upp igen!
Se även
Template Object |
Super.Specification |
ABB ACS, PPO message type 5 |
Super.Process |
1 |
Super.DataSheet |
$pwr_lang/dsh/abb_acs800.html |
Io.I_ID.Description |
Parameter identification |
Io.I_ID.ConversionOn |
1 |
Io.I_ID.Representation |
2 |
Io.I_IND.Description |
Array index |
Io.I_IND.ConversionOn |
1 |
Io.I_IND.Representation |
2 |
Io.I_VALUE.Description |
Parameter value |
Io.I_VALUE.ConversionOn |
1 |
Io.I_VALUE.Representation |
1 |
Io.I_SW.Description |
Status word from converter (fixed) |
Io.I_SW.Identity |
9201 |
Io.I_SW.ConversionOn |
1 |
Io.I_SW.Representation |
3 |
Io.I_ACT.Description |
Status word from converter (fixed) |
Io.I_ACT.Identity |
1103 |
Io.I_ACT.ConversionOn |
1 |
Io.I_ACT.ScanInterval |
1 |
Io.I_ACT.RawValRangeLow |
-2.000000e+04 |
Io.I_ACT.RawValRangeHigh |
2.000000e+04 |
Io.I_ACT.ChannelSigValRangeLow |
-2.000000e+04 |
Io.I_ACT.ChannelSigValRangeHigh |
2.000000e+04 |
Io.I_ACT.SensorPolyType |
1 |
Io.I_ACT.SensorSigValRangeLow |
-2.000000e+04 |
Io.I_ACT.SensorSigValRangeHigh |
2.000000e+04 |
Io.I_ACT.ActValRangeLow |
-1.500000e+03 |
Io.I_ACT.ActValRangeHigh |
1.500000e+03 |
Io.I_ACT.Representation |
2 |
Io.I_PZD3.Description |
Status word from converter |
Io.I_PZD3.Identity |
5106 |
Io.I_PZD3.ConversionOn |
1 |
Io.I_PZD3.RawValRangeLow |
-1.000000e+04 |
Io.I_PZD3.RawValRangeHigh |
1.000000e+04 |
Io.I_PZD3.ChannelSigValRangeLow |
-1.000000e+04 |
Io.I_PZD3.ChannelSigValRangeHigh |
1.000000e+04 |
Io.I_PZD3.SensorPolyType |
1 |
Io.I_PZD3.SensorSigValRangeLow |
-1.000000e+04 |
Io.I_PZD3.SensorSigValRangeHigh |
1.000000e+04 |
Io.I_PZD3.ActValRangeLow |
-1.000000e+03 |
Io.I_PZD3.ActValRangeHigh |
1.000000e+03 |
Io.I_PZD3.Representation |
2 |
Io.I_PZD4.Description |
Status word from converter |
Io.I_PZD4.Identity |
5108 |
Io.I_PZD4.ConversionOn |
1 |
Io.I_PZD4.RawValRangeLow |
-3.276800e+04 |
Io.I_PZD4.RawValRangeHigh |
3.276700e+04 |
Io.I_PZD4.ChannelSigValRangeLow |
-3.276800e+04 |
Io.I_PZD4.ChannelSigValRangeHigh |
3.276700e+04 |
Io.I_PZD4.SensorPolyType |
1 |
Io.I_PZD4.SensorSigValRangeLow |
-3.276800e+04 |
Io.I_PZD4.SensorSigValRangeHigh |
3.276700e+04 |
Io.I_PZD4.ActValRangeLow |
-3.276800e+02 |
Io.I_PZD4.ActValRangeHigh |
3.276700e+02 |
Io.I_PZD4.Representation |
2 |
Io.I_PZD5.Description |
Status bits from converter |
Io.I_PZD5.Identity |
5110 |
Io.I_PZD5.ConversionOn |
1 |
Io.I_PZD5.Representation |
3 |
Io.I_PZD6.Description |
Status bits from converter |
Io.I_PZD6.Identity |
5112 |
Io.I_PZD6.ConversionOn |
1 |
Io.I_PZD6.Representation |
3 |
Io.I_PZD7.Description |
Status bits from converter |
Io.I_PZD7.Identity |
5114 |
Io.I_PZD7.ConversionOn |
1 |
Io.I_PZD7.Representation |
3 |
Io.I_PZD8.Description |
Status bits from converter |
Io.I_PZD8.Identity |
5116 |
Io.I_PZD8.ConversionOn |
1 |
Io.I_PZD8.Representation |
3 |
Io.I_PZD9.Description |
Status bits from converter |
Io.I_PZD9.Identity |
5118 |
Io.I_PZD9.ConversionOn |
1 |
Io.I_PZD9.Representation |
3 |
Io.I_PZD10.Description |
Status bits from converter |
Io.I_PZD10.Identity |
5120 |
Io.I_PZD10.ConversionOn |
1 |
Io.I_PZD10.Representation |
3 |
Io.O_ID.Description |
Parameter identification |
Io.O_ID.Representation |
3 |
Io.O_IND.Description |
Array index |
Io.O_IND.Representation |
3 |
Io.O_VALUE.Description |
Parameter value |
Io.O_VALUE.Representation |
1 |
Io.O_CW.Description |
Control word to converter (fixed) |
Io.O_CW.Identity |
9004 |
Io.O_CW.Representation |
3 |
Io.O_REF.Description |
Referencevalue word to converter (fixed) |
Io.O_REF.Identity |
9004 |
Io.O_REF.OutPolyType |
1 |
Io.O_REF.ActValRangeLow |
-1.500000e+03 |
Io.O_REF.ActValRangeHigh |
1.500000e+03 |
Io.O_REF.SensorSigValRangeLow |
-2.000000e+04 |
Io.O_REF.SensorSigValRangeHigh |
2.000000e+04 |
Io.O_REF.ChannelSigValRangeLow |
-2.000000e+04 |
Io.O_REF.ChannelSigValRangeHigh |
2.000000e+04 |
Io.O_REF.RawValRangeLow |
-2.000000e+04 |
Io.O_REF.RawValRangeHigh |
2.000000e+04 |
Io.O_REF.Representation |
2 |
Io.O_PZD3.Description |
Referencevalue word to converter |
Io.O_PZD3.Identity |
5105 |
Io.O_PZD3.OutPolyType |
1 |
Io.O_PZD3.ActValRangeHigh |
6.000000e+02 |
Io.O_PZD3.SensorSigValRangeHigh |
6.000000e+04 |
Io.O_PZD3.ChannelSigValRangeHigh |
6.000000e+04 |
Io.O_PZD3.RawValRangeHigh |
6.000000e+04 |
Io.O_PZD3.Representation |
2 |
Io.O_PZD4.Description |
Referencevalue word to converter |
Io.O_PZD4.Identity |
5107 |
Io.O_PZD4.OutPolyType |
1 |
Io.O_PZD4.ActValRangeHigh |
6.000000e+02 |
Io.O_PZD4.SensorSigValRangeHigh |
6.000000e+04 |
Io.O_PZD4.ChannelSigValRangeHigh |
6.000000e+04 |
Io.O_PZD4.RawValRangeHigh |
6.000000e+04 |
Io.O_PZD4.Representation |
2 |
Io.O_PZD5.Description |
Referencevalue word to converter |
Io.O_PZD5.Identity |
5109 |
Io.O_PZD5.OutPolyType |
1 |
Io.O_PZD5.ActValRangeLow |
-3.276800e+04 |
Io.O_PZD5.ActValRangeHigh |
3.276700e+04 |
Io.O_PZD5.SensorSigValRangeLow |
-3.276800e+04 |
Io.O_PZD5.SensorSigValRangeHigh |
3.276700e+04 |
Io.O_PZD5.ChannelSigValRangeLow |
-3.276800e+04 |
Io.O_PZD5.ChannelSigValRangeHigh |
3.276700e+04 |
Io.O_PZD5.RawValRangeLow |
-3.276800e+04 |
Io.O_PZD5.RawValRangeHigh |
3.276700e+04 |
Io.O_PZD5.Representation |
2 |
Io.O_PZD6.Description |
Referencevalue word to converter |
Io.O_PZD6.Identity |
5111 |
Io.O_PZD6.Representation |
2 |
Io.O_PZD7.Description |
Referencevalue word to converter |
Io.O_PZD7.Identity |
5113 |
Io.O_PZD7.Representation |
2 |
Io.O_PZD8.Description |
Referencevalue word to converter |
Io.O_PZD8.Identity |
5115 |
Io.O_PZD8.Representation |
2 |
Io.O_PZD9.Description |
Referencevalue word to converter |
Io.O_PZD9.Identity |
5117 |
Io.O_PZD9.Representation |
2 |
Io.O_PZD10.Description |
Referencevalue word to converter |
Io.O_PZD10.Identity |
5119 |
Io.O_PZD10.Representation |
2 |