PROFINET V15.1
La biblioteca Profinet V15.1 contiene los módulos funcionales necesarios para controlar los convertidores Baumüller. Los convertidores se conectan al control a través del bus de campo Profinet.
- BM
- BM_FindNotchPosFARS
- BM_FindNotchPosInjection
- BM_FindNotchPosRAFS
- BM_Home
- BM_HomeInit
- BM_HomeInitBlock
- BM_MasterEngine
- BM_MoveAbsolute
- BM_MoveAbsoluteInit
- BM_MovePos2
- BM_MoveRelative
- BM_MoveRelativeInit
- BM_Power_Com_CPU1500
- BM_Power_DA_CPU1500
- BM_Power_EA_CPU1500
- BM_QuickStop
- BM_Read
- BM_ReadAxisError
- BM_ReadAxisStatus
- BM_ReadStatus
- BM_Reset
- BM_Stop
- BM_Stop2
- BM_SyncIn
- BM_SyncInit
- BM_SyncOut
- BM_Velocity
- BM_Velocity2
- BM_VelocityInit
- BM_Write
- BM51_Power_CPU1500
BM
Insert Axis reference data CPU1500_BM_AXIS_REF from library BM_PROFINET_TIA_14bd10 into the PLC data type and insert data block BM into the program block.
Double-click at the function module BM and enter the necessary axis area, parameter HW address and first parameter HW identifier.
In the "Axis" with data type [ARRAY[x..y]] of CPU1500_BM_AXIS_REF, motion control axis area is entered under the "Array Boundaries".
Figure 1: Slave axis setting
Under Motion Control Axis Number AXIS[] → BM_Station, the setpoint parameter Hardware ID (HW ID) of the bmaXX device is entered first.
The "BM_Station" defines the controller axis number and the Profinet slave identifier, the type of "BM_Station" is a DWORD (DW#16#HW_LW), (HW: high word , LW: low word).
Figure 2: Hardware configuration of CPU1500 (1st setpoint parameter with HW-identifier of 260) with a bmaXX dual axis unit
Figure 3: bmaXX Units Dual Axis RT Parameter Addressing of CPU1500
Figure 6: Process image of RT Bus System
Figure 7: Parameter HW ID
Slot no.1 : Param 108.1 : Control word 1_1 for axis 1
Slot no.2 : Param 108.1 : Control word1_2 for axis 2
Slot no.3 : Param 108.5 : Target angle_1 for axis 1
Slot no.4 : Param 108.5 : Target angle_2 for axis 2
Insert parameters in sequence as actual values from hardware catalogue of Baumüller module double axis
Slot No. 17 : Parameter 108.3 : Status word1_1 for axis 1
Slot No. 18 : Parameter 108.3 : Status word 1_2 for axis 2
Slot No. 19 : Parameter 109.2 : Actual mode_1 for axis 1
Slot No. 20 : Parameter 109.2 : Actual mode_2 for axis 2
Slot No. 21 : Param 18.55 : Position actual value angle_1 for axis 1
Slot No. 22: Param 18.55 : Position actual value Angle_2 for axis 2
Figure 8: bmaXX devices dual axis IRT parameter addressing of CPU1500
All parameters of double axis number 1 must be set under Properties → General → Assembly parameters, see Figure 4.
Figure 8: Process image of IRT Bus System
Step 1:
Open the function module BM and set number 1..2 at array limits for motion control axis number 1 and 2
Step 2:
Activate ADDR parameter range under Axis[1] and Axis[2]
Step 3:
Set double axis number 1 as motion control axis 1 and double axis number 2 as motion control axis 2 and Open bmaXX device parameter window set under Devices&Networks → Device overview.
Step 4:
Read the hardware identification of the bmaXX unit from the 1st setpoint value or Param 108.1 Control word 1_1 under Properties → General → HW identification.
HW-Identifier = 258 / 0x102
Step 5:
Sort in all set parameters and start address for motion control axis number 1 and axis 2.
All parameters for motion control axis number 1
Setpoint
Param 108.1: Control word 1_1 and start address: 34
Param 108.5: Target angle_1 and start address: 38
Actual value
Param 108.3: Status word1_1 and start address: 34
Param 109.2: Actual mode_1 and start address: 134
Param 18.55: Position actual value Angle_1 and start address: 38
All parameters for motion control axis number 2
Setpoint
Param 108.1: Control word1_2 and start address: 36
Param 108.5: Target angle_2 and start address: 42
Actual value
Param 108.3: Status word1_2 and start address: 34
Param 109.2: Actual mode_2 and start address: 136
Param 18.55: Position actual value Angle_2 and start address: 42
Step 6:
Enter hardware identifier at BM_Station for motion control axis number 1 and 2
Axis [1]: BM_Station = 0x1000_0102
Axis [2]: BM_Station = 0x2000_0102
Step 7:
Enter parameter adress in the function module BM
For AXIS[1]:
Setpoint adress:
PA_CONTROL_WORD = 34
PA_ANGLE_SET_VALUE = 38
Actual value adress:
PE_STATUS_WORD = 34
PE_OPERATION_ACT_MODE = 134
PE_ANGE_ACT_VALUE = 38
For AXIS[2]:
Setpoint adress:
PA_CONTROL_WORD = 36
PA_ANGLE_SET_VALUE = 42
Actual value adress:
PE_STATUS_WORD = 36
PE_OPERATION_ACT_MODE = 136
PE_ANGE_ACT_VALUE = 42
Back to the content of the library

BM_FindNotchPosFARS
The "BM_FindNotchPosFARS" function carries out a notch position search (parameter 127.008.0.0) with the "fixed current feed angle and rotating shaft"; the axis must be freely movable; after measuring successfully the redetermined notch position is displayed.
The redetermined value already is valid in the RAM controller; a takeover into the controller flash can be made with the BM_DataSetHandling class.
Further information referring to the notch position search is to be found in the "Parameter manual of the basic unit bmaXX 5000” chapter 3.9.8
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive version |
| CurrentRise | REAL | Current rise [A/s] |
| CurrentDrop | REAL | Current drop [A/s] |
| TimeConstCurrent | REAL | Continuous current [s] |
| CurrentRef | REAL | Current set value notch position search[%] |
Ausgänge
| Parameter Ausgang | Datentyp | Beschreibung |
|---|---|---|
| Done | BOOL | Notch position search successful. |
| Moving | BOOL | Notch position search is running. |
| Busy | BOOL | Parameter Read/write active. |
| CommandAborted | BOOL | Abort by another motion control command, BM_Stop or error stop. |
| Error | BOOL | Parameter Read/write error; Error ID is valid |
| ErrorID | DWORD | Communication Error ID Siemens error list |

BM_FindNotchPosInjection
The function "BM_FindNotchPosInjection" carries out a notch position search (parameter 127.008.00) by the injection processing; it is not required that the axis is freely movable in order to carry out this measurement; after measuring successfully the redetermined notch position is displayed.
The redetermined value already is valid in the RAM controller. A takeover into the controller flash can be made with the BM_DataSetHandling.
Further information referring to the notch position search is to be found in the "Parameter manual of the basic unit bmaXX 5000" chapter 3.9.8.
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| InjectionFreq1 | REAL | Injection frequency 1 [1/s] |
| InjectionAmp1 | REAL | Injection amplitude 1 [V] |
| BandpassBandwidth | REAL | Bandpass bandwidth [1/s] |
| InjectionFreq2 | REAL | Injection frequency 2 [1/s] |
| InjectionApmp2 | REAL | Injection amplitude 1 [V] |
| SecondHarmonicMinRate | REAL | Minimum rate second harmonic [%] |
| InjectionKP | REAL | Injection Kp [1/s] |
Ausgänge
| Parameter output | Data type | Description |
|---|---|---|
| Done | BOOL | Notch position search successful |
| Moving | BOOL | Notch position search is running. |
| Busy | BOOL | Parameter Read/write active. |
| CommandAborted | BOOL | Abort by another motion control command, BM_Stop or error stop |
| Error | BOOL | Parameter Read/write error; Error ID is valid |
| ErrorID | DWORD | Communication error ID Siemens error list |

BM_FindNotchPosRAFS
The "BM_FindNotchPosRAFS" function carries out a notch position search (parameter 127.008.0.0) with the "standing wave and variable current feed angle" mode. The axis must not be freely movable during this measuring; after measuring successfully the redetermined notch position is displayed.
The redetermined value already is valid in the RAM controller, a takeover into the controller flash can be made with the BM_DataSetHandling class.
Further information referring to the notch position search is to be found in the "Parameter manual of the basic unit bmaXX 5000" chapter 3.9.8
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| CurrentRise | REAL | Current rise [A/s] |
| CurrentDrop | REAL | Current drop [A/s] |
| TimeConstCurrent | REAL | Time constant current [s] |
| CurrentRef | REAL | Current set value notch position search [%] |
| Angle Rising | REAL | Angle rising [U/min] |
| MaxAngle | REAL | Maximum positioning angle [degrees] |
| ErrLimitMechDeltaAnlge | REAL | Error limit mechanical angle change [degrees] |
| Averaging0SpeedDetect | REAL | Averaging zero speed detection |
Ausgänge
| Parameter output | Data type | Description |
|---|---|---|
| Done | BOOL | Notch position search successful. |
| Moving | BOOL | Notch position search is running. |
| Busy | BOOL | Parameter Read/write active. |
| CommandAborted | BOOL | Abort by another motion control command, BM_Stop or error stop |
| Error | BOOL | Parameter Read/write error; Error ID is valid |
| ErrorID | DWORD | Communication error ID Siemens error list |

BM_Home
The Motion Control FC BM_Home references the drive axis using the method set at the drive. The setting of the method at the drive can be made via Prodrive and/or in the program using the BM_HomeInit, BM_HomeInitBlock Baumueller addition-FCs.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution of homing |
| HomingMonitoring | Timer | Timer T for Homing time monitoring |

BM_HomeInit
The Motion Control command BM_HomeInit is an extension of the Motion Control standard and initializes the homing method "Homing in the travelling distance" for the Motion Control command BM_Home.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| Method | INT | Homing method |
| Position | REAL | Homing position |
| Velocity | REAL | Target speed absolute value of homing |
| EndVelocity | REAL | Final target speed absolute value of homing, [Inc/ms] |
| Acc | REAL | Homing acceleration absolute value, [Inc/ms²] |
| Dec | REAL | Deceleration absolute value of homing; [Inc/ms²] |
| Jerk | REAL | Jerk absolute value; [Inc/ms³] |
| TimeoutHoming | S5Time | Monitoring time of the execution |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Initialised | BOOL | Homing method installed successfully |
| Busy | BOOL | Parameter Read/Write active |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID-Siemens error list |

BM_HomeInitBlock
The Motion Control commando BM_HomeInitBlock is an extension of the Motion Control standard and initializes the homing method "Homing in the travelling distance" for the Motion Control command BM_Home.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| Method | INT | Homing method |
| Position | REAL | Home position |
| Velocity | REAL | Absolute value of target speed of homing |
| EndVelocity | REAL | Absolute value of final target speed of homing, [Inc/ms] |
| Acc | REAL | Acceleration absolute value of homing, [Inc/ms²] |
| Dec | REAL | Deceleration absolute value of homing; [Inc/ms²] |
| Jerk | REAL | Jerk absolute value; [Inc/ms³] |
| TorqueLimit | REAL | Torque limit of homing,[%] |
| BlockingTime | REAL | Blocking time to recognize the limit time,[s] |
| Offset | REAL | Offset starting from the method and limit switch attachment,[Inc] |
| TimeoutHoming | S5Time | Monitoring time of execution. |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Initialised | BOOL | Homing method successfully installed |
| Busy | BOOL | Parameter Read/Write active |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_MasterEngine
This functional module for Motion Control IRT OB61 is used to generate set values of a virtual master axis. The functional module converts one position in each call-up cycle (OB61-task) according to the specifications of velocity and acceleration.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Enable | BOOL | Start master axis |
| CycleDuration | USINT (9-31 Bit) | Resolution of the master axis, convert to BYTE at CPU300 |
| MaxVelocityPositive | UDINT | Maximum positive velocity convert to DWORD at CPU300 |
| MaxVelocityNegative | UDINT | Maximum negative velocity (amount), convert to DWORD at CPU300 |
| StartPosition | UDINT | Start position, convert to DWORD at CPU300 |
| Velocity | DINT | Set velocity, direction by signs |
| Acceleration | UDINT | Amount of acceleration, convert to DWORD at CPU300 |
| Deceleration | UDINT | Amount of deceleration, convert to DWORD at CPU300 |
| Jerk | UDINT | Jerk, convert to DWORD at CPU300 |
| Stop | BOOL | Stop command, stop master axis to stop position |
| StopPosition | UDINT | StopPosition of Stop command, convert to DWORD |
| StopVelocity | UDINT | Amount of StopVelocity of the Stop command, convert to DWORD at CPU300 |
| StopRapid | BOOL | StopRapid command, stop maximum master axis with StopRapidDeceleration without observing the stop position |
| StopRapidDeceleration | UDINT | Amount of StopRapidDeceleration of the StopRapid, convert to DWORD at CPU300 |
Ausgänge
Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Master axis is active |
| StopDone | BOOL | Master axis is stopped with the command Stop or StopRapid |
| CyclePosition | UDINT | Master axis position, The DWORD is at CPU300 |
| CycleVelocity | DINT | Acceleration of the master axis |
| CycleAcceleration | DINT | Acceleration of the master axis |
| Error | BOOL | Error bit, error information ErrorID is valid |
| ErrorID | WORD | ErrorID error list |

BM_MoveAbsolute
The Motion Control command BM_MoveAbsolute carries out a controlled movement to the specified position.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| Position | REAL | Absolute target position; [Inc] |
| Velocity | REAL | Absolute value of the target positioning speed; [Inc/ms] |
| Acceleration | REAL | Absolute value of the acceleration within the target positioning; [Inc/ms²] |
| Deceleration | REAL | Absolute value of the deceleration within the target positioning; [Inc/ms²] |
| Jerk | REAL | Jerk Absolute value; Default [Inc/ms³] |
| Direction | BOOL | Positioning direction; 0: Shortest way |
Ausgänge
Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Target position reached. The axis changes in the Standstill state |
| Moving | BOOL | Positioning started and target not reached. |
| Busy | BOOL | Parameter Read/Write active |
| CommandAborted | BOOL | Abort by another Motion Control command, BM_Stop or Errorstop |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID-Siemens error list |

BM_MoveAbsoluteInit
BM_MoveAbsoluteInit reads the mode (parameter 110.2) of the controller in order to forward a setting information of this controller parameter to BM_MoveAbsolute, so that this parameter setting does not drop away during the activation of BM_MoveRelative.
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
Ausgänge
| Parameter output | Data type | Description |
|---|---|---|
| Done | BOOL | Successfully |
| Busy | BOOL | Parameter read/write active |
| CommandAborted | BOOL | Without function |
| Error | BOOL | Parameter read/write error; error ID valid |
| ErrorID | DWORD | Communication Error ID Siemens error list |

BM_MovePos2
The motion control function module BM_MovePos2 executes a controlled movement. The new position setpoint is achieved by the set positioning set of the position target (either Relative or Absolute)
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Execution of the function on a positive edge |
| Distance | DINT | Relative or absolute distance of movement; [Inc] |
| Velocity | REAL | Amount of the speed of the Target positioning; [Inc/ms] |
| Acc | REAL | Amount of acceleration within the target positioning; [Inc/ms²] |
| Dec | REAL | Amount of delay within the Target positioning; [Inc/ms²] |
| Method | BOOL | 0: Set automatically; 1: set manually: 118.10=4, 118.2(bit8=0) |
| Absolute | BOOL | 1: Absolute / 0: Relative |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Confi_Done | BOOL | Positioning configuration successful |
| PosDistance | DINT | 118.9 / inc; +/- or 118.16 inc + |
| PosSpeed | UDINT | 118.11 / inc/ms |
| PosAcc | UDINT | 118.12 / inc/ms² |
| PosDec | UDINT | 118.13 / inc/ms² |
| Done | BOOL | Target position reached. The drive changes to the standstill state |
| Moving | BOOL | Positioning started and target not yet achieved. |
| Busy | BOOL | Read/write parameter active. |
| CommandAborted | BOOL | Abort by another Motion Control Command, BM_Stop2 |
| Error | BOOL | Parameter Read/Write Error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID-Siemens Error List |

BM_MoveRelative
The Motion Control command BM_MoveRelative carries out a controlled movement around the specified relative position at the starting time.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| Distance | REAL | Relative Distance of the movement; [Inc] |
| Velocity | REAL | Absolute value of Target Positioning Speed; [Inc/ms] |
| Acceleration | REAL | Absolute value of acceleration within the target positioning; [Inc/ms²] |
| Deceleration | REAL | Absolute value of deceleration within the target positioning; [Inc/ms²] |
| Jerk | REAL | Absolute value of jerk; [Inc/ms³] |
| Direction | BOOL | Positioning direction |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Target position reached. The axis changes into the Standstill status |
| Moving | BOOL | Positioning was started and target not reached. |
| Busy | BOOL | Parameter Read/Write active. |
| CommandAborted | BOOL | Abort by another Motion Control command, BM_Stop or Errorstop |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_MoveRelativeInit
The BM_MoveRelativeInit reads the controller mode (parameter 118.2), to transmit a setting information of this controller parameter to BM_MoveRelative, so that this parameter setting is not dropped at activated BM_MoveRelative.
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
Ausgänge
| Parameter in and output | Data type | Description |
|---|---|---|
| Axis | UDT | BM Motion Control axis variable |

BM_Power_Com_CPU1500
The FC BM_Power_Com_CPU1500 switches the BM_Power_DA_CPU1500, BM_Power_EA_CPU1500 or BM51_Power_CPU1500 on together as a Motion Control Command communication.
Eingänge
| Parameter Input | Data type | Description |
|---|---|---|
| Enable | BOOL | Switch on Motion Control Command Communication |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Motion control command was successfully executed |

BM_Power_DA_CPU1500
The function module BM_Power_DA_CPU1500 switches the operational readiness of the connected Baumüller double-axis drive with BM_Power_Com_CPU1500, taking into account the device-side wiring of pulse enable and quick stop.
Before the call, the drive must be fully commissioned, taking into account all safety regulations.
With "BM".AXIS[x].DRIVE.POWER.NoSetHomingMode := TRUE, the operating mode of homing can be deactivated when calling up Power On.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Enable | BOOL | Switch to operational readiness |
| NoCmd_Axis | CPU1500_BM_AXIS_REF | BM Motion Control Axis Reference |
| WRREC_Done | BOOL | Done=1: Parameter write was successfully transferred |
| WRREC_Busy | BOOL | Busy=1: Parameter write process is not yet not yet finished |
| WRREC_Error | BOOL | Error=1: An error occurred during the parameter write process |
| WRREC_Status | DWORD | WRREC Module status or error information |
| RDREC_Valid | BOOL | Valid=1: Read parameter was successfully received |
| RDREC_Busy | BOOL | Busy=1: Parameter Read operation is not yet completed |
| RDREC_Error | BOOL | Error=1: An error occurred during the Parameter read operation |
| RDREC_Status | DWORD | RDREC Module status or error information |
| RDREC_Len | UINT | Data length of the read parameters |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Status | BOOL | Status of operational readiness |
| Busy | BOOL | Drive switch-on process running |
| Error | BOOL | Error bit |
| StatusID | WORD | Drive status |
| WRREC_Req | BOOL | Perform parameter write |
| WRREC_Id | HW_IO | Identification number of the Hardware component |
| WRREC_Index | DINT | Parameter Write Index |
| WRREC_Len | UINT | Parameter Write length in byte |
| RDREC_Req | BOOL | Perform parameter read |
| RDREC_Id | HW_IO | Identification number of the Hardware component |
| RDREC_Index | DINT | Parameter Read Index |
| RDREC_Mlen | UINT | Max. Length of the parameter information to be read in bytes |

BM_Power_EA_CPU1500
The FC BM_Power_EA_CPU1500 switches the operational readiness of the connected Baumüller single-axis drive with BM_Power_Com_CPU1500, taking into account the device-side wiring of pulse enable and quick stop.
Before the call, the drive must be fully commissioned, taking into account all safety regulations.
With "BM".AXIS[x].DRIVE.POWER.NoSetHomingMode := TRUE, the operating mode of homing can be deactivated when calling up Power On.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Enable | BOOL | Switch to operational readiness |
| NoCmd_Axis | CPU1500_BM_AXIS_REF | BM Motion Control Axis Reference |
| WRREC_Done | BOOL | Done=1: Parameter write was successfully transferred |
| WRREC_Busy | BOOL | Busy=1: Parameter write process is not yet not yet finished |
| WRREC_Error | BOOL | Error=1: An error occurred during the parameter write process |
| WRREC_Status | DWORD | WRREC Module status or error information |
| RDREC_Valid | BOOL | Valid=1: Read parameter was successfully received |
| RDREC_Busy | BOOL | Busy=1: Parameter Read operation is not yet completed |
| RDREC_Error | BOOL | Error=1: An error occurred during the Parameter read operation |
| RDREC_Status | DWORD | RDREC Module status or error information |
| RDREC_Len | UINT | Data length of the read parameters |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Status | BOOL | Status of operational readiness |
| Busy | BOOL | Drive switch-on process running |
| Error | BOOL | Error bit |
| StatusID | WORD | Drive status |
| WRREC_Req | BOOL | Perform parameter write |
| WRREC_Id | HW_IO | Identification number of the Hardware component |
| WRREC_Index | DINT | Parameter Write Index |
| WRREC_Len | UINT | Parameter Write length in byte |
| RDREC_Req | BOOL | Perform parameter read |
| RDREC_Id | HW_IO | Identification number of the Hardware component |
| RDREC_Index | DINT | Parameter Read Index |
| RDREC_Mlen | UINT | Max. Length of the parameter information to be read in bytes |

BM_QuickStop
The BM Motion Control FC BM_QuickStop stops the drive axis from all drive states with a defined quickstop (parameter 110.008) ramp in the controller and the drive is stopped then the drive remains in the "drive lock".
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Enable | BOOL | Quickstop activated |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | QuickStop is executed Done = TRUE as long as Enable = TRUE. |
| Busy | BOOL | Execution of Quickstop is active |

BM_Read
The function FC BM_READ can be used to read a parameter by demand data communication of a bmaXX controller
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Req | BOOL | TRUE= Start to read parameter FALSE= End to read a parameter |
| Index | INT | Parameter Index |
| Subindes | BYTE | Parameter Subindex |
| Len | BYTE | Parameter Type value |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Reading done without errors |
| Busy | BOOL | Read status is still active |
| Errror | BOOL | Parameter read error; ErrorID is valid |
| Value | DWORD | Parameter value |
| DataLen | BYTE | Total data length |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_ReadAxisError
This FC BM_ReadAxisError for BM Motion Control is used to read the axis errors.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Increasing edge start the reading of the extended status of the axis. |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | The reading of the extended status was completed without errors |
| Busy | BOOL | Reading of the extended status is still active |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |
| ErrorCnt | WORD | Number of drive errors |
| ErrorNO_0 | DWORD | 1. Error message Number of drive |
| ErrorNO_1 | DWORD | 2. Error message Number of drive |
| ErrorNO_2 | DWORD | 3. Error message Number of drive |
| ErrorNO_3 | DWORD | 4. Error message Number of drive |

BM_ReadAxisStatus
This function is used for BM Motion Control to read the extended axis status.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Increasing edge begins reading the extended status of the axis |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Reading of the extended status without errors is completed |
| Busy | BOOL | The reading of the extended status still is busy |
| Error | BOOL | Parameter read/write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID-Siemens error list |
| AxisError | BOOL | Axis reports an error |
| AxisWarning | BOOL | Axis reports a warning |
| PulseEnabelInputOk | BOOL | Digital input pulse enable is closed |
| QickStopInputOk | BOOL | Digital input quickstop is closed |
| SafetyRelayOk | BOOL | Safety relay is without errors |
| DC_LinkOk | BOOL | DC-link is without errors |
| ReadyForUse | BOOL | Axis reports Ready for operation |

BM_ReadStatus
The FC BM_ReadStatus provides the drive status of the BM Motion Control axis.
The processing of BM Motion Control Motion commands cannot be made from the errorstop status and requires the availability of the axis via BM_Power.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Enable | BOOL | Update of the status output on every calling |
Ausgänge
Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Output valid; one status is active only |
| Error | BOOL | Error bit, error info ErrorID is valid |
| Errorstop | BOOL | Locking status Errorstop active |
| Stopping | BOOL | Drive is stopped from every movement. Remains active until to the last BM_Stop-instance at the input Execute = TRUE and then changes to Standstill. |
| Standstill | BOOL | Speed is zero. With BM_Power Status = TRUE the MC movements are ready for operation. |
| Disabled | BOOL | The drive status is not in the availability mode |
| DiscreteMotion | BOOL | Drive positions to a positioning target. After finishing it changes to the Standstill status |
| ContinuousMotion | BOOL | Drive moves with a connected speed. |
| SynchronizedMotion | BOOL | Drive moves synchronous to a master position (multi axis commands) |
| Homing | BOOL | Calling up is possible from standstill with BM_Home only and must be interrupted with BM_Stop |

BM_Reset
A reset is accomplished via the Motion Control FC BM_Reset to switch the drive from the locking state Errorstop to standstill. A potentially existing error source at first must be deleted and all the relevant error states must be reset by BM_Reset.
Attention:
The locking status Errorstop is taken over after every switch-off of the availability of BM_Power (Enable = FALSE or quickstop) or if drive errors are present. Present error entries of the drive can be reset with this FC.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Carry out reset |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Reset was carried out successfully |
| Busy | BOOL | Drive error reset still active |
| Error | BOOL | Not used |
| ErrorID | DWORD | Not used |

BM_Stop
Movement commands of synchronized motion in the status Stopping is not possible.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Increasing edge starts the Stopping |
| Deceleration | REAL | Maximum delay to stop the axis; Default [Inc/ms²] |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Stop is executed Done = TRUE as long as Execute = TRUE. |
| Busy | BOOL | Parameter read/write active |
| Error | BOOL | Parameter read/write error |
| ErrorID | WORD | Communication ErrorID-Siemens error list |

BM_Stop2
Movement commands of synchronized motion in the status Stopping is not possible.
Eingänge
| Parameter Input | Data type | Description |
|---|---|---|
| Execute | BOOL | Rising edge starts stopping. |
| DecTime | REAL | Delay time to stop for BM_Velocty2; |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Stop is executed Done = TRUE as long as Execute = TRUE. |
| Busy | BOOL | Parameter read/write active |
| Error | BOOL | Parameter read/write error |
| ErrorID | WORD | Communication ErrorID-Siemens error list |

BM_SyncIn
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Execute coupling |
| Value | DWORD | Synchronism set value resolution 32 bit (angle), [Inc] |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| InSync | BOOL | Synchronism active |
| Busy | BOOL | Parameter Read / Write status is still active |
| CommandAborted | BOOL | Abort by another Motion Control command or Errorstop |
| Error | BOOL | Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_SyncInit
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Execute Coupling |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| InSync | BOOL | Synchronism active |
| Busy | BOOL | Parameter Read / Write status is still active |
| CommandAborted | BOOL | Abort by another Motion Control command or Errorstop |
| Error | BOOL | Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_SyncOut
BM_SyncOut separates the coupling of the coupled axis of BM_SyncIn.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Start uncoupling the slave drive |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| Done | BOOL | Uncoupling done; the slave set speed = 0 |
| Busy | BOOL | Uncoupling active |

BM_Velocity
The BM Motion Control BM_MoveVelocity command implements an endless movement by a specified speed.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
| Velocity | REAL | Absolute value of the target speed with signs [Inc/ms] |
| Acceleration | REAL | Absolute value of acceleration within the target positioning [Inc/ms²] |
| Deceleration | REAL | Absolute value of deceleration within the target positioning [Inc/ms²] |
| SmoothingTime | INT | Smoothing time, [ms] |
| Direction | BOOL | Moving direction |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| InVelocity | BOOL | Target speed reached |
| Busy | BOOL | Parameter Read/Write active |
| CommandAborted | BOOL | Abort by another Motion Control command, BM_Stop or Errorstop |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_Velocity2
The BM Motion Control command BM_Velocity2 sets an endless movement with a cyclical data data write in speed control.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Execute | BOOL | Edge sensitive Execution |
| Velocity | REAL | Amount of target speed in % |
| AccTime | REAL | Amount of acceleration time in ms |
| DecTime | REAL | Amount of the decelaration time in ms |
Ausgänge
| Parameter Output | Data Type | Description |
|---|---|---|
| RFG_Speed | INT | Input parameters of the ramp-function generator |
| RFG_RampUpTime | UDINT | Acceleration time Parameters of the ramp function generator |
| RFG_RampDownTime | UDINT | Decelaration time Parameter of the ramp function generator |
| InVelocity | BOOL | Target speed reached |
| Busy | BOOL | Parameter Read/Write active |
| CommandAborted | BOOL | Abort by another Motion Control command, BM_Stop or Errorstop |
| Error | BOOL | Parameter Read/Write error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM_VelocityInit
Das BM_VelocityInit reads the mode (parameter 110.2) of the controller in order to forward a setting information of this controller parameter to BM_Velocity, so that this parameter setting does not drop away during the activation of BM-Velocity.
Eingänge
| Parameter input | Data type | Description |
|---|---|---|
| Execute | BOOL | Edge-sensitive execution |
Ausgänge
| Parameter output | Data type | Description |
|---|---|---|
| Done | BOOL | Successfully |
| Busy | BOOL | Parameter read/write active |
| CommandAborted | BOOL | Without function |
| Error | BOOL | Parameter read/write error; error ID valid |
| ErrorID | DWORD | Communication Error ID Siemens error list |

BM_Write
The function FC BM_WRITE can be used to write a parameter by service data communication to the bmaXX controller.
Eingänge
| Parameter Input | Data Type | Description |
|---|---|---|
| Req | BOOL | TRUE= Beginning to write a parameter FALSE= Finish to write a parameter |
| Index | INT | Parameter Index |
| Subindex | BYTE | Parameter Subindex |
| Value | DWORD | Value of a parameter |
| LEN | BYTE | Parameter type value |
Ausgänge
| Parameter Ausgang | Data Type | Description |
|---|---|---|
| Done | BOOL | Writing done without errors |
| Busy | BOOL | Writing status is still active |
| Error | BOOL | Writing error; ErrorID is valid |
| ErrorID | DWORD | Communication ErrorID Siemens error list |

BM51_Power_CPU1500
The function module BM51_Power activates the motion control availability of the connected mains inverter (NWR) considering the account the device-side wiring of pulse release and fast discharge resistor.
Attention:
Before calling the drive must have been taken completely into operation considering all the safety regulations.
Eingänge
| Parameter Input | Datatype | Description |
|---|---|---|
| Enable | BOOL | Switch on to operational readiness |
| QuickDischarge | BOOL | Activate quick discharge |
Ausgänge
| Parameter Output | Datatype | Description |
|---|---|---|
| Status | BOOL | Status operational readiness |
| UzkReached | BOOL | DC-Link Voltage set value reached |
| Busy | BOOL | Mains inverter switch-on process is busy |
| QuickDischargeActive | BOOL | quick discharge request active |
| Error | BOOL | Error Bit |
| StatusID | WORD | Mains power inverter Status |
