Funktionsblok for AKD. For Siemens S7

Relaterede dokumenter
Opsætning af xcon og Logix Controller

Delta Elektronik A/S - AKD

NC_8_ Quick Guide v1.0. CJ1W-NC_8_ Position Control via EtherCAT. Quick Guide

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

CP1x Pulse Servo Quick Guide v1.00. CP1x med Servo - Servoløsning med Pulse Kontrol. Quick Guide

Robonet Profibus Generel opsætning

Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.

Hurtigt igang med Infranor CD1PMV52 og Siemens PLC

Hurtigt i gang med LinMot DeviceNet til Allen Bradley Logix Plc

Robonet Profibus S7 platform

IAI Quick Start Guide

WT-1011RC Programmer User Guide

Systemair Connect. Opsætning

Ruko SmartAir. Updater installation

Tildel fast IP adresse til BC9xx0 via System Manageren

WT-1011RC Programmer User Guide

IAI xcon Motion Instruktioner. For Rockwell RSLogix

SMARTair trådløs. Trin-for-trin guide

Nexus IP Quickguide. Til alle Nexus VW og FW modeller

HSYCO/ALARMS MANAGER INSTALLATION - AXIS KAMERA

LAB ØVELSE KONFIGURATION AF DHCP PÅ DANSK AF KIM DONNERBORG / RTS

DMX styring med USB-interface

IP Modul report / Netværks software manual 1.0 Funktions beskrivelse:

Netværk & elektronik

TIA-portal Motion Control

Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony)

Programmeringseksempel til CX/IPC

Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse.

Start af nyt schematic projekt i Quartus II

Contents. John Have Jensen Mercantec 2011

Quick Setup Guide SB168-ES og M7CL Dansk version

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Kursuskatalog 2017 TwinCAT 2 TwinCAT 3

Konfigurationsværktøj for MJK Instrumenter

Introduktion OBS: Forberedelse

MANUAL SKIOLD GØR EN FORSKEL DISTRIWIN SERVICE INSTALLATION

Antares Brugs- og monteringsanvisning. Programmeringssoftware for Cobra CAN BUS alarmer AK44XX & AK46XX

Vejledning til firmwareopdatering

Guide til indbygget PLC Teco 7300 CV frekvensomformere

Advanced Word Template Brugermanual

Installationsvejledning Alphacam 2017 R1

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.

Vejledning INSTALLATION AF ZHC5010 BETJENINGSTRYK MED FIBARO HOME CENTER. ZHC5010 Firmware Version: 1.0

PLC, opsætning af industrielle bussystemer

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

Conlan express Brugervejledning For Windows XP - Windows 7

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01.

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Foscam FI9853P og FI9851P med Fibaro Home Center

Call Recorder Apresa Brugermanual

OrCAD Capture TCL IDE med Eclipse

Kursuskatalog 2012 TwinCAT Basic og Extended

Hyper-V på Windows 8 64 Bit. Indhold. Vejledning i brug af Hyper-V på en Windows 8 maskine

TIA-portalen V13 Simatic Controller

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Adressering af ind- og ud gange på BCxxxx IEC1131 PLC uden TC system manager

Programmeringseksempel tl BCxxxx (Seriel)

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net

Opsætning af klient til Hosted CRM

Viditronic NDVR Quick Guide. Ver. 2.0

1. Du bliver mødt af denne boks. Klik på Gem, og gem filen et sted hvor du kan finde den igen.

NoteSync vejledning. Leba Innovation A/S

Motion Controller med integreret PLC

INSTRUKTION. OJ-DV Hterm. OJ Drives A DRIVES PROGRAMME DEDICATED TO VENTILATION SOLUTIONS /15 (OSH) 2015 OJ Electronics A/S

Installation af Bilinfo på Windows

QUICK MANUAL BRUGERNAVN: ADMIN PASSWORD: APP: SMARTEYES PRO PORT: SecVision - Quick Manual v1.0

Indholdsfortegnelse. Side 2 af 20

Diagnostic og Toolbox Instruktion. Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14

Opsætning af MobilePBX med Kalenderdatabase

Visility HSB vejledning

Installation. Aesiras Internet hjemmeside og webshop. Aesiras -integreret Regnskab, Handel og Internet

Beskrivelse af vejrstation OM1 NETLON NETLON. Dette dokument indeholder en beskrivelse af en vejrstation OM1 fra Netlon.

MSI pakke til distribution af AutoPilot komponenter.

AgroSoft A/S AgroSync

Westermo GDW-11 GSM Modem forbindelse til CXxxxx

MultiProgrammer Manual

Opdatering af firmware

TM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax

GSM SMS Modem MODEL: SA RTU-1 V1.01

Brugermanual. Wolfgang Wi-Fi Repeater

Vejledning til Autodesk Account - Autodesk Collection og Autodesk AutoCAD Toolset

Opgavehæfte til kursus i Netteknik7

Hurtig Start Guide 1

Installation af GPS med tilslutning til USB port

Tildel fast IP adresse til BC9xxx med BootP og oprettelse kommunikation fra TwinCat

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

Konfiguration af BOOX Nova. Der tages forbehold for trykfejl og ændringer i producentens / Googles software.

Installation af Point Yomani terminal

Transkript:

For Siemens S7

Indholdsfortegnelse Revisionslog... 3 Indledning... 4 Generelt... 4 Opsætning af Hardware... 5 ProfiNet Node parametre... 5 IP-adresse via rotary switches... 5 IP-adresse via link-local metode... 5 Node name & address... 6 Units... 10 S7 AKD kommunikation... 11 Datastrukturer... 11 UDT:AKD.Axis_RcvSend (UDT160)... 11 UDT:AKD.Axis_MaMsg (UDT163)... 12 UDT:AKD.Axis_State (UDT165)... 13 UDT:AKD.DIOStates (UDT166)... 13 UDT:AKD.FaultWarning (UDT167)... 14 UDT:AKD.MotionTableEntry (UDT168)... 14 S7 funktionsblok... 15 Indgange... 16 Udgange... 20 Programmering... 22 Hardware opsætning... 22 Software... 24 Side 2

Revisionslog Rev. Dato Af Beskrivelse 0.13d 2017-09-12 JBT Tilføjet mulighed for at ændre hastighedsprofil under kørsel med ny indgang icmd_changeprofile 0.13c 2016-12-13 GLR Hvis der gives negative hastigheder bliver de af blokken opfattet som store positive værdier. Rettet således at negative værdier altid opfattes numerisk positivte. 0.13b 2016-08-01 JBT Rettet en fejl, der muliggjorde at en Move bevægelse ikke altid startede. Kunne især opstå, hvis en ny kommando blev igangsat virkelig hurtig efter færdigmelding af en foregående bevægelse. 0.13 2015-01-16 JBT Rettelser og tilføjelser. Matcher nu AKD FW 1.13 0.01 2014-09-15 JBT Første version af dokument Side 3

Indledning Denne manual henvender sig til brugere af S7 platformen der ønsker at kunne anvende Kollmorgens AKD servodrev med ProfiNet interface. Delta Elektronik har udviklet en funktionsblok der muliggør anvendelsen af AKD sammen med ProfiNet ---- Det anbefales at have følgende Kollmorgen manual tilgængelige. Kollmorgen AKD User Guide EN Rev N.pdf (eller nyere) Følgende afsnit er især vigtige 6.2 Setting the IP Address VIGTIGT Anvendelsen af funktionsblokken er for brugerens eget ansvar. Delta Elektronik, kan på ingen måde drages til ansvar for eventuelle skader der måtte opstå ved anvendelsen af denne funktionsblok. Koden er åben (læsbar og redigerbar) for rettelser af slutbrugeren. Der henstilles til at eventuelle ændringer, både fejlrettelser samt udvidelser også tilgår Delta Elektronik. Delta Elektronik vil således opdatere og vedligeholde kodebasen til fælles bedste for alle brugere. Generelt Brugen af funktionsblokken adskiller sig ikke nævneværdigt fra brugen af andre 3. parts produkter på Step7 platformen, enten på ProfiBus eller ProfiNet. Dog er det et krav at funktionsblokken altid eksekveres cyklisk via OB1->FC/FB. Dette skyldes at opdatering og kommunikation med drevet foregår fra funktionsblokken. Side 4

Opsætning af Hardware I det følgende vises nogle nødvendige trin for at få et AKD-PN system sat op. ProfiNet Node parametre Første del er opsætning af netværk. I eksempel gennemgangen anvendes følgende ProfiNet parametre: PLC address: 10.0.4.160 Node name: akd-pn01 Node address: 10.0.4.101 Node subnet mask 255.255.248.0 Det antages at PC en er tilsluttet AKD-PN via det samme netværk. AKD kommer default fra fabrikken med netværksopsætning sat til DHCP. Er der ikke en DHCP server på netværket, hvor AKD er tilsluttet, henvises der til AKD-manualen afsnit 5.2 IP-adresse via rotary switches Denne metode er beskrevet i afsnit 5.2.2.2 Det er med de to drejehjul S1 og S2 muligt at tildele en IP adresse i området 192.168.0.1 192.168.0.99 S1 tildeler første ciffer og S2 andet ciffer f.eks. S1=3 og S2=5 giver en IP adresse på 192.168.0.35 Benyt ovenstående adresse og tilslut 24V til drevet. Indstilles S1/S2 mens der er spænding på drevet, er det nødvendigt at power off og derefter on for at drevet vil anvende de nye indstillinger Opret forbindelse til drevet med Workbench. Herefter skal nodenavn og den endelige IP adresse sættes. Dette gøres i afsnittet Node name & address IP-adresse via link-local metode Denne metode er beskrevet i afsnit 5.2.2.4 I praksis gøres følgende. - På drevet holdes knappen B1 inde i mindst 5 sekunder. Drevet vil herefter forsøge at få en IP-adresse, dette vil fejle og den tildeler sig selv en link-local adresse, f.eks. 169.254.250.212 - På PC en skal netværkskortet være indstillet til at få IP-adresser via DHCP - Herefter de-aktiveres netværkskortet (Højreklik på ikonet for det aktuelle netværkskort under Kontrolpanel\netværk og internet\netværksforbindelser) - Aktiver netværkskortet igen. Nu vil PC en forsøge at få en netværksadresse, fejl og tildele sig selv en adresse, f.eks 169.254.61.151 - Idet sub-mask for drevene bliver sat til 255.255.0.0 kan enhederne nu se hinanden. Opret forbindelse til drevet med Workbench Side 5

Node name & address Start Kollmorgen Workbench. På startskærmen skulle drevet nu gerne dukke op. Marker drevet i listen og tryk på Connect knappen. Der oprettes nu forbindelse til drevet. Side 6

På denne side navngives drevet (ProfiNet name) Ved Name: udskiftes no-name til det ønskede, i dette tilfælde akd-pn01 Side 7

Under device topology navigeres der nu til TCP/IP og de ønskede netværksparametre indtastes. Indtastningen afsluttes med tryk på knappen Apply. Derved kommer nedenstående pop-up Der svares Ja og ændringerne er gemt. Herefter er det ikke længere muligt at gå online før IP indstillingerne for PC en er ændret Disse ændres nu til noget der ligger i same scope. Side 8

For at få drevet til at dukke op som en profinet node skal 24V af og på igen før PLC en kan finde drevet. Efter genstart skulle drevet gerne dukke op på Workbench startsiden Kontrol ved brug af Primary Setup Tool Side 9

Units Drevet har mulighed for at modellere den mekanik motoren er tilsluttet. Dette giver den fordel at håndtering af enheder relateret til mekanikken beregnes i drevet i stedet for PLCen. Ligeledes vil drevet således kunne omregne mellem enheder, f.eks. kan der skiftes mellem mm og tommer. Følgende mekaniske konstruktioner kan drevet håndtere: Kun motor. (Med denne kan der anvendes bruger enheder, baseret på et lineært sammenhæng mellem motor og tilhørende mekanik) Spindel med møtrik Transportbånd Remtræk Tandremsbånd, lineær Remtræk, vinkelangivelse Fremtræksvalser DirectDrive, vinkel samt periferidistance Tandstandsføring Skive (f.eks. et rundbord), vinkel samt periferidistance Definition af mekanik foretages under fanen Units i WorkBench softwaren. Af hensyn til funktionsblokken, skal enhederne for position, hastighed og acceleration være identisk! Noter værdierne for PIN og POUT. Disse bruges til beregning af faktoren for enhedsskalering. (En variabel på funktionsblokken) UnitScale = PIN POUT Når denne faktor er kendt, anvender funktionsblokken den enhed brugeren har angivet. Side 10

S7 AKD kommunikation Kommunikation mellem S7 og AKD følger ProfiDrive standarden. Denne standard gør brug af forskellige telegrammer afhængig af hvilken måde brugeren ønsker at anvende drevet. De cykliske data der udveksles via telegrammet relateres til nogle parameternumre (PNU). Drevet sørger således for at mappe de relevante telegramdata til de tilsvarende drevparametre. Datastrukturer Til funktionsblokken er der tilknyttet forskellige datastrukturer. En har til formål at samle data der skal udveksles med drevet, andre har til formål at gruppere data således at dataudveksling med blokken simplificeres. UDT:AKD.Axis_RcvSend (UDT160) Denne UDT indeholder data der bruges af telegrammet der udveksles med drevet. Address Name Type Initial value Comment 0.0 STRUCT +0.0 Rcv STRUCT +0.0 ZSW1 STRUCT +0.0 FollowingErrorInRange BOOL FALSE Bit 8 Error window (PL.ERR and PL.ERRWTHRESH) +0.1 ControlRequestedByMaster BOOL FALSE Bit 9 ControlRequestedByMaster +0.2 TargetPositionReached BOOL FALSE Bit 10 DRV.MOTIONTASK Bit 0 (motion task active) +0.3 HomePositionSet BOOL FALSE Bit 11 DRV.MOTIONTASK Bit 1 & 2 (Homing finished) Bit 12 On positive edge, traversing task acknowledged or set point accepted +0.4 TraversingTaskAcknowledg BOOL FALSE Bit 12 On positive edge, traversing task acknowledged or set point accepted +0.5 DriveStopped BOOL FALSE Bit 13 No motion task is active. Axis is not moving. +0.6 B_14_DeviceSpecific BOOL FALSE Bit 14 Not implemented yet +0.7 B_15_DeviceSpecific BOOL FALSE Bit 15 Not implemented yet +1.0 ReadyToSwitchOn BOOL FALSE Bit 0 Ready To Switch On /Not Ready To Switch On +1.1 ReadyToOperate BOOL FALSE Bit 1 Ready To Operate / Not Ready To Operate +1.2 OperationEnabled BOOL FALSE Bit 2 Operation Enabled (drive follows velocity set point) / Operation Disabled +1.3 FaultPresent BOOL FALSE Bit 3 A fault is present in the drive +1.4 CoastStopNotActivated BOOL FALSE Bit 4 No coast stop is executed +1.5 QuickStopNotActivated BOOL FALSE Bit 5 No quick stop is executed +1.6 SwitchingOnInhibited BOOL FALSE Bit 6 SwitchingOnInhibited +1.7 WarningPresent BOOL FALSE Bit 7 WarningPresent =2.0 END_STRUCT +2.0 AKTSATZ1 WORD +4.0 ZSW2 WORD +6.0 ActualPosition DWORD =10.0 END_STRUCT +10.0 Send STRUCT +0.0 STW1 STRUCT +0.0 Jog_1_On BOOL FALSE Bit 8 Jog 1 On +0.1 Jog_2_On BOOL FALSE Bit 9 Jog 2 On +0.2 ControlByPLC BOOL FALSE Bit 10 when not set no command will be accepted from the PLC +0.3 StartHomingProcedure BOOL FALSE Bit 11 Homing mode is active. If bit is cleared, the homing is aborted and stop +0.4 B_12_DeviceSpecific BOOL FALSE Bit 12 Not implemented yet +0.5 B_13_DeviceSpecific BOOL FALSE Bit 13 Not implemented yet Side 11

+0.6 B_14_DeviceSpecific BOOL FALSE Bit 14 Not implemented yet +0.7 B_15_DeviceSpecific BOOL FALSE Bit 15 Not implemented yet +1.0 OnOff BOOL FALSE Bit 0 ON =1/ OFF =0 +1.1 NoCoastStop BOOL FALSE Bit 1 drive will not coast stop if this bit is set +1.2 NoQuickStop BOOL FALSE Bit 2 drive will not execute quick stop if this bit is set +1.3 EnableOperation BOOL FALSE Bit 3 drive will enable and execute command if all preconditions are set +1.4 DoNotRejectTraversTask BOOL FALSE Bit 4 Positive edge signal at bit 6 activated an traversing task? +1.5 NoIntermediateStop BOOL FALSE Bit 5 Traversing task can be interrupted and start again with this bit +1.6 ActivateTraversTask BOOL FALSE Bit 6 Positive edge signal starts a traversing task +1.7 FaultAcknowledge BOOL FALSE Bit 7 set this bit to reset faults in the drive =2.0 END_STRUCT +2.0 SATZANW1 WORD +4.0 STW2 WORD +6.0 MDI_TARPOS DWORD Motion Direct: Target position +10.0 MDI_VELOCITY DWORD Motion Direct: Velocity +14.0 MDI_ACC WORD Motion Direct: Acceleration +16.0 MDI_DEC WORD Motion Direct: Deceleration +18.0 MDI_MOD WORD Motion Direct: Deceleration =20.0 END_STRUCT =30.0 END_STRUCT UDT:AKD.Axis_MaMsg (UDT163) Denne struktur indeholder fejl-bit der sættes såfremt der opstår fejl. Address Name Type Initial value Comment 0.0 STRUCT +0.0 ErrTO_Homing BOOL FALSE Error timeout homing +0.1 ErrTO_Pos BOOL FALSE Error timeout positioning +0.2 ErrRes_0_2 BOOL FALSE +0.3 ErrRes_0_3 BOOL FALSE +0.4 ErrActSlave BOOL FALSE Error activating slave +0.5 ErrCfgInput BOOL FALSE Error configuration input +0.6 ErrRcv BOOL FALSE Error receiving data +0.7 ErrCfgOutput BOOL FALSE Error configuration output +1.0 ErrSend BOOL FALSE Error sending data +1.1 ErrAxis BOOL FALSE Error from axis +1.2 ErrReadWrite BOOL FALSE Error request Read and Write together +1.3 ErrRes_1_3 BOOL FALSE +1.4 ErrRes_1_4 BOOL FALSE +1.5 ErrRes_1_5 BOOL FALSE +1.6 ErrRes_1_6 BOOL FALSE +1.7 ErrCmd BOOL FALSE Error more than one request command active =2.0 END_STRUCT Side 12

UDT:AKD.Axis_State (UDT165) Denne struktur kan anvendes til udlæsning af forskellige tilstande fra drevet. Address Name Type Initial value Comment 0.0 STRUCT +0.0 HomingActive BOOL FALSE *Axis is homing +0.1 JoggingActive BOOL FALSE *Axis is jogging +0.2 VelocityIsZero BOOL FALSE *Axis velocity is zero +0.3 MotionTaskActive BOOL FALSE *Axis motion task is active +0.4 InPosition BOOL FALSE *Axis is in position +0.5 Res_0_5 BOOL FALSE +0.6 Res_0_6 BOOL FALSE +0.7 Res_0_7 BOOL FALSE +1.0 HomingOk BOOL FALSE *Axis is homed +1.1 CommunicationOk BOOL FALSE *Axis PNet communication is ok +1.2 InitOk BOOL FALSE *Axis initialisation is ok +1.3 InitError BOOL FALSE *Axis initialisation error +1.4 OpModePNetOk BOOL FALSE *Axis opmode ProfiNet is ok +1.5 OpModePNetError BOOL FALSE *Axis opmode ProfiNet error +1.6 WarningActive BOOL FALSE *Axis warning active +1.7 WarnPositionError BOOL FALSE *Axis warning position error +2.0 P0_NotReadySwitchOn BOOL FALSE *state diagram +2.1 S1_SwitchOnInhibited BOOL FALSE *state diagram +2.2 S2_ReadyForSwitchOn BOOL FALSE *state diagram +2.3 S3_ReadyForOperation BOOL FALSE *state diagram +2.4 S4_OperationEnabled BOOL FALSE *state diagram +2.5 P11_FastStopActive BOOL FALSE *state diagram +2.6 P13_ErrorReaction BOOL FALSE *state diagram +2.7 P14_ErrorActive BOOL FALSE *state diagram =4.0 END_STRUCT UDT:AKD.DIOStates (UDT166) Denne struktur anvendes ved udlæsning af status for de digitale ind- og udgange Address Name Type Initial value Comment 0.0 STRUCT +0.0 DIn1 BOOL FALSE DIN1.STATE +0.1 DIn2 BOOL FALSE DIN2.STATE +0.2 DIn3 BOOL FALSE DIN3.STATE +0.3 DIn4 BOOL FALSE DIN4.STATE +0.4 DIn5 BOOL FALSE DIN5.STATE +0.5 DIn6 BOOL FALSE DIN6.STATE +0.6 DIn7 BOOL FALSE DIN7.STATE +0.7 DOut1 BOOL FALSE DOUT1.STATE +1.0 DOut2 BOOL FALSE DOUT2.STATE =2.0 END_STRUCT Side 13

UDT:AKD.FaultWarning (UDT167) Denne struktur anvendes ved udlæsning af fejl og advarsler fra drevet. Address Name Type Initial value Comment 0.0 STRUCT +0.0 Faults ARRAY[1..10] Array read out of errors *2.0 WORD +20.0 Warnings ARRAY[1..3] Array read out of warnings *4.0 DWORD =32.0 END_STRUCT UDT:AKD.MotionTableEntry (UDT168) Denne struktur anvendes ved opsætning af motion tabellen i drevet Address Name Type Initial value Comment 0.0 STRUCT +0.0 MT_NUM INT 0 Mation task table number +2.0 MT_P REAL 0.000000e+000 Target position +6.0 MT_V REAL 0.000000e+000 Target velocity +10.0 MT_ACC REAL 0.000000e+000 Acceleration +14.0 MT_DEC REAL 0.000000e+000 Deceleration +18.0 MT_CNTL DWORD DW#16#0 Control word - see manual for details +22.0 MT_TNUM INT Profile table number [0..7] User profiles must be made in Kollmorgen 0 WorkBench +24.0 MT_MTNEXT INT 0 Motion task to execute next [0..127] +26.0 MT_TNEXT WORD W#16#0 Delay before next motion task [ms] =28.0 END_STRUCT Side 14

S7 funktionsblok I det følgende gennemgås funktionsblokken for S7. Selve funktionsblokken er vist nedenfor Side 15

Indgange Name Type Comment LAddrIn WORD HW address for input data LAddrOut WORD HW address for output data LAddrDiag WORD HW address for diagnostic data ClockByte BYTE S7 hardware clock byte ienerror BOOL Enable error messages iactslave BOOL Activate PNet-slave icontrolbyplc BOOL Axis control by PLC iopmode INT Operation mode ienable BOOL Enable Axis iestop BOOL E-Stop ireset BOOL Reset command icmd_jog1 BOOL Jog using AKD parameter SM.V1 icmd_jog2 BOOL Jog using AKD parameter SM.V2 icmd_jogp BOOL Using direct inputs for jog (JogP=CW) icmd_jogn BOOL Using direct inputs for jog (JogN=CCW) icmd_moveabs BOOL Start command icmd_moverel BOOL Start command icmd_movetable BOOL Start command icmd_home BOOL Start command icmd_changeprofile BOOL Run Command: Change motion profile on active move imotiontaskno INT Motion task No stored in drive (0..127) UnitScale REAL Scaling factor for unit conversion DirectPosition REAL Position for absolute move / Distance for relative move DirectSpeed REAL Speed for absolute/relative move DirectAcceleration REAL Acceleration for absolute/relative moves DirectDeceleration REAL Deceleration for absolute/relative moves iwritemt BOOL Start command MTEntry "UDT:AKD.MotionTableEntry" Entry to write to Motion Table LAddrIn, LAddrOut & LAddrDiag Her angives de adresser drevet er tildelt fra HW-manageren. ClockByte Her angives den M-byte der anvendes til Clock Memory. Clock Memory skal være opsat i HW-manageren ienerror Sættes denne indgang høj, tillades det at fejl og advarsler gemmes i udgangsstrukturen omamsg. Ligeledes vil en fejl i denne udgangsstruktur sættes udgangen oerror. Side 16

iactslave Denne indgang bruges til at koble drevet af/på profinettet. Er indgangen høj vil drevet forsøge at koble sig på profinettet som en node. Er indgangen lav, vil drevet ikke være på Profinettet og netforbindelsen kan frakobles drevet. Dette kan især anvendes på maskiner og udstyr der er mobilt og ønskes koblet af/på et maskinanlæg. icontrolbyplc Sættes denne indgang høj, vil styring af drevet foretages af PLCen gennem funktionsblokken. Det vil således ikke længere være muligt at styre drevet fra Kollmorgen WorkBench software. iopmode Denne indgang bestemmer hvilken mode drevet skal arbejde i. 0 = Torque mode 1 = Velocity mode 2 = Position mode. For nuværende er det kun iopmode=2 der er understøttet gennem det tilhørende telegram ienable Med denne indgang styres enable funktionen af drevet. Sættes indgang, og drevet er klar til at blive enabled, vil drevet enable. Er drevet aktivt og indgangen fjernes vil drevet disable. Er en bevægelse startet (Jog, positionering) vil det coaste til stilstand!) iestop Denne indgang bruges til at starte QuickStop af drevet. Under normal drift skal indgangen være høj. Er den ikke det, er det endvidere ikke muligt at enable drevet. Ønsker man i forbindelse med sikkerhedsfunktioner (Nødstop, lågekontakt) at stoppe drevet inden effekten fjernes fra motoren gennem STO indgangen, lægges denne indgang lav. Drevet vil således foretage et QuickStop til stilstand. Det er vigtigt at STO ikke fjernes førend motoren står stille. Fjernes STO inden motoren er i stilstand vil den drive (coaste) til standsning. Det er naturligvis risikovurderingen der bestemmer forsinkelsen fra Stop 0 til STO fjernes. ireset Med denne indgang kvitteres/nulstilles fejl i blokken. Ligeledes vil der sendes et reset signal til drevet, for at nulstille fejl i denne. icmd_jog1 Denne indgange vil starte en jog-bevægelse. Hastigheden der køres med opsættes i drevet. (SM.V1) icmd_jog2 Denne indgange vil starte en jog-bevægelse. Hastigheden der køres med opsættes i drevet. (SM.V2) icmd_jogp Denne indgang vil starte en jog-bevægelse i positiv retning. Hastigheden styres med indgangen DirectSpeed. Accelerationen angives med DirectAcceleration. Decelerationen angives med DirectDeceleration. Side 17

icmd_jogn Denne indgang vil starte en jog-bevægelse i negativ retning. Hastigheden styres med indgangen DirectSpeed. Accelerationen angives med DirectAcceleration. Decelerationen angives med DirectDeceleration. icmd_moveabs Denne indgang vil igangsætte en bevægelse til en absolut position. Den absolutte position angives med indgangen DirectPosition Hastigheden styres med indgangen DirectSpeed. Accelerationen angives med DirectAcceleration. Decelerationen angives med DirectDeceleration. icmd_movevel Denne indgang vil igangsætte en relativ bevægelse i forhold til den aktuelle position. Den relative distance angives med indgangen DirectPosition Hastigheden styres med indgangen DirectSpeed. Accelerationen angives med DirectAcceleration. Decelerationen angives med DirectDeceleration. icmd_movetable Med denne indgang kan bevægelser gemt i drevets Motion Task tabel startes. Det ønskede tabel nummer der skal startes angives med indgang imotiontaskno icmd_home Med denne indgang igangsættes homing-sekvensen. Homing-sekvensen opsættes i drevet med WorkBench softwaren icmd_changeprofile Med denne indgang kan hastighedsprofilen på den igangværende bevægelse ændres. Ved absolut positionering angives den nye position på indgangen DirectPosition Ved relative positionering angives den nye relative distance på indgangen DirectPosition. Bemærk: relative distancer er altid fra den position drevet modtager den nye distance Hastigheden styres med indgangen DirectSpeed. Accelerationen angives med DirectAcceleration. Decelerationen angives med DirectDeceleration. imotiontaskno Denne indgang angiver hvilket tabelnummer i drevets Motion Task tabel der startes når icmd_movetable sættes høj. UnitScale Med denne angives skaleringen for mekanikken. Opsætning/definition af mekanikken gøres i WorkBench Softwaren under Units. XXX Dette uddybes i afsnittet omkring opsætning Side 18

DirectPosition Ved absolut positionering angiver denne indgang slutpositionen. Ved relativ positionering angiver indgangen den relative distance der skal køres. Enheden for indgangen er defineret af mekanikken. (WorkBench / Units) DirectSpeed Ved absolut/relativ positionering angiver denne indgang hastigheden der køres. Ved jog-bevægelser (JogP/JogN) angiver indgangen jog-hastigheden. Enheden for indgangen er defineret af mekanikken. (WorkBench / Units) DirectAcceleration Ved absolut/relativ positionering angiver denne indgang accelerationen for bevægelsen. Ved jog-bevægelser (JogP/JogN) angiver indgangen jog-accelerationen. Enheden for indgangen er defineret af mekanikken. (WorkBench / Units) DirectDeceleration Ved absolut/relativ positionering angiver denne indgang decelerationen for bevægelsen. Ved jog-bevægelser (JogP/JogN) angiver indgangen jog-decelerationen. Enheden for indgangen er defineret af mekanikken. (WorkBench / Units) iwritemt Denne indgang styrer skrivning til drevets Motion Task tabel. Data der ønskes overført til en tabellinje opsættes med indgangen MTEntry. MTEntry Indgang med data for opsætning af en tabellinje i drevets Motion Task tabel. Side 19

Udgange Name Type Comment omamsg "UDT:AKD.Axis_MaMsg" Alarms and messages ostate "UDT:AKD.Axis_State" Drive state and status oenable_ok BOOL Drive enabled oestopactive BOOL E-Stop activated osto_state BOOL Status for STO-input ohw_enable BOOL Status for HW-Enable input oopmodepnet WORD *Actual Opmode ProfiNet oactualposition REAL Actual position oactualspeed REAL Actual velocity odrivefaultwarnings "UDT:AKD.FaultWarning" Faults and warnings in drive odiostate "UDT:AKD.DIOStates" Digitial IO status oerror BOOL Error present ocmd_done BOOL Command finished ocmd_busy BOOL Busy executing a command ocmd_error BOOL Command failed ocmd_ BOOL Change of movement profile command completed owritemt_done BOOL Writing motion command table done owritemt_error BOOL Writing motion command table failed omamsg Udgang, indeholdende forskellige fejl og advarsler. ostate Udgang, indeholdende forskellige statussignaler, dels fra drevet dels fra funktionsblokken. oenable_ok Høj hvis drevet er enabled. oestopactive Høj hvis iestop falder. osto_state Indikering status af drevets STO-indgang ohw_enable Indikering af drevets HW-enable indgang. oopmodepnet Indikerer hvilken mode drevet arbejder i. 0 = Torque mode 1 = Velocity mode 2 = Position mode. oactualposition Udlæsning af motorens aktuelle position. Enheden for udgangen er defineret af mekanikken. (WorkBench / Units) oactualspeed Udlæsning af motorens aktuelle hastighed. Enheden for udgangen er defineret af mekanikken. (WorkBench / Units) Side 20

odrivefaultwarnings Her udlæses de fejl og advarsler der er i drevet. odiostate Her udlæses status for de digitale indgange og udgange. oerror Denne udgang sættes, såfremt en fejl/advarsel er sat i udgangen omamsg (hvis indgangen ienerror er sat) eller der er fejl i drevet. ocmd_done Denne udgang går høj, når en positionering (icmd_moveabs, icmd_movevel, icmd_movetable & icmd_home) er færdig. ocmd_busy Denne udgang går høj, når en bevægelse er i gang. (icmd_moveabs, icmd_movevel, icmd_jog, icmd_movetable & icmd_home) ocmd_error Denne udgang går høj, hvis en bevægelse fejler. (icmd_moveabs, icmd_movevel, icmd_jog, icmd_movetable & icmd_home) ocmd_profilechanged Høj ved en succesfuld opdatering af den aktive bevægelse til en ny bevægelsesprofil. owritemt_done Høj ved en succesfuld skrivning af en linje til drevets Motion Task table. owritemt_error Høj hvis en skrivning af en linje til drevets Motion Task table fejlede. Side 21

Programmering I det efterfølgende vil anvendelsen af funktionsblokken blive gennemgået. Hardware opsætning Såfremt GSDML-filen for AKD ikke er installeret skal denne installeres i S7 første gang. Dette gøres som normalt i HW Config softwaren GSDML filen er gemt sammen med AKD-firmwaren i den tilhørende zip-fil. Denne kan downloades fra Kollmorgens hjemmeside: http://www.kollmorgen.com/en-us/products/drives/servo/akd/ under fanen Software/Firmware Alternativt kan den hentes fra Delta elektroniks hjemmeside: http://www.deltaelektronik.dk/dvd/produkter/kollmorgen/software/firmware/firmware%20akd/ Opsætningen af hardware i dette eksempel tager udgangspunkt i de parametre angivet i afsnittet ProfiNet Node parametre. I eksemplet nedenfor er der kun en S7-CPU samt AKD-drevet på ProfiNet. For CPUen skal der allokeres en M-byte til Clock memory! Se evt. i afsnit S7 funktionsblok-indgange under Clockbyte For nuværende understøtter Deltas funktionsblok kun Standard telegram 9. Denne skal derfor anvendes. Bemærk i øvrigt at funktionsblokken også gør brug af diagnostic adressen, hvorfor det vil være en god ide også at notere denne ned i sin dokumentation. I dette eksempel 2043d ~ 7FBh Side 22

Efterfølgende skal AKD noden konfigureres. Dobbeltklikkes på noden dukker nedenstående dialogboks frem. For Device name anvendes det navn AKD drevet blev tildelt under opsætningen. I checkboxen Assign IP address via IO controller er muligheden fravalgt. Ønskes det at S7 tildeler drevet en IP adresse via node name skal checkboxen vælges og IP adresse parametrene udfyldes. Efterfølgende vælges fanen IO Cycle. Dialogboksen udfyldes som vist. Såfremt applikation AKD drevet skal indgå i, er meget dynamisk, f.eks. mange takter over kort tid, kan man reducere Update time til 16ms Gøres dette vil kommunikation mellem CPU og drev være hurtig. Dette vil så være på bekostning af kommunikationen med Workbench softwaren. Sluttelig downloades konfigurationen til CPUen. Vær opmærksom på at drevet ikke nødvendigvis er aktivt, hvis man går online via HW config. Dette skyldes mulighed for at deaktivere drevet fra bussen via software. Side 23

Software Så skal applikationssoftwaren skrives. Første gang skal funktionsblokken skal bruges skal den kopieres ind fra et eksisterende projekt eller importeres fra sourcekoden, der efterfølgende kompileres. Copy/paste metoden er som copy/paste nu engang er, så det bliver ikke beskrevet yderligere. Husk dog også at få de tilhørende UDTer kopieret med over i det nye projekt. Følgende er metoden for at importere og kompilere source-koden: Først skal symbolerne importeres. Følgende symboler anvendes a koden: FB60, UDT160, UDT163, UDT165..UDT169. Er disse allerede brugt i applikationen skal de omdøbes inden import, idet de eksisterende symboler bliver overskrevet. Symbolerne omdøbes nemmest ved at åbne symbolfilen (sdb_akd-pn-rev1.3.awl.asc) i en teksteditor, f.eks. notepad, og så re-nummerere symbolerne til det ønskede. Husk at ændre i begge kolonner! De 126 i begyndelsen af hver linje, er antal tegn der importeres. Hver linje har en længde 131, inkluderet heri er længdeangivelsen på 126. Herefter er symbolfilen klar til at blive importeret. Først åbnes symboltabellen i symbol-editoren ved at dobbeltklikke på den. I Symbol Editor vælges der i hovedmenuen Symbol Table\import Dette bevirker en dialogboks dukker op. Side 24

Herfra navigeres der til placeringen af symbol-filen {sdb_akd-pn-rev1.3.awl.asc} Derefter trykkes der på Åbn Herefter kommer en dialogboks, der fortæller at Undo ikke længere er muligt. Klik på Ja for at fortsætte. Symbolerne importeres og der dukker endnu en dialogboks op som fortæller om forløbet. Forhåbentlig forløb det fejlfrit og der kan trykkes på Nej. Trykkes der Ja, åbnes der en logfil i Notepad. Nedenfor vises symbollisten efter import. Gem denne fil (Ctrl+S) og luk derefter editoren (Alt+F4) Nu skal sourcekoden importeres. I SIMATIC Manager for projektet, Højreklikkes på Sources. Derefter vælges der: Insert New Object\External Source Dette bevirker en dialogboks dukker op. Side 25

Herfra navigeres der til placeringen af sourcekodefilen { src_akd-pn-rev1.3.awl} Derefter trykkes der på Åbn Filen er nu importeret. For at kompilere sourcekoden højreklikkes der på koden og der vælges compile. Dette bevirker at Ladder-editoren åbnes for at kompilere koden. Efter endt og succesfuld kompilering skulle der gerne være helt blankt i bunden af editoren i fanen 1: Error. I SIMATIC manageren skulle Funktionsblokken samt tilhørende UDTer nu være tilgængelige. For videre illustration oprettes der nu en FC60 som container for FB60. I denne FC laves et kald til FB60, med DB60 som instansdatablok. Det skal bemærkes at funktionsblok FB60 sagtens kan indgå i en anden funktionbloks instansdata (multiinstans) men dette vises ikke her. Side 26

Her ses HW-relateret opsætning af funktionsblokken. LAddrIn henviser til I-adressen for AKDdrevet i HW-manageren. (W#16#100 ~ 256) LAddrOut henviser til Q-adressen for AKDdrevet i HW-manageren. (W#16#100 ~ 256) LAddrDiag henviser til diagnostic-adressen for AKD-drevet i HW-manageren. (W#16#7FB ~ 2043) For at lette fejlfinding, kan man med fordel åbne DB60 og så monitere den online. Dette gør det lettere at få information for udgangene omamsg samt ostate. I det efterfølgende bruges M-ord til at interface med indgangene. På ienerror er M0.1, der er et bit der altid er høj. Det er således muligt at få ekstra information på omamsg. Først skal drevet kobles på ProfiNettet. Dette gøres ved at sætte M20.0 høj. Der kigges efterfølgende på udgang ostate.communicationok. Når denne går høj er der kommunikation med drevet. Kigges der på udgangen oerror og også omamsg kan eventuelle fejl og advarsler observeres. Indledningsvis vil det være HW-konfigurationen der er interessant så derfor kigges der på omamsg.errcfginput, omamsg.errcfgoutput og omamsg.erractslave. Er der ingen fejl er, bliver næste trin at overtage kontrollen med drevet. Dette gøres ved at sætte icontrolbyplc (M20.1) høj. Så længe icontrolbyplc er lav, kan drevet styres fra WorkBench softwaren. Er der fejl i drevet kan disse udlæses med odrivefaultwarnings. Fejl kan så forsøges resat med indgang ireset (M21.2). For uddybning af de enkelte fejlkoder, henvises der til AKD manualen afsnit 20 Faults and Warnings. Da funktionsblokken kun understøtter positionering, er iopmode sat til 2. Når drevet er i positioning mode, kan dette ses ved at oopmodepnet ligeledes er 2. Er der ingen fejl samtidig med osto_state og ohw_enable er høj er drevet klar til at blive enabled. Først skal iestop (M21.1) dog sættes høj. Dette skulle gerne bevirke at oestopactive går lav. Kontroller også at ostate.s1_switchoninhibited eller ostate.s2_readyforswitchon er høj. Nu sættes ienable (M21.0) høj. Går oenable_ok høj, er drevet enabled. Ligeledes vil ostate.s4_operationenabled være høj. Side 27

Med icmd_jog1 startes en jog bevægelse. Hastigheden der køres er bestemt i drevet med parameteren SM.V1. Med icmd_jog2 startes en jog bevægelse. Hastigheden der køres er bestemt i drevet med parameteren SM.V2. Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter bevægelsen, går udgangen ocmd_busy høj og forbliver sådan indtil kommandoen fjernes. Med icmd_jogp startes en jog bevægelse i positiv retning. Med icmd_jogn startes en jog bevægelse i negativ retning. Hastigheden, acceleration og deceleration for bevægelsen angives på indgangene DirectSpeed, DirectAcceleration og DirectDeceleration. Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter bevægelsen, går udgangen ocmd_busy høj og forbliver sådan indtil kommandoen fjernes. Med icmd_moveabs startes en positionering til en absolut position. Slutpositionen angives med indgang DirectPosition. Hastigheden, acceleration og deceleration for bevægelsen angives på indgangene DirectSpeed, DirectAcceleration og DirectDeceleration. Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter bevægelsen, går udgangen ocmd_busy høj og forbliver sådan indtil drevet har opnået slutpositionen. Når slutpositionen er opnået går udgangen ocmd_done høj og forbliver høj indtil kommandoen fjernes. Fjernes kommandoen før drevet opnår slutpositionen, standes bevægelsen og udgangen ocmd_busy går lav. Med icmd_moverel startes en kørsel med en relativ distance Kørselsdistancen angives med indgangen DirectPosition. Hastigheden, acceleration og deceleration for bevægelsen angives på indgangene DirectSpeed, DirectAcceleration og DirectDeceleration. Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter bevægelsen, går udgangen ocmd_busy høj og forbliver sådan indtil drevet har opnået slutpositionen. Når slutpositionen er opnået går udgangen ocmd_done høj og forbliver høj indtil kommandoen fjernes. Fjernes kommandoen før drevet har kørt distancen, standes bevægelsen og udgangen ocmd_busy går lav. Med icmd_movetable startes en i drevet forprogrammeret bevægelse. Bevægelserne er gemt i drevet som motion tasks. Disse kan ændres med WorkBench softwaren. Det er muligt at kæde flere af disse task sammen, således at selv meget specielle bevægelser kan udføres. Drevet har mulighed for at have 127 motion task. I WorkBench vises dog 128 motion task, men #0 bruges til at gemme værdierne af indgangene DirectPosition, DirectSpeed, DirectAcceleration og DirectDeceleration. Derfor kan task #0 ikke anvendes. Det motion task der ønskes udført, angives med indgangen imotiontaskno Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter bevægelsen, går udgangen ocmd_busy høj og forbliver sådan indtil drevet har opnået slutpositionen. Når slutpositionen er opnået går udgangen ocmd_done høj og forbliver høj indtil kommandoen fjernes. Fjernes kommandoen før drevet opnår slutpositionen, standes bevægelsen og udgangen ocmd_busy går lav. Side 28

Med icmd_home startes startes homing af drevet. Homing sekvensen defineres i drevet under fanen Home. Her vælges den homing metode der passer til den anvendte mekanik. Såfremt det ikke er muligt at foretage bevægelse, vil udgangen ocmd_error gå høj. Starter homing, går udgangen ocmd_busy høj og forbliver høj indtil drevet har gennemført homing sekvensen. Når homing sekvensen er fuldført går udgangen ocmd_done høj og forbliver høj indtil kommandoen fjernes. Fjernes kommandoen før drevet har udført homing sekvensen, standes bevægelsen og udgangen ocmd_busy går lav. Med indgangen UnitScale angives skaleringsfaktoren for den tilsluttede mekanik. Beregningen af denne er vist i afsnittet Units. Først når UnitScale er angivet korrekt vil der være overensstemmelse mellem drevet position PL.FB og den position der kan udlæses fra funktionsblokken på oactualposition. Ligeledes er det også først nu hastigheden udlæses korrekt på udgang oactualspeed. Opsætning af Motion Task fra funktionsblokken, gør brug af UDTen UDT:AKD.MotionTableEntry. I dette eksempel er den erklæret i DB61 (DemoDB) som variablen MT. Altså DemoDB.MT som symbolsk navn. Udfyld variable med ønskede værdier. DemoDB.MT.MT_NUM DemoDB.MT.MT_P DemoDB.MT.MT_V DemoDB.MT.MT_ACC DemoDB.MT.MT_DEC DemoDB.MT.MT_CNTL DemoDB.MT.MT_TNUM DemoDB.MT.MT_MTNEXT DemoDB.MT.MT_TNEXT Der henvises til AKD-manualen afsnit 25.30 MT Parameters and Commands for detaljerede forklaringer til de enkelte variable. For at skrive indholdet af DemoDB.MT til drevet skal indgang iwritemt sættes høj. Såfremt overførslen lykkes, vil udgang owritemt_done gå høj. Indgang iwritemt kan herefter sættes lav igen, hvilket bevirker at udgang owritemt_done går lav. Skulle overførslen fejle, vil udgang owritemt_error gå høj. Indgang iwritemt kan herefter sættes lav igen, hvilket bevirker at udgang owritemt_error går lav. Side 29