Tables Overview

The Tables module in PLCVisu allows you to display and interact with structured data inside your visualization. It supports multiple table types, each with a different data source and interaction model — from live CODESYS integration to database-connected historic views.

Table Types

PLCVisu offers four main table types:

1. Online Table

  • Connected directly to CODESYS (not to a database)
  • Displays live, streaming data from running systems
  • Does not support history or filtering by time
  • Ideal for real-time system monitoring
  • CODESYS integration must be configured separately

2. Basic Table

  • Connected to a selected database (e.g. SQLite, MySQL, MSSQL, Trends)
  • Displays historical data stored in the database
  • Read-only — cannot be modified in the frontend
  • Best suited for reports, logs, or data overviews

3. Editable Table

  • Also connected to a selected database
  • Fully editable in the frontend (add, delete, change values)
  • Editing depends on assigned user permissions
  • Ideal for operator input, manual records, or user-managed data

4. Advanced Table

  • Same core as Editable Table, but with advanced visual logic
  • Supports dynamic images based on cell values via JSON rules
  • Example: Show a battery icon that changes based on charge level

Example Logic for Image Display:

{
    "conditions": [
        {
            "script": "value == 0",
            "url": "",
            "value": "ready"
        },
        {
            "script": "value >= 0 && value < 20 ",
            "url": "./Example/upload/files/battery/battery_1.png"
        },
        {
            "script": "value >= 20 && value < 40",
            "url": "./Example/upload/files/battery/battery_2.png"
        },
        {
            "script": "value >= 40 && value < 60",
            "url": "./Example/upload/files/battery/battery_3.png"
        },
        {
            "script": "value >= 60 && value < 80",
            "url": "./Example/upload/files/battery/battery_4.png"
        },
        {
            "script": "value >= 80",
            "url": "./Example/upload/files/battery/battery_5.png"
        }
    ],
    "img": {
        "style": "margin-right:8px;"
    },
    "value": {
        "style": "font-weight:bold;"
    },
    "suffix": {
        "style": "font-weight:bold;"
    }
}
{ "conditions": [ { "script": "value == 0", "url": "", "value": "ready" }, { "script": "value >= 0 && value < 20 ", "url": "./Example/upload/files/battery/battery_1.png" }, { "script": "value >= 20 && value < 40", "url": "./Example/upload/files/battery/battery_2.png" }, { "script": "value >= 40 && value < 60", "url": "./Example/upload/files/battery/battery_3.png" }, { "script": "value >= 60 && value < 80", "url": "./Example/upload/files/battery/battery_4.png" }, { "script": "value >= 80", "url": "./Example/upload/files/battery/battery_5.png" } ], "img": { "style": "margin-right:8px;" }, "value": { "style": "font-weight:bold;" }, "suffix": { "style": "font-weight:bold;" } }