You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old January 25th, 2018, 03:36 AM   #1
Combo
Lifetime Supporting Member
Belgium

Combo is offline
 
Join Date: Jul 2002
Location: Belgium
Posts: 2,581
DB with alarms, wich alarm was first

Hi,

I have a DB with many alarms... let's say 500 bits bundled in words.
You all know the problem when hitting an emergency stop that several alarms can be shown. You cannot see wich one was first.

So I was thinking how to solve this one...

I can write a loop that searches in the words or so, but what will I know... I can log the first fault maybe... what to do with the next...

Maybe show only the first within a timeframe of 10s, donno.

I will know wich bit in the DB, but I will not know what text to show, maybe a change with the discrete alarms...

Or I should change the way alarms are show on panels now, link them to a copy of the alarm DB en lookup the first alarm en link that one to the DB that linked to the discrete alarms...

Anyone had this situation before ?

Thanks,
Kind regards,
Gerry

Last edited by Combo; January 25th, 2018 at 03:41 AM.
  Reply With Quote
Old January 25th, 2018, 11:53 AM   #2
Lare
Member
Finland

Lare is offline
 
Join Date: Jan 2006
Location: Finland
Posts: 955
search alarm bell programs

http://www.plctalk.net/qanda/showthread.php?t=102972

There is link to pdf, which shows example for allen bradley. I don't know of which book it is scanned to internet.
You can try to code it to Siemens
  Reply With Quote
Old January 25th, 2018, 03:36 PM   #3
spaderkung
Member
Sweden

spaderkung is offline
 
Join Date: Aug 2007
Location: A flat type "4"
Posts: 267
I would initially try and clean it up at the source. For instance after the em stop is pressed, which of your alarms should be disabled?
__________________
Jon Bolmstedt, Inspired Automatician.
  Reply With Quote
Old January 26th, 2018, 08:24 AM   #4
Jeebs
Member
Belgium

Jeebs is offline
 
Join Date: Feb 2007
Location: Leuven
Posts: 993
Alarm priority through the scan. Highest prio scanned first. Each alarm has nr corresponding to nr on HMI. First active alarm moves its nr into the 'Stop Cause' variable.

It's one way to do it that works the same on the different systems/brands we have.
  Reply With Quote
Old January 29th, 2018, 03:24 AM   #5
Combo
Lifetime Supporting Member
Belgium

Combo is offline
 
Join Date: Jul 2002
Location: Belgium
Posts: 2,581
Hi,

Thanks guys for the replies.

The DB contains many words containing bitalarms. What I can do is using indirect acces to check all bits in a DB into words. In STL this can be done with the adress register. Is there an easy method is SCL also for such ?

Not a TIA CPU, so PEEK and POKE doesn't work.

Thanks in advance,
Kind regards,
Gerry

Last edited by Combo; January 29th, 2018 at 03:51 AM.
  Reply With Quote
Old January 29th, 2018, 04:16 AM   #6
Combo
Lifetime Supporting Member
Belgium

Combo is offline
 
Join Date: Jul 2002
Location: Belgium
Posts: 2,581
Code

Hi,

Here is a screenshot of the DB:

Untitled.jpg

It's allowed in STL too... but even then it's not an easy task. Ik can write a loop that checks all adresses, but the goal is this:

When an alarm triggers, a certain bit becomes high in the DB. The thing is, after several PLC cycles other bit's can trigger too, these bits have to be ignored in the first 10 seconds after a NEW alarm. After 10 seconds I must be able to find new alarms as well in the DB.

Main goal: Finding the first alarm and log it.

Kind regards,
Gerry
  Reply With Quote
Old January 29th, 2018, 06:24 AM   #7
BryanG
Member
United Kingdom

BryanG is offline
 
Join Date: Feb 2005
Location: Manchester
Posts: 1,165
Only used TIA so this is one of those probably silly answers.

Have copies of the Alarm DB, on the first alarm copy the alarm DB to the first copy, that stores you first alarm. You could go further and add a counter and store the next alarms in more copies.
  Reply With Quote
Old January 29th, 2018, 06:37 AM   #8
Combo
Lifetime Supporting Member
Belgium

Combo is offline
 
Join Date: Jul 2002
Location: Belgium
Posts: 2,581
Array

I'm thinking to copy the DB with bits to a DB with an array of bits and then search in that array with SCL code...


Quote:
Originally Posted by BryanG View Post
Only used TIA so this is one of those probably silly answers.

Have copies of the Alarm DB, on the first alarm copy the alarm DB to the first copy, that stores you first alarm. You could go further and add a counter and store the next alarms in more copies.

Last edited by Combo; January 29th, 2018 at 07:04 AM.
  Reply With Quote
Old January 29th, 2018, 07:05 AM   #9
cwal61
Member
United States

cwal61 is offline
 
Join Date: Jan 2011
Location: NC
Posts: 889
Why couldn't you monitor all alarm words = 0. If true then no alarm. If not true then alarm active. If alarm active then run alarm time.
Then condition to set alarm bit would be: All alarms words = 0 OR Alarm Active Timer Done.
  Reply With Quote
Old January 29th, 2018, 07:13 AM   #10
Combo
Lifetime Supporting Member
Belgium

Combo is offline
 
Join Date: Jul 2002
Location: Belgium
Posts: 2,581
Sfc20

Hi,

799 byte's I have,
That's why I'm trying to push things in a loop search.
799 byte's = 6392 alarms.

Even with words, I need something with a loop, I cannot evaluate each word, that would be too much code.

Ik copied P#DB1000.DBX0.0 BYTE 799 into P#DB1001.DBX BYTE 799 with SFC20.
DB1001 is an array of 799 Bits.

Now I can write in SCL a Repeat Until loop to search for an arraybit that is high.

Kind regards,
Gerry


Quote:
Originally Posted by cwal61 View Post
Why couldn't you monitor all alarm words = 0. If true then no alarm. If not true then alarm active. If alarm active then run alarm time.
Then condition to set alarm bit would be: All alarms words = 0 OR Alarm Active Timer Done.

Last edited by Combo; January 29th, 2018 at 07:16 AM.
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
AdvancedHMI project example timryder LIVE PLC Questions And Answers 23 August 22nd, 2017 09:17 AM
Alarm Prevention on Powerup Ken Roach LIVE PLC Questions And Answers 5 June 8th, 2013 07:27 PM
Siemens S7-1200 with KTP600 alarms problem Joe Hardane LIVE PLC Questions And Answers 1 January 23rd, 2013 07:26 AM
Alarm Handing cjd1965 LIVE PLC Questions And Answers 17 March 11th, 2012 05:23 AM
Alarm Code mwatkins LIVE PLC Questions And Answers 25 January 15th, 2003 03:43 PM


All times are GMT -5. The time now is 08:05 AM.


.