Helium (Customer) asked a question.

DL06 Connected to a Lenze i550 VFD via Modbus RS485 doesn't work

Good day everyone.

 

First off, I want to apologize for my writing if you find any mistake or you don't understand something since English is not my first language.

 

Now moving on to the topic, currently as an exercise I'm trying to connect a DL06 PLC to a Lenze i550 VFD via Modbus RS485. Both devices have available this protocol under this wiring standard. I wired up the connection using the ZL-CMA15L from the DL06's port 2 to Lenze's Modbus terminal using a UTP cable. I set up the communication parameters in the VFD according to what I set in the master (DL06), plus the master had the address 2, meanwhile the slave (VFD) 1.

722d1a7c-6c0b-4c36-a613-b67f8e296a04I coded the program to read the registers 42001 (output frequency), write 42101 (input frequency) and 42100 (vfd starter) with the exception buffers in V10000, v10001 and V10002 respectively. After running both devices, the communications seemed to don't work out and I couldn’t start the vfd, as you can see in the video the RxD and TxD leds starts flashing and I just simply don't know what could precisely mean. Also, the VFD popped up the following warning code: W81a2, Modbus: incorrect request by master

Warning lenzeChecking out the exception buffers, I suppose the slave is telling me the address is incorrect (referring to the first two exception responses), but that doesn’t make sense since the slave address match with the one I set up in the program, also I made sure I wrote/read the correct register addresses. Also, I have no clue what the last buffer is telling me.

Exception-Buffer-2Exception-Buffer-1Exception-Buffer-3According to the giving information, What I could possibly do fix this issue? Have you ever tried connecting Automation Direct Products with other devices out of this brach?

 

Any comments will be appreciated, and any question you may have about this problem I’ll answer it.

 

Thank you and best regards. 

 

PS: The video, Lenze's Documentation and the program itself are attached in this post.

https://download.lenze.com/TD/i550%20cabinet%20(Firmware%2006%2002%2000%2000)__v15-0__EN.pdf


  • Todd Dice (Customer)

    I have read from other threads It is common for a Modbus address mismatch. I would try either going upward 1 or 2 digits and try again.

    • Helium (Customer)

      Are we talking about the device adress or the register address?, because if you meant the sencond I already did that, acoording to Lenze's manual you must substract by 1 the register number.

  • kewakl (Customer)

    Are the jumpers in place on the 485 breakout (+pair) and (-pair)?

    Are the PLC and the VFD well grounded?

  • Garry (Customer)

    Hi @Helium (Customer)​ 

    I am not familiar with the DL or Lenze i550 VFD, however, you may want to try a 6-digit address instead of the 5-digit that you are using.

    Instead of using 42001 (output frequency), try 442001

    Here is an explanation of the 5 vs 6 digit Modbus addresses.

    https://www.kepware.com/en-us/support/knowledge-base/2008/modbus-5-digit-addressing-versus-6-digit-addressin/

    Regards,

    Garry

    https://accautomation.ca/brx-plc-serial-communication-modbus-rtu-to-solo-process-temperature-controller/

    Expand Post
    • Helium (Customer)

      Hello @Garry (Customer)​ 

       

      Thanks for your reply.

       

      Now that you mention, actually (taking the VFD starter word as an example) consider 2100 as the core address, the 4 can be dropped.

      image.pngSo considering what you said, to access the register I should try 402100 instead?

       

      Best regards

       

      PS: You can check out page 424 (in pdf file) of the Lenze documentation I attached before for more information about Lenze's Modsbus protocol operation.

      Expand Post
      • Garry (Customer)

        It looks like a 5 digit register.

        The offset is 1.

        Register address 2000 would be Modbus address 42001 as you mentioned above.

        Are you just trying to read one Modbus register and getting the invalid address return code?

        Regards,

        Garry

  • PouchesInc (Customer)

    I cant really help much on this since I have long forgotten the majority of things relating to a DL06, but I think that since you are at least receiving an actual error about a bad address or something related to that when you try to do a modbus write then it should point to your problem being software related rather than a physical hardware connection issue. So I would definitely be looking at how the address is formatted as well as checking the address offset again. The VFD may say to use a -1 address offset, but that may also depend on the PLC.

    Expand Post
    • Helium (Customer)

      Hi @PouchesInc (Customer)​ 

       

      Many thanks for your reply.

       

      Yeah, I considered the adress offset as the manual suggested at first, but it didn't worked (taking VFD starter register as an example, you can compare it to what I have in the program an it's exactly the same 42100...unless...)

      image.pngI check out again the part of the exception response buffers and I correct now:

      So we have 8602 for 42001, 3302 for 42101 and A1 for 42100. According to manual with 42001 there was just an error trying to read the previously mentioned register, with 42101 the master made an invalid request because the register adress was wrong and with 42100 I definitely have no clue.

       

      Best regards

       

      PS: You can check out page 424 (in pdf file) of the Lenze documentation I attached before for more information about Lenze's Modsbus protocol operation.

      Expand Post