Category Archives: Development

New PascalSCADA Snapshot


I’m glad to announce the new snapshot of PascalSCADA, released today.

This new version contains the bug fixes of the last year and new features, of which SVG-based controls stand out. Yes, vector controls, based on files generated by Inkscape, due to support added to vectors by the BGRABitmap library. It has some bugs (mainly drawing paths, such as lines and polygons), but it is a resource with a promising future. Soon as possible, I’ll write a small guide teaching how use this new feature.

You can download the new snapshot here. To install, just follow the instructions listed here.

Expressions on all properties of base tags


I just improved the support for expressions in the properties of PascalSCADA tags. At first moment, this feature was only available for the TPLCBlockElement.Index and TPLCStructItem.Index tags/properties. From today, is possible to use expressions on the following tag classes:

  • TPLCTagNumber
  • TPLCStruct
  • TPLCBlock
  • TPLCString

On these tags, is possible use and include in the expression the following properties:

  • PLCRack
  • PLCSlot
  • PLCStation
  • MemFile_DB
  • MemAddress
  • MemSubElement
  • MemReadFunction
  • MemWriteFunction
  • Tag (you can only use this property on expressions in the properties mentioned above)

Below is a video that helps you understand the new feature:

Suggestions for improvements are always welcome!

FPC + shared library + ARM HF: Workaround

It’s been two years when I was developing a project to run on Raspberry Pi, and to my chagrin, I found a bug when Freepascal is used to develop shared libraries (DLL) when the compiler target is armhf-linux. Applications created with FPC for this target is no problem, only shared libraries, and if the application tries to load a generated library in C/C++, it works perfectly.

Following the notes added to the bug report, Jonas Maebe suggested adding the unit INITC from the library uses. I did some tests, and to my surprise, this workaround worked with a charm. The sadness is that I deactivated the project because I discovered this too late 😐

So yesterday I was notified that the Debian development team added a patch that fix that, but I could not download a image to test the patch. Anyway I think for the next version of Free Pascal (3.0.2, scheduled for October) it will be fixed.

You can see more here:

PascalSCADA development: What is the best tag management model?

After use the PascalSCADA in some personal projects, I found some obstacles. The biggest one is related with the number of tags declared into the HMI/SCADA project being developed. Actually the Lazarus can handle forms or datamodules with a small number components inserted into, but this number can’t be bigger than
two thousand of components (or tags if you want). Delphi I’ll not comment. This tag management model was born in a time that I don’t know that Lazarus and Delphi can’t handle with a huge number of components. So to workaround this limit of the current PascalSCADA version, you need to split the set of tags in several forms/datamodules or to create the tags in runtime, what need some skills.

This is what I need to start a new PascalSCADA version. Actually the progress of this new version is hosted at

This version uses the most modern features available on the recent Lazarus and FreePascal versions. It will be a full modular version, in other words, you will only install the desired packages. The translation will be easier through the PO files, native from Lazarus. The multithread system can now specify which processor core each thread will run over. The interface of tag control and security was splitted, the opposite of what is today.  A new protocol design will make easy the OPC implementation. And major part of default controls of Lazarus will have a class with security enabled, and these controls will be the base of the new PascalSCADA HCl, that will be much larger and better, able to  protect any kind of application, including  database applications.

But the question which I dedicated myself to write this post is: For you, what’s the best tag management models that exists on the market today? The reason of this question is that at this moment, I’m developing just the new tag management. So I decided put this poll to know your opinion, as am I, uses several HMI/SCADA tools,  and that sometimes uses PascalSCADA too.

Then choose which is for you the best three tag management models that exists today, and feel free to send comments with ideas to put on the new tag management of PascalSCADA. Maybe your idea is implemented on the new version?

The best tag management model for you is...
  • Add your answer