Hello everyone,
Demo version 2.61.512 is now available for download at https://pamaglawe.de
Have fun, and let me know what you discover!
Windows might complain when you launch it for the first time; you can find more details on the website under "Demo: getting started..."
Hello everyone,
I would like to introduce Pamaglawe, a desktop project I am developing with B4J and JavaFX for creating process visualizations and operator interfaces.
It has grown into quite a substantial application, so I thought it was time to share it with the B4X community.
The central idea is to build a process screen visually, connect its objects to process variables, and test the result in the same application. From there, a project can be extended with alarms, recipes, user permissions, documentation and more specialized functions.
Think of a tank, a pump and a valve: place the symbols, assign their variables, add a level display and operating controls, and switch to simulation. The same project structure can then be configured for communication with the actual equipment.
The visual editor
The PageEditor supports multiple pages, navigation and separate detail windows. It includes grid snapping, multiple selection, resizing, rotation, layer ordering and undo/redo.
The object palette contains 40 object types, covering graphical elements, operator controls, displays, layout containers and documents. Examples include buttons, switches, sliders, numerical inputs, gauges, progress indicators, operating-hours displays, LCD displays, value tables, trends and XY plots.
There are also tabs, collapsible sections, scroll areas and hotspots for opening detail windows. Polylines make it possible to draw connected pipe or conveyor paths as a single object.
The symbol library includes equipment such as tanks, pumps, valves, motors, fans, conveyors and sensors. State-dependent graphics allow the appearance of equipment to follow its process values.
PLC communication and simulation
Process variables are managed in a central communication table, with device names, addresses, data types and driver assignments. CSV/XML import and an integrated table editor help manage these definitions.
The communication options include:
Device-specific driver assignments allow different communication paths within a project.
A local simulation mode lets me test screens without a connected PLC. Symbols can have saved simulation values, so controls and displays can be checked with reproducible inputs.
More than displaying a number
Values can be scaled or converted using reusable project formulas. The formula library includes examples for signal conversion, engineering units and tank geometry.
Some examples from recent tests:
For example, a value of 2 can display “Warnung” in German and “Warning” in English. If a translation is missing, the base text is used. If no value assignment matches, the configured fallback text is used.
The application includes language support for German, English, French, Italian, Spanish, Dutch, Polish and Portuguese. Project-specific texts can be translated separately.
Runtime functions
The wider feature set includes:
Specialized project modules
Pamaglawe also includes optional modules for workflows around the process:
The warehouse functionality also covers stacker-crane transport orders and feedback. Storage grids can be used to generate locations, target coordinates and associated PLC symbols. Database options include SQLite, MySQL/MariaDB, Microsoft SQL Server and PostgreSQL.
These modules are intended to keep related process and operational information within the same project.
Built with B4J
The editor and desktop interface are built with B4J and JavaFX. The project brings together graphical editing, custom-drawn displays, PLC communication, database access and document generation.
That combination is also why I wanted to show it here: it is a practical example of the range of work that can be brought together in a B4J desktop application.
Current stage
The current development version is 2.61.507, and my current development and testing platform is Windows.
Pamaglawe is still under active development and testing. This post is an introduction to the current development build, rather than an announcement of a production release.
There is no download available yet. For now, I would like to introduce the project and gather feedback from the community before deciding on the next steps.
The project website is already online: https://pamaglawe.de/
I am testing the individual objects step by step and documenting the results with actual screenshots. The German documentation currently contains 35 articles and 283 screenshots, maintained in matching website-help and offline-help versions. Some screenshots show earlier development builds.
I would be interested in feedback from other B4X developers, especially anyone working with PLCs, industrial interfaces or process visualization:
Thanks for taking a look. I look forward to your questions and suggestions!
Best regards,
Demo version 2.61.512 is now available for download at https://pamaglawe.de
Have fun, and let me know what you discover!
Windows might complain when you launch it for the first time; you can find more details on the website under "Demo: getting started..."
Hello everyone,
I would like to introduce Pamaglawe, a desktop project I am developing with B4J and JavaFX for creating process visualizations and operator interfaces.
It has grown into quite a substantial application, so I thought it was time to share it with the B4X community.
The central idea is to build a process screen visually, connect its objects to process variables, and test the result in the same application. From there, a project can be extended with alarms, recipes, user permissions, documentation and more specialized functions.
Think of a tank, a pump and a valve: place the symbols, assign their variables, add a level display and operating controls, and switch to simulation. The same project structure can then be configured for communication with the actual equipment.
The visual editor
The PageEditor supports multiple pages, navigation and separate detail windows. It includes grid snapping, multiple selection, resizing, rotation, layer ordering and undo/redo.
The object palette contains 40 object types, covering graphical elements, operator controls, displays, layout containers and documents. Examples include buttons, switches, sliders, numerical inputs, gauges, progress indicators, operating-hours displays, LCD displays, value tables, trends and XY plots.
There are also tabs, collapsible sections, scroll areas and hotspots for opening detail windows. Polylines make it possible to draw connected pipe or conveyor paths as a single object.
The symbol library includes equipment such as tanks, pumps, valves, motors, fans, conveyors and sensors. State-dependent graphics allow the appearance of equipment to follow its process values.
PLC communication and simulation
Process variables are managed in a central communication table, with device names, addresses, data types and driver assignments. CSV/XML import and an integrated table editor help manage these definitions.
The communication options include:
- Direct Modbus TCP.
- Siemens S7 communication through Moka7.
- OPC UA through a local bridge.
- A local Connect bridge for exchanging status, values and write requests.
Device-specific driver assignments allow different communication paths within a project.
A local simulation mode lets me test screens without a connected PLC. Symbols can have saved simulation values, so controls and displays can be checked with reproducible inputs.
More than displaying a number
Values can be scaled or converted using reusable project formulas. The formula library includes examples for signal conversion, engineering units and tank geometry.
Some examples from recent tests:
- An LCD display shows the same value in decimal, binary, hexadecimal or octal notation.
- A value table combines several independent process variables, each with its own caption, unit and decimal places.
- An XY display combines two variables into a measurement point, with an optional position trail.
- A state display maps up to 16 PLC values to output texts, with translations for the selected project language.
For example, a value of 2 can display “Warnung” in German and “Warning” in English. If a translation is missing, the base text is used. If no value assignment matches, the configured fallback text is used.
The application includes language support for German, English, French, Italian, Spanish, Dutch, Polish and Portuguese. Project-specific texts can be translated separately.
Runtime functions
The wider feature set includes:
- Alarm definitions, acknowledgement, history and CSV export.
- Recipe management with setpoint sets and permission-controlled transfer.
- Event logging and operator notes.
- User management, roles, individual permissions and automatic runtime logout.
- Multi-curve trends and CSV export.
- Process reports in JSON and PDF, plus an integrated PDF viewer.
- On-screen keyboard and numeric input for touch operation.
- PID configuration for PLC-based, local or simulated control.
Specialized project modules
Pamaglawe also includes optional modules for workflows around the process:
- Maintenance: operating-hours and switching-cycle intervals, advance warnings, due maintenance and maintenance history.
- CIP / sequencing: configurable cleaning-in-place sequences with actuator masks, setpoints, waiting conditions, time limits and sequence reports.
- Warehouse management: materials, storage locations, batches, expiry dates, minimum stock, reservations and stock movements.
The warehouse functionality also covers stacker-crane transport orders and feedback. Storage grids can be used to generate locations, target coordinates and associated PLC symbols. Database options include SQLite, MySQL/MariaDB, Microsoft SQL Server and PostgreSQL.
These modules are intended to keep related process and operational information within the same project.
Built with B4J
The editor and desktop interface are built with B4J and JavaFX. The project brings together graphical editing, custom-drawn displays, PLC communication, database access and document generation.
That combination is also why I wanted to show it here: it is a practical example of the range of work that can be brought together in a B4J desktop application.
Current stage
The current development version is 2.61.507, and my current development and testing platform is Windows.
Pamaglawe is still under active development and testing. This post is an introduction to the current development build, rather than an announcement of a production release.
There is no download available yet. For now, I would like to introduce the project and gather feedback from the community before deciding on the next steps.
The project website is already online: https://pamaglawe.de/
I am testing the individual objects step by step and documenting the results with actual screenshots. The German documentation currently contains 35 articles and 283 screenshots, maintained in matching website-help and offline-help versions. Some screenshots show earlier development builds.
I would be interested in feedback from other B4X developers, especially anyone working with PLCs, industrial interfaces or process visualization:
- Is the configuration workflow understandable?
- Which part would you like to see demonstrated in more detail?
- What would you want to try first in an application like this?
Thanks for taking a look. I look forward to your questions and suggestions!
Best regards,
Attachments
Last edited: