All posts by Fabio Luis Girardi

We come back!

After almost a month offline, the PascalSCADA page is online again. All this is due to changes in the hosting rules of Sourceforge, which forced me to change the hosting of the page. Everything are going alright, the change was quick and easy. The problem appeared when I was updating the DNS records. I changed the DNS settings in the control panel of and waitted one, two, three, several days and nothing happened. Several attempts to contact the Freehosting support and nothing. So last week I decided to transfer the domain to another place and today the transfer was completed. And here we are.

PascalSCADA on OPM repository


A few days ago, Mr. Balázs Székely  created for Lazarus, a central repository of components that is extremely easy to use. The unique step that needs some skill is the manual installation of “Online Package Manager” or OPM, in your Lazarus IDE.

Once OPM is installed, see how easy was to install PascalSCADA (better to watch in full screen):

To download the Online Package Manager, access the link

After finish the OPM download, go to the folder where you saved the OPM and extract it. After extract, open the Lazarus and go to menu Package -> Open package file (.lpk) and navigate to the folder where you have extracted the OPM files and open the file onlinepackagemanager.lpk and in the package screen, click on button Use and choose “Install”. After this, wait a moment, and after Lazarus restart, go to menu “Package” -> “Online package manager” and enjoy.

Captura de tela de 2017-04-04 07:05:02

More OPM details can be found here:

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!

Using expressions on TPLCStructItem.Index property

Hi everybody!

Recently, due some difficulties using the project, I implemented a crazy, but very useful idea. What happened was that I needed to add an item to an existing structure. What I should to do was simple: I selected all itens of the last structure, pressed Ctrl+C and then Ctrl+V. But the problem has come when I should to change the Index property of the created TPLCStructItens. Normally I need to select one by one and add the structure size to calculate the Index (offset) of each one. That when it was not necessary to use the calculator to do the calculation. But here is the crazy idea: why not let the IDE to do that? Well. This idea together with TFPExpressionParser page originated the video below:

It’s not ready yet, I have a head full of ideas. What ideas do you have?


Ps. After publish this post, I finished the features showed on this video:

Linux Mint 18: beyond Cinnamon

A little over a month ago has been released Linux Mint 18, and only a few days ago the the update from Mint 17.x to Mint 18 was released. And in this new version, the most talked feature is the Cinnamon 3.0, 4.4 kernel and “X-Apps” and several other enhancements.

Very good, right? Wrong. I should have followed the recommendation of the Mint staff, that says “only update your system if it’s really necessary, because the Mint 17.3 support will probably will be longer than you in this world”. In my environment, two applets that I use on the Cinnamon stopped working. The first, the processor speed picker only shows the current speed, not allowing more select the processor speed. The solution: use another applet. The second is the “Touchpad indicator classic” that no longer disables the touchpad when a mouse is plugged into my notebook. The solution to this second problem was to use the configuration of the Mint and disable the touchpad forever. I think in both cases I just have to wait while the staff updates applets for the new version of Cinnamon.

The third negative point I noticed, which is more my mistake than the development of the Mint (the truth is that this is not a Linux Mint problem, but is a AMD problem) is related to drivers for ATI/AMD video cards. Why this is my mistake? For buying a notebook with this graphics card. According to the release notes of Mint 18, the latest version of Catalyst driver (fglrx) is not compatible with the XOrg 1.18 (present in Mint 18). Also according to the release notes, AMD has no more interest in keeping this driver for Linux and they recommends the use of open source drivers. In other words, 3D acceleration is OFF. If you do not believe me, see for yourself clicking here .

But what most caught my attention after the operating system upgrade, was to see that the Remmina won a new version. For those who don’t know, Remmina is a client SSH+VNC+RDP+NX+XDMCP+Telepathy (and other plugins that was not created yet). For those who provide remote support, it is very handy utility. I’m reporting this because this utility has at least three versions of Mint (15, 16 and 17) stopped at version 0.9.99, “getting” just minor bug fixes. After seeing that the Remmina was “a little” different, I decided to check your version, which to my surprise is now 1.1.2 together with a link to the Remmina webpage. The project page has been completely redesigned. The latest news on the Remmina blog is the release candidate of version 1.2.0. What I did after see these news? I downloaded the Remmina 1.2rc version. The first visible changes is the GTK3, more easy to use, faster and more stable. Take a look:

Remina 1.2rc
Remina 1.2rc

Ohhh, before someone asks, I removed the applets 🙂

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

New example: WEG TPW03 with Modbus RTU


I just added a new example that teaches how establish a communication between PascalSCADA and TPW03 PLC from WEG using Modbus RTU.

The example was created by Mr. Tiago Felipe Bones, student of UTFPR (Universidade Tecnológica Federal do Paraná). Initially developed as an academic work, but he decided to share his effort with us and everybody that needs to exchange data with WEG TPW03 PLC.

The direct link to download the example is:

The project is already included in the PascalSCADA examples library.