Hello Forum,
Our application has the following group of pages:
To navigate between pages the arrows highlighted in yellow are used:
The arrows will flash if an alarm is active on a page other than the current page. For example; If there is an alarm on page 2 and we are viewing page 1 the right arrow is supposed to flash.
The same should occur if an alarm appears on page 3 or 4. Unfortunately the current method does not allow for that to happen.
The current method is as follows:
However, for the right arrow to flash on any alarm generated on pages 2 through 4 we need to add to the general expression a total of
46 tags. We have proven that using the method above will not work due to the expression being too complex.
I proceeded to write a program and add it to the program section. I only took 3 tags that alarm on page 2 for testing. I also removed the references found in the Control/Enable General expression for the tags I tested below.
The program consist of one if statement.
if
(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI>19);
The compiler likes it but how does it figure out which arrow to turn on?
I put the same code here:
But when click ok I get the following message:
The program looks just the same.
if
(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI>19);
I do not know how to make the program look at specific arrow widget to activate it since all the pages have arrows. Nor I do not know what arguments are needed if using the Complex function for the Flashing Color Animation box.
Additionally, with the help of red lion rep I wrote this program for the following problem;
Ok Gas detector G_48_76D has 3 conditions that will alarm and make the arrow flash. AI<-10, AI>19 and DI flag INH=1
The code for that gas detector would go like this?
if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10)
{if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19)
{if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.INH==1)
return 1;
else
return 0;
}
}
However this is what I get when I compile
Any help is greatly appreciated
Thank you..
Marcos C
Our application has the following group of pages:
To navigate between pages the arrows highlighted in yellow are used:
The arrows will flash if an alarm is active on a page other than the current page. For example; If there is an alarm on page 2 and we are viewing page 1 the right arrow is supposed to flash.
The same should occur if an alarm appears on page 3 or 4. Unfortunately the current method does not allow for that to happen.
The current method is as follows:
However, for the right arrow to flash on any alarm generated on pages 2 through 4 we need to add to the general expression a total of
46 tags. We have proven that using the method above will not work due to the expression being too complex.
I proceeded to write a program and add it to the program section. I only took 3 tags that alarm on page 2 for testing. I also removed the references found in the Control/Enable General expression for the tags I tested below.
The program consist of one if statement.
if
(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI>19);
The compiler likes it but how does it figure out which arrow to turn on?
I put the same code here:
But when click ok I get the following message:
The program looks just the same.
if
(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI<-10||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_77D.AI>19||PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_78D.AI>19);
I do not know how to make the program look at specific arrow widget to activate it since all the pages have arrows. Nor I do not know what arguments are needed if using the Complex function for the Flashing Color Animation box.
Additionally, with the help of red lion rep I wrote this program for the following problem;
Ok Gas detector G_48_76D has 3 conditions that will alarm and make the arrow flash. AI<-10, AI>19 and DI flag INH=1
The code for that gas detector would go like this?
if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10)
{if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19)
{if(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.INH==1)
return 1;
else
return 0;
}
}
However this is what I get when I compile
Any help is greatly appreciated
Thank you..
Marcos C