Re-keying Test Data
Engineers manually transfer stimulus values from the test sheet into PLC tags, then copy the observed results back into the test record.
Move from a spreadsheet-based test plan to repeatable PLC validation without modifying the controller program for every test.
CSV to PLC uses a structured CSV test matrix to drive external test execution, write defined test values, read PLC responses, compare results against expected conditions, and record the outcome.
No temporary test logic. No manual copy-and-paste between the test sheet and PLC.
FAT, commissioning and validation teams often have a well-defined test procedure in Excel or CSV — but the execution still happens manually.
That creates several recurring problems:
Engineers manually transfer stimulus values from the test sheet into PLC tags, then copy the observed results back into the test record.
Some test approaches require temporary simulation, forcing functions or dedicated test code inside the controller. That can create additional review, configuration and handover work.
A test may be completed successfully, but the evidence is often distributed across spreadsheets, screenshots, notes and separate commissioning records.
When hundreds or thousands of signals, interlocks or sequences must be checked, manual execution becomes slow and difficult to standardise.
CSV to PLC is designed around a simple separation:
The CSV defines the test.
The PLC executes the control logic.
CSV to PLC performs the external validation.
A test matrix can define:
The validation client then uses that matrix to interact with the controller through a supported industrial communication interface.
The CSV Is the Output of the Spec-to-CSV Engine — Not a Manual Starting Point
CSV to PLC does not assume that engineers manually create the CSV test matrix from scratch.
The upstream Spec-to-CSV Engine converts layout-rich engineering specifications into a structured, traceable IEC 62381 functional test checklist. It reads the functional specification, maps requirements and tag nomenclature, generates the required test fields, and verifies the resulting logic before the CSV is handed to the execution layer.
This creates a clear separation between test generation and test execution.
The Spec-to-CSV Engine processes the engineering specification through four stages:
Reads layout-rich PDFs while preserving document structure, tables, headings, tags and page-level visual provenance.
Aligns extracted variables, tags and sequences with the plant's structured nomenclature and logical relationships.
Converts the mapped requirements into the defined IEC 62381 CSV test schema, including fields such as Test Case ID, Annex Reference, Functional Category, Test Activity and Acceptance Criteria.
Applies automated logic checks and human engineering review before the generated test protocol becomes an executable validation asset.
The upstream engine therefore produces the structured CSV that CSV to PLC consumes.
A generated checklist may contain fields such as:
Test Case ID,Annex Ref,Functional Category,Test Activity,Acceptance Criteria TC-FUN-VSD-052,A.3.19,Application Logic,With VSD Earth Switch Closed simulate S4.ES053 = 1 and issue remote Close Command,Circuit Breaker Close Command executes successfully
The exact CSV schema is determined by the project's test methodology and the configured IEC 62381 template.
An important part of the upstream process is maintaining the relationship between each generated test and its source requirement.
For example:
This means CSV to PLC starts with a structured, specification-derived test protocol, rather than treating CSV as an isolated spreadsheet.
CSV to PLC is designed to operate as an external test client.
Depending on the control platform and project configuration, communication can be provided through supported native industrial protocols or OPC UA.
The objective is to interact with the controller without requiring the test sequence itself to become part of the production PLC application.
The test engine reads each row of the matrix and performs the defined actions.
A typical sequence is:
This creates a repeatable execution path from the original engineering test definition to the observed PLC response.
The platform compares the PLC response with the expected result defined in the CSV.
Depending on the test, acceptance criteria may include:
The result should be recorded as part of the test evidence rather than relying on manual transcription.
Each executed test can produce a structured result containing information such as:
This creates a more consistent evidence trail for engineering review, FAT documentation and commissioning records.
The concept is intended to support common PLC communication methods, with the final connection method depending on the controller model, firmware, configuration and available interfaces.
| Platform / Protocol | Example Connectivity | Typical Use |
|---|---|---|
| Rockwell Automation | EtherNet/IP / CIP | Read and write controller tags where supported |
| Siemens | S7 communication | Read and write configured data areas where supported |
| Modbus TCP | TCP/IP | Register and coil based testing |
| OPC UA | OPC UA client | Unified access to exposed PLC/server variables |
Actual connectivity depends on the project environment. Typical requirements may include:
CSV to PLC does not bypass PLC security or vendor configuration requirements.
A key design principle is to keep test intent outside the production control program.
Instead of repeatedly embedding project-specific test code into the PLC, the test procedure can remain in a structured external file.
That separation can simplify:
Run the same test matrix again after a software revision, configuration change or troubleshooting activity.
Link each result back to the originating test case.
Update the test matrix without rebuilding a large block of temporary PLC test logic.
Use the same test structure across similar machines, panels or project revisions where the tag mapping is consistent.
CSV to PLC is particularly relevant to engineering teams responsible for:
Execute repeatable functional test cases against a PLC application and capture the results in a structured format.
Repeat selected validation tests during site commissioning after hardware, instrumentation or configuration changes.
Re-run an established test matrix after PLC software revisions to identify unexpected changes.
Validate defined permissives, interlocks, alarms and process sequences against expected behaviour.
Provide structured evidence from the test execution rather than relying only on handwritten notes or screenshots.
Test objective: Verify that a motor can start when permissives are healthy and stops when the stop command is applied.
1. Confirm permissives = healthy 2. Apply Start_Command = TRUE 3. Read Motor_Running 4. Compare with expected = TRUE 5. Apply Stop_Command = TRUE 6. Read Motor_Running 7. Compare with expected = FALSE 8. Record result
The same structure can then be repeated for additional motors, valves, sequences or interlocks.
CSV to PLC is intentionally centred on an engineering workflow that is familiar to controls and commissioning teams:
The goal is not to replace engineering judgement.
The goal is to reduce repetitive manual execution so engineers can spend more time on:
CSV to PLC sits between the engineering test document and the control system.
This provides a practical path toward more repeatable and data-driven PLC validation without requiring the test definition to become part of the production control application.
CSV to PLC should be used as an engineering test tool within an appropriately controlled environment.
Before execution, the engineering team should confirm:
Drive test execution from the same structured test matrix used by the engineering team.
Run a defined test sequence again after changes instead of recreating the procedure manually.
Reduce the need for project-specific temporary test code inside the production PLC application.
Capture structured results that can be reviewed, filtered and retained with the project documentation.
Apply the same execution model to large numbers of signals and repetitive functional tests.
Turn your existing test matrix into a repeatable engineering workflow.