adccommunitymod (AutomationDirect) asked a question.

MODBUS to a Delta VFD-B Problem.

Created Date: September 10,2007

Created By: Darksabre

**** 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 having a little problem writing some modbus commands to a Delta VFD-B drive. I'm using a DL06 plc and the MRX and MWX commands to modbus it. As far as I can tell, you can read/write to the parameters starting at parameter 0000 by setting up the MRX/MWX block like this: Port: K2 Slave Add: K1 Function Code: 03 or 16 Start Slave Memory Address: 40001 Number of Elem: 20 Modbus Data type: 584/984 Mode Exception Buffer: V400 If I have it setup like this, I can successfully read or write to parameters 0000 through 0019 (20 elements). This is great...if I only want to access those parameters. Unfortunately there are a lot more parameters (all the way up to 0900) that I need to access. I can change my start slave address anywhere from 40001 to 40011, but if I set it beyond this, it wont read/write any values. Also, it only lets me read/write up to 20 elements. Again, anything past this and it fails to read/write values. Does this sound familiar to anyone? Any suggestions or brainstorming would be much appreciated!


  • adccommunitymod (AutomationDirect)

    Created Date: September 10,2007

    Created by: milldrone

    Darksabre,

    Here is a program I wrote to test how many registers I could write to with the mwx instruction. It worked when I tried it over a year ago.

    PLC 06

    // Rung 1

    // Address 0

    #BEGIN COMMENT

    " This is an example of a mwx comm to move all the registers from V1200 to V7377 to "

    "another plc V1200 to V7377. This could be a 06 or an 05 as they both have the same "

    "memory range. Note the last MWX has only 75 registers in it. All the other MWX's have "

    "125 registers ( the 125 number is all the software would allow me to transfer in one "

    "instruction). "

    " "

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C0

    OR C1

    OUT Y0

    // Rung 2

    // Address 3

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C2

    OR C3

    OUT Y1

    // Rung 3

    // Address 6

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C4

    OR C5

    OUT Y2

    // Rung 4

    // Address 9

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C6

    OR C7

    OUT Y3

    // Rung 5

    // Address 12

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C10

    OR C11

    OUT Y4

    // Rung 6

    // Address 15

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C12

    OR C13

    OUT Y5

    // Rung 7

    // Address 18

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C14

    OR C15

    OUT Y6

    // Rung 8

    // Address 21

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C16

    OR C17

    OUT Y7

    // Rung 9

    // Address 24

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C20

    OR C21

    OR C40

    OUT Y10

    // Rung 10

    // Address 28

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C22

    OR C23

    OR C41

    OUT Y11

    // Rung 11

    // Address 32

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C24

    OR C25

    OR C42

    OUT Y12

    // Rung 12

    // Address 36

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C26

    OR C27

    OR C43

    OUT Y13

    // Rung 13

    // Address 40

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C30

    OR C31

    OR C44

    OUT Y14

    // Rung 14

    // Address 44

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C32

    OR C33

    OR C45

    OUT Y15

    // Rung 15

    // Address 48

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C34

    OR C35

    OR C46

    OUT Y16

    // Rung 16

    // Address 52

    #BEGIN COMMENT

    " This rung is just for a visual display of comm progress via output leds "

    #END

    STR C36

    OR C37

    OR C47

    OUT Y17

    // Rung 17

    // Address 56

    #BEGIN COMMENT

    " this is a shift register triggered by the comm port being busy to shift to the next bit "

    #END

    STRN SP1

    STR SP116

    STRN SP1

    SR C0 C47

    // Rung 18

    // Address 61

    #BEGIN COMMENT

    " this is to reset the shift register and to limit the number of shifts so that they end with bit "

    "C32. Otherwise the register would hang because the comm port wouldnt be busy. As the "

    "last bit used for an MWX box is C31 "

    #END

    STR SP0

    OR C32

    SET C0

    RST C47

    // Rung 19

    // Address 65

    STRN SP116

    AND C0

    MWX K0 K0 K2 K2 K16 K40641 V1200 K125 K0 V400

    // Rung 20

    // Address 73

    STRN SP116

    AND C1

    MWX K0 K0 K2 K2 K16 K40766 V1375 K125 K0 V400

    // Rung 21

    // Address 81

    STRN SP116

    AND C2

    MWX K0 K0 K2 K2 K16 K40891 V1572 K125 K0 V400

    // Rung 22

    // Address 89

    STRN SP116

    AND C3

    MWX K0 K0 K2 K2 K16 K41016 V1767 K125 K0 V400

    // Rung 23

    // Address 97

    STRN SP116

    AND C4

    MWX K0 K0 K2 K2 K16 K41141 V2164 K125 K0 V400

    // Rung 24

    // Address 105

    STRN SP116

    AND C5

    MWX K0 K0 K2 K2 K16 K41266 V2361 K125 K0 V400

    // Rung 25

    // Address 113

    STRN SP116

    AND C6

    MWX K0 K0 K2 K2 K16 K41391 V2556 K125 K0 V400

    // Rung 26

    // Address 121

    STRN SP116

    AND C7

    MWX K0 K0 K2 K2 K16 K41516 V2753 K125 K0 V400

    // Rung 27

    // Address 129

    STRN SP116

    AND C10

    MWX K0 K0 K2 K2 K16 K41641 V3150 K125 K0 V400

    // Rung 28

    // Address 137

    STRN SP116

    AND C11

    MWX K0 K0 K2 K2 K16 K41766 V3345 K125 K0 V400

    // Rung 29

    // Address 145

    STRN SP116

    AND C12

    MWX K0 K0 K2 K2 K16 K41891 V3542 K125 K0 V400

    // Rung 30

    // Address 153

    STRN SP116

    AND C13

    MWX K0 K0 K2 K2 K16 K42016 V3737 K125 K0 V400

    // Rung 31

    // Address 161

    STRN SP116

    AND C14

    MWX K0 K0 K2 K2 K16 K42141 V4131 K125 K0 V400

    // Rung 32

    // Address 169

    STRN SP116

    AND C15

    MWX K0 K0 K2 K2 K16 K42266 V4331 K125 K0 V400

    // Rung 33

    // Address 177

    STRN SP116

    AND C16

    MWX K0 K0 K2 K2 K16 K42391 V4526 K125 K0 V400

    // Rung 34

    // Address 185

    STRN SP116

    AND C17

    MWX K0 K0 K2 K2 K16 K42516 V4723 K125 K0 V400

    // Rung 35

    // Address 193

    STRN SP116

    AND C20

    MWX K0 K0 K2 K2 K16 K42641 V5120 K125 K0 V400

    // Rung 36

    // Address 201

    STRN SP116

    AND C21

    MWX K0 K0 K2 K2 K16 K42766 V5315 K125 K0 V400

    // Rung 37

    // Address 209

    STRN SP116

    AND C22

    MWX K0 K0 K2 K2 K16 K42891 V5512 K125 K0 V400

    // Rung 38

    // Address 217

    STRN SP116

    AND C23

    MWX K0 K0 K2 K2 K16 K43016 V5707 K125 K0 V400

    // Rung 39

    // Address 225

    STRN SP116

    AND C24

    MWX K0 K0 K2 K2 K16 K43141 V6104 K125 K0 V400

    // Rung 40

    // Address 233

    STRN SP116

    AND C25

    MWX K0 K0 K2 K2 K16 K43266 V6301 K125 K0 V400

    // Rung 41

    // Address 241

    STRN SP116

    AND C26

    MWX K0 K0 K2 K2 K16 K43391 V6476 K125 K0 V400

    // Rung 42

    // Address 249

    STRN SP116

    AND C27

    MWX K0 K0 K2 K2 K16 K43516 V6673 K125 K0 V400

    // Rung 43

    // Address 257

    STRN SP116

    AND C30

    MWX K0 K0 K2 K2 K16 K43641 V7070 K125 K0 V400

    // Rung 44

    // Address 265

    STRN SP116

    AND C31

    MWX K0 K0 K2 K2 K16 K43766 V7265 K75 K0 V400

    // Rung 45

    // Address 273

    END

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: September 13,2007

    Created by: Darksabre

    Thanks for the program. I was able to figure out what I was doing wrong. Their addressing scheme isn't continuous. You have to convert the desired parameter to hex (ex 05-25 is 05H and 19H), then you put it together and convert to decimal (0519H = 1305 in decimal). Then you take that number and add it to 40001 to get your modbus address. Whew.

  • adccommunitymod (AutomationDirect)

    Created Date: September 10,2007

    Created by: Darksabre

    I'm having a little problem writing some modbus commands to a Delta VFD-B drive. I'm using a DL06 plc and the MRX and MWX commands to modbus it. As far as I can tell, you can read/write to the parameters starting at parameter 0000 by setting up the MRX/MWX block like this:

    Port: K2

    Slave Add: K1

    Function Code: 03 or 16

    Start Slave Memory Address: 40001

    Number of Elem: 20

    Modbus Data type: 584/984 Mode

    Exception Buffer: V400

    If I have it setup like this, I can successfully read or write to parameters 0000 through 0019 (20 elements). This is great...if I only want to access those parameters. Unfortunately there are a lot more parameters (all the way up to 0900) that I need to access. I can change my start slave address anywhere from 40001 to 40011, but if I set it beyond this, it wont read/write any values. Also, it only lets me read/write up to 20 elements. Again, anything past this and it fails to read/write values.

    Does this sound familiar to anyone? Any suggestions or brainstorming would be much appreciated!

    Expand Post