AdvancedHMI Software

General Category => Support Questions => Topic started by: MrOverCast on December 07, 2024, 05:34:25 PM

Title: Can't get basic label to put decimal in the right place.
Post 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 
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 07, 2024, 05:51:08 PM
ValueScaleFactor 0.1
NumericFormat 0.0
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 07, 2024, 05:57:06 PM
ValueScaleFactor 0.1
NumericFormat 0.0

Tried that, Didn't seem to work :-\
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 07, 2024, 07:05:24 PM
What if you do :

ValueScaleFactor 0.01
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 07, 2024, 07:37:08 PM
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
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 07, 2024, 08:33:10 PM
How is the value represented in the PLC? Is it multiplied by 100? Is it a floating point number?
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 07, 2024, 08:50:05 PM
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
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 07, 2024, 09:33:57 PM
What value do you see in the productivity suite?
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 07, 2024, 10:09:31 PM
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
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 07, 2024, 10:49:42 PM
Out of curiosity, add an AnalogValueDisplay using the same Modbus address
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 08, 2024, 12:44:15 PM
Out of curiosity, add an AnalogValueDisplay using the same Modbus address

Its exactly the same.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 08, 2024, 02:15:58 PM
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)
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 08, 2024, 03:46:34 PM
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
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 08, 2024, 05:14:41 PM
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).
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 09, 2024, 04:44:37 PM
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.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 12, 2024, 10:44:45 PM
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.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 13, 2024, 08:52:34 AM
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
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 13, 2024, 11:17:00 AM
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.

Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 13, 2024, 02:47:38 PM
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.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 13, 2024, 03:16:51 PM
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?
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Archie on December 13, 2024, 03:17:06 PM
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.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 13, 2024, 04:24:41 PM
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.
Title: Re: Can't get basic label to put decimal in the right place.
Post by: Godra on December 13, 2024, 09:46:36 PM
Does that mean that your issue is resolved or is it still weird when connected to the PLC?
Title: Re: Can't get basic label to put decimal in the right place.
Post by: MrOverCast on December 14, 2024, 09:50:10 PM
Yes I was able to get it to display 2.9 amps instead of 29.0; so this issue is resolved. Thanks guys!