Alarms, DIs and DOs

Hello
I have a Flexy 205 with an FLX 3402–8DI-4AI-2DO Extension Card.
I have 10 storage tanks that will need to have a high alarm and a high high alarm. Using the alarms I want to be able to trigger a sounder/beacon using the 2 digital outputs on the extension card.
One output will trigger the sounder and the other output will trigger the beacon.
And I also want to be able to use a physical push button that, the on-site operator will use to silence the sounder only, having the beacon still active until the alarm is not active anymore (example: they have been pumping product out of the tank/tanks and the level went below the level the will trigger the alarms).
This bust button is going to be wired into the digital input of the extension card.
But once the sounder was silenced for one alarm for one tank, I still need that digital out to be able to close again for a different tank alarm, and being able to silenced it again.

But I would like also to silenced the alarm through the viewON user interface that I’m building just now. And I think that will be done by acknowledging the alarm, but I’m not sure if this will open the digital output setup above for these alarms

Thanks
Regards

Hello @Raul,

You haven’t really asked any specific question here but I am assuming you are looking for input into how you could do this with the flexy. If you haven’t already taken a look I recommend reviewing the basic programming reference guide. Basic | Ewon Developers

For something like this you would have the DI’s and DO’s configured as tags with alarms. You can then execute scripts using either ONalarm or ONchange. You should be able to write the ONalarm to trigger the sounder and beacon. Then the onchange could be used for the digital input where it checks the state and clears the outputs as needed.

Deryck

Hello
Thanks for the reply.
I’m not good with writing scripts, I’ll need some help with that, if you guys can help.

What I have so far:

  • one sounder connected to the first DO of the extension card 1
  • one beacon connected to the second DO of the extension card 1
  • second sounder connected to the first DO of the extension card 2
  • one push button connected to the DI of the extension card 1

The first sounder is to be triggered when there is an HI Level Alarm on either of the 10 storage tanks.
The second sounder is to be triggered where there is a HI HI Level Alarm on either of the 10 storage tanks.
The beacon to be triggered when there is either a HI Level Alarm and/or HI HI Level Alarm.

All I need is to be able to silent the sounders but leave the beacon running until the alarms are not present anymore ( level in the tank went down)

Each tank will have to have a HI Level Alarm and a HI HI Level Alarm (as the tanks have different height) but all of them to trigger the same DOs as mentioned above.

For The alarm silence push button DI, I would like to have a button in my viewON project, to be tied to that DI, so the client can silence the alarms from the computer.

If there is scripting to be done, I would not know where to start, but I can definitely try.
If you can give me more detailed examples, it would be much appreciated.
It was recommended to my boss that the Flexy205 could do the job.
We have a Vegascsn693 with 10 sensors hooked up to the Flexy and so far we are quite impressed with what is possible in regards to remote access and creating a user interface, but we need to have this alarms setup before handover to the customer, and this is where we struggling.

Thanks
Much appreciated
Regards
Raul

Hello

I’ve done this and so far it works.

But I have to Ack. the alarms before I can silence the sounder

The sounder is silenced using the viewON user interface where I have a “Silence Sounder” button that they have to click on.

The beacon is on all the time an alarm is triggered, and stays on but only goes off when there is no alarm active

So far I’ve only setup one level sensor.

See photo attatched

Rem — eWON start section: Cyclic Section

eWON_cyclic_section:

Rem — eWON user (start)

ONCHANGE “Alarm_SB_03”,“GOTO Beacon”

Beacon:

If Alarm_T01@ = 0 And Alarm_T02@ = 0 And Alarm_T03@ = 0 And Alarm_T04@ = 0 And Alarm_T05@ = 0 And Alarm_T06@ = 0 And Alarm_T07@ = 0 And Alarm_T10@ = 0 And Alarm_T11@ = 0 And Alarm_T12@ = 0 THEN

SB_03@ = 0

Endif

ONALARM “Tank01Level”,“GOTO ProcessTagAlarm1”

ProcessTagAlarm1:

Alarm_T01@ = ALSTAT “Tank01Level”

If Alarm_T01@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank02Level”,“GOTO ProcessTagAlarm2”

ProcessTagAlarm2:

Alarm_T02@ = ALSTAT “Tank02Level”

If Alarm_T02@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank03Level”,“GOTO ProcessTagAlarm3”

ProcessTagAlarm3:

Alarm_T03@ = ALSTAT “Tank03Level”

If Alarm_T03@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank04Level”,“GOTO ProcessTagAlarm4”

ProcessTagAlarm4:

Alarm_T04@ = ALSTAT “Tank04Level”

If Alarm_T04@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank05Level”,“GOTO ProcessTagAlarm5”

ProcessTagAlarm5:

Alarm_T05@ = ALSTAT “Tank05Level”

If Alarm_T05@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank06Level”,“GOTO ProcessTagAlarm6”

ProcessTagAlarm6:

Alarm_T06@ = ALSTAT “Tank06Level”

If Alarm_T06@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank07Level”,“GOTO ProcessTagAlarm7”

ProcessTagAlarm7:

Alarm_T07@ = ALSTAT “Tank07Level”

If Alarm_T07@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank10Level”,“GOTO ProcessTagAlarm10”

ProcessTagAlarm10:

Alarm_T10@ = ALSTAT “Tank10Level”

If Alarm_T10@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank11Level”,“GOTO ProcessTagAlarm11”

ProcessTagAlarm11:

Alarm_T11@ = ALSTAT “Tank11Level”

If Alarm_T11@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

ONALARM “Tank12Level”,“GOTO ProcessTagAlarm12”

ProcessTagAlarm12:

Alarm_T12@ = ALSTAT “Tank12Level”

If Alarm_T12@ = 2 Then

SB_01@ = 1

SB_03@ = 1

Endif

END

Rem — eWON user (end)

End

Rem — eWON end section: Cyclic Section

Rem — eWON start section: Init Section

eWON_init_section:

Rem — eWON user (start)

Rem — eWON user (end)

End

Rem — eWON end section: Init Section

Thanks for the help

Regards Raul

Hello Raul,

Can you provide a back up using ebuddy with support files for me to look over? It should help me give advice if i understand how the alarms are configured. Im not sure if im just not following some of your logic or if some code is not setup as i expect.

I also see one issue you need to correct. It looks like you have this code setup to run in the cyclic section. This mean you are setting up the on alarms every cycle. You will need to move this into the init section so it only runs once then the functions will be called when the on alarms are triggered.

Is the alarm still active or has it been cleared on the PLC/field bus side? You might just need to enable the auto acknowledge for the alarm so they clear automatically…

Deryck