The implementation provides the basis for a flexible handling of the PROFIdrive parameters and includes the basic drive functions for
- initialization and configuration
- handling of the drive state machine
- simple interface to motor control functions
These functions are combined in a framework, which can be easily adapted and expanded to the respective manufacturer-specific drive features.
Interface wrapper and abstraction of operating system calls makes porting to different hardware platforms and operating systems easier.
The PROFIdrive Profile implementation is done according to the PROFIdrive Specification v4.1 of the PNO. The errata list as of 21.09.2010 is also considered.
At the actual state all mandatory and some optional functionality of the Application Class 1 (Standard drive) and the related speed control mode are supported. The simple host application shows the usage of all interfaces of the PROFIdrive Profile Stack and implements PROFIdrive state machine in order to handle minimal application class 1 drive.
Following features are implemented actually in the PROFIdrive profile:
- Handling of all PROFIdrive parameters using a well defined structure
- The mandatory parameter value and the standard data types are supported
- Additionally to parameter value the optional “description and text” parameter elements are fully supported also
- The profile implementation provides support to automatically generate all of the mandatory parameters. According to their functions the length of some mandatory parameters is manufacturer specific. Therefore several defines are provided to set the length.
- The profile implementation provides a function to create the manufacturer-specific or optional parameter block easily.
- Two parameter access modes are supported:
- Base Mode Parameter Access: Local
- Base Mode Parameter Access: Global (for compatibility reasons to PROFIBUS).
- The number of transferred parameters and the size of Parameter request/response Block may be freely defined by the application and may be up to 1024 Byte length (in case of PROFINET).
- Support for all defined Fault Buffer configurations. The Fault Buffer configuration can be selected using the specific defines:
- mandatory (minimal possible configuration)
- the DO IO Data normalisation is supported only for standard data types. The profile specific data types will be extended later.
- The Telegram configururation is supported through the configuration of the IO Data in data telegram by the application using parameters P922, P915 and P916.
- The signals used in the telegram configuration support the standard data types only.
- The Control Word 2 and Status Word 2 are not supported yet as these are optional for application class 1.
The PROFIdrive application consists of the following core modules:
- PROFIdrive Profile part with the following functionality:
- Object dictionary to store PROFIdrive Parameters
- Parameter manager allows the acyclic read and write access to PROFIdrive parameters
- Diagnosis function to manage the fault buffer
- Drive object manager to plug and pull on the Drive Units and Drive Objects(drive axis).
- The Axis Model part simulates a simple DC Motor and implements some special functions to initialize and control the drive axis
- The PROFINET module initializes internal PROFINET resources and configures PROFINET IO Device stack
- The Axis Manager module abstracts the communication system. Further it initializes and configures the application resources.
- The Axis Process module reads and writes the process data and handles the standard telegrams
- The Axis State module implements PROFIdrive specific state machine, updates status word and some flags to control the state of RFG and setpoint channel.
- The Axis Control module defines the functionality of the speed setpoint channel.
- The Application State machine defines and controls the internal state of the whole PROFIdrive application.
- The INX represents the simple application interface between the Host application and the network communication stack (i.e. PROFINET IO Device or PROFIBUS DP Slave Stack).