×
Siemens Industry Online Support
Siemens AG
  • Content
  • Search
  • Index
  • SINAMICS V90, SIMOTICS S-1FL6
    • Control functions
      • Compound controls
      • Communicating with the PLC
        • Communicating with the PLC
        • USS communication
        • Modbus communication
    (4)
    Rate

    Entry type: Manual, Entry ID: 109479012, Entry date: 08/10/2015

    SINAMICS V90 Pulse train, USS/Modbus, SIMOTICS S-1FL6 Operating Instructions

    Document: SINAMICS V90, SIMOTICS S-1FL6 (07/2015, English)
    Type of topic: Fact

    Modbus communication

    The SINAMICS V90 servo drive can communicate with the PLC through an RS485 cable with the standard Modbus communication protocol. For Modbus data format, V90 supports Modbus RTU while Modbus ASCII is not supported. Registers of the servo drive can be read by Modbus function code FC3 and written via function code FC6 (single register) or FC16 (multiple registers).

    Supported function codes

    The SINAMICS V90 supports only three function codes. If a request with an unknown function code is received, an error message will be returned.

    FC3 - Read holding registers

    When a message with FC = 0x03 is received, then four bytes of data are expected, that is, FC3 has four bytes of data:

    • Two bytes for the starting address
    • Two bytes for the number of registers

    Byte 1

    Byte 2

    Byte 3

    Byte 4

    Byte 5

    Byte 6

    Byte 7

    Byte 8

    Address

    FC (0x03)

    Start address (most significant byte)

    Start address (least significant byte)

    Number of registers (most significant byte)

    Number of registers (least significant byte)

    CRC

    CRC

    FC6 - Write single register

    When a message with FC = 0x06 is received, then four bytes of data are expected, that is, FC6 has four bytes of data:

    • Two bytes for the register address
    • Two bytes for the register value

    Byte 1

    Byte 2

    Byte 3

    Byte 4

    Byte 5

    Byte 6

    Byte 7

    Byte 8

    Address

    FC (0x06)

    Start address (most significant byte)

    Start address (least significant byte)

    New register value (most significant byte)

    New register value (least significant byte)

    CRC

    CRC

    FC16 - Write multiple registers

    When a message with FC = 0x10 is received, then 5 + N bytes of data are expected, that is, FC16 has 5 + N bytes of data:

    • Two bytes for the starting address
    • Two bytes for the number of registers
    • One byte for the byte count
    • N bytes for the register vaules

    Byte 1

    Byte 2

    Byte 3

    Byte 4

    Byte 5

    Byte 6

    Byte 7 + n

    Byte 8 + n

    Byte 9 + n

    Byte 10 + n

    Address

    FC (0x06)

    Start address (most significant byte)

    Start address (least significant byte)

    Number of registers (most significant byte)

    Number of registers (least significant byte)

    nth value (most significant byte)

    nth value (least significant byte)

    CRC

    CRC

    Operating steps

    Description

    Comment

    Configure the RS485 bus address by parameter p29004.

    You can configure the slaver address from 1 to 31.

    Select the communication protocol by parameter p29007.

    • p29007 = 0: No protocol
    • p29007 = 1: USS protocol
    • p29007 = 2: Modbus protocol

    Select the command and setpoint source by parameter p29008.

    • p29008 = 1: Setpoint and control word from Modbus PZD
    • p29008 = 2: No control word.

    Set the transmission baud rate by parameter p29009.

    • 5: 4800 baud
    • 6: 9600 baud
    • 7: 19200 baud
    • 8: 38400 baud
    • 9: 57600 baud
    • 10: 76800 baud
    • 11: 93750 baud
    • 12: 115200 baud
    • 13: 187500 baud

    Set control mode for the drive by p29003.

     

    Save the parameters and restart the drive.

     

    Configure the PLC parameters.

    Note:

    Keep the PLC baud rate the same as the drive setting.

    Set even parity check for the PLC.

    Write the control word via PLC.

    Note:

    Bit 10 of the register 40100 must be set to 1 to allow the PLC to control the drive.

    You need to trigger a rise edge for OFF1 to enable SON status for the motor, and OFF2 and OFF3 must be set to 1. The step must be executed when you enable SON for the first time.

    Write the setpoint and read the status word via PLC.

     

    Example 1

    This example shows the operating procedures when we the use setpoint and control word from Modbus as the Modbus control source in S control mode.

    1.

    Set RS485 bus address for the drive.

    • p29004 = 1

    2.

    Select the Modbus protocol by p29007.

    • p29007 = 2

    3.

    Select Modbus control source by p29008.

    • p29008 = 1

    4.

    Set the transmission baud rate by p29009.

    • p29009 = 8 (38400 baud)

    5.

    Save the parameters and restart the drive.

    6.

    Set the drive work mode to S control mode.

    7.

    Configure the PLC parameters.

    Note:

    Keep the PLC baud rate the same as the drive setting.

    Set even parity check for the PLC (parity = 2).

    8.

    Write the control word you desired via the register 40100.

    Note:

    Bit 10 of the register 40100 must be set to 1 to allow the PLC to control the drive.

    You need to trigger a rise edge for OFF1 to enable SON status for the motor, and OFF2 and OFF3 must be set to 1. The step must be executed when you enable SON for the first time.

    For example, we write 0x41E to the register 40100 firstly and then write 0x41F to the register. The motor now is in SON status. You can check the control word definition table below to see the meaning of "0x41E" and "0x41F".

    9.

    Write the speed setpoint via the register 40101.

    Note:

    You can calculate the actual speed value with the scale factor. Value 0x4000 represents the value of 100% × motor rated speed. Therefore, 0x2000 represents half of the motor rated speed.

    Example 2

    This example shows the operating procedures when we use the setpoint and control word from Modbus as the Modbus control source in IPos control mode.

    1.

    Set RS485 bus address for the drive.

    • p29004 = 1

    2.

    Select the Modbus protocol by p29007.

    • p29007 = 2

    3.

    Select Modbus control source by p29008.

    • p29008 = 1

    4.

    Set the transmission baud rate by p29009.

    • p29009 = 8 (38400 baud)

    5.

    Save the parameters and restart the drive.

    6.

    Set the drive work mode to IPos control mode.

    7.

    Configure the PLC parameters.

    Note:

    Keep the PLC baud rate the same as the drive setting.

    Set even parity check for the PLC (parity = 2).

    8.

    Write the control word you desired via the register 40100.

    Note:

    Bit 10 of the register 40100 must be set to 1 to allow the PLC to control the drive.

    You need to trigger a rise edge for OFF1 to enable SON (0→1) status for the motor, and OFF2 and OFF3 must be set to 1. The step must be executed when you enable SON for the first time.

    For example, we write 0x46E to the register 40100 firstly and then write 0x46F to the register. The motor now is in SON status. You can check the control word definition table below to see the meaning of "0x46E" and "0x46F".

    9.

    Implement referencing for the drive.

    Keep the drive in SON status and implement referencing by writing the control word 40100.

    10.

    Write the position setpoint and speed setpoint via the registers 40932, 40933, 40934, 40935, 40102 and 40103.

    Mapping table

    The SINAMICS V90 servo drive supports the following registers. "R", "W", "R/W" in the column access stand for read, write, read/write.

    Modbus register number

    Description

    Modbus access

    Unit

    Scaling factor

    Range or On/Off text

    Data/parameter

    40100

    Control word (PTI, IPos, S, T)

    R/W

    -

    1

    -

    Process data 1, receive word, PZD1

    40101

    Speed setpoint (S)

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -

    Process data 2, receive word, PZD2

    40102

    Position setpoint high-word (IPos)

    R/W

    LU

    1

    -2147482648 to 2147482647

    Process data 3, receive word, PZD3

    40103

    Position setpoint low-word (IPos)

    R/W

    LU

    1

    Process data 4, receive word, PZD4

    40110

    Status word (PTI, IPos, S, T)

    R

    -

    1

    -

    Process data 1, send word, PZD1

    40111

    Actual speed (PTI, IPos, S, T)

    R

    -

    0x4000 hex = 100% × motor rated speed

    -

    Process data 2, send word, PZD2

    40112

    Actual position high-word (PTI, IPos)

    R

    LU

    1

    -2147482648 to 2147482647

    Process data 3, send word, PZD3

    40113

    Actual position low-word (PTI, IPos)

    R

    LU

    1

    Process data 4, send word, PZD4

    40200

    DO 1

    R/W

    -

    1

    HIGH/LOW

    r0747.0

    40201

    DO 2

    R/W

    -

    1

    HIGH/LOW

    r0747.1

    40202

    DO 3

    R/W

    -

    1

    HIGH/LOW

    r0747.2

    40203

    DO 4

    R/W

    -

    1

    HIGH/LOW

    r0747.3

    40204

    DO 5

    R/W

    -

    1

    HIGH/LOW

    r0747.4

    40205

    DO 6

    R/W

    -

    1

    HIGH/LOW

    r0747.5

    40220

    AO 1

    R

    %

    100

    -100.0 to 100.0

    -

    40221

    AO 2

    R

    %

    100

    -100.0 to 100.0

    -

    40240

    DI 1

    R

    -

    1

    HIGH/LOW

    r0722.0

    40241

    DI 2

    R

    -

    1

    HIGH/LOW

    r0722.1

    40242

    DI 3

    R

    -

    1

    HIGH/LOW

    r0722.2

    40243

    DI 4

    R

    -

    1

    HIGH/LOW

    r0722.3

    40244

    DI 5

    R

    -

    1

    HIGH/LOW

    r0722.4

    40245

    DI 6

    R

    -

    1

    HIGH/LOW

    r0722.5

    40246

    DI 7

    R

    -

    1

    HIGH/LOW

    r0722.6

    40247

    DI 8

    R

    -

    1

    HIGH/LOW

    r0722.7

    40248

    DI 9

    R

    -

    1

    HIGH/LOW

    r0722.8

    40249

    DI 10

    R

    -

    1

    HIGH/LOW

    r0722.9

    40260

    AI 1

    R

    %

    100

    -300.0 to 300.0

    -

    40261

    AI 2

    R

    %

    100

    -300.0 to 300.0

    -

    40280

    Enable DI simulation (high part)

    R/W

    -

    1

    HIGH/LOW

    -

    40281

    Enable DI simulation (low part)

    R/W

    -

    1

    HIGH/LOW

    -

    40282

    Setpoint DI simulation (high part)

    R/W

    -

    1

    HIGH/LOW

    -

    40283

    Setpoint DI simulation (low part)

    R/W

    -

    1

    HIGH/LOW

    -

    40300

    Power stack code number

    R

    -

    1

    0 to 32767

    -

    40301

    V90 OA version

    R

    -

    1

    e.g. 104xx for V01.04.xx

    p29018[0]/10000

    40320

    Rated power of the power unit

    R

    kW

    100

    0.00 to 327.67

    -

    40321

    Current limit

    R/W

    %

    10

    10.0 to 400.0

    -

    40322

    Ramp-up time

    R/W

    s

    100

    0.0 to 650.0

    p1120

    40323

    Ramp-down time

    R/W

    s

    100

    0.0 to 650.0

    p1121

    40324

    Reference speed

    R

    rpm

    1

    6 to 32767

    Motor rated speed

    40325

    Control mode

    R/W

    -

    1

    0 to 8

    p29003

    40340

    Speed setpoint

    R

    rpm

    1

    -16250 to 16250

    r0020

    40341

    Actual speed value

    R

    rpm

    1

    -16250 to 16250

    r0021

    40344

    DC-link voltage

    R

    V

    1

    0 to 32767

    r0026

    40345

    Actual current value

    R

    A

    100

    0 to 163.83

    r0027

    40346

    Actual torque value

    R

    Nm

    100

    -325.00 to 325.00

    r0031

    40347

    Actual active power

    R

    kW

    100

    0 to 327.67

    r0032

    40348

    Energy consumption

    R

    kWh

    1

    0 to 32767

    -

    40349

    Control priority

    R

    -

    1

    Manual/Auto

    r0807

    40350/40351

    Position setpoint

    R

    LU

    1

    -2147482648 to 2147482647

    r2556

    40352/40353

    Actual position value

    R

    LU

    1

    -2147482648 to 2147482647

    r2521[0]

    40354

    Motor utilization

    R

    %

    100

    -320.00 to 320.00

    r0034

    40400

    Failure number, index 0

    R

    -

    1

    0 to 32767

    -

    40401

    Failure number, index 1

    R

    -

    1

    0 to 32767

    -

    40402

    Failure number, index 2

    R

    -

    1

    0 to 32767

    -

    40403

    Failure number, index 3

    R

    -

    1

    0 to 32767

    -

    40404

    Failure number, index 4

    R

    -

    1

    0 to 32767

    -

    40405

    Failure number, index 5

    R

    -

    1

    0 to 32767

    -

    40406

    Failure number, index 6

    R

    -

    1

    0 to 32767

    -

    40407

    Failure number, index 7

    R

    -

    1

    0 to 32767

    -

    40408

    Alarm number

    R

    -

    1

    0 to 32767

    -

    40800/40801

    Fixed position setpoint 1

    R/W

    LU

    1

    -2147482648 to 2147482647

    p2617[0]

    40802/40803

    Fixed position setpoint 2

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[1]

    40804/40805

    Fixed position setpoint 3

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[2]

    40806/40807

    Fixed position setpoint 4

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[3]

    40808/40809

    Fixed position setpoint 5

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[4]

    40810/40811

    Fixed position setpoint 6

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[5]

    40812/40813

    Fixed position setpoint 7

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[6]

    40814/40815

    Fixed position setpoint 8

    R/W

    LU

    1

    -2147482648 to 2147482648

    p2617[7]

    40840/40841

    Speed of the fixed position 1

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[0]

    40842/40843

    Speed of the fixed position 2

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[1]

    40844/40845

    Speed of the fixed position 3

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[2]

    40846/40847

    Speed of the fixed position 4

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[3]

    40848/40849

    Speed of the fixed position 5

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[4]

    40850/40851

    Speed of the fixed position 6

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[5]

    40852/40853

    Speed of the fixed position 7

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[6]

    40854/40855

    Speed of the fixed position 8

    R/W

    1000 LU/min

    1

    1 to 40000000

    p2618[7]

    40880/40881

    IPos maximum acceleration

    R/W

    1000 LU/s2

    1

    1 to 2000000

    p2572

    40882/40883

    IPos maximum deceleration

    R/W

    1000 LU/s2

    1

    1 to 2000000

    p2573

    40884/40885

    EPos jerk limiting

    R/W

    1000 LU/s3

    1

    1 to 100000000

    p2574

    40900

    Fixed speed setpoint 1

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1001

    40901

    Fixed speed setpoint 2

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1002

    40902

    Fixed speed setpoint 3

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1003

    40903

    Fixed speed setpoint 4

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1004

    40904

    Fixed speed setpoint 5

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1005

    40905

    Fixed speed setpoint 6

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1006

    40906

    Fixed speed setpoint 7

    R/W

    -

    0x4000 hex = 100% × motor rated speed

    -210000.000 to 210000.00

    p1007

    40932/40933

    MDI speed of position setpoint

    R/W

    1000 LU/min

    1

    1 to 2147482648

    p2691

    40934

    MDI acceleration override

    R/W

    %

    100

    0.1 to 100

    p2692

    40935

    MDI deceleration override

    R/W

    %

    100

    0.1 to 100

    p2693

    40950

    Fixed torque setpoint

    R/W

    %

    100

    -100 to 100

    p29043

    Process data overview

    Control mode

    PTI

    IPos

    S

    T

    Control data

    40100

    PTI mode control word

    IPos mode control word

    S mode control word

    T mode control word

    40101

    -

    -

    Speed setpoint

    -

    40102

    -

    Position setpoint high word

    -

    -

    40103

    -

    Position setpoint low word

    -

    -

    Status data

    40110

    Status word

    Status word

    Status word

    Status word

    40111

    Actual speed

    Actual speed

    Actual speed

    Actual speed

    40112

    Actual position high word

    Actual position high word

    -

    -

    40113

    Actual position low word

    Actual position low word

    -

    -

    Definition of the register 40100

    Bit

    PTI control mode

    IPos control mode

    Signals

    Description

    Signals

    Description

    0

    SON_OFF1

    Rising edge to enable SON (pulses can be enabled).

    0: OFF1 (braking with ramp-function generator, then pulse cancellation, ready to power up)

    SON_OFF1

    Rising edge to enable SON (pulses can be enabled).

    0: OFF1 (braking with ramp-function generator, then pulse cancellation, ready to power up)

    1

    OFF2

    1: No OFF2 (enable is possible)

    0: OFF2 (immediate pulse cancelation and power on inhibit)

    OFF2

    1: No OFF2 (enable is possible)

    0: OFF2 (immediate pulse cancelation and power on inhibit)

    2

    OFF3

    1: No OFF3 (enable is possible)

    0: OFF3 (fast braking then pulse cancelation and power on inhibit)

    OFF3

    1: No OFF3 (enable is possible)

    0: OFF3 (fast braking then pulse cancelation and power on inhibit)

    3

    OPER

    1: Enable operation (pulses can be enabled)

    0: Inhibit operation (cancel pulses)

    OPER

    1: Enable operation (pulses can be enabled)

    0: Inhibit operation (cancel pulses)

    4

    Reserved

    -

    SETP_ACC

    Rising edge to accept MDI setpoint

    5

    Reserved

    -

    TRANS_TYPE SE

    1: Accept new setpoint immediately

    0: Accept on rising edge of SETP_ACC

    6

    Reserved

    -

    POS_TYP

    1: Absolute positioning

    0: Relative positioning

    7

    RESET

    Reset faults

    RESET

    Reset faults

    8

    Reserved

    -

    Reserved

    -

    9

    Reserved

    -

    Reserved

    -

    10

    PLC

    Enable master control from the PLC

    PLC

    Enable master control from the PLC

    11

    Reserved

    -

    Reserved

    -

    12

    Reserved

    -

    Reserved

    -

    13

    Reserved

    -

    SREF

    Start referencing (act as REF for reference mode 0)

    14

    Reserved

    -

    Reserved

    -

    15

    Reserved

    -

    Reserved

    -

    Bit

    S control mode

    T control mode

    Signals

    Description

    Signals

    Description

    0

    SON_OFF1

    Rising edge to enable SON (pulses can be enabled).

    0: OFF1 (braking with ramp-function generator, then pulse cancellation, ready to power up)

    SON_OFF1

    Rising edge to enable SON (pulses can be enabled).

    1

    OFF2

    1: No OFF2 (enable is possible)

    0: OFF2 (immediate pulse cancelation and power on inhibit)

    OFF2

    1: No OFF2 (enable is possible)

    0: OFF2 (immediate pulse cancelation and power on inhibit)

    2

    OFF3

    1: no OFF3 (enable is possible)

    0: OFF3 (fast braking then pulse cancelation and power on inhibit)

    OFF3

    1: no OFF3 (enable is possible)

    0: OFF3 (fast braking then pulse cancelation and power on inhibit)

    3

    OPER

    1: Enable operation (pulses can be enabled)

    0: Inhibit operation (cancel pulses)

    OPER

    1: Enable operation (pulses can be enabled)

    0: Inhibit operation (cancel pulses)

    4

    EN_PAMP

    1: Operating condition (the ramp function generator can be enabled)

    0: Inhibit ramp function generator (set the ramp function generator output to zero)

    Reserved

    -

    5

    Reserved

    -

    Reserved

    -

    6

    Reserved

    -

    Reserved

    -

    7

    RESET

    Reset faults

    RESET

    Reset faults

    8

    Reserved

    -

    Reserved

    -

    9

    Reserved

    -

    Reserved

    -

    10

    PLC

    Enable master control from the PLC

    PLC

    Enable master control from the PLC

    11

    Rev

    Direction of rotation reversal

    Reserved

    -

    12

    Reserved

    -

    Reserved

    -

    13

    Reserved

    -

    Reserved

    -

    14

    Reserved

    -

    Reserved

    -

    15

    Reserved

    -

    Reserved

    -


    Note

    The following signals are occupied by Modbus control word when you use the setpoint and control word from Modbus as the Modbus control source (p29008 = 1). They can only be enabled by Modbus control word while cannot be enabled by external DI terminals.

    • PTI control mode: SON

    • IPos control mode: SON, SREF (REF for reference mode 0)

    • S control mode: SON, CWE/CCWE

    • T control mode: SON




    Note

    All the reserved bits in register 40100 must be set to 0.



    Definition of register 40110

    Bit

    PTI, IPos, S and T control modes

    Signals

    Description

    0

    RDY

    Servo ready

    1

    FAULT

    Fault status

    2

    INP

    In-position signal

    3

    ZSP

    Zero speed detection

    4

    SPDR

    Speed reached

    5

    TLR

    Torque limit reached

    6

    SPLR

    Speed limit reached

    7

    MBR

    Motor holding brake

    8

    OLL

    Overload level reached

    9

    WARNING 1

    Warning 1 condition reached

    10

    WARNING 2

    Warning 2 condition reached

    11

    REFOK

    Referenced

    12

    MODE 2

    In the second control mode

    13

    Reserved

    -

    14

    Reserved

    -

    15

    Reserved

    -

    Parameter scaling

    Due to the limits of the integer data in the Modbus protocol, it is necessary to convert the drive parameters before transmitting them. This is done by scaling, so that a parameter, which has a position after decimal point, is multiplied by a factor, to get rid of the fractional part. The scaling factor is as defined in the above table.



     

    Rate entry
    no rating
    Requests and feedback
    What do you want to do?
    Note: The feedback always relates to the current entry / product. Your message will be forwarded to our technical editors working in the Online Support. In a few days, you will receive a response if your feedback requires one. If we have no further questions, you will not hear from us.
    Support to the statistics
    With this function the IDs found are listed according to number (format .txt).

    Generate list
    Copy URL
    Display page in new design
    mySupport Cockpit