23948sdkhjf
Del siden
Annonce

Applikationeksempel

Positionering uden encoder

Forskellige encodere til forskellige applikationer
Der er applikationer, som kræver closed loop til hastighedsreguleringen af fx en lift. Andre applikationer behøver en høj grad af nøjagtighed og dynamik. Også visse applikationer behøver en absolut encoder, der registrerer positionen, selv når maskinen er slukket. Disse applikationer kræver typisk en fysisk encoder.

Men der er også mange applikationer, hvor kravene ikke er helt så høje, og hvor det måske er uhensigtsmæssigt med en encoder eller kostprisen er ekstra vigtig. Et eksempel kunne være et bånd, som skal køre et emne frem til en venteposition før en maskine.

Princippet
Det tager få minutter at lave en virtuel encoder med 1 OB, 1 FB og 1 DB, og det er ikke komplekst.

Når vi laver en positionsakse, der har en fysisk encoder, så indsætter vi et teknologiobjekt i en S7-1200 eller S7-1500 standart PLC, hvori vi skal udpege encoderen. Vi kan vælge en encoder der er integreret i motoren, tilsluttet via drevet, eller vi kan vælge en encoder, der læses direkte af PLC'en via PROFINET eller på highspeed counter-inputs.

Når vi har et teknologiobjekt, så får vi automatisk OB91 "MC-Servo", som afvikler vores motion instruktioner med en fast scan tid, fx hver 4. m/sek. Hver gang MC-Servo afvikles, læses encoderens aktuelle værdi, sammenlignes med det, der er forventet, og hastigheden på drevet justeres, så motoren når sin position til forventet tid. Når vi derimod ikke har en encoder, så laver vi en integralfunktion på actual speed (r63 i SINAMICS drevet) og beregner en encoder-værdi.

Beregning
Vi ønsker at beregne encoder-værdien lige før vi afvikler MC-Servo, så derfor indsætter vi OB67 "MC-PreServo" hvori vi kan lave et stykke program, som altid vil blive afviklet lige før MC-Servo.

Vi importerer biblioteket "LSLVCPos_" og trækker FB "LSlvcPos_XIST1CALC" ind i MC_PreServo, hvor den vil beregne en encoder-værdi ud fra aktuel hastighed og DB "LSlvcPos_VirtualEncoderTel81" trækker vi ind i PLC'ens program folder, allerede indeholdende et tag med korrekt data type til at efterligne en encoder, og nem at udvide med flere.

Når vi har sat aktuel hastighed og encoder-tag på FB'en, så er programmet færdigt, og den virtuelle encoder kan vælges i teknologiobjektet.

I en S7-1500 PLC bruges aktuel hastighed direkte fra teknologiobjektet, mens det kræver et lille regnestykke i en S7-1200.

Artiklen fortsætter. Læs mere

Siemens A/S
Borupvang 9
2750 Ballerup
Ballerup Kommune
Danmark
CVR nummer: DK16993085

Send til en kollega

0.031