Alarming using Siemens HMI - bits to Word

Jieve

Member
Join Date
Feb 2012
Location
USA
Posts
274
Hello Guys,

Question about alarming on an HMI (Siemens TP700) using Siemens S7-1200 and/or S7-300 CPUs. The HMI only allows me to use Words for Alarm Trigger data. All of my machine faults are stored symbolically in individual bits. Is there an easy way using FBD/LAD to copy a series of bits into a word for use in an HMI?

Also, is there a good reason for symbolically naming each of the alarm acknowledge bits? Or should I simply create a word with alarm acknowledge bits 1-16 and use these as the Alarm acknowledge bits in the HMI?

Thanks!
 
maybe make a short awl net work / or fc
db20 is your alarm word DB

a db10.dbx0.0
= db20.dbx20.0


a db10.dbx40.3
= db20.dbx20.1

you can give your alarm word a struture with 16 bits
 
There is a bool to word function block available from the Siemens site from memory. I think its under the s7 1200 faq section
 
Guys,

Thanks for the responses. I was really looking for a way to do this symbolically rather than with absolute addresses. Let's say I have 1000 alarms, and each of those alarms is configured in the HMI, their tags are absolute addresses. Now let's say I add an alarm in my alarm data block somewhere between alarms 17 and 18 (each bits). All of the other 982 alarms are now shifted by one bit. In that case, I would either have to go through and change all of the alarm texts in the HMI, or would have to add any extra alarms at the very end of the data block (which may not be best for alarm organization). This may be trivial, but I'm just looking for the best way to deal with it. BTW I'm actually using an S7-300 PLC, I mentioned the S7-1200 because I figured I would get responses involving absolute addressing if I said I was using the S7-300 initially.

Thanks!
 
Blkmov

Guys,

So quick summary, I'm using a Siemens S7-315F with TIA-Portal V11 SP2 and trying to convert my ~20 alarm bits to 2 words to use them in a Siemens TP700 HMI with the alarm window. The HMI only accepts words or INT as inputs for the alarms.

I decided to try to use absolute addresses to move the data block word with the alarm bits into another Word called Alarm Word 1, which I am using in the HMI. When I simply try to move words, the program complains that there is no tag assigned to the word consisting of all of the bits. So, I'm trying to use the BLKMOV command with pointers to move the bits starting in DB4.DBW0 (alarm bits) to the address DB4.DBW8 (Alarm Word 1). However, when any of the fault bits go high, I'm not getting any change in "Alarm Word 1". Anyone have any input on what the problem is?

Attached are pics of what I'm talking about.

Thanks!

BLKMOV.jpg Alarm Word - Not Working.jpg
 
The alarmsbits in the PLC can have any format that suits your program. They just have to in a contigous block of bytes.
For example from M100.0 to M119.7 (20 bytes, MB100 to MB119), or DB20.DBX0.0 to DB20.DBX19.7 (20 bytes DB20.DBB0 to DB20.DBB19).

In the HMI you should declare an array of WORDs or INTs with the same number of bytes as the addresses used in the PLC. For example PLC_alarms is an array of 10 WORDs starting from MW100 or DB20.DBW0.

There will not be a symbolic connection between the PLC and HMI tags.

edit: There will be no need for BLKMOV or like that.
 
Hi Jesper, thanks for the response. So what instruction do you use to get those bits into the HMI words? Just a standard move command? Even with an L T instruction in STL the program kept complaining that there was no symbol associated with the bits. I thought I remembered there being some issue causing it not to work.
 
Do not have separate blocks of memory !
Just use the bit addresses as they are.

Using the previous example, in the PLC:
A "input_thermo_relay"
= "Alarm_00" // M100.0

And in WinCC flexible:
Alarmbits = MW100 (array count 10)

Alarm_00 = Number 9 / Trigger bit 8 = Trigger address M100.0

Notice how the count in WinCC Flexible is offset to how it "counts" in the PLC. This is due to that S7 CPUs are "big endian"
This post also explains it:
http://www.plctalk.net/qanda/showthread.php?t=41038
 
WinCC Flexible will give you the addresses of the individual alarms, so you should not even calculate the addresses of the individual alarms.

Attaches an example of alarm setup.

Alarmsetup.PNG
 
Jera & Jesper, thanks guys. This whole time I've been using PLC data block bits directly in the HMI, i didn't realize that I could simply create overlapping HMI Tags in the HMI tag table as words and use the individual bits from there. Makes much more sense now, thanks!
 
its just bad

OMG This is the most ridiculous thing I have ever heard of. How about Bits or Bools in the PLC, and Bools in the HMI. What a concept. Siemens are you listening???
 

Similar Topics

Hello, With the S7-300/400, alarming in the HMI is done using absolute addressing, overlaying HMI tags of type "Word" over bits used in data...
Replies
8
Views
8,642
Hi Im having trouble setting up the alarm featutre in an XBT-N401 using Zelio protocol. Any tips on assigning the correct address in the XBT. I...
Replies
7
Views
4,296
HMI = Beijer E100 Software = E Designer This is very much a repeat of an earlier post but im still struggling. I have created a new block...
Replies
2
Views
2,505
Is there any benefit to using ALMD instructions in a Studio 5000 project when the HMI is using FTView ME? We are currently triggering our alarms...
Replies
2
Views
3,466
Hi there, I've spent over a day now struggling with setting up an alarm and event server for FTView10. Poor documentation tells me they have...
Replies
3
Views
2,034
Back
Top Bottom