emotas CANopen Manager stack
Softwarepakket voor de ontwikkeling van CiA302 / CiA 303 CANopen nodes
De stack is ontwikkeld in ANSI-C en is MISRA-conform. CANopen Manager-compatibele apparaten kunnen snel en eenvoudig worden ontwikkeld of uitgebreid met onze CANopen Manager softwarestack.
Highlights
- ANSI-C compatibele CANopen Manager broncode stack
- MISRA-C-conform
- Ondersteunt alle CANopen-services van CiA 301, CiA 302-2 en CiA 302-3
- Inclusief Layer Setting Service (LSS)
- Uitbreidingen voor verdere standaarden beschikbaar
- Beschikbaar voor vele CAN-controllers en CPU's
- Comfortabele gebruikersinterface
- Veelzijdig, configureerbaar en schaalbaar
BootUp Manager (CiA 302-2)
De bootup-manager implementeert het opstartgedrag van een CANopen-netwerk zoals gedefinieerd in CiA 302. De Manager kan worden geconfigureerd om te controleren of verplichte en optionele apparaten volgens de apparaattypen (0x1000) en identiteitsgegevens (0x1018) aanwezig zijn en kan de toepassing over alle apparaten informeren.
Configuration Manager (CiA 302-3)
De configuratiemanager heeft de mogelijk te controleren of CANopen apparaten volgens verwachting zijn geconfigureerd. Zo niet, dan kan de manager automatisch een configuratieproces starten. Configuraties kunnen worden gelezen vanuit DCF-bestanden of Concise-DCF-bestanden.
Natuurlijk zijn alle CANopen-master services, zoals gedefinieerd in CiA 301, inbegrepen. Over het algemeen wordt de CANopen Master-stack gebruikt als het CANopen-netwerk erg dynamisch is met een variërend aantal en soort CANopen-slaves. Typische CANopen Master stack applicaties zijn bijvoorbeeld PLC's en gateways.
Extra uitbreidingen
Er zijn optionele uitbreidingsmodules voor Flying Master, SDO Requesting Device (CiA 302-5), Redundant Networks (CiA 302-6) en Multi-Level-Networking (302-7) beschikbaar.
Interfacing
Een flexibele gebruikersinterface biedt functies om de ontvangen data te evalueren en om de CANopen Manager-services in het netwerk te gebruiken.
Om de CANopen Manager Stack te verbinden met meerdere CAN-controllers en CPU-types, wordt een goed gedefinieerde driverinterface gebruikt. Met behulp van deze driverinterface kan de CANopen Manager-stack ook eenvoudig worden aangepast aan nieuwe CAN-controllers of CPU-typen. Ook is het mogelijk om hardwareplatforms met weinig inspanning te vervangen.
De CANopen Slave Stack kan worden gebruikt met verschillende Realtime besturingssystemen zoals ThreadX, FreeRTOS, Keil RTX of TI-RTOS, maar ook met Linux (SocketCAN, can4linux), QNX of met Real time-uitbreidingen voor Windows.
De stack wordt constant getest met de CANopen Conformance Test om te voldoen aan de specificatie.
API
Naast de functie-API is er ook een Mailbox-API beschikbaar voor een eenvoudig gebruik met meerdere taken resp. threads. Berichten tussen toepassingsmodules en CANopen Manager-stack worden verzonden via mailboxen in plaats van functieaanroepen. Dit zorgt voor een niet-blokkerende communicatie. Een toepassing kan zodoende uit meerdere taken bestaan die de CANopen Stack parallel gebruiken.
CANopen functies
Overzicht van de CANopen-functies van de Manager stack in vergelijk met de andere emotasstacks
Services | Basic Slave | Master/Slave | Manager |
SDO Server | 2 | 128 | 128 |
SDO Client | 128 | 128 | |
SDO expedited/ segmented/block | ●/●/- | ●/●/○ | ●/●/○ |
PDO Producer | 32 | 512 | 512 |
PDO Consumer | 32 | 512 | 512 |
PDO Mapping | static | static/dynamic | static/dynamic |
MPDO Dest Mode | ○ | ○ | |
MPDO Src. Mode | ○ | ○ | |
SYNC Producer | ● | ● | |
SYNC Consumer | ● | ● | ● |
Time Producer | ● | ● | |
Time Consumer | ● | ● | |
Emergency Producer | ● | ● | ● |
Emergency Consumer | 127 | 127 | |
Guarding Master | ● | ||
Guarding Slave | ● | ● | ● |
Bootup Handling | ● | ● | |
Heartbeat Producer | ● | ● | ● |
Heartbeat Consumer | 127 | 127 | |
NMT Master function | ● | ● | |
NMT Slave | ● | ● | ● |
LED CiA-303 | ● | ● | ● |
LSS CiA-305 | ● | ● | ● |
SDO Requester (SRD) CiA-302-5 | ○ | ○ | |
CANopen Router CiA-302-7 | ○ | ○ | |
Master Bootup CiA 302 | ● | ||
Configuration Manager | ● | ||
Flying Master | ○ | ○ | |
Redundancy | ○ | ○ | |
Safety | ○ | ○ | ○ |
Multiline | ○ | ○ | |
C#-API-Wrapper for Windows | ○ | ○ | ○ |
Delphi-API-Wrapper for Windows | ○ | ○ | ○ |
● - Inclusief ○ - Optioneel |
CANopen DeviceDesigner
Om bronnen te sparen is de CANopen Manager-stack breed configureerbaar en schaalbaar. De instellingen voor deze functies worden ondersteund door de grafische configuratietool CANopen DeviceDesigner. De CANopen DeviceDesigner stelt de Object Directory samen en genereert de initialisatiefuncties in C, het EDS-bestand en apparaatdocumentatie. Daarnaast configureert de CANopen DeviceDesigner de CANopen-stack en CANopen-stuurprogramma.
Met behulp van de unieke CANopen DeviceDesigner wordt waardevolle ontwikkeltijd bespaard.
Eenvoudig opstarten
Er zijn veel kant-en-klare voorbeelden beschikbaar om de start met de CANopen Manager-stack zo eenvoudig mogelijk te maken. Daarnaast behoort een gebruikershandleiding, waarin principes en use cases worden beschreven, en een referentiehandleiding, die elke API-functie in detail beschrijft, tot de leveringsomvang.
Ondersteunde processoren en IDE's
De volgende chipfabrikanten en CAN-controllers worden op dit moment door de emotasCANopen Manager Stack ondersteund: ATMEL, BOSCH, Freescale (NXP), Cypress (Spansion/Fujitsu), Infineon, Microchip, NXP, NuvoTon, Renesas, ST Microelectronics, Texas Instruments. Veder wordt generiek de x86-arcitectuur en LINUX ondersteund.
CANopen Manager Stack code kan worden gegenereerd met bijvoorbeeld compilers of IDE’s van GCC / GNU, Keil, IAR, Crossworks, Atollic True Studio, Tasking en de specifieke ontwikkelomgevingen van de diverse chipfabrikanten.
Vraag naar de specifieke mogelijkheden van een specifieke controller/IDE-combinatie.
Licentiemodel
De CANopen Manager Stack wordt geleverd als broncode in de vorm van een éénmalige Project of Site Licentie. Het onderscheidt tussen beiden is als volgt:
- Project licentie
De software (broncode) mag worden gebruikt op één gedefinieerde ontwikkelingslocatie voor één gedefinieerd project. De standaard supportperiode bedraagt 6 maanden. - Site licentie
De software (broncode) mag worden gebruikt op één ontwikkelsite/-locatie, door verschillende ontwikkelaars op deze locatie, voor een onbeperkt aantal producten. De standaard supportperiode bedraagt 24 maanden.
Er bestaan géén run-time fees of royalty's op de uiteindelijk gegenereerde object code.
Leveromvang |
- Bron-code in C |
- Voorbeeld code in C |
- Software gebruikerslicentie |
- Programmeerhandleiding |
- CANopen DeviceDesigner (gebruikerslicentie op naam) |
- Technische ondersteuning (tijdgelimiteerd) |