How to Use This PLC Lab Notebook
Complete the labs in order. Do not move forward until the verification checks pass and the evidence fields are recorded.
Softwell Complete PLC Practical Notebook
Practical 01 - Create and Standardize a TIA Portal PLC Project
Objective: Create a clean Siemens PLC project with a controlled name, storage location, project notes and archive-ready structure.
TIA Portal installed; write access to the training folder; CPU model and TIA version confirmed.
Engineering laptop. Use hardware later or PLCSIM where the selected CPU supports simulation.
No PLC wiring or download is required in this lab.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Write the project number, machine name, CPU family, TIA Portal version and student name on the result sheet before opening the software.
Open TIA Portal and wait for the Portal view. If a previous project opens, select Project > Close before continuing.
Select Create new project. Enter L01_P01_StudentName, choose the approved training folder and add a short project comment.
Read the complete path shown in the create dialog. Do not save the live project inside Downloads, a temporary folder or a removable drive.
Click Create, then select Project view. Confirm that the project tree, work area and Inspector window are visible.
Open Project information and record author, project description, customer/training batch and revision R00.
Under the approved training folder create or confirm subfolders for 01_Project, 02_IO_List, 03_Backup and 04_Test_Record.
Use Project > Save. Wait until the save activity finishes and confirm that the project path has not changed.
Close the project, select Open existing project and reopen it from the saved location. This confirms that the project is usable before hardware work begins.
Select Project > Archive, save L01_P01_R00.zap in 03_Backup, then record the archive name and date.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Project cannot be created | Check folder permission and shorten the path/name. |
| Archive command is unavailable | Save and close any active editor, then retry from Project view. |
D. Student Evidence Record
Expected Result
A named, documented, saved and archived TIA Portal project is ready for hardware configuration.
Softwell Complete PLC Practical Notebook
Practical 02 - Select and Configure S7-1200 / S7-1500 Hardware
Objective: Select the correct CPU and I/O hardware, reproduce the physical rack and compile the device configuration without errors.
Completed P01 project; CPU and module article numbers or trainer hardware list available.
S7-1200 or S7-1500 training rack. Power may remain OFF until wiring checks are complete.
Do not insert or remove powered modules. Verify supply voltage and terminal polarity first.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Read and write the CPU, power-supply and signal-module article numbers from the labels. Include firmware version when visible.
In Project view select Add new device > Controllers, then expand the exact SIMATIC S7 family used on the trainer.
Match the full article number and firmware. If the firmware is unavailable, stop and check the TIA hardware-support package instead of choosing a similar CPU.
Enter PLC_01 as the device name and click Add. TIA Portal opens Device view.
From the Hardware catalog place the power supply and DI, DO, AI and AO modules in the same order as the physical rack. Do not guess slot positions.
Select every module and confirm article number, firmware, channel count, voltage/current type and configured start address.
Use non-overlapping byte/word ranges. Record each module, slot and address range in the I/O worksheet before changing defaults.
For ET200SP or modular I/O, verify base-unit and potential-group requirements. Mark the load-voltage group used by output modules.
Right-click PLC_01 and select Compile > Hardware (rebuild all). Open the Inspector messages and correct every error.
Export or manually record CPU/modules, article numbers, quantity, firmware and spare recommendation. Save the project as revision R01.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Module is missing from catalog | Check TIA version and install the correct hardware-support package. |
| Module shows incompatible | Verify CPU/module firmware compatibility and exact article number. |
D. Student Evidence Record
Expected Result
The TIA Portal hardware configuration matches the training rack and compiles successfully.
Softwell Complete PLC Practical Notebook
Practical 03 - PLC Memory, Data Types, Addressing and Tag Tables
Objective: Create a professional symbolic tag table and verify correct BOOL, integer, real, timer and data-block usage without address overlap.
P02 hardware compiled; module address ranges recorded.
TIA Portal project only. Hardware is optional for tag creation.
Use training addresses. Do not map test tags to live plant outputs without authorization.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Open Device view and write the DI, DO, AI and AO start/end addresses from module properties. These ranges control the tag table.
Under PLC tags create DI_Tags, DO_Tags, AI_Tags, AO_Tags and Internal_Tags.
Create symbolic BOOL tags such as PB_Start, PB_Stop and Motor_FB using actual %I bit addresses.
Create Motor_CMD, Lamp_Run and Valve_CMD using actual %Q bit addresses and clear comments.
Create input/output tags using the module word addresses, normally %IW... and %QW.... Select INT unless the module documentation requires another type.
Add a small number of test bits/words in the approved %M area. Check that word tags do not overlap bits or adjacent words.
Under Program blocks add global DB DB_Process with members Level_PV: Real, Level_SP: Real, Alarm_High: Bool and Batch_Count: DInt.
Use one language and pattern for all names, add engineering units in comments and avoid spaces, duplicate meanings and device names such as Tag_1.
Open each tag cross-reference and confirm there are no duplicate absolute addresses or unintended overlapping word/double-word tags.
Compile the software, correct data-type/address errors and export the tag tables to the documentation folder as the approved baseline.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Red overlap/address warning | Sort by address and correct overlapping byte/word allocations. |
| Tag cannot be monitored | Confirm the tag is compiled and its address is valid for the configured module. |
D. Student Evidence Record
Expected Result
A documented symbolic tag and data-block structure is ready for PLC programming.
Softwell Complete PLC Practical Notebook
Practical 04 - PROFINET IP, Device Name, Compile and First Download
Objective: Establish the engineering connection, assign the correct PROFINET identity and complete a controlled first hardware/software download.
P02-P03 complete; Ethernet adapter available; approved IP plan written down.
Engineering laptop connected directly or through the training switch to the powered PLC.
Place the trainer in a safe state. Disconnect or inhibit loads that must not energize during first download.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Write the engineering-PC IP, PLC IP, subnet mask and PROFINET device name. Confirm that every address is unique.
Open the Windows Ethernet adapter IPv4 settings and assign the approved PC address/subnet. Do not change an in-plant adapter without permission.
In TIA Portal select the CPU PROFINET interface, open Properties > Ethernet addresses and enter the approved PLC IP and subnet mask.
Enter a lowercase PROFINET name such as plc-01. Avoid spaces, underscores and duplicate names.
Select Online > Accessible devices, choose the correct PG/PC interface and Ethernet adapter, then start the search.
Match the discovered MAC address with the CPU label. Use Flash LED where supported so the correct device is confirmed physically.
Assign the planned IP address and PROFINET device name to the verified MAC address. Search again and confirm both values.
Run Hardware (rebuild all), then Software (rebuild all). Resolve errors before selecting Download.
Select Download to device, choose the same adapter, search, select the PLC by MAC/IP, review the load preview and approve only the expected changes.
Complete the load, place the CPU in RUN when safe, select Go online and confirm green status icons plus an empty/uncritical diagnostic buffer.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| No accessible device | Check cable/link LEDs, adapter selection, firewall and subnet. |
| Wrong target appears | Stop; identify by MAC and Flash LED before any download. |
| CPU remains STOP | Open Online diagnostics and read the diagnostic buffer before changing code. |
D. Student Evidence Record
Expected Result
The engineering station communicates with the correct PLC and the verified project is downloaded safely.
Softwell Complete PLC Practical Notebook
Practical 05 - Digital/Analog I/O Test and I/O Mapping
Objective: Test every configured channel against a controlled checklist and separate physical addresses from program-facing mapped tags.
P04 download complete; approved wiring drawing and I/O list available.
Powered trainer with pushbuttons/sensors, lamps/relays and analog simulator where available.
Output forcing can energize equipment. Isolate loads and obtain trainer approval before any force operation.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
List each device tag, description, PLC address, normal state, expected test state and actual result. Leave no channel undocumented.
With power in the approved state, verify 24 VDC polarity, commons, PNP/NPN compatibility, analog signal type and output load isolation.
Under Watch and force tables create WT_IO_Test and add all DI, DO, AI and AO tags.
Go online, operate one pushbutton/sensor at a time and compare the field LED, module LED and watch-table value with the expected state.
Use temporary test logic or an approved force for one output at a time. Confirm module LED and load operation, then remove the command/force immediately.
Apply two known values such as 4 mA and 20 mA or 0 V and 10 V. Record raw counts and check channel diagnostics.
Write approved raw test values, measure the actual voltage/current and return the output to its safe value after the test.
Add DB_IO or structured tags for program-facing inputs, outputs and analog values. Keep physical addresses in one mapping network/block.
Move physical input values into mapped variables and mapped commands to physical outputs. Compile, download and recheck at least one channel of each type.
Remove every force, confirm the force icon is clear, restore safe outputs, sign the I/O sheet and record unresolved wiring issues separately.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Input LED changes but tag does not | Check configured module address and tag address. |
| Analog value is fixed/overflow | Check voltage/current mode, wiring and channel configuration. |
| Output will not energize | Check load supply, output common, interposing relay and safety isolation. |
D. Student Evidence Record
Expected Result
Physical I/O is tested, documented and mapped into a maintainable PLC interface.
Softwell Complete PLC Practical Notebook
Practical 06 - IEC Timers and Counters with Reset Tests
Objective: Program TON, TOF, TP and CTU behavior and prove timing/counting, edge handling and reset conditions online.
P03 tags and P04 online connection complete; PLCSIM or safe trainer available.
Create test tags for Enable, Pulse, Reset, Done and Count value.
Use lamps/internal tags for this lab; do not connect timer tests directly to unsafe machine outputs.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Add BOOL tags Test_Enable, Test_Pulse, Test_Reset and status tags plus Count_PV: DInt.
Create titled networks for TON, TOF, TP and CTU. Keep one instruction and its test logic visible per network.
Insert TON, create/assign its IEC instance, connect IN:=Test_Enable and set PT:=T#5s. Map Q and ET to monitored tags.
Insert TOF with PT:=T#3s. Use the same enable only for comparison and a separate instance.
Insert TP with PT:=T#2s. Drive it from Test_Pulse and use a rising-edge pulse during testing.
Insert CTU, connect a one-shot pulse to CU, Test_Reset to R and set PV to 5. Map Q and CV.
Compile the modified software, inspect warnings, download only after zero errors and open all four networks online.
Toggle Enable and measure TON/TOF/TP behavior using ET and a stopwatch. Record actual delay/pulse times.
Generate five distinct rising edges. Confirm CV increments once per edge, Q at PV, and CV/Q clear when Reset is true.
Hold Pulse true, toggle it rapidly and change Reset while counting. Record why edge detection prevents multiple counts and save the tested revision.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Timer never completes | Check IN online, time literal and unique IEC instance. |
| Counter increases every scan | Add positive-edge detection before CU. |
| Values are retained unexpectedly | Check instance/DB retentivity settings. |
D. Student Evidence Record
Expected Result
All timer and counter instructions operate predictably and have documented reset behavior.
Softwell Complete PLC Practical Notebook
Practical 07 - Industrial Motor Start/Stop, Permissive and Trip Logic
Objective: Build a motor-control circuit with seal-in, feedback, overload, permissive, trip latch and controlled reset.
P05 mapped I/O and P06 logic practice complete.
Use a lamp/relay or simulator for Motor_CMD and separate tags for feedback and overload.
Motor power must remain isolated unless the trainer has approved live rotation and guarding.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Create tags for Start, Stop_OK, Safety_OK, Overload_OK, Auto_Permissive, Motor_CMD, Motor_FB, Trip and Reset.
Monitor Stop_OK, Safety_OK and Overload_OK. Confirm which field contacts are normally closed and how a broken wire is detected.
Create Motor_Permissive as the AND of all required healthy conditions. Display each condition separately online.
Use Start in parallel with Motor_CMD seal-in, in series with Stop_OK, Motor_Permissive and NOT Trip. Drive only the mapped command tag.
Verify that opening Stop_OK or any safety/permissive condition removes Motor_CMD regardless of the Start state.
Start a TON when Motor_CMD is true and Motor_FB is false. After the allowed delay, latch Trip_NoFeedback.
Latch a trip when Overload_OK becomes false. Keep the first fault visible until the fault is healthy and Reset is pressed.
Allow Reset only when Start is false and all healthy inputs are restored. Do not let Reset create a start command.
Test normal start/stop, missing permissive, missing feedback, overload and reset. Record command, feedback and trip for each case.
Cycle PLC/run simulation with Start released. Confirm the motor does not restart unexpectedly and document the selected restart philosophy.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Motor command will not latch | Monitor every series permissive and the Stop_OK normal state. |
| Trip resets immediately | Use a latch and require a separate healthy reset condition. |
| Unexpected restart | Remove retained command behavior and require a new start edge. |
D. Student Evidence Record
Expected Result
A safe, diagnosable motor-control pattern is proven under normal and fault conditions.
Softwell Complete PLC Practical Notebook
Practical 08 - Forward/Reverse and Star-Delta Sequence Interlocking
Objective: Program mutually exclusive contactor commands and a timed star-to-delta transition with safe dropout behavior.
P07 motor permissive/trip pattern complete.
Use three isolated lamps/relays or simulation tags for Main, Star and Delta contactors.
Electrical interlocks and correctly rated contactors remain mandatory; PLC logic is not the only safety layer.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Add Forward, Reverse, Main, Star, Delta, Stop_OK, Overload_OK, Run_FB and changeover timer tags.
Allow Forward only when Reverse command/feedback is false and all motor permissives are healthy.
Allow Reverse only when Forward command/feedback is false. Use independent seal-in and common stop/trip conditions.
Attempt Forward and Reverse together. Confirm only the accepted first command remains and record the result.
When a valid run command starts, energize Main and Star. Start a TON for the configured star duration.
When the star timer completes, remove Star and start a short dead-time timer before Delta is permitted.
Allow Delta only when Main is on, Star is off and dead time is complete. Add reciprocal Star/Delta software interlocks.
Stop, overload or loss of permissive must remove Main, Star and Delta immediately and reset the sequence.
Download and observe Main/Star/Delta outputs with timestamps. Confirm that Star and Delta are never true together.
Stop during star timing and during delta operation. Confirm all timers/states reset and a new Start begins from Star.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Star and Delta overlap | Add reciprocal contacts and a dead-time condition. |
| Sequence resumes in Delta | Reset state and timers when Run permission is lost. |
| Both directions latch | Interlock both command and feedback states. |
D. Student Evidence Record
Expected Result
Direction and star-delta logic is interlocked, timed and tested for abnormal interruption.
Softwell Complete PLC Practical Notebook
Practical 09 - Analog Scaling, Limits, Filtering and Alarm Tests
Objective: Convert a raw analog signal into engineering units, handle bad range values and prove high/low alarm behavior.
P05 analog raw values recorded; signal range and engineering range known.
Analog simulator/transmitter or PLCSIM test value. Example: 4-20 mA equals 0-100 percent.
Do not inject current/voltage into a live plant loop without isolation and correct channel mode.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Open AI module properties and verify current/voltage range, diagnostics and raw representation from the Siemens module manual.
Add AI_Level_Raw: Int, Level_Norm: Real, Level_PV: Real, alarm limits and bad-signal flags.
Use measured/configured raw values. For the common unipolar Siemens range record zero and full scale, typically 0 and 27648, but verify the selected module.
Insert NORM_X with MIN/MAX equal to the confirmed raw endpoints and VALUE equal to AI_Level_Raw.
Insert SCALE_X with MIN 0.0 and MAX 100.0 (or actual process range). Write the output to Level_PV.
Set a fault if raw input is below/above the permitted diagnostic range. Substitute a safe value only according to the approved process philosophy.
Compare Level_PV with High and Low limits. Add delay/hysteresis so normal noise does not repeatedly toggle alarms.
Apply/test 0%, 50% and 100%. Record raw, normalized and engineering values and calculate the error.
Move slowly across Low and High limits and confirm delay, hysteresis, latch and reset behavior.
Record signal type, raw range, engineering range, test instrument and results; save the tested block revision.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Scaled value is negative/too high | Check channel mode and raw endpoints. |
| Value is noisy | Check grounding/shielding and use justified filtering. |
| Alarm chatters | Add hysteresis and/or on-delay. |
D. Student Evidence Record
Expected Result
The analog channel produces validated engineering data and stable diagnostic alarms.
Softwell Complete PLC Practical Notebook
Practical 10 - ET200 Distributed I/O on PROFINET
Objective: Add an ET200 station, reproduce its module layout, assign its PROFINET identity and verify distributed I/O communication.
P04 PROFINET method complete; ET200 interface/module article numbers and network plan available.
S7 PLC, ET200SP/ET200 station, switch/cables and correctly powered potential groups.
Power OFF before changing ET200 modules/base units; isolate all field loads during first test.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Write the interface module, server module, base units and I/O module order/article numbers from the physical station.
Select Add new device > Distributed I/O > ET 200 and choose the exact interface module and firmware.
In Device view place DI, DO, AI and AO modules in the same slots and potential groups as the physical station.
In Network view connect the ET200 PN interface to the same subnet as PLC_01.
Set the approved ET200 IP and a unique lowercase device name such as et200-01. Record its I/O address ranges.
Compile the PLC and ET200 hardware. Resolve missing server module, wrong base unit, slot and firmware errors.
Use Accessible devices, MAC address and Flash LED to confirm the correct ET200 before assigning name/IP.
Assign the project device name, then download hardware configuration to the PLC/IO controller as required by the selected station.
Open Online & diagnostics and confirm the interface and each module is healthy. Read any channel/module diagnostic text before testing I/O.
Using the P05 checklist method, test at least one DI, DO, AI and AO channel and document address, actual value and result.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Station not reachable | Check power, link LEDs, subnet, switch and cable. |
| Device name fault | Assign the exact project name to the verified MAC. |
| Module fault | Compare slot, article number, base unit and potential group. |
D. Student Evidence Record
Expected Result
The ET200 station is correctly configured, identified and tested as distributed PLC I/O.
Softwell Complete PLC Practical Notebook
Practical 11 - PLC-Side SINAMICS G120 PROFINET Telegram Control
Objective: Configure and test the PLC side of a G120 PROFINET telegram using a drive that has already been safely commissioned by the trainer.
P04 and P07 complete; trainer provides a commissioned G120, telegram number and safe motor setup.
S7 PLC and precommissioned G120 on the training PROFINET network. No STARTER commissioning is included.
Motor rotation is trainer-controlled. Verify guard, direction and emergency stop before enabling any run command.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Record the trainer-approved drive IP, device name, telegram and motor safety state. Do not change motor, power or drive commissioning parameters.
In TIA Network view add/select the correct G120 interface and connect it to the PLC subnet using the approved device/description file.
Enter the planned IP and device name. Use Accessible devices and MAC/Flash LED to verify the physical drive interface.
Configure the telegram provided by the trainer, commonly Standard telegram 1, and record PLC output/input word addresses.
Create WORD/INT tags for control word, speed setpoint, status word and actual speed at the mapped addresses.
Map ready, operation-enabled, running, warning and fault status bits into named BOOL tags. Verify status before issuing commands.
Generate enable/start/stop and fault-acknowledge bits from the P07 motor pattern. Keep run false until all permissives and trainer approval are true.
Convert the approved engineering-speed command to the telegram representation and clamp it to the trainer-defined minimum/maximum.
With run inhibited, monitor control/status words and communication healthy state. Correct address/telegram problems before rotation.
Under trainer control, command start, two speed values and stop. Record setpoint, actual speed, status and the response to a communication interruption.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Drive connected but not ready | Decode status/control bits and check trainer-provided enable conditions. |
| No speed response | Check telegram type, address order and scaling. |
| Device-name fault | Assign the exact project name to the verified interface MAC. |
D. Student Evidence Record
Expected Result
The PLC exchanges verified command, setpoint, status and actual-value data with a precommissioned G120.
Softwell Complete PLC Practical Notebook
Practical 12 - PLC-Side Modbus RTU VFD Register Communication
Objective: Build a controlled Siemens PLC Modbus RTU client sequence for a trainer-approved, preconfigured VFD register map.
Serial communication module/board available; trainer supplies VFD slave settings and register map.
S7 PLC serial interface and preconfigured VFD or Modbus simulator. Only the RTU serial protocol is used.
Keep run command inhibited until register values and response words are confirmed with the trainer.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Write client port, slave address, baud rate, parity, stop bits and the exact vendor register numbers/function codes.
Power down as required and verify A/B polarity, common reference, shield, termination and that only the bus ends are terminated.
In Device view add the correct CB/CM module if required, compile hardware and record its hardware identifier/port.
Insert Modbus_Comm_Load in a startup/controlled initialization network with the recorded port and serial settings.
Create tags/DB members for request trigger, mode/function, data address, length, data pointer/buffer, done, busy, error and status.
Insert the Siemens Modbus master/client instruction for the CPU/module version and connect its unique instance DB.
Trigger the next read/write only after DONE or ERROR; never hold REQ permanently true or overlap requests.
Read a harmless status/actual-value register. Confirm DONE, buffer value and correct byte/word interpretation before any write.
Write the trainer-approved command/reference register, then read back status/actual value. Keep motor run inhibited until mapping is proven.
Test wrong slave address or disconnected cable, record STATUS/ERROR, restore the cause and verify controlled automatic/manual recovery.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Timeout | Check slave address, A/B polarity, baud/parity and termination. |
| Illegal address/function | Recheck vendor offset and function code. |
| Wrong numeric value | Check byte order, signed type and scaling. |
D. Student Evidence Record
Expected Result
The PLC reads and writes approved VFD registers over Modbus RTU with controlled polling and diagnostics.
Softwell Complete PLC Practical Notebook
Practical 13 - SCL Foundation: Conditions, CASE and Loops
Objective: Create and test an SCL function using typed inputs/outputs, conditions, CASE selection and bounded array processing.
Level 1 tag/data-type knowledge complete; project archived before Level 2 changes.
TIA Portal with an S7-1200/S7-1500 project and PLCSIM or PLC.
Use internal/test outputs for the first SCL lab.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Under Program blocks create group Level02_SCL, then add FC FC_ProcessLimits with language SCL.
Add inputs PV: Real, LowLimit: Real, HighLimit: Real, Mode: USInt and outputs Low, Normal, High: Bool.
At the top of the block detect LowLimit >= HighLimit and set an error output instead of calculating misleading states.
Set exactly one Low/Normal/High output based on PV. Assign all outputs on every scan so old states cannot remain.
Use CASE Mode OF to select disabled, monitor-only and active behavior, including an ELSE fallback.
Create a test array in a DB and a second FC or code section that uses a bounded FOR loop to count TRUE alarm elements.
Call FC_ProcessLimits from OB1 using tags in DB_Process. Connect every interface parameter explicitly.
Compile software and correct unassigned outputs, type conversions and invalid array indexes before download.
Test below Low, exactly Low, normal, exactly High, above High, invalid limits and unsupported Mode. Record every output.
Monitor the SCL block, add network/block comments, confirm no loop exceeds its array bounds and save revision L02_R01.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Output remains from previous state | Assign default/all outputs before condition branches. |
| Type-conversion warning | Use matching interface types or explicit conversion. |
| Array access fault | Use declared lower/upper bounds in the loop. |
D. Student Evidence Record
Expected Result
A typed and fully tested SCL function handles conditions, modes and bounded iteration.
Softwell Complete PLC Practical Notebook
Practical 14 - FC, FB, Instance DB and UDT Architecture
Objective: Build reusable program architecture and demonstrate the difference between stateless FC data and persistent FB instance data.
P13 SCL function compiled and tested.
TIA Portal project with two simulated equipment instances.
Keep physical outputs disconnected until reusable block tests pass.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Under PLC data types add UDT_Equipment with Command, Permissive, Feedback, Running, Fault and RuntimeHours members.
Add global DB DB_Equipment containing Motor01 and Motor02 of type UDT_Equipment.
Add SCL FB FB_Motor. Define inputs for command/permissive/feedback/reset and outputs for run command/running/fault.
Create static members for feedback timer instance, fault latch and runtime accumulator. Explain why these values require FB instance memory.
At each scan establish safe defaults, then apply permissive, command, feedback timeout, trip and reset logic.
Call FB_Motor for Motor01 and allow TIA Portal to create named instance DB DB_Motor01. Connect Motor01 structure members.
Create DB_Motor02 and call the same FB with Motor02 data. Do not share one instance DB between independent motors.
Use or create a small stateless FC for scaling/selection and document why it does not own persistent static memory.
Download and command Motor01 only, then Motor02 only. Confirm timers, faults and runtime values remain independent.
Open block and DB cross-references to verify each instance call and UDT usage; save the library-ready revision.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Both motors share state | Use separate instance DBs or correct multi-instance declarations. |
| UDT change causes errors | Compile dependent DBs/blocks and update changed members. |
| FB output is unpredictable | Assign outputs/defaults on every scan. |
D. Student Evidence Record
Expected Result
Reusable FC/FB/UDT architecture is compiled and proven with independent equipment instances.
Softwell Complete PLC Practical Notebook
Practical 15 - SCL Physical I/O and Network Data Mapping
Objective: Create one controlled mapping layer between physical/communication data and structured program interfaces.
P05 I/O map, P10 ET200 addresses and P14 UDT skills available.
Project with local/remote I/O and optional telegram/register data.
Outputs remain inhibited until mapped commands and safety conditions are verified.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Create PLC data types for UDT_Inputs, UDT_Outputs and UDT_DriveData using meaningful BOOL/INT/WORD/REAL members.
Add DB_Interface with Inputs, Outputs and Drive structures plus communication-healthy flags.
Add SCL FC FC_IO_Map. Keep physical addresses outside equipment/sequence blocks.
Assign each approved local and ET200 input tag into the corresponding structured input member with comments matching the I/O list.
Where required add normal-state inversion, debounce or plausibility status, but keep raw and conditioned values distinguishable.
Assign structured output commands to physical outputs only after master enable and safety/permissive conditions.
Copy G120 telegram or Modbus receive words into named status/actual members using explicit type conversion and scaling.
Build control/reference words from structured commands only when communication and equipment permissives are healthy.
Call FC_IO_Map at the beginning of OB1 for inputs/receive data and at the controlled output stage for commands. Compile and inspect order.
Change one physical input and one communication value; trace raw address to mapped member to consumer block, then command back to output.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Mapped value is one scan late | Review mapping call order relative to consumer blocks. |
| Output bypasses safety | Apply master/safety conditions in the final output mapping. |
| Network word is wrong | Check word order, signed type and telegram/register mapping. |
D. Student Evidence Record
Expected Result
Physical and network signals pass through one documented, structured SCL mapping layer.
Softwell Complete PLC Practical Notebook
Practical 16 - Reusable Motor/Valve FB with Auto, Manual and Local Modes
Objective: Create reusable equipment logic with clear command ownership, interlocks, feedback supervision and mode transfer.
P14 reusable FB and P15 interface mapping complete.
Simulated motor and valve data or isolated trainer outputs.
Mode changes must not create an unintended command; local field control remains subject to plant safety circuits.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Create an enumerated-equivalent USInt convention: 0 Disabled, 1 Manual, 2 Auto, 3 Local. Document invalid-mode behavior.
Provide separate ManualCmd, AutoCmd and Local status inputs plus selected command/mode status outputs.
Use CASE on mode so exactly one command source is accepted. Default invalid values to Disabled.
Pass the selected command through safety, process interlock, maintenance lock and fault conditions.
Use run feedback timeout, overload/fault latch and controlled reset from the proven Level 1 motor pattern.
For a valve instance, supervise open/closed limit switches, contradictory feedback and travel timeout.
Require a new command edge or command-off state when changing modes so a held command cannot start equipment unexpectedly.
Provide selected mode, selected command, permissive summary, first fault and feedback timeout to the interface DB.
For Disabled, Manual, Auto, Local and invalid mode, test command accepted/rejected, mode transition and active fault response.
Run at least one motor and one valve instance from the reusable architecture and record independent results.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Auto and Manual both act | Use one CASE-based selection before permissives. |
| Starts during mode change | Require command-off/new edge on transfer. |
| Valve has both limits | Latch contradictory-feedback fault and inhibit motion. |
D. Student Evidence Record
Expected Result
Reusable equipment blocks provide safe mode ownership and clear diagnostics.
Softwell Complete PLC Practical Notebook
Practical 17 - SCL Step Sequence and Batch State Machine
Objective: Develop a recoverable state machine with transition conditions, timeouts, hold, abort and batch records.
P16 equipment blocks available with simulated feedback.
Example process: fill, mix, drain using valve, mixer and level conditions.
Use simulated process values until every transition and abort action is proven.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Before coding, list state number/name, actions, transition condition, timeout, abort action and expected next state.
Add current state, previous state, step timer, Hold, Abort, Reset, BatchID, recipe values and fault fields.
Use CASE CurrentState OF with named constants for Idle, Fill, Mix, Drain, Complete and Fault.
Accept Start only when equipment is healthy, recipe values are valid and BatchID is available; then initialize timers and move to Fill.
In each state set equipment requests explicitly. Do not leave actions dependent on a previous state's output.
Advance only when the defined process/feedback condition is true. Record state entry time and previous state.
Start/reset a timer on state entry and move to Fault with a specific code if the transition does not complete in time.
Hold freezes permitted progression without losing the state; Abort sends every request safe and enters a controlled aborted/fault state.
Allow reset only after the cause is cleared. Define whether recovery returns to Idle or a verified restart state; never jump blindly.
Test normal batch, each timeout, Hold/Resume, Abort in every active state, invalid recipe and loss of equipment permissive.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Sequence skips a step | Use one controlled state assignment and edge/state-entry logic. |
| Old command stays on | Assign all equipment requests explicitly per state/default. |
| Cannot recover | Define cause-clear and allowed reset destination for each fault. |
D. Student Evidence Record
Expected Result
A documented SCL state machine completes normal batches and responds predictably to faults.
Softwell Complete PLC Practical Notebook
Practical 18 - Alarm Architecture, Analog/PID and Operator Interface DB
Objective: Create PLC-side alarm/reset architecture, prepare analog/PID control and expose a clean operator interface DB without building HMI screens.
P09 analog signals and P14-P17 structured programming complete.
Simulated process value or safe training process; PID technology object availability confirmed.
Run PID in manual/simulation until output limits, direction and process response are confirmed.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Define alarm Active, Latched, Acknowledged, ResetAllowed, FirstOut, Code and timestamp/sequence fields as supported by the project.
Evaluate raw conditions, apply delays/hysteresis, latch required alarms and separate acknowledgement from process-cause reset.
Capture the first alarm code in a trip event and provide group warning/trip plus individual statuses.
Prove condition active, latch, acknowledge while condition remains, cause clears, reset allowed and final reset.
Create SP, PV, manual output, automatic output, mode, limits and status/error members with correct REAL types and engineering units.
Create/configure the technology object or instruction according to the TIA/CPU version, select control direction and place the call in the recommended cyclic OB.
Configure output minimum/maximum and start in manual. Verify that increasing output changes the simulated process in the expected direction.
Use the commissioning view/manual test or approved tuning method, then test SP changes without exceeding process limits.
Expose Commands, Setpoints, Status, Actuals, Alarms and Diagnostics structures. Keep raw physical addresses outside this DB.
Compile, download and use a watch table to test command validation, setpoint limits, alarm lifecycle and PID mode/status fields.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Alarm cannot reset | Confirm the process cause is clear and ResetAllowed is true. |
| PID drives the wrong way | Return to manual and correct controller direction/signal scaling. |
| Setpoint is unsafe | Clamp and validate it in PLC logic before PID use. |
D. Student Evidence Record
Expected Result
PLC alarms, PID control and the operator-facing data interface are structured and tested.
Softwell Complete PLC Practical Notebook
Practical 19 - S7-1500 OPC UA Server and UAExpert Verification
Objective: Enable a controlled S7-1500 OPC UA server interface, manage trust and verify selected PLC data with UAExpert.
Compatible S7-1500 CPU/firmware/licence and TIA version; P04 network communication complete.
Engineering PC with UAExpert and network access to the PLC. Use a dedicated training account/security policy.
Expose only approved tags. Do not permit write access to safety or uncontrolled command variables.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Check CPU technical data, firmware, OPC UA support/licence and TIA Portal requirements before enabling the server.
Record PLC IP, OPC UA port, endpoint URL, security policy, message mode, user method and client PC time/date.
Open CPU properties and enable the OPC UA server. Configure endpoint/security settings using the labels available in the installed TIA version.
Add an OPC UA server interface or expose only the approved DB/tag members. Mark read-only and writable variables deliberately.
Create/assign the approved user credentials and certificate/trust settings. Avoid anonymous write access.
Compile hardware/software, review OPC UA resource/security messages and download the configuration to the verified CPU.
In UAExpert add a server using the recorded opc.tcp://PLC-IP:port endpoint and select the matching security policy/user.
Review certificate identity, trust the expected PLC certificate and, where required, trust the UAExpert client certificate in the PLC configuration.
Browse the namespace, add approved tags to Data Access view and verify value, quality and timestamp. Test write only on a designated safe test tag.
Try one controlled wrong credential/certificate or stop communication, record UAExpert status and PLC diagnostics, then restore a healthy secure session.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| BadCertificateUntrusted | Exchange and trust the correct client/server certificates. |
| BadUserAccessDenied | Check user rights and node read/write access. |
| Endpoint unreachable | Check PLC IP, port, firewall, server enable and CPU RUN state. |
D. Student Evidence Record
Expected Result
The S7-1500 OPC UA server exposes only approved data and is verified securely with UAExpert.
Softwell Complete PLC Practical Notebook
Practical 20 - Final Integrated PLC Project, Test and Handover
Objective: Integrate Level 1 and Level 2 PLC work into a tested project with hardware, ET200, structured SCL, sequence, alarms, communications and documentation.
P01-P19 records available; trainer-approved final process description and I/O list.
PLC/PLCSIM, ET200 where available, simulated equipment and optional precommissioned communication devices.
Use a written energization plan. All real outputs remain isolated until I/O and logic acceptance tests authorize them.
All steps checked, verification passed, faults corrected and evidence recorded.
A. Step-by-Step Procedure
Write the process description, I/O list, operating modes, sequence table, alarm list, communication scope and acceptance criteria.
Restore/open the approved baseline, save as Final_Project_R00 and update project information/change history.
Match CPU/local I/O/ET200 hardware, network identities and addresses. Compile hardware before writing application logic.
Implement documented tag tables, UDTs, DB_Interface, DB_OperatorInterface and network/drive data structures without overlaps.
Call I/O mapping first, reusable motor/valve blocks next and final output mapping after safety/permissive logic.
Implement the approved state table, transitions, timeout, Hold, Abort and controlled Reset behavior.
Scale analog values, limit setpoints/output, configure approved PID behavior and test alarm/first-out/acknowledge/reset lifecycle.
Configure ET200 and, when included, PLC-side PROFINET telegram, Modbus RTU or OPC UA interfaces using the proven lab patterns.
Rebuild hardware/software, resolve errors, review warnings, cross-references, unused tags, block call order and unsafe output paths.
Download to the verified CPU, perform I/O checks, normal-cycle test and every defined fault/timeout/mode/communication test.
Remove forces/test bypasses, return commands and PID to the agreed state, verify diagnostic buffer and repeat the safe-start test.
Create final archive, export tag/I/O/alarm/parameter records, complete FAT deviations and obtain trainer/student sign-off.
B. Verification Checklist
C. If the Result Is Wrong
| Observed issue | Check / correction |
|---|---|
| Final project differs from hardware | Stop and reconcile article numbers, firmware, slots and addresses before download. |
| Fault test has no safe response | Correct the permissive/sequence/output mapping and repeat the test. |
| Handover cannot reproduce result | Restore the final archive on a clean station and verify documentation/version. |
D. Student Evidence Record
Expected Result
A complete PLC project is compiled, commissioned, fault-tested, documented and ready for supervised handover.
Frequently Asked Questions
Which TIA Portal and PLC versions should I use?
Use the trainer-approved TIA Portal, STEP 7, WinCC and PLCSIM release that is compatible with the selected S7-1200 or S7-1500 CPU firmware. Record every exact version before the first download.
Can I follow these practicals on a running plant PLC?
No. Complete the workbook on an isolated training PLC or approved simulation first. A plant change requires authorization, backup, risk review and the site commissioning procedure.
What evidence should I save for each TIA Portal practical?
Save the project archive, compile result, configured block or device, watch or trace result, controlled fault test, correction and final pass screenshot.
How do I diagnose a practical that does not match the expected result?
Start with the first compile or diagnostic message, then verify device version, address, connection, initial state and live signal flow before changing logic.
Before You Start: Prerequisites, Tested Version, Safety and Evidence
This manual is a practical training workbook, not a substitute for the installed product manual or the site's approved engineering procedure. Record the exact software, firmware, license and hardware before following a step because menus and supported functions can vary by release.
Tested-version planning scope: Confirm TIA Portal V18 or V19, matching STEP 7 and WinCC components, S7 CPU firmware, PLCSIM and licensed options. Enter the exact lab-tested software, firmware and hardware in the record below before course delivery; never assume cross-version compatibility.
Software build, firmware, device catalog, driver, communication interface and license status.
Use an isolated training system. Follow electrical, mechanical, process and cybersecurity controls before energizing or downloading.
Keep the source project, parameter/code export, screenshot/trend, fault test, correction and final pass result.
Last reviewed by Softwell Automation Technical Training Team on 17 July 2026.
| Field | Learner record | Verification |
|---|---|---|
| Software / firmware | ________________ | Matches the training device and official compatibility information |
| Project / backup | ________________ | Saved before and after the practical |
| Pass evidence | ________________ | Runtime value, trend, alarm, diagnostic or report attached |
| Fault tested | ________________ | Symptom, cause, check and corrective action documented |
Practice, Viva and Extension Challenge
Change one approved input or parameter, predict the result, execute the test and explain any difference.
Explain the data flow, safety boundary, first diagnostic check and recovery method without opening the answer.
Add one useful function while preserving the original pass criteria, alarm behavior and rollback path.
Combine at least three practicals, submit a versioned project and evidence pack, and demonstrate repeatable recovery.
Content status: Substantively reviewed and expanded 17 July 2026. Verify release-specific details against the linked official documentation.
