
adccommunitymod (AutomationDirect) asked a question.
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
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?
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.
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?
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.)
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.
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