Haiti_Home › Forums › General Forum › I need a professional opinion on the program architecture
Tagged: Program architecture
- This topic has 1 reply, 2 voices, and was last updated 1 month, 1 week ago by
andiosty.
-
AuthorPosts
-
March 17, 2026 at 8:37 pm #3432
macnews 2.0ParticipantI need a professional opinion.
I’m starting a new project for a huge water treatment plant with 10 panels as Remote I/O and a main PLC 1517 RH and WinCC RT professional.
For the structure I’m thinking to make 1 UDT for each equipment such as valves and pumps and Transmitters. Then make FB for each using the UDT.
Then make FC for each process and call the FB inside of it then call the FCs inside OB1.
And for SCADA I’ll make faceplates for pumps and valves and all the equipment for resuable use.
What’s your professional opinion on this ?
March 17, 2026 at 8:45 pm #3435
andiostyKeymasterSince you are building a professional-grade system for a large-scale water treatment plant, let’s dive into the technical specifics. Your architecture is fundamentally sound, but the “devil is in the details” when working with the S7-1517RH and WinCC Professional.
Here is a deeper look at how to refine your UDTs and FBs to ensure the system is both high-performance and easy to maintain.
1. The UDT Structure (The “Data Contract”)
To make your WinCC Faceplates work seamlessly, I recommend splitting your UDTs into three distinct sections. This prevents the SCADA from accidentally overwriting internal PLC logic.typeHMI_Cmd: Inputs from the SCADA (Start, Stop, Auto/Manual, Reset).
typeHMI_Sts: Outputs to the SCADA (Running, Fault, Remote/Local, Feedback).
typeConfig: Static settings (Interlock bypasses, timer setpoints).
Why? In WinCC Professional, you can map these three structures as a single “Tag Type.” When you drop a Faceplate on a screen, you only connect one tag (the parent UDT), and all sub-elements map automatically.
2. The FB Logic (The “Functional Block”)
Since you are using a 1517RH, you have massive processing power. Use it to make your FBs “smart.”Encapsulation: The FB should handle everything for that component—scaling the 4-20mA signal for a transmitter, calculating motor run hours, and handling the “Program_Alarm” blocks.
The 1500RH Sync Rule: Ensure your FBs use Optimized Block Access. The S7-1500H/RH synchronizes the data between the primary and backup CPUs at the end of the cycle. Using Optimized memory ensures this sync is as fast as possible, preventing cycle time spikes.
3. The SCADA Strategy (WinCC RT Professional)
WinCC Professional is a “Power Tag” based system. To stay organized with 10 Remote I/O panels:Screen Windows & Tag Prefixes: Do not create 50 separate pump screens. Create one generic “Pump_Faceplate” screen. Use a Screen Window on your main overview. When a user clicks a pump, change the Tag Prefix of that Screen Window to the name of the PLC Data Block (e.g., “DB_Pumps”.Pump_01.).
Automatic Alarming: Use the Program_Alarm instruction inside your PLC FBs. WinCC Professional will automatically “subscribe” to these. You won’t have to manually type alarm text in the SCADA; the PLC pushes the text and the millisecond-accurate timestamp directly to the HMI.
A Recommended “Call Hierarchy”
To keep your OB1 clean and the system “scannable” for other engineers:OB1 (Main): Calls the “Process Area” FCs.
FC_Filtration (Example): Calls the Valve/Pump FBs for that specific area.
Global DBs: Create one Global DB for each equipment type (e.g., DB_Valves, DB_Pumps). These DBs should contain Arrays of your UDTs.
The Professional “Watch-Out” List
Redundancy Check: Ensure your 10 Remote I/O panels are connected in a PROFINET MRP Ring. The 1517RH requires this to maintain bumpless transfer if a cable is cut.WinCC Communication: Use the “S7-1500 R/H” channel in WinCC Professional. This allows the SCADA to automatically switch its connection to the backup CPU if the primary fails.
Verdict
Your logic follows the S7-1500 Library Concept perfectly. It is modular, reusable, and follows “TIA Portal Best Practices.”Would you like me to provide a sample SCL code structure for a standard “Pump_FB” including the UDT definitions
-
This reply was modified 1 month, 1 week ago by
andiosty. Reason: Answer
-
This reply was modified 1 month, 1 week ago by
-
AuthorPosts
- You must be logged in to reply to this topic.

Total views : 4626
Who's Online : 0
Your IP Address : 216.73.217.22