You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
Skrevet av Magnus Antonsen - Industrielle Styresystemer 2023/2024
Utstyrsliste:
- WAGO 750-8214 PLS
- CoDeSys 3.5 Patch 18
- Omron R88D-1SN04H-ECT
- Omron 400W Servo Motor
Det som er viktig å konfigurere før man kobler sammen PLS til Omron-driverne er å laste ned programvare og endre et par innstillinger.
- Last ned enhetsbeskrivelse for ServoDriveren, dette er en XML fil som inneholder informasjon om Omron-driveren slik at codesys kan kommunisere med de. Det finner du på denne lenken: ://industrial.omron.no/no/products/R88D-1SN04H-ECT#ddf
- Etter du har lastet ned dette åpner du CoDeSys og klikker på "device repository", derfra installerer du XML-filen for din omron-driver.
- Nå som filen er innstallert er det mulig å høyreklikke i enhetstreet i CoDeSys å velge "add device", da kan du søke etter EtherCAT-master.
- Hvis du har prøvd å koble til CoDeSys til driverne nå, vil ikke PLS'en ha funnet Omron-driverne som "slave-enheter" enda. Det er fordi du må endre innstillingene på selve PLS'en. Gå til nettleseren din mens du er tilkoblet samme internett som PLS'en din, skriv inn ip-addressen som er der og logg inn. Dette er Wago sin web-portal, og her kan du endre EthX2 til en seperert utgang fra EthX1. Følg guiden for å gjøre dette. https://techdocs.wago.com/Software/eCOCKPIT_Migration/en-US/2406598027.html
- Nå kan du koble driverne og søke etter enheter ved å høyreklikke på EtherCAT Masteren i enhetstreet ditt i CoDeSys.
- Nå som kommunikasjonen er ferdig må du legge til SoftMotion i CoDeSys. Dette gjør du ved å høyreklikke på Wago 750-8214 device´n og velg "Enable SoftMotion".
- Legg til SoftMotion CiA402 Axis på hver slaveenhet.
- Til slutt bør du teste om du får gitt kommandoer til servoene dette gjør du ved å copy paste koden under i et program som kjører som en EtherCAT-Task.
PROGRAM MOTION_PRG
VAR
iStatus: INT;
Power: MC_Power;
MoveAbsolute: MC_MoveAbsolute;
p:REAL:=100;
END_VAR
CASE iStatus OF
// initialization of the axis
0:
Power(Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE, Axis:=Drive);
IF Power.Status THEN
iStatus := iStatus + 1;
END_IF
// Move the axis to position p by use of the MC_MoveAbsolute function block
1:
MoveAbsolute(Execute:=TRUE, Position:= p, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);
IF MoveAbsolute.Done THEN
MoveAbsolute(Execute:=FALSE, Axis:=Drive);
iStatus := iStatus + 1;
END_IF
// Move the axis back to position 0 by use of the MC_MoveAbsolute function block:
2:
MoveAbsolute(Execute:=TRUE, Position:= 0, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);
IF MoveAbsolute.Done THEN
MoveAbsolute(Execute:=FALSE, Axis:=Drive);
iStatus := 1;
END_IF
![](/wiki/download/attachments/332336385/ethercat.png?version=1&modificationDate=1705934829574&api=v2)