Kenmerken en voordelen
- Omvangrijk aantal functies gebaseerd op de CANopen® specificatie CiA® 301
- Ondersteuning van statusweergave conform CiA 303-3
- Ondersteuning van Layer Setting Services volgens CiA 305
- Maakt een snelle en eenvoudige ontwikkeling van CANopen-instrumenten (Slave en Master) mogelijk
- Modulaire softwarestructuur met uitgebreide configuratie- en verschalingsmogelijkheden
- Hoge efficiëntie tegen minimale kosten
- Helder gestructureerde, eenvoudige programmeerinterface voor het verbinden met het applicatieprogramma
- Eenvoudig verplaatsbaar naar alternatieve microcontrollers
- Ondersteunt meerdere kanalen
Functie-overzicht
De CANopen Protocol Software bevat alle benodigde functies voor de implementatie van eenvoudige CANopen Master of CANopen Slave-componenten in de CANopen specificatie CiA301.
Schaalbaarheid en hardwarespecifieke adaptatie:
om een hoge mate van schaal- en aanpasbaarheid te waarborgen wordt het softwarepakket via centrale bestanden geconfigureerd. Eén configuratiebestand maakt het mogelijk de, door het protocolstack ter beschikking gestelde, CANopen-functionaliteit optimaal aan te passen aan de gegeven applicatie en daarmee de beschikbare middelen meer efficiënt te benutten. Dit zorgt voor een uitermate kostenbesparende implementatie. De kernfunctionaliteit van de CANopen Software is onafhankelijk van de architectuur van de individuele CANcontroller tot stand gebracht; de eigenlijke CAN-controller is volledig ingekapseld in een separate software module. Aanpassing aan het gebruikte type microcontroller (o.a. interrupts, timer) wordt in een centraal bestand gerealiseerd.
Ondersteuning van meerdere kanalen:
de Ixxat CAopen Protocol Software is op aanvraag beschikbaar in een uitvoering met meerdere kanalen.
Deze uitvoering stelt de gebruiker in staat om meerdere, onafhankelijke CANopen-componenten binnen één veldinstrument te implementeren. NMT Master of Slave functies kunnen onafhankelijk in elk kanaal worden geconfigureerd, elk met volledig onafhankelijke objectcatalogussen. De Multi-Kanaal CANopen-Protocol Software ondersteunt verder het parallel gebruiken van verschillende CAN-controllers in elk van de kanalen.
Objectcatalogus en Programmeerinterface:
de objectcatalogus vertegenwoordigt de interface tussen de applicatie en de communicatie-interface. Elke objectcatalogus-invoer kan per direct een referentie toewijzen aan een variabele met applicatiedata. PDO’s en SDO’s hebben direct toegang tot deze applicatievariabelen. Hierdoor zijn aanpassingen aan bestaande applicaties niet noodzakelijk om een CANopen-Protocolstack te integreren. Gebruikersspecifieke ‘Call-Back’-functies kunnen met elk applicatieobject worden verbonden en maken gebeurtenisgestuurde signalering naar de applicatie mogelijk zodra deze objecten worden benaderd. Dit mechanisme staat directe, applicatiespecifieke reacties toe op veranderingen in de applicatiedata als gevolg van triggers aan de buszijde. Daarbij wordt ook de mogelijkheid tot het opslaan en registreren van geconfigureerde data ondersteund.
Proces- (PDO) en Servicedata-objecten (SDO):
de CANopen Protocol Software ondersteunt asynchrone (met of zonder gebeurtenistimer), synchrone (cyclisch en acyclisch) en, op verzoek, (RTR) PDO overdrachtstypen. PDO-mapping kan zowel statisch als dynamisch worden uitgevoerd, afhankelijk van de beschikbare middelen en de benodigde reactiesnelheid. Daarnaast ondersteunt de protocol software eveneens multiplex PDO’s inclusief scanner en dispatcherlijsten. Ook Dummy Mapping is mogelijk, evenals variabele onderbrekingsmomenten. Objecten kunnen in meerdere PDO’s tegelijkertijd worden weggeschreven. Bij SDO’s onderscheiden we de overdrachtstypen expedited en non-expedited (gesegmenteerd) en worden ook Blocktransfers ondersteunt. De respons van de SDO kan op applicatieniveau worden vertraagd voor zowel de lees- als de schrijftoegang. De applicatie kan de door SDO’s geschreven data controleren op consistentie voordat de doelvariabelen worden overschreven. Wanneer nodig kan de SDO-overdracht worden verworpen.
Netwerkmanagement:
de CANopen Software ondersteunt de in CiA 301 gedefinieerde boot-up met alle netwerkdiensten inclusief knooppuntbewaking met of zonder levensbewaking (Master Monitoring) zoals Hearbeat-mechanismen met producer-observatie.
Identificator toewijzing:
normaal gesproken worden identificatoren toegewezen volgens de voorgedefinieerde I/O verbindingsset, maar ze kunnen ook worden bepaald door veranderingen in de overeenkomstige objectcatalogusinvoer.
Master-functionaliteit:
kleinere CANopen-systemen benodigen vaak slechts een eenvoudige master-component om het systeem te starten in plaats van een volledige CANopen-manager. Daarom maakt dit CANopen softwarepakket de implementatie van een dergelijke eenvoudige master mogelijk met een eigen objectcatalogus. Een op deze basis geïmplementeerd CANopen-component kan in een systeem zowel als Slave als als Master fungeren en kan worden geconfigureerd via de objectcatalogus met behulp van configuratietools.
De software levert alle benodigde diensten die de gebruiker in staat stellen een optimale netwerk management bedieningsfunctie te implementeren.
Het softwarepakket “CANopen Manager Software” vormt de geschikte basis voor de implementatie van volledige of meer complexe CANopen managercomponenten en voor de ontwikkeling van programmeerbare instrumenten en besturing (PLC).
Optioneel beschikbare functies:
ter aanvulling op de standaard CANopen Software zijn de volgende optionele functies op aanvraag verkrijgbaar:
- Flying Master, startup-capable device of NMT-Master-capable device volgens CiA302
- SDO-manager (SDM), SDO requesting device (SRD) volgens CiA302
Implementatie-inspanning:
de CANopen Protocol Software wordt geleverd als hardware onafhankelijke C-broncode en is altijd getest met de meest recente CANopen conformance test software van de CiA.
De meegeleverde documentatie- en voorbeeldprogramma’s maken een snelle start met de CANopen software mogelijk. Bij de voorbeeldprogramma’s worden projectbestanden geleverd die een directe implementatie mogelijk maken in de corresponderende ontwikkelingsomgevingen van de samensteller. Alle voorbeeldprogramma’s kunnen direct vanaf een referentieplatform (evaluatiekaart van de CPU-fabrikant of Ixxat interfacekaart) worden gedraaid.
Normaal gesproken kan een aanpassing aan de beoogde hardware enkele dagen in beslagnemen. Met het voorbeeldprogramma wordt de realisatie van eigen toepassingen echter een stuk eenvoudiger.
Beschikbare uitvoeringen van de CANopen software
De CANopen Software is leverbaar in twee pakketten, elk met een ander functiebereik: Slave en Master/Slave. Het Master/Slave-pakket ondersteunt de volledige functionaliteit en kan worden gebruikt voor de ontwikkeling van zowel Slave-componenten als eenvoudige Master-componenten. Het functiebereik van elk pakket staat beschreven in de volgende tabel:
Functie | Slave | Master/Slave |
C=Consument; P=Producent; S=Slave; M=Master | ||
Max. aantal server-SDO | 127 | 127 |
Max. aantal client-SDO | - | 127 |
Max. aantal PDOs (Tx/Rx) | 512 | 512 |
Dynamische PDO mapping | + | + |
SYNC object | C | P/C |
EMERGENCY object | P | P/C |
TIME STAMP object | C | P/C |
NMT functionaliteit | S | M/S |
Node guarding, heartbeat | + | + |
CAN-ID configuratie volgens Predefined Connection Set | + | + |
CAN-ID configuratie via SDOs | + | + |
NMT Start-up object (1F80h) | + | + |
Slave assignment list (1F81h) | - | + |
Status display volgens CiA 303-3 | + | + |
Flying Master volgens CiA 302 | S (optioneel) | M/S (optioneel) |
LSS-diensten volgens CiA 305 | S | M/S |
Ondersteunde processors en CAN-controllers
De CANopen Protocol Software is hardware-onafhankelijk en is daarmee inzetbaar op een groot aantal micro- en CANcontrollers. Voor processors van de volgende fabrikanten levert Ixxat referentie-implementaties inclusief projectbestanden voor de gebruikte ontwikkelingsomgevingen welke direct vanaf het corresponderend ontwikkelingsplatform kunnen worden gedraaid:
Altera, ARM, Freescale, Infineon, Microchip, NXP, Renesas, STM, ST Microelectronics, Texas Instruments, Xilinx en x86-architectuur.
Leveromvang |
- Bron-code in C |
- Voorbeeld code in C |
- Software gebruikerslicentie |
- Programmeerhandleiding |
- Technische ondersteuning (tijdgelimiteerd) |