Need arrow to flash when alarms occur in other pages.

Marcos C

Member
Join Date
Apr 2015
Location
Milwaukee
Posts
2
Hello Forum,

Our application has the following group of pages:


2vd4sxy.jpg


To navigate between pages the arrows highlighted in yellow are used:


32zqqoh.jpg


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:


3151h6a.jpg


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:


2cpf9md.jpg


But when click ok I get the following message:


snea76.jpg


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

mafmg0.jpg

Any help is greatly appreciated
Thank you..

Marcos C
 
if these points are coming into a plc, I would do this logic in the plc, and then have just a regular tag that gives the status of the alarms on each page.
 
Your prototype for function 'Flash_Arrow' says 'void Flash_Arrow(void)' - the first 'void' says it returns nothing - you would need to either declare the return value as 'bool' or 'int' if you want to return '1' or '0'. I'm thinking 'int' (or byte or whatever) since with 'bool' you may need to return 'true' or 'false'

edit: I also agree with diat150 that I would do all that in the PLC!
 
Last edited:
Hello Guys,

Thanks for your input. Unfortunately, the option to change this in the PLC is not available at this point in the project. Additionally, this is an SIS system it takes mountains of paper work to change anything.

I took danatomega's advice and yes it is supposed to be an int. I did that and the compiler was happy with the code. However, I still do not know how this (the program):

int FREQ;
{
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);
}

Can change the color of the arrow?

What currently changes the code is the general expression found in the flashing color configuration window.

3151h6a.jpg


So AI1<-10||AI1>19||DI1 are defined to their corresponding tags via the following table.

20fxqc9.jpg


In other words

AI1=PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI<-10 and (PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.AI>19)
DI1=(PAFA04PLC04.Z48.FS2_UTIL_FZ48M15_G.OPGD.G_48_76D.INH==1)

The arrow has a unique name and that makes me wonder if the widget's unique name can be put in the program and be manipulated using the
COLFLASH([FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma]FREQ[/FONT][/FONT][FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma], [/FONT][/FONT][FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma]COL[/FONT][/FONT][FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma]1, [/FONT][/FONT][FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma]COL[/FONT][/FONT][FONT=Tahoma,Tahoma][FONT=Tahoma,Tahoma]2[/FONT][/FONT])function to change the color.

Thank you.
 
Last edited:

Similar Topics

I'm fairly new to Rockwell software, I've had some basic training in the past but nothing too advanced. My company and I use Reliable products for...
Replies
11
Views
331
Hi all, I am having issues accessing my Cimplicity software - the site code changed after re-install and I am no longer able to attain a new key...
Replies
10
Views
158
Good day all! Can someone help me with the procedure to update Beijers E700 firmware? The Panel I am working on is firmware 2.04v and I would...
Replies
1
Views
68
Good evening. I display the step number of a SFC on a display. Sometimes, on a trip, it goes quickly through many steps and I need to prove to...
Replies
1
Views
126
Good morning all. I'm working on a rehab where they had a standalone InTouch 2014 HMI that they called a SCADA, but it's really basic stuff. The...
Replies
4
Views
181
Back
Top Bottom