PCS7 is a really powerful tool. All of the functionalities you get I can't describe here in this thread.
I would say, PCS7 combines the Step7 software options and adds some more to a complete process control system.
There are many, many functions in this system. I'll try to give a quick overview.
CFC is also a Step7 addon. It's a grapical language which compiles to SCL and then down to STL.
You can program FBs or FCs for your own in SCL or STL/ladder, and call these blocks in CFC plans.
For each plan you can define in which interval it should be called. On compile it places the call in the corresponding OB (e.g. OB35 if you place it in a 100ms task).
With special attributes you can define, which variables should be mapped to WinCC. This feature you'll get also when you are using Step7/WinCC with AS-OS engineering.
Also for alarming it's standard to use the alarm function blocks of the CPU, alarm_8p for example, so all alarms are automatically generated in WinCC.
This function you also get with AS/OS engineering.
PCS7 adds a so called technolocical hierarchy. You can compare it to folders in the Windows explorer, where you have to place your CFC plans in.
This hierarchy represents your plant structure, based on the technological view, and not based on PLCs.
So if you have some kind of reactor in your plant, PLC1 has one pump, PLC2 another and so on, you can put all CFC plans which have something to do with this reactor in one folder.
And also this hierarchy defines the menu structure inside WinCC. So you have the same technological hierarchie in your program and inside WinCC. If you see any error message inside WinCC, you know directly in which part of the program you have to search for the problem. Even if you haven't programmed this system.
The next thing is, that you can define faceplates inside WinCC, which are automatically generated if you place a function block for a pump, valve or anything else you can imagine.
Example workflow:
You have a technological hierarchie of
- Reactor 1
- Reactor 2
In reactor 1 you have a pump and a flow measurement.
You add a CFC plan for your pump and a CFC plan for your measure inside "Reactor 1" folder.
PCS7 comes with a library of objects (APL library) you can use, but you can create your own (which is a lot of work if you want to use all features).
For the pump you put the MotL block from the library into the plan, for the flow measurement you can use the MonAnL block.
When you then do a full compile, you get in WinCC for these two objects:
- variables, alarms, taglogging are generated
- A faceplate instance is placed in the corresponding WinCC picture
If you delete or rename the pump object, it's all synced with WinCC.
This are just the basic features.
In my opinion, with this system you can handle really big plants with many CPUs and thousands of signals.