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;"
}
}