Dynamic alarm level on S7300

4zure

Member
Join Date
Jun 2013
Location
Sfax
Posts
2
Hello everyone and thanks for checking my post.
I’m a beginner in PLC programming (still in school) and I’m tasked with doing a monitoring of a pressure sensor and setting up an alarm at given value.
The trick is that the alarm value must be dynamic. The supervisor will modify it at will, with the PLC still running. For example, one day he can set up the alarm at 5000 PSI, the other day, at 7000 PSI.

The sensor outputs a 4-20mA analog signal with a range of 0-15000 PSI. If the value was static I’d have simply used an FC105 Unscale bloc and get done with the program.
However I think it’s not possible to set changing values only with the PLC (and a running one). Thus, I thought about making a little application on c++ (or c#) that will be hosted on PC and will overwrite the alarm value of the PLC through a physical link (Ethernet, I think).

I’ve done some research and found out about libnodave open source library. Labview appears, also, to be used. There’s Siemens’software, however I only done some direct programming through Simatic and never a real time overwriting through PC. And finally there’s the OPC server option but I have no knowledge about it

My questions are, I’m heading in the correct direction by choosing to overwrite values through PC? Is there other options to be considered and which are the easiest one to a beginner like myself with limited hardware?

And a bonus question, too, I’m hearing a lot about SCADA but my school offers no courses about it. Is there some good addresses to start learning (and possibly free ones) ?

Best regards. :)
 
Welcome to the site,
do I understand you, the supervisor is giving you a value which you then have to change - or is the supervisor changing the value internally?
If the latter is true than it is only a matter of doing a compare function and giving a digital output.
 
Hello everyone and thanks for checking my post.
I’m a beginner in PLC programming (still in school) and I’m tasked with doing a monitoring of a pressure sensor and setting up an alarm at given value.
The trick is that the alarm value must be dynamic. The supervisor will modify it at will, with the PLC still running. For example, one day he can set up the alarm at 5000 PSI, the other day, at 7000 PSI.

The sensor outputs a 4-20mA analog signal with a range of 0-15000 PSI. If the value was static I’d have simply used an FC105 Unscale bloc and get done with the program.
However I think it’s not possible to set changing values only with the PLC (and a running one). Thus, I thought about making a little application on c++ (or c#) that will be hosted on PC and will overwrite the alarm value of the PLC through a physical link (Ethernet, I think).

I’ve done some research and found out about libnodave open source library. Labview appears, also, to be used. There’s Siemens’software, however I only done some direct programming through Simatic and never a real time overwriting through PC. And finally there’s the OPC server option but I have no knowledge about it

My questions are, I’m heading in the correct direction by choosing to overwrite values through PC? Is there other options to be considered and which are the easiest one to a beginner like myself with limited hardware?

And a bonus question, too, I’m hearing a lot about SCADA but my school offers no courses about it. Is there some good addresses to start learning (and possibly free ones) ?

Best regards. :)
If you use an HMI it can be done by setting the actual sensor reading tag "ActualSensorValue" and using as limits your "HiLimit" and "LowLimit" which are also tags which can be I/O fields that can be set and adjusted via the HMI.
You will need to also code accordingly.
If (ActualSensorValue > HiLimit)
OR (ActualSensorValue < LoLimit)
THEN Alarm =TRUE
ELSE Alarm = FALSE

Hope this helps. this is as generic as it can get.
 
Thank you all for the welcome and kind replies.

do I understand you, the supervisor is giving you a value which you then have to change - or is the supervisor changing the value internally?

The supervisor wants to adjust the alarm trigger value. I know how to set a compare function between a value and a sensor's reading. But I've no clue about changing the said value on the go, without having to wire off or reprogram the PLC.

As for now, I've coded a little HMI on C++ that allows setting the alarm value and triggers an on-screen alarm. I'm also experimenting with WinCC and reading its manual.
 

Similar Topics

Instead of defining static alarm text strings in Wonderware, is it possible to build dynamic strings in the PLC and display those, or is that just...
Replies
3
Views
1,527
I have a vendor who has given me over 1100 alarms for each of five (5) sections of his machine. This means I'm capable of receiving any of over...
Replies
6
Views
3,321
Hi All, What i am trying to achieve is a dynamic tag(Device_1)[Text tag 16 bit] that monitors the state of another tag (Config_1)[unsigned 8 bit]...
Replies
1
Views
3,386
Hello, I have a requirement to manage the text alignment dynamically. So, for example: 1. English Texts should be displayed from Left in...
Replies
0
Views
133
Rockwell Tech Support seemed to have hit a wall with this question. Already updated the version to 5.00.13 per their suggestio but am still...
Replies
2
Views
292
Back
Top Bottom