adccommunitymod (AutomationDirect) asked a question.

DL05 MODBUS communication with AcuVim II power meter

Created Date: March 05,2009

Created By: Froese

**** 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 have attached an "AcuVim II " power meter to my DL05 PLC (via F2-UNICOM RS-485 converter.) It seems to be communicating fine, and I am already reading and using the meter's real-time clock, but when I try to read any other values (I am most interested in volts, power, and kwh) I can't seem to interpret it; in the "data view " of DirectSoft 5, I have select DWORD, and tried every data type (signged/unsigned Decimal, BCD/Hex, Octal, Real, etc.) but the value don't make any sense. On page 94 of the user manual (link to .PDF below), you can see what I'm trying to read...starting at 4000H, which is 40,000 in Octal, and DirectSoft apparently converts to the alias VGX2200. Here is my ladder logic to read these first 9 values (36 bytes): LD K4202 LD K36 LDA O2500 RX VGX2200 AcuVim II user manual


  • adccommunitymod (AutomationDirect)

    Created Date: March 05,2009

    Created by: KPrice

    Froese, I have not used the "AcuVim II " power meter, but in other Modbus applications, we had to make sure we were receiving the words in correct order when reading double-words. Check the manual for the "AcuVim II " power meter for a word (or bit) that must be set to send the correct order. Hope this helps.

    Another thought is that, if you need to reverse the order of the words, you can do this in the PLC, instead of the meter. Do the numbers make sense if you view the 2 words in reverse order?

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: March 05,2009

    Created by: Do-more PE

    4000h is not VX2200. VX2200=V40110

    4000h=Holding Register 416384=V37777.

    Depending on whether the device does +1 addressing or not it could also be V40000. If it is V40000 then the alias is VGX0.

    The MODBUS spreadsheet is a handy tool if you do not already have it.

  • adccommunitymod (AutomationDirect)

    Created Date: March 05,2009

    Created by: KPrice

    Froese, sorry, not that easy. Looking at the manual, there are (2) possible modes to read registers, primary or secondary. Also, the register, for voltage for example (V1: registers 4002H, 4003H) follows a equation: voltage=(register value)(PT1/PT2)/10. What are your hex values in 4002H & 4003H? What are your PT1 (1005H, 1006H) values and PT2 (1007H) value? What volage are you expecting? Does your calculated value and expected value match?

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: March 05,2009

    Created by: Froese

    Thanks ADC App Assist, VGX0 was the correct remote address (I don't know where I got 2200 from.)

    I can see the values I expect in DirectSoft when I change data type to "Real. " So, now the question is: how do I use this in my program since DL05 doesn't have floating point capability? Is there a quick and dirty way to get most significant portions of values? I really don't need to know that voltage is 245.5741 (245 is quite sufficient.)

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: March 06,2009

    Created by: bcarlton

    To preserve your sanity it would be best to change to a DL06. Otherwise you have a world of fun ahead of you attempting to convert a seemingly arbitrary bit pattern to a useable integer.

  • adccommunitymod (AutomationDirect)

    Created Date: March 05,2009

    Created by: Froese

    I have attached an "AcuVim II " power meter to my DL05 PLC (via F2-UNICOM RS-485 converter.) It seems to be communicating fine, and I am already reading and using the meter's real-time clock, but when I try to read any other values (I am most interested in volts, power, and kwh) I can't seem to interpret it; in the "data view " of DirectSoft 5, I have select DWORD, and tried every data type (signged/unsigned Decimal, BCD/Hex, Octal, Real, etc.) but the value don't make any sense.

    On page 94 of the user manual (link to .PDF below), you can see what I'm trying to read...starting at 4000H, which is 40,000 in Octal, and DirectSoft apparently converts to the alias VGX2200. Here is my ladder logic to read these first 9 values (36 bytes):

    LD K4202

    LD K36

    LDA O2500

    RX VGX2200

    AcuVim II user manual

    Expand Post