3. Open DB 99 "ComDataSlaves" by double-clicking.
4. In "ComDataSlaves" create the following variable:
n ‘Slaves’ of Type UDT 877 - VMC_ComSlavesRTU_REF
13.5.5.3.6 OB 1 - Create instance of communication manager
The FB 877 - VMC_ComManager_RTU ensures that only 1 inverter drive (Modbus slave)
can use the serial interface. As a communication manager, the block sends the jobs to
the respective Modbus slaves and evaluates their responses.
1. Open the OB 1.
2. Add a Call FB877, DB877 to OB 1.
ð
The block call is created and a dialog opens to specify the instance data block
‘VMC_ComManager_RTU_877’ .
3. Confirm the query of the instance data block with [OK].
4. Specify the following parameters:
Call FB877, DB877
Ä
Chap. 13.5.7.6 ‘FB 877 - VMC_ComManager_RTU - Modbus RTU communication manager’ page 505
NumberOfSlaves := 1 // Number of connected inverter drives: 1 IN: INT
WaitCycles := "ComWaitCycles" // Minimum number of waiting cycles IN: DINT
SlavesComData := "ComDataSlaves.Slave" // Reference to all communication objects IN-OUT: UDT 877
13.5.5.3.7 OB 1 - Create instance of the V1000 initialization
The FB 881 - VMC_InitV1000_RTU initializes the corresponding inverter drive with the
user data. Before an inverter drive can be controlled, it must be initialized.
1. Add a Call FB881, DB881 to OB 1.
ð
The block call is created and a dialog opens to specify the instance data block
‘VMC_InitV1000_RTU _881’ .
2. Confirm the query of the instance data block with [OK].
3. Specify the following parameters:
Call FB881, DB881
Ä
Chap. 13.5.7.10 ‘FB 881 - VMC_InitV1000_RTU - Modbus RTU initialization’ page 507
Execute := "A1_InitExecute" // The job is started with edge 0-1. IN: BOOL
Hardware := "A1_InitHardware" // Specification of the hardware, used
// 1: System SLIO CP040, 2: SPEED7 CPU
IN: BYTE
Laddr := "A1_InitLaddr" // Logical address when using CP040 IN: INT
UnitId := "A1_InitUnitId" // Modbus address of the V1000 IN: BYTE
UserUnitsVelocity := "A1_InitUserUnitsVel" // User unit for velocities:
// 0: Hz, 1: %, 2: RPM
IN: INT
UserUnitsAcceleration := "A1_InitUserUnitsAcc" // User units acceleration/deceleration
// 0: 0.01s, 1: 0.1s
IN: INT
MaxVelocityApp := "A1_InitMaxVelocityApp" // Max. velocity in user units IN: REAL
Done := "A1_InitDone" // Status job finished OUT: BOOL
VIPA SPEED7
Motion control - Simple Motion Control Library
Usage inverter drive via Modbus RTU > Usage in Siemens SIMATIC Manager
HB00 | OPL_SP7 | Operation list | en | 18-30 481