AdvancedHMI Software
General Category => Support Questions => Topic started by: MrOverCast on December 07, 2024, 05:34:25 PM
-
Hi guys
im having this problem with the basic label where I cannot get the decimal to be in the right spot. I have a PLC reading data from a VFD via modbus RTU. Im reading the output current and the output frequency, But the basiclable is displaying 25.6 amps output current instead of 2.5 amps. Ive tried messing with the ValueScaleFactor and the NumericFormate and I couldn't get the decimal to go in front of the 2. Im at a lost right not
anyone have any ideas?
Productivity 2000 PLC
EV50 series 3 hp 220 V SIngle phase to 3 phase VFD
Thanks
-
ValueScaleFactor 0.1
NumericFormat 0.0
-
ValueScaleFactor 0.1
NumericFormat 0.0
Tried that, Didn't seem to work :-\
-
What if you do :
ValueScaleFactor 0.01
-
What if you do :
ValueScaleFactor 0.01
Tried that too, Even tried .0 and that didn't work, For whatever reason It absolutely refuses to to put the decimal in front of the two, I wanted to make a bar graph, you know the blue red yellow green graph but it'll look dumb with it saying 25 amps.
Edit: also changing the scale factor messes with the values that are displayed. So If i have output voltage 245, If I change the scale factor the displayed output voltage is raised to 250 now. these are just really odd issues I cannot figure out
-
How is the value represented in the PLC? Is it multiplied by 100? Is it a floating point number?
-
How is the value represented in the PLC? Is it multiplied by 100? Is it a floating point number?
Its a 16 bit integer if that answers your question, Im not 100% sure if its multiplied or how I would figurethat out. Im using the productivity suite program
-
What value do you see in the productivity suite?
-
What value do you see in the productivity suite?
Hopefully this photo helps. Also forgot to say I Appreciate the response.
Obviously the numbers are missing the decimal
Output_frequency 65.3
Output_Current 2.73 etc
-
Out of curiosity, add an AnalogValueDisplay using the same Modbus address
-
Out of curiosity, add an AnalogValueDisplay using the same Modbus address
Its exactly the same.
-
Are you using Modbus TCP or serial driver?
Just so you don't feel stuck with this issue, there is usually a few more things you can try:
- What numbers do you get if you don't use NumericFormat and keep ValueScaleFactor at 1
- Use a copy of your program and some Modbus simulator, point your program to it and then keep changing values in the simulator to see how they reflect in your program (and even with different NumericFormat and ValueScaleFactor)
-
Are you using Modbus TCP or serial driver?
Just so you don't feel stuck with this issue, there is usually a few more things you can try:
- What numbers do you get if you don't use NumericFormat and keep ValueScaleFactor at 1
- Use a copy of your program and some Modbus simulator, point your program to it and then keep changing values in the simulator to see how they reflect in your program (and even with different NumericFormat and ValueScaleFactor)
leaving NumericFormat blank and scale factor 1 gives me 256.0 amps. Im using modbus TCP IP and my PLC is talking to the VFD via modbus RTU. My PLC has Both Ethernet and RTU
-
What numbers do you get if you don't use NumericFormat and change ValueScaleFactor to 0.1 and then 0.01?
400007 register should be integer value and I would expect BasicLabel to show 256 instead of 256.0 (I might be wrong about this).
-
Since you are getting weird results all together, I am thinking that there might be some corruption on your computer or in your program or with cabling.
I could be wrong as well.
-
Since you are getting weird results all together, I am thinking that there might be some corruption on your computer or in your program or with cabling.
I could be wrong as well.
I feel like this Is just an Advanced HMI problem, If I change the numeric format it kinda helps and changes the format to 27.8 but if I do 00.0 it displays 278 amps which is obviously wrong. I'm using modbus TCP so there isn't any problems with cabling there. Im sure If I delete the entire program and just leave the modbus RTU read command for the vfd ill get the same results. The only thing I could think of Is im using an Ethernet cable that I cut up for the modbus + and -, So maybe theres some interference there going on? either that or I am using a 16 bit integer, maybe I need to use a 32 bit? I have no clue
What numbers do you get if you don't use NumericFormat and change ValueScaleFactor to 0.1 and then 0.01?
400007 register should be integer value and I would expect BasicLabel to show 256 instead of 256.0 (I might be wrong about this).
If I leave numeric format empty and put scale factor to 0.1 It changes the decimal to 29.0, If i change scale factor to 0.01 it changes it to 290 or something like that. it either changes it to 290 or just 01.
Just a reminder the motor is 1 HP at 4.8 amps max at 240V so obviously 29.0 isnt correct. I do have the tag set to 16 bit integer so.
-
To take the driver and communication out the equation, you can put values in the properties in the design view.
For example, set these properties values and see what displays while in design mode:
Value = 123
NumericFormat = 0.0
ValueScaleFactor = 0.1
With those set, you should see 12.3
-
With this Archie's suggestion, if you don't get any weird results then it might be just the wrong PLC address.
One way to do a test could be to do the following:
- Download fresh copy of AHMI and start a new project
- Add Modbus TCP driver and point it to whatever IP address you are already using
- Add only 9 BasicLabels to the form and address them like this:
400006 L400006 F400006
400007 L400007 F400007
400008 L400008 F400008
If any of these labels shows the expected value, with or without decimal point, then focus on that label and then try NumericFormat and ValueScaleFactor on it.
If all this sounds too complex then just ignore it.
-
To take the driver and communication out the equation, you can put values in the properties in the design view.
For example, set these properties values and see what displays while in design mode:
Value = 123
NumericFormat = 0.0
ValueScaleFactor = 0.1
With those set, you should see 12.3
by following what you said it worked. It displayed 12.3, But the problem is when PLC reads the data from the VFD, its read as 290. It doesn't add the decimal. you have to do it. The only thing I could think of is to maybe make a math function to add a decimal.
With this Archie's suggestion, if you don't get any weird results then it might be just the wrong PLC address.
One way to do a test could be to do the following:
- Download fresh copy of AHMI and start a new project
- Add Modbus TCP driver and point it to whatever IP address you are already using
- Add only 9 BasicLabels to the form and address them like this:
400006 L400006 F400006
400007 L400007 F400007
400008 L400008 F400008
If any of these labels shows the expected value, with or without decimal point, then focus on that label and then try NumericFormat and ValueScaleFactor on it.
If all this sounds too complex then just ignore it.
Tried this and the ones with the letter in front of the address gave me -E853787 some random number.
-
You should not limit yourself to testing only what Archie suggested but possibly expand it to other combinations, like 123-0.00-0.01 and others.
As for my test, what values did you get at 400006 and 400007 and 400008?
-
Something still isn't adding up. Using Godra's test, what values did you get on the addresses without the letter in front of them?
Back in the design view test, now set Value=290 to see if it shows 29.0
Next look in Productivity Suite to see what the current value is and place that in the Value property in design view.
-
Something still isn't adding up. Using Godra's test, what values did you get on the addresses without the letter in front of them?
Back in the design view test, now set Value=290 to see if it shows 29.0
Next look in Productivity Suite to see what the current value is and place that in the Value property in design view.
Ok I did scale factor 0.01 and numeric format 0.0 that worked. I got 2.5 amps now, Thanks, Sorry for the confusion, I didn't know if you type a number in the value it'll show how its displayed when running. Sorry about that
Im still learning This software and my PLC too.
-
Does that mean that your issue is resolved or is it still weird when connected to the PLC?
-
Yes I was able to get it to display 2.9 amps instead of 29.0; so this issue is resolved. Thanks guys!