FTView literal string from parameter in expression

o_man_ra23

Member
Join Date
Jan 2010
Location
Australia
Posts
19
G'day all,

I'm trying to set up interlock display in FTView (ME, but should apply to SE when I convert to that) in a manner which makes my interlock display generic. For reference I'm using FTView ME Studio 12.00.00 CPR9 SR12.

I've got the interlocks configured as a DINT, so there can be up to 32 in a drive. For the equipment display, it is set up with a parameter file where #1 is the drive name - that works fine. I've designated #101 through #132 as the display string for the interlock (E.g #101=EStop). I have configured the bypass button, status indicator and display string as a group which is saved in a library (not a global object). I want to set the group visibility as visible when the parameter is declared, and invisible when not declared.

So a simplified version of the parameter file is:
!Equipment Name
#1=CV101
!Interlock Descriptions
#101=EStop

And the visibility expression for the group is:
If({/*LS:0 {{#101}}*/} == "")
Then 0
Else 1

Repeat the above for the second interlock with #102 (which isn't declared)

Both groups in runtime display the outlines of the objects within the group but nothing else. I've tried a few other renditions with no success. Changing the expression first line to If(/*LS:0 {#101}*/ == "") gives an error saying the expression is empty or incomplete.

Has anyone ever successfully been able to examine and act upon whether or not a parameter is declared?


Cheers, Owen
 
Thanks Jlandwerlen, but PlantPax actually set a string inside the AOI. There's a fair bit of code behind it to make it work. While it could be replicated, the complexity isn't favourable. I did look into using the PlantPax library but with the integration requirements it didn't work out.

Cheers, Owen
 
Using the same screen for all parameter files would require that all parameter files contain the same number of parameters. In your example you would need to have all 32 parameters declared in each file. Just make a memory tag, FALSE with initial value of 0. Use it for your visibility. If parameter #102 is not used in the file, then #102 = FALSE
 
Using the same screen for all parameter files would require that all parameter files contain the same number of parameters. In your example you would need to have all 32 parameters declared in each file.

The compiler handles missing parameters without error.

Just make a memory tag, FALSE with initial value of 0. Use it for your visibility. If parameter #102 is not used in the file, then #102 = FALSE

The 100 series parameters in this case are used as literal strings to show a descriptor. They don't form part of a tag name (I'm using the Alt-0160 special character to represent a space) so I'm not sure how your proposed memory tags will work?

I'm about to re-write all the PLCs on this site (converting from a concoction of Chinese S7-200s, S7-1200s, S7-300s, Control Logix, Compact Logix, Micrologix and Quantum), and am looking for a solution that is not only the minimum amount of work, but also as things change over the life of the mine, are the simplest to modify with the minimum chance of human error when modifications are made. The latter being the key (mistakes = downtime and/or safety issues).

I've already implemented a second best option with a flag set in the PLC to determine if the interlock exists or not, but if I can examine the parameter in an equation and determine if it's been declared or not, then that simplifies things further.

Cheers, Owen
 
I have no doubt that it compiles. The errors would show when you open the display. If {#102} is listed in the connection tab of an object in the display and the parameter file does not contain #102 then that object will show with a white outline because no parameter is defined in the parameter file as #102.

You could make memory string tags and set the initial values with your descriptions. If you make a memory string tag named ESTOP and set the initial value of your tag as ESTOP then #102=ESTOP. To use this option with a text box just use the insert variable and {#102} as your tag. Then your visibility expression would be:
IF ({#102} ="ESTOP") then 1 else 0. The value of the tag is what the expression is trying to solve, not that it exists. To identify text within an expression it must be in quotation marks.

Another option would be a multi-state indicator. Set it to have 2 states. State 0 would be blank no text. Make the background transparent and no borders. This would make the object invisible if #102 = 0. State 1 would have your description. Then make two memory tags. TRUE, initial value of 1 and FALSE, initial value of 0. Then a Multi-State indicator with a connection of {#102}. If used, then #102=TRUE and if not #102=FALSE
 

Similar Topics

I am creating a global object in FTView SE 13. I want to have a string read from the PLC and display (in this case the tagname). So lets say...
Replies
4
Views
148
I want to set user security level based on the value of a tag in my PLC called "ActiveUser". That tag will contain the A-P code which we use for...
Replies
6
Views
205
Hi All, we've recently upgraded from FTView SE v10 to v12. Since the upgrade we've been having a problem where the HMI is slow to update tags in...
Replies
0
Views
87
Hi, I have an issue accessing tags in 3 of my plcs'. When I go to select a tag there is no folder drop down as can be seen in the photo. Any...
Replies
0
Views
83
Hello, I have converted RSView 32 to FTView SE 14 (I have tested FTView 12 before as well and there were some difficulties so I moved on to...
Replies
4
Views
235
Back
Top Bottom