ndzied1
Lifetime Supporting Member
I had thought this would be easy but it's turning out to be a hassle.
We use a lot of the Biejer Exter HMI's (equivalent to Mitsubishi E-Series) and now hav a customer request to have the ability to select between inch units and mm units. Each numberical display has a gain or scale parameter which we can change on the fly via an hmi PB. This part works great.
The part that doesn't work great is how the screen truncates values before it writes them to the PLC.
For example, our plc program works entirely in inch units using floating point registers. In Inch display mode, the scaling factor is 1. Type a number in the screen, say 5.75" and it is stored as 5.75 in the PLC. <so far so good>
Now change to mm mode and the scaling factor is 25.4. The screen reads the 5.75 from the plc, multiplies by 25.4 and displays 146.05mm. <still going strong>
However, when I'm in mm mode, and type in a value, say 50mm the screen divids by 25.4 to get 1.96850... BUT it truncates and rounds this to however many decimal positions are displayed before wrting the value to the PLC. Then it reads back the PLC value, multiplies by 25.4 and displays. So, if I type in 50mm and hit enter, the screen displays 50.013 if I'm set to 3 decimal places and 50.04 if I'm set to 2 decimal places. Either one is a problem as it's not what the operator typed in.
Has anyone come across this and if so what did you do to adress it?
Thanks,
We use a lot of the Biejer Exter HMI's (equivalent to Mitsubishi E-Series) and now hav a customer request to have the ability to select between inch units and mm units. Each numberical display has a gain or scale parameter which we can change on the fly via an hmi PB. This part works great.
The part that doesn't work great is how the screen truncates values before it writes them to the PLC.
For example, our plc program works entirely in inch units using floating point registers. In Inch display mode, the scaling factor is 1. Type a number in the screen, say 5.75" and it is stored as 5.75 in the PLC. <so far so good>
Now change to mm mode and the scaling factor is 25.4. The screen reads the 5.75 from the plc, multiplies by 25.4 and displays 146.05mm. <still going strong>
However, when I'm in mm mode, and type in a value, say 50mm the screen divids by 25.4 to get 1.96850... BUT it truncates and rounds this to however many decimal positions are displayed before wrting the value to the PLC. Then it reads back the PLC value, multiplies by 25.4 and displays. So, if I type in 50mm and hit enter, the screen displays 50.013 if I'm set to 3 decimal places and 50.04 if I'm set to 2 decimal places. Either one is a problem as it's not what the operator typed in.
Has anyone come across this and if so what did you do to adress it?
Thanks,