I can try.
Processors
The safety processors are different from the standard processors in that they can run two programs simultaneously, the standard program and the safety program. The safety program, if I understand it correctly, is copied and the logic inverted. The safety program actually runs twice, in its normal and inverted state, and the results checked for agreement, before any outputs are turned on.
Safety I/O modules
The safety I/O modules also include multiple processors that perform checks that must agree before it determines that an input is valid or that an output can be turned on.
The safety input modules can also accept dual-channel inputs (i.e. an input with two sets of contacts, but can also be setup to accept single-channel (i.e. normal single set of contact) inputs.
There are extensive diagnostics available for the safety I/O module that are not available for standard I/O modules. (There are some I/O modules, for example with ET200Pro that are called high feature, or HF. They include extra diagnostics, but not to the level of an actual safety I/O module).
There are several modules specific to safety (again my main experience is with ET200pro). For example, there's one called an F-switch. It only accepts a two-channel input, and it controls the power busses of objects connected to its right. IF a dual channel estop is connected and is actuated the F-Switch removes power from the module to the right.
If you are going to setup a VFD or motor starter, they are things called RSM and ASM modules that control the flow of the three-phase voltage. the RSM installs to the left of the VFD and can be used to connect/disconnect 400V to the VFD. THis allows the system to have a higher safety rating.
For example, a standard VFD without the safety modules may be able to achieve SIL 1. A VFD with the RSM module SIL 2, a system with an F-Switch, RSM module, and VFD, SIL 3. The extra safety components allow you to build systems with a higher safety rating.
Programming in general:
If a safety, or F processor, is used, you have to install and use S7 Distributed Safety software, which requires a license.
When you build up the hardware configuration, and then save and compile it, many FBs and DBs are added to the project. Some are added to every safety program, others are added due to the specific hardware in the project. For example, each F-switch or safety I/O module will have a safety FB and DB added. These are highlighted in yellow, and are typically locked.
When you program, all of the conventional non-safety logic can go in OB1 or blocks called from OB1.
The safety specific programming must go into a safety function or function block. You can create your own safety blocks and define the language as F-LAD or F-FBD (languages added by S7 Distributed safety) and the block will become a safety block).
I can give you more details on the actual project programming if you want. The safety programming is a little different, and you have to set it up through that new Safety Window in the SIMATIC Manager.
You start by defining a safety function, say FC1, as an F-call.
The simatic manager now includes an icon on its toolbar for a Safety Window.
The 1oo1 and 1oo2 applies to the evaluation of sensor signals. 1oo1 is a standard single-channel, 1oo2 applies to a sensor with two contacts.