Citect Numeric Entry with Limits

dmned64

Member
Join Date
Jun 2013
Location
Florida
Posts
99
I might be missing something basic about Citect´s numeric function. I can create the object on a page but what I would like is the ability to limit the entry between a minimum and maximum value, but not base those limits on the minimum and maximum values of the variable tag.

Furthermore I would like to dynamically set those limits based on the value of another variable tag. For example, I have a high and low alarm setpoint for a tag. I would like the allowable minimum limit for the high setpoint to be no less than one unit higher than the low alarm setpoint. Similarly I would like to set the low alarm setpoint maximum allowable value to one unit less than the high alarm setpoint.

Cicode? Other methods?
 
Thank you for the suggested link. I have not use the NumPad as my means of numeric entry so perhaps I can modify the code to suit my needs. If not I may switch to NumPad.
 
I might be missing something basic about Citect´s numeric function. I can create the object on a page but what I would like is the ability to limit the entry between a minimum and maximum value, but not base those limits on the minimum and maximum values of the variable tag.

Furthermore I would like to dynamically set those limits based on the value of another variable tag. For example, I have a high and low alarm setpoint for a tag. I would like the allowable minimum limit for the high setpoint to be no less than one unit higher than the low alarm setpoint. Similarly I would like to set the low alarm setpoint maximum allowable value to one unit less than the high alarm setpoint.

Cicode? Other methods?

Yes, just use Cicode on the number entry, pseudo:

IF number_entry_value > high_setpoint THEN
Message "value out of range high"
IF number_entry_value < low setpoint THEN
Message "value out of range low"
ELSE
Value = number_entry_value
END

Or something along those lines, i have done it before so if you really struggle i can try and find the code somehwere
 
Thank you for the replies. The links and hints pushed me in the right direction. I believe what I found is using ArgValue1 instead of Arg1 allowed the comparisons to execute. Also confusing is that the Input window seems to imply that functions cannot be used since the option to Insert Function is greyed out.

I now have it working exactly as I hoped:

for high setpoints:

IF (ArgValue1 <= xSL) THEN
Message("réessayer","trop bas",1);
ELSE
xSH = ArgValue1;
END


for low setpoints:

IF (ArgValue1 >= xSH) THEN
Message("réessayer","trop haut",1);
ELSE
xSL = ArgValue1;
END
 
Last edited:

Similar Topics

I'm learning Vijeo Citect and I'm having the hardest time simply trying to write a numeric value in the PLC from a graphics pages. Can anyone...
Replies
6
Views
4,773
Hello guys, I have a serious problem in my Citect application. I am using the "Input" property of a numeric display because I want the operator...
Replies
4
Views
5,225
Hello, I have a running project on Citect v5.42 and simatic net v6.4 I have created a new spare PC and loaded all software like Citect, station...
Replies
0
Views
68
Hello everyone, In a factory where we installed Citect 7.20 the computer began to show the first signs of end of life. They never considered...
Replies
0
Views
73
I have a running backup of Citect and plc and I want to make a spare PC station so I have installed the win XP and somatic net v6.0 and import the...
Replies
3
Views
121
Back
Top Bottom