Step 7 OBs for redundancy error

PLC_talk

Member
Join Date
Oct 2006
Location
p
Posts
50
Hi All,
I have a S7-400 H redundant system & have included following OBs mentioned in the manual that are required for redundancy -
OB 70,72,80,82,85,86,87,88,121,122.
Do I have to write any more program to activate these OBs or by just including them they start working?
Manual mentions that the OBs are necessary as they prevent CPU from going into stop mode on error. If this correct?
I would like to build a small diagnostic to know what error is causing the SF LED to be lit.

Any suggestions?

Thanks,
:cool:
 
The OB's will be empty and just leaving them that way will stop the PLC from going into stop on error, bare in mind tht depending on the process this could be dangerous.

Look at the help on each OB, the TEMP flags in the header is where all the information on the cause is stored and you may want to not just record the reason but determine whether or not its safer to stop the PLC, which you can only do by calling the STOP SFC46.
 
PeterW said:
The OB's will be empty and just leaving them that way will stop the PLC from going into stop on error, bare in mind tht depending on the process this could be dangerous.

Look at the help on each OB, the TEMP flags in the header is where all the information on the cause is stored and you may want to not just record the reason but determine whether or not its safer to stop the PLC, which you can only do by calling the STOP SFC46.
I would like to know how do I reset the flags built in the ladder which resides in OB 70? My understanding is that the CPU call OB 70 only on error; rest of the time it is not executed.
I have written a simple ladder in OB 70 which identifies the Failed DP master address & ID. Do i need to put an external reset flag after the operator has seen the fault?
Any suggestions?
 
Would you want the operator to reset the alarm an continue regardless??

To answer the question though, the OB is only called on fault so the reset of any faults would have to be done externally.
 
I can't remember if this applies specifically to OB70, but for many of the fault OBs they are called twice: once when a fault arises, and once when a fault clears. There is a TEMP variable that identifies whether each run is in response to entering or leaving a fault state.

[... brief passage of time ... ]

OK, I've just done what I should have done before starting to write this. I checked the manual!

The TEMP variable is OB70_EV_CLASS (event class) and this will hold one of two values on each execution. It's a byte-length variable and a value of B#16#72 means an outgoing event (clear) and B#16#73 means incoming event (fault).
So you can write your fault-handling and resetting code in the same OB and just select according to the value of OB70_EV_CLASS. Remember also that you don't have to put all your code directly in OB70 itself. It can call FCs, FBs as well just like OB1. You can have a very structured response to abnormalities based on checking EV_CLASS, FAULT_ID etc.

Regards

Ken
 
Ken M said:
The TEMP variable is OB70_EV_CLASS (event class) and this will hold one of two values on each execution. It's a byte-length variable and a value of B#16#72 means an outgoing event (clear) and B#16#73 means incoming event (fault).
So you can write your fault-handling and resetting code in the same OB and just select according to the value of OB70_EV_CLASS. Remember also that you don't have to put all your code directly in OB70 itself. It can call FCs, FBs as well just like OB1. You can have a very structured response to abnormalities based on checking EV_CLASS, FAULT_ID etc.

Regards

Ken

Ken Thanks. I never looked deeply into the meanings of outgoing & incoming:unsure: events . Your reply realy helps.(y)
 
Ken M said:
The TEMP variable is OB70_EV_CLASS (event class) and this will hold one of two values on each execution. It's a byte-length variable and a value of B#16#72 means an outgoing event (clear) and B#16#73 means incoming event (fault).
Regards

Ken
Following OBs do not have outgoing event, jsut one event.
)B 80,83,85,87,88,121,122
How do I reset these OBs which are having similar detection logic?
Any suggestions?
Thanks,
:)
 
I'm not sure about the logical differences between some OBs and others. It may not be appropriate for an OB detecting a software error to have a code for an outgoing event. Would that mean it runs every scan whenever there is no error? Or what about a chain of errors, where an incorrect DB access causes an invalid value in a calculation which leads to an overflow which produces ... how does the CPU know the problem has been fixed? Just because the CPU can execute the code doesn't justify it in judging it to be error-free. But that's maybe getting a bit philosophical! The truth is I don't know.

For others like OB83 (module insertion/withdrawal) there is no concept of a single incoming and outgoing event. There are separate EV_CLASS values for withdrawal of a module, insertion of a module, start of parameterisation of a module, and end of parameterisation of a module. Each of these messages is a significant event in its own right but you can't say in advance which represents the arrival of a fault and which represents the clearing of a fault. If an existing module is unplugged, the withdrawal EV_CLASS value is the incoming event. If a never previously installed module is plugged in, the insertion EV_CLASS value is the incoming event. So both insertion and withdrawal could represent the occurence of a fault, and likewise both could represent the clearing of a fault. Your code has to tell the difference.

The only mechanism I can think of to reset certain alarm conditions you have created in an error OB is to have a 'Reset' FC or FB in OB1 triggered by a common alarm bit. And that common bit would have to be set in every error OB.

Regards

Ken
 

Similar Topics

Good afternoon Step 5 guru's. i am trying to monitor a few different blocks ( not all at the same time)but i am getting a warning at the bottom...
Replies
2
Views
1,642
Hello, I have a problem with getting communication with any step5 plc with my new Dell Latitude D630. We used to have a nice Field PG but that...
Replies
4
Views
2,174
I am having a step7 v5.4 program where the blocks are encrypted and locked. And the manufacturer is stopped the support. Is there any ways to...
Replies
2
Views
132
Good Morning, Hoping someone with some Siemens experience can give me a hand with this one. Customer has a S7-200 cpu, which has a 6GK7...
Replies
0
Views
214
HI! HOW COULD I OBTAIN THE NAMES OF THE STEPS OF A ROUTINE IN SFC LANGUAGE IN STUDIO5000? Or is there a system variable that gives me those...
Replies
0
Views
332
Back
Top Bottom