AleksF
Member
Hi everyone,
I'm actually migrating a Panel Builder 32 project (originally designed for a PV 550) to a RS View ME application for a PV 700 Plus.
The panel is connected to a MicroLogix 1200 that handles data in a curious form. In order to have more precision in the calculations and save a large amount of memory, the variables involved in the process are scaled by the HMI allowing to the PLC to operate only with integers for later being unscaled by the HMI and presented to the user.
As an example, I have a variable used as a setpoint for pH control, this variable is called PH_SP and stored in the N7:20 register of the data table in the PLC. This variable in the real format could be into the range of 5.00 pH to 7.00 pH, so in the PLC the N7:20 register contains a value from 500 to 700 (the value multiplied by 100).
In order to achieve this, I've created a HMI tag called PH_STP with the following parameters:
1) MAX VALUE: 700
2) MIN VALUE: 500
3) SCALE: 0.01
4) OFFSET: 0
5) DATA TYPE: INTEGER
6) CONNECTION: ::[ML1200]N7:20 (where ML1200 is my RS Linx Enterprise shortcut).
To access this tag, I'm using a NUMERIC INPUT CURSOR POINT with the following configuration:
1) NUMERIC POP UP: KEYPAD
2) MAX VALUE: 7
3) MIN VALUE: 5
4) RAMP VALUE: 0
5) DECIMAL POINT: FIXED POSITION
6) FIXED POS OUTPUT: DISPLAYED VALUE
7) DIGITS AFTER DECIMAL: 2
The display settings of this field are:
1) NUMBER OF DIGITS: 4
2) FILL LEFT WITH: NONE
3) DECIMAL PLACES: 2
So, according with the RS View help, and as far I could understood, the value that I can enter into the pop-up keypad are into the range of 5.00 to 7.00, this value is writed into the VALUE CONNECTION that in this case is PH_STP, after that is unscaled and compared with the tag's MAXIMUM and MINIMUM values and finally writed to the DATA CONNECTION (the register N7:20 in the MicroLogix 1200).
The RS View help also refer that the scaling procedure is:
1) RS VIEW VALUE = (DATA SOURCE VALUE x SCALE)
2) DATA SOURCE VALUE = (RS VIEW VALUE / SCALE)
So if I read "620" then the value displayed is 6.20 and if i write 6.20 the writed value must be 620.
Well, the real problem occurs when I write 6.20 to my input field, the HMI displays an error saying that is impossible to write 6.20 to PH_STP because is out of the 500 to 700 range. Looks like the value wasn't be scaled just before being writed to the PLC.
The curious thing about this, is that I've some other fields configured in a similar form (with the same scale factor and even other scalation factors 0.1, 0.001, etc) and are working fine.
I've tried to delete the HMI tags and create it again but the problem remains.
I'm a little desesperate about this, if you have any suggestion or answer to my problem, or if I'm missunderstanding the operation of the panel that I previously describe, please let me know, your replies will be very useful to me.
Thanks in advance for reading my post, I'll looking forward for your answers.
Regards.
I'm actually migrating a Panel Builder 32 project (originally designed for a PV 550) to a RS View ME application for a PV 700 Plus.
The panel is connected to a MicroLogix 1200 that handles data in a curious form. In order to have more precision in the calculations and save a large amount of memory, the variables involved in the process are scaled by the HMI allowing to the PLC to operate only with integers for later being unscaled by the HMI and presented to the user.
As an example, I have a variable used as a setpoint for pH control, this variable is called PH_SP and stored in the N7:20 register of the data table in the PLC. This variable in the real format could be into the range of 5.00 pH to 7.00 pH, so in the PLC the N7:20 register contains a value from 500 to 700 (the value multiplied by 100).
In order to achieve this, I've created a HMI tag called PH_STP with the following parameters:
1) MAX VALUE: 700
2) MIN VALUE: 500
3) SCALE: 0.01
4) OFFSET: 0
5) DATA TYPE: INTEGER
6) CONNECTION: ::[ML1200]N7:20 (where ML1200 is my RS Linx Enterprise shortcut).
To access this tag, I'm using a NUMERIC INPUT CURSOR POINT with the following configuration:
1) NUMERIC POP UP: KEYPAD
2) MAX VALUE: 7
3) MIN VALUE: 5
4) RAMP VALUE: 0
5) DECIMAL POINT: FIXED POSITION
6) FIXED POS OUTPUT: DISPLAYED VALUE
7) DIGITS AFTER DECIMAL: 2
The display settings of this field are:
1) NUMBER OF DIGITS: 4
2) FILL LEFT WITH: NONE
3) DECIMAL PLACES: 2
So, according with the RS View help, and as far I could understood, the value that I can enter into the pop-up keypad are into the range of 5.00 to 7.00, this value is writed into the VALUE CONNECTION that in this case is PH_STP, after that is unscaled and compared with the tag's MAXIMUM and MINIMUM values and finally writed to the DATA CONNECTION (the register N7:20 in the MicroLogix 1200).
The RS View help also refer that the scaling procedure is:
1) RS VIEW VALUE = (DATA SOURCE VALUE x SCALE)
2) DATA SOURCE VALUE = (RS VIEW VALUE / SCALE)
So if I read "620" then the value displayed is 6.20 and if i write 6.20 the writed value must be 620.
Well, the real problem occurs when I write 6.20 to my input field, the HMI displays an error saying that is impossible to write 6.20 to PH_STP because is out of the 500 to 700 range. Looks like the value wasn't be scaled just before being writed to the PLC.
The curious thing about this, is that I've some other fields configured in a similar form (with the same scale factor and even other scalation factors 0.1, 0.001, etc) and are working fine.
I've tried to delete the HMI tags and create it again but the problem remains.
I'm a little desesperate about this, if you have any suggestion or answer to my problem, or if I'm missunderstanding the operation of the panel that I previously describe, please let me know, your replies will be very useful to me.
Thanks in advance for reading my post, I'll looking forward for your answers.
Regards.