S7 OB's

tny

Member
Join Date
Jun 2005
Location
usa
Posts
105
Hi, i need some help about ob 82 86 87 121 122

in a project i saw that all of this ob's were used but they were empty. what is its reason? why do i have to use empty obs and in which applications can i use them?
thanks for your ınterest
 
Simatic calls this OBs when some error occurs. If there is no such OBs in memory, Siemens go to "Stop". So, if it has even empty OBs inside, it continue working until you crash it by a crow-bar
 
The empty OBs prevent the CPU going into STOP when the event which calls the OB occurs. If you want to, you can program the OB to collect information about the problem, to help with diagnosis, but in many cases all you are interested in is that the CPU doesn't go into STOP. In that case, all that is necessary is that the OB is present.
 
If the plc generates an OB86 event for example, it will "call" OB86. If OB86 is not present, the plc will go into stop. If OB86 is present it will not go into stop. (A message will appear in the diagnostic buffer though). The same applies to the other OB's.

(duplication due to simultaneous posting by others)
 
XbIK is right. But I never leave OB121 in the plc. This OB is called for instance when you try to open a DB wich is not present in the PLC. If you leave OB 121 in the plc you will never know youre program is not working. (Or you have to watch the red System Failure led on the plc).

The other ob's are called for instance when profibus slaves are disconnected. This is a situation wich might be intentional. So an empty OB solves the plc stop problem.
 
Using FAIL OB's

Rather than leaving these FAILURE OB's empty I simply
set a bit in a DB to indicate the error and display / alarm
on my SCADA HMI (or Operator Panel OP)
I reset such bits on Restart and provide a reset via my SCADA.
 
Werner said:
XbIK is right. But I never leave OB121 in the plc. This OB is called for instance when you try to open a DB wich is not present in the PLC. If you leave OB 121 in the plc you will never know youre program is not working. (Or you have to watch the red System Failure led on the plc).

The other ob's are called for instance when profibus slaves are disconnected. This is a situation wich might be intentional. So an empty OB solves the plc stop problem.
I usually leave the OB121 (PROG_ERR) in the plc. The reason for doing this is that I can download and troubleshoot the program when the machine is used. Without it I have to be carefull not to download a corrupt / obsolete instance db (or block).

Cheers
Borte
 
OB Help

When you start a new projekt you are asked to add OB's. press F1 at every OB then you have help about what they are used for..
 
Back
Top Bottom