adccommunitymod (AutomationDirect) asked a question.

Do-More PLC, Modbus RTU with V90 servos and INVT inverter

Created Date: November 01,2019

Created By: Jarrett

**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****

I'm working on a project and replaced a siemens plc with an H2 Do-More PLC and a SERIO-4. It's a gantry style drilling machine with 3 servo axis utilizing Simatic V90 servos and an INVT G100 VFD. Hardware PC: Windows 10, Modbus TCP to Do-More (credit to Garry, ACC Automation) PLC: H2-DM1E Com Card: H2-SERIO-4, using port C Modbus RTU Servos: Sematic V90 series, 6SL3210-5FE11-5UA0, firmware updated to v11101 VFD: INVT, GD100-5RSG-4 Protocol: Modbus RTU Baud Rate: 38400 Parity Check: 2 Even UI: Servos #1-#3, G100 #4 I'm having a problem reading and writing to the drives, all set to even parity checks, baud rate of 38400, UI set according to the order, and tested with and without terminating resistors. Serio-4 C: RTU Master Timeout: 1000ms Retries: 2 Inter-Packet Delay: 3500us (might need to change) Baud Rate: 38400 Data Bits: 8 Stop Bits: 1 Parity: Even Transmit Control: Unconditional RTS: Follow Transmitter Questions: V90 Servos: 1) RS485 monitoring time, default is 0ms and curious as to what the proper method is to set it given 4 slave items. 2) Modbus addressing: Assuming the ex 40100 addresses are dec and not hex. Offset address 100 for instance for the MWX MRX? G100 VFD: 1) Addressing documentation is ex 2001 hex, converting to dec is 8193, so the MWX and MRX offset addresses are? Any feedback or advice on how to go through and check the parameters and make adjustments would be greatly appreciated. Thanks


  • adccommunitymod (AutomationDirect)

    Created Date: November 01,2019

    Created by: Jarrett

    I'm working on a project and replaced a siemens plc with an H2 Do-More PLC and a SERIO-4. It's a gantry style drilling machine with 3 servo axis utilizing Simatic V90 servos and an INVT G100 VFD.

    Hardware PC: Windows 10, Modbus TCP to Do-More (credit to Garry, ACC Automation)

    PLC: H2-DM1E

    Com Card: H2-SERIO-4, using port C Modbus RTU

    Servos: Sematic V90 series, 6SL3210-5FE11-5UA0, firmware updated to v11101

    VFD: INVT, GD100-5RSG-4

    Protocol: Modbus RTU

    Baud Rate: 38400

    Parity Check: 2 Even

    UI: Servos #1-#3, G100 #4

    I'm having a problem reading and writing to the drives, all set to even parity checks, baud rate of 38400, UI set according to the order, and tested with and without terminating resistors.

    Serio-4 C: RTU Master Timeout: 1000ms

    Retries: 2

    Inter-Packet Delay: 3500us (might need to change)

    Baud Rate: 38400

    Data Bits: 8

    Stop Bits: 1

    Parity: Even

    Transmit Control: Unconditional

    RTS: Follow Transmitter

    Questions: V90 Servos:

    1) RS485 monitoring time, default is 0ms and curious as to what the proper method is to set it given 4 slave items.

    2) Modbus addressing: Assuming the ex 40100 addresses are dec and not hex. Offset address 100 for instance for the MWX MRX?

    G100 VFD:

    1) Addressing documentation is ex 2001 hex, converting to dec is 8193, so the MWX and MRX offset addresses are?

    Any feedback or advice on how to go through and check the parameters and make adjustments would be greatly appreciated.

    Thanks

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 01,2019

    Created by: Garry

    https://support.industry.siemens.com/cs/mdm/109479012?c=77170966283&lc=en-WW

    Here is a link on the Siemens site to help with the Modbus Addressing on the V90. Check the information on the default setting required to control this from the PLC.

    I would then try a read instruction from the PLC, to test communication and ensure that you have the correct addressing.

    Regards,

    Garry

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: December 31,2019

    Created by: Jarrett

    Quick update for those that are curious:

    The V90 Servo's are working and communicating via Modbus RTU. A few takeaways with the servo drives: 1. V-Assistant: use control words and verify the parameters are for modbus. Not all firmware supports RTU and must be checked.

    2. The order of reading and writing information to the drives is crucial for operation. This is primarily for the Control word PZD1 and intermittent reading of the status word to trigger sequenced commands. This is the case for referencing the axis in IPos mode (Internal Positioning). FYI using IPos/S-Mode, Internal Positioning/Jogging

    3. Do-More Serio-4: Modbus buffer has limitations and if the read/write commands are exceeded the network fails. With 4 devices on the Modbus Network the reading and writing between the drives must be linked to avoid filling the buffer (not fully understood as to how it's managed and would like to know). To limit the transmissions the write instructions occur only upon variable changes, and a heartbeat read of the status word(s). Regardless of timeout settings with the drives RTU window a heartbeat read is required to maintain communication.

    4. On the application side. I would not recommend Modbus RTU for coordinated motion. This project does not require it thankfully. With the V90 servo's, in S-mode jogging for example, if a run command CW is given and communication is lost the drive continues acting on the last successful word written.

    5. PLC:

    Baud: 19200

    Data Bits: 8

    Stop Bits: 1

    Parity: Even

    TC: Unconditional

    RTS: Follow Transmitter

    Timeout: 20ms (may test reducing further)

    Retries: 2

    Inter-Packet-Delay: 4000us (may try reducing further)

    6. PC HMI: Excel VBA, Modbus TCP

    Using Excel VBA for the DIY HMI is not exactly recommended. You can do it successfully; however, there exist limitations with memory and data operators with converting between data types. Double integer data, two's compliment, and binary operations in VBA is not friendly.

    Currently:

    60 registers continually read

    30 registers to communicate job settings

    300 data point registers per job write.

    Thanks for the help

    Jarrett

    Expand Post