Side 1 af 11 Robonet Profibus Generel opsætning
Side 2 af 11 Indholdsfortegnelse 1. Anvendt hard- og software samt filer... 3 2. Konfiguration af RoboNet Gateway... 4 3. Beskrivelse af data mellem PLC og RoboNet... 6 4. Beskrivelse af bevægelser... 9
Side 3 af 11 1. Anvendt hard- og software samt filer Hardware RoboNet Profibus Gateway Gateway er opsat til: Direct Numerical Specification mode Software Robonet GWParaset RoboNet konfigurationssoftware Filer IAI0B2F.gsd Profibus konfigurationsfil til RoboNet
Side 4 af 11 2. Konfiguration af RoboNet Gateway Opsætning foregår med programmet: ROBONET_GWParaSet.exe Begynd med at konfigurere RoboNet Gateway Profibus node adresse sættes. Desuden opsættes hvilken type kommunikation der skal bruges til controllerne. Der findes 6 kommunikaitionsmetoder: 1. Positioner 1 mode [4 word ind og ud] 2. Simple direct mode [4 word ind og ud] 3. Direct numerical specification mode (Positionsmode) [8 word ind og ud] 4. Positioner2 mode [2 word ind og ud] 5. Solenoid valve mode 1 [2 word ind og ud] 6. Solenoid valve mode 2 [2 word ind og ud] Nedenfor er der valgt 2 akser i Direct numerical specification mode Når den ønskede opsætning er lavet, skrives data til Gatewayen. Se i øvrigt mere i RoboNet Operational manual kapitel 5 (side 270 5th edition).
Side 5 af 11 "Direct Numerical specification mode" er anvendt, da man her, direkte kan skrive positioner, hastigheder, accelerationer udenom positionsregistre. Desuden er denne den eneste mode, hvor man kan aflæse alarmkode og aktuel strøm. Der kan i denne mode max tilsluttes 8 akser pr. Gateway. Det er også denne mode der er anvendt i Delta Elektroniks S7 Profibus programeksempel. På Gateway en (under dækslet) sidder 4 dipswitches. SW4 OFF SW3 OFF SW2 Endian. Bestemmer om data skal byteswappes. Sættes OFF ved S7 komm. Og ON ved MicroInnovation. SW1 OFF Switchen MANU/AUTO sættes til AUTO når der skal kommunikeres via Profibus. Man kan i øvrigt altid se status på MANU/AUTO via StatusOrd fra Gatewayen.
Side 6 af 11 3. Beskrivelse af data mellem PLC og RoboNet Der bruges 8 word Ind og 8 Word ud til Gateway og fælles kommuinikation. Ved "Direct Numerical specification mode" bruges 8 word I/O pr akse. Beskrivelse af Gateway data: PLC => Robonet Control Signal0 Bit 15 MON =1 ellers kan man ikke kommunikere til controllere Bit 13 RTE kan bruges til at resette kommunikationsfejl Øvrige bits bruges ikke I vores eksempler er værdien sat til 8000h fast. Control Signal1 Request Cmd Ctrl Data0 Ctrl Data1 Ctrl Data2 Ctrl Data3 (Reserveret) Status signal0 Status signal1 Response Cmd Stat Data0 Stat Data1 Stat Data2 Stat Data3 (Reserveret) RoboNet => PLC Bit 15 RUN angiver at Gateway er OK. Bit 13 ERRT Angiver kommunikationsfejl Bit 12 MOD 1: angiver MANU mode. Skal være OFF for korrekt funktion Øvrige bits bruges ikke. Kan bruges til at se hvilke akser der er forbundet.
Side 7 af 11 Beskrivelse af Controller data: PLC => Robonet Damand Position LSW 32 bit: Ønsket absolut position i [1/100mm] Demand Position MSW Demand Pos Band LSW Demand Pos Band MSW Speed Acceleration Push Limit Control Word 32 bit: Positions vindue i [1/100mm] Denne har 2 funktioner: 1: Almindelig positionering: Angiver det vindue hvor PEND (position complete sættes. 2: Push mode: Her angives den distance hvor PUSH mode er aktiv. Se eksempel senere. 16 bit: Ønsket hastighed i [mm/sekund] 16 bit Ønsket acceleration i [0.01G] 16 bit (kan kun bruge de 8 msb): ønsket moment i PUSH enhed i [%] af max strøm. Bemærk: 255 (FF) = 100%, dvs. hvis der ønskes 25% skrives 25*255/100 = 63 Se nedenfor Actual Position LSW Actual Position MSW Actual Current LSW Actual Current MSW Actual speed Not used Alarm code Status Word RoboNet => PLC 32 bit: Aktuel position i [1/100mm] 32 bit: Aktuel strøm i [ma] 16 bit: Aktuel hastighed i [mm/s] 16 bit: 16 bit: Alarm kode. Se RoboNet Operational manual kapitel 1 (side 62 5th edition) Se nedenfor
Side 8 af 11 Beskrivelse af Status- og Control-Word PLC => Robonet Control Signal b15 BKRL - Frigiv bremse b14 b13 DIR - Angiver retning ved PUSH funktion. Se eksempel nedenfor b12 PUSH - Aktiver PUSH funktion. Se eksempel nedenfor. b11 b10 b09 b08 JOG+ - Jog frem (hastighed er fast, sættes i Parametre) b07 JOG- - Jog retur (hastighed er fast, sættes i Parametre) b06 JVEL - 1: der jogges konstant 0: der jogges i step b05? b04 SON - Servo ON, enable servo b03 RES - Resetter evt. alarm b02 STP - Pause. Bemærk bevægelse genoptages når signalet går lav. b01 HOME - Start en homing b00 CSTR - Start en absolut positionering ELLER en Push funktion Robonet => PLC status Signal b15 EMGS - Nødstop er aktiveret (Lus på Gateway brudt) b14 CRDY - Controller klar og OK b13 ZONE2 - Zone udgang, se manual for yderligere oplysninger b12 ZONE1 - Zone udgang, se manual for yderligere oplysninger b11 b10 b09 b08 b07 b06 b05 PSFL - Load ikke opnået under PUSH. Se eksempel nedenfor b04 SV - Controller er enabled b03 ALM - Der er en alarm aktiv b02 MOVE - controller kører b01 HEND - reference er OK b00 PEND - Positon complete - Bevægelse er afsluttet.
Side 9 af 11 4. Beskrivelse af bevægelser I nedenstående eksempler er det antaget, at alt er OK og controller er enablet. Homing: Parametre til homing (retning og moment sættes via RoboCylinder software) 1. Sæt Control.b01 HOME 2. Vent til Stat.b00 PEND = 0 3. Vent til Stat.b01 HEND = 1 4. Clear Control.b01.HOME 5. HOME er ok og afsluttet. Absolut positionering: 1. Sæt Hastighed, Acceleration, Position, PositionVindue. Hvis indtastede data er ulovlige vil der komme en alarm ved start. 2. Sæt Control.b00 CSTR nu starter bevægelse 3. Vent til Stat.b01 PEND = 0 4. Clear Control..b00 CSTR 5. Vent til Stat.b01 PEND = 1 6. Absolut positionering er afsluttet. PUSH funktion: Først skal bevægelsesdata opsættes: Speed, Acceleration, DemandPosition, DemandPositionBand. DemandPosition er den absolutte position der køres til med normale Hastighed og accelerationsdata. DemandPositionBand er den relative distance der yderligere køres, med begrænset moment sat med PushTorque. Her køres med fast lav hastighed (sættes som parameter via RoboCylinder software). ControlWord.b13.DIR skal sættes korrekt, ellers fungerer PUSH ikke korrekt. (Se yderligere i Robonet manual Part1 afsnit 3.8.4 side 97)
Side 10 af 11 Eksempel1: Aktuel position er 0mm Der skal køres i ilgang til position 100mm Derefter skal der køres i PUSH de næste 20mm. Speed og Acceleleration sættes som normalt. DemandPosition = 100 DemandPositionBand = 20 ControlWord.b13.DIR = 1 Retning er Positiv. ControlWord.b12.PUSH = 1 PUSH mode aktiveres. Nu startes bevægelsen med: ControlWord.b00.CSTR = 1 Start bevægelse. Vent til StatusWord.b02.MOVE = 1 eller en timeout på ca.100ms Timeout skal bruges hvis den samlede bevægelse er meget kort eller 0. I så fald sættes MOVE bit aldrig. Vent til StatusWord.b00.PEND = 0 Clear ControlWord.b00.CSTR Nu ventes til momentet opnås, eller moment misses: Hvis StatusWord.b00.PEND=1 er det ønskede moment opnået. Hvis StatusWord.b05.PSFL=1 er momentet ikke opnået, og bevægelsen er kørt helt ud til position 100+20mm. Vigtigt: Når det ønskede moment er opnået, fortsætter aktuatoren med at trykke med det ønskede moment indtil en ny kommando udføres. Det betyder, at hvis lasten fjernes, kører aktuatoren ud mod slutpositon 100+20mm. Signalerne StatusWord.b00.PEND og StatusWord.b05.PSFL skifter også status i forhold til aktuel situation! Hvis aktuel position i ovenstående eksempel er >100mm vil funktionen ikke være korrekt! Derfor husk at sætte DIR i forhold til ønskede retning.
Side 11 af 11 Eksempel2: Det ønskes at udføre en PUSH funktion i positiv retning de næste 100mm, umiddelbart fra hvor aktuatoren befinder sig. Dette kræver at der regnes lidt i forhold til aktuel position: Læs den aktuelle positon: ActualPosition. Sæt Speed og Acceleration som sædvanligt (skal have lovlige værdier) Sæt DemandPosition = ActualPosition + 0.2 (sæt ilgangbevægelse til 0,2mm) Sæt DemandPositionBand = 100 ControlWord.b13.DIR = 1 Retning er Positiv. ControlWord.b12.PUSH = 1 PUSH mode aktiveres. Nu startes bevægelsen fuldstændig som i Eksempel1. Her vil PUSH funktionen være aktiv umiddelbart efter start. Hvis samme funktion ønskes i negativ retning sættes følgende: Læs den aktuelle positon: ActualPosition. Sæt Speed og Acceleration som sædvanligt (skal have lovlige værdier) Sæt DemandPosition = ActualPosition - 0.2 (sæt ilgangbevægelse til 0,2mm) Sæt DemandPositionBand = 100 ControlWord.b13.DIR = 0 Retning er Negativ. ControlWord.b12.PUSH = 1 PUSH mode aktiveres.