× Components and Libraries for HMI/SCADA applications, discussions, problems and suggestions

Question PascalScada Now available in CodeTyphon

More
9 years 4 months ago - 9 years 4 months ago #2060 by Curt
I asked Sternas to setup this area which I thought would be a good place to localize
any and all discussions about PascalScada is included in 2.70 release.
of CodeTyphon.

What I feel would be most helpful to start would be any sample projects which demonstrate
the basic setup and operation of a "typical" SCADA control system. With examples of data
being sent from the HMI to a PLC and from a PLC back to the HMI and control commands used
to initiate tasks in the system. i.e. Turn on a pump or adjust a temperature.. etc.
Also using an actual PLC need not be nessasary perhaps using an emulator like the ModBus PLC
simulator. www.plcsimulator.org/

Actually any discussions of SCADA and HMI development and application would be welcome here.

Curt
(aka Indie)
Last edit: 9 years 4 months ago by Curt. Reason: update

Please Log in or Create an account to join the conversation.

  • Fabio Luis Girardi
  • Fabio Luis Girardi's Avatar
  • Offline
  • Junior Member
  • Junior Member
More
9 years 4 months ago #2068 by Fabio Luis Girardi
Replied by Fabio Luis Girardi on topic Re: PascalScada Now available in CodeTyphon
I added a small 'professional' example at PascalSCADA SVN called horimetros. It's a simple application that check how many time some machines are running. It generates some reports, show how use popups and exchange data with a S7-200 (or a S7-300/400 with a DB1) via CP-243. Maybe it's some project to add as example on CodeTyphon. Another example is a project called Hydro, but it must be converted to Lazarus first.

code.google.com/p/hydro2011/
The following user(s) said Thank You: Curt

Please Log in or Create an account to join the conversation.

More
9 years 4 months ago - 9 years 4 months ago #2070 by Curt
Thank you. Any and all info and help is appreciated.

Curt
Last edit: 9 years 4 months ago by Curt. Reason: punctuation
The following user(s) said Thank You: Fabio Luis Girardi

Please Log in or Create an account to join the conversation.

  • Fabio Luis Girardi
  • Fabio Luis Girardi's Avatar
  • Offline
  • Junior Member
  • Junior Member
More
9 years 4 months ago #2081 by Fabio Luis Girardi
Replied by Fabio Luis Girardi on topic Re: PascalScada Now available in CodeTyphon
I'll post on pascalscada.com a request for demo applications...

Please Log in or Create an account to join the conversation.

  • Fabio Luis Girardi
  • Fabio Luis Girardi's Avatar
  • Offline
  • Junior Member
  • Junior Member
More
9 years 4 months ago #2085 by Fabio Luis Girardi
Replied by Fabio Luis Girardi on topic Re: PascalScada Now available in CodeTyphon
Requested on PascalSCADA Page.

Please Log in or Create an account to join the conversation.

More
9 years 4 months ago #2086 by Curt
Thank you.
Very nice.

Please Log in or Create an account to join the conversation.

  • Fabio Luis Girardi
  • Fabio Luis Girardi's Avatar
  • Offline
  • Junior Member
  • Junior Member
More
9 years 3 months ago #2224 by Fabio Luis Girardi
Replied by Fabio Luis Girardi on topic Re: PascalScada Now available in CodeTyphon
One thing that make me sad is the feedback of "open-source" users. It's nothing. I have feedback of three users: One from Italy, from avra (that is a PilotLogic Forum user) and another (the first) from Brazil.

This make me very frustrated!

I requested applications from users, and nothing.

Or maybe I'm doing something wrong... I don't know.


The best regards,

Fabio
PascalSCADA developer

Please Log in or Create an account to join the conversation.

  • avra
  • Visitor
  • Visitor
9 years 3 months ago - 9 years 3 months ago #2228 by avra
Hello Fabio,

You should not feel frustrated. You should feel very proud. You have done something that only 2 people before you have done for Delphi, and as far as I know beside yours there isn't a single attempt to make it for Lazarus/CT (especially one open source and cross platform). I was involved in small part of one of those attempts so I know how much time consuming it is. That being said, you must be aware that your primary target are people with Delphi/Lazarus/CT knowledge who are also in SCADA/PLC business. There are not many. I have seen in a few places very positive comments from people mentioning your PascalSCADA. Time will pass from "people noticing it" to "people using it", and then "people contributing to it", which seems to be your goal. One thing that greatly will help to speed things up is OPC support. I know you are already aware about how much is that important, but without that feature you will hardly ever make a critical mass of users. MODBUS, S7 and few other drivers are nice, but in a corporate environment OPC is the only player in the game that counts. Big companies are hard to be convinced to use something out of their standards, but there is a chance to skip this rule from time to time. Who knows, if you are consistent and noticed by some company/integrator, you might even be sponsored or given bounties. PascalSCADA zero price tag is the magic word which makes everyone at least listen when I mention it. Smaller integrator companies with up to few dozen employees seem to be your target. Each SCADA runtime costs at least a few thousands so saving this money can be an attractive carrot for a donkey (read it as integrator company).
I have been waiting for a chance on my daily job if there comes a small enough time enough SCADA implementation opportunity to use PascalSCADA, and to be honest I must also have a backout plan to code it without PascalSCADA if something goes wrong. Unfortunately I still didn't have that chance (who knows if I ever will - remember story about big corporations using only standard tools), and my schedule is so tight that I can not have a chance to look at it because there is no free time on my job, and I already have a private project that I work on when I am home. Without getting a chance for that small project running I don't think it's realistic for me to contribute (time, time, time...). The positive thing that I must say here, is that my colleagues were all ears when I mentioned a free IDE (Lazarus/CT) with free SCADA (PascalSCADA) without any fee for SCADA runtime. Some even mentioned learning Pascal. ;-). What you can do in broading the target audience (if you wish) is not to concentrate only on SCADA features, but on expanding it by using SCADA like visualization for WMI real time data via trending/bargraphs (yes, I know that would be Windows only). Example is real time CPU or network data. www.lazarus.freepascal.org/index.php/top...g74342.html#msg74342
The small amount of time I invested so far in PascalSCADA has shown me that in it's current form it is not practical for more then 50 tags, because each tag is a single component. You need to group them in some kind of super component(s) to make use easier. My biggest SCADA had more then 25.000 tags (that was extreme with 7 Siemens Simatic S7-400H redundant PLCs, usually it's not bigger then 1.000-3.000), so you can imagine how these big numbers would look like a mess with individual component for each tag.
As we all are, you must also be proud of your native language, but using it all over places instead of English in a project that has a goal to be international can not be well accepted in international community. I know you have made much progress since first time I mentioned this, but having portugueese captions in SCADA demo projects, in comments of core components, in variable or method names, unit file names, or in Word/Excel documents is something that is not going to attract international users. Would you join a project where in code I have written originally you see this as a comment: "\\ ово је само пример како може да изгледа коментар". Would you understand it or it would distract you? Do you see what I mean? Using online translation each time you need it is not much fun. To keep captions in demos in both your native language and English, you might take a look at GNU GetText dxgettext.po.dk.
Also, all your demos need real life devices that most do not have access to, and even if they do these are PLCs running in a factory and people would not let some demo app get data from it just like that (safety, safety...). What you need is a simple and quick compile and run show all features demo with all bells and whistles, that does not need a real PLC to run. LibNoDave that you have used for S7 has simple S7 PLC simulator, and that can be used for this purpose.

Please, please do not take my comments as negative, because they are not, and I really have great respect for your work. Otherwise I would not bother to comment it at all. In my country they say that a cloud of dust shows only after a great horse. I hope it's not lost in translation, since PascalSCADA indeed has a big cloud of dust.

Once again thank you for sharing it, and keep the head up.

Avra
Last edit: 9 years 3 months ago by avra.

Please Log in or Create an account to join the conversation.

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
More
9 years 3 months ago #2229 by Sternas Stefanos
Replied by Sternas Stefanos on topic Re: PascalScada Now available in CodeTyphon
With our respect for your job Sir

We will try to fix and pl_PascalSCADA for Solaris OS (it's freepascal Solaris units problem)
Win, wince, Linux and freeBSD (32 and 64) are OK

PilotLogic Architect and Core Programmer
The following user(s) said Thank You: Fabio Luis Girardi

Please Log in or Create an account to join the conversation.

  • Fabio Luis Girardi
  • Fabio Luis Girardi's Avatar
  • Offline
  • Junior Member
  • Junior Member
More
9 years 3 months ago #2231 by Fabio Luis Girardi
Replied by Fabio Luis Girardi on topic Re: PascalScada Now available in CodeTyphon
avra, even a negative feedback, is a feedback :)
I can't be right every time.

As you said, my biggest problem is time too. I'm searching documents and codes about OPC XML-DA to study, learn and implement it.

Another thing that you said, are that each tag is a component. I did a biggest project using it, with at least 29700 tags, and I frozen Lazarus many times when I tried insert this number of tags. I fixed this issue on this project indexing my tags. And yes, I'm thinking what's the best way to make it better. I also started a discussion on Lazarus List what's the best way to do it. You said to on pascalscada blog, to set the default language the English. I did a first step translating the class documentation. Another step will be translate the example files and another minor things, like properties of components. Some days ago, I see the in TSerialPortDriver instance a property called "Paridade" (portuguese). So I think: oh my god, how I can forgot this? I checked many others properties with a wrong name.

As I said to the Italian user, I will have another big project and I'll use PascalSCADA to do it and I must communicate with a Rockwell ControlLogix PLC, so I'll have some time to implement OPC on PascalSCADA. To be honest, the idea of have another application between my SCADA application and my PLC don't let me happy, but at the last months I don't have many choices :laugh: So OPC will be my choice. The idea of don't have control over communication performance, let me crazy.

Some concepts of PascalSCADA are based on my local culture/market. Here, everybody know/uses a tool called Elipse SCADA (from Brazil). It has own drivers to everything. When I started on Industrial automation, it was my first disappointment with this kind of tool, because I come from a OOP language and on this tool I'm very limited to create everything, with a very limited script system and a poor comunication and response performance. I proposed to myself, make a tool, fast and without limits for the developer. Today my inspiration tool is WinCC, it don't limit your creativity to me today.

Another thing that I'm thinking about and expecting some feedback is drop the support for Delphi. Delphi support one OS, one platform and many changes are made between their versions, breaking my head.

Mr. sternas, you know what's serial port names under Solaris (like /dev/somenameS1)?

Please Log in or Create an account to join the conversation.

  • Sternas Stefanos
  • Sternas Stefanos's Avatar
  • Away
  • Moderator
  • Moderator
  • Ex Pilot, M.Sc, Ph.D
More
9 years 3 months ago - 9 years 3 months ago #2232 by Sternas Stefanos
Replied by Sternas Stefanos on topic Re: PascalScada Now available in CodeTyphon
Sir
The standard device names for serial ports
1)under Solaris are /dev/ttya, /dev/ttyb etc

2)In linux the serial ports are ttySX where X is a number
/dev/ttyS0, /dev/ttyS1, etc

link1

PilotLogic Architect and Core Programmer
Last edit: 9 years 3 months ago by Sternas Stefanos.

Please Log in or Create an account to join the conversation.

  • avra
  • Visitor
  • Visitor
9 years 3 months ago - 9 years 3 months ago #2238 by avra
Replied by avra on topic PascalScada Now available in CodeTyphon
Hello Fabio,

Please think again about your choice of OPC XML-DA as your implementation goal, since XML-DA is mostly abandoned and considered a dead technology. Just take a look at this: www.opcti.com/Content.aspx?id=25. There are many similar links that say the same thing. During my career I remember only one major OPC server implementing XML-DA (Siemens SimaticNET), and if I remember well next version will omit it. I also have great doubt that 27.000 tags can be served well over OPC XML-DA, since it is veeeery slooooow.

Instead I suggest you OPC DA client implementation as your minimum goal, or OPC UA client implementation as your maximum goal.
1) OPC DA has many client implementations for Delphi (www.opcconnect.com/delphi.php) but none for Lazarus. The Lazarus has made some progress in COM area (although I do not know if that is enough to replicate Delphi OPC DA client examples), but I am not familiar with DCOM status in Lazarus, and you need it to make OPC DA working over network.
2) Unfortunately, not even Delphi has OPC UA implementation examples and that is yet a non conquered territory for both Delphi and Lazarus, mostly because of fee request for specification docs. There is a free Java implementation you are already aware of (wiki.oscada.org/HomePageEn/Doc/OPC_UA), free OPC UA protocol analyzer plugin for Wireshark (www.ascolab.com/en/company-media/147.html), public info (www.commsvr.com/UAModelDesigner/Index.aspx), python attempts (sourceforge.net/p/opycua/blog), and free OPC UA server (opcua.svn.sourceforge.net).

However, both mentioned approaches require huge time, and I would therefore suggest quite a different approach that will save time and allow cross platform. It is an OPC<>TCP gateway (OPC DA client and TCP server) that would run on some Windows machine and provide needed communication for PascalSCADA. I have made exact opposite of this (TCP client and OPC DA server gateway), but you can take a look at gateway parts of OpenOPC (sourceforge.net/projects/openopc/?source=directory) or JEasyOPC (sourceforge.net/projects/jeasyopc/?source=directory). The last one even has an OPC core written in Delphi. Since there are free OPC DA <> OPC UA gateways, I think that using this approach even opens doors to OPC UA. I just didn't investigate license terms of such tools, so one should be aware of this first.
Last edit: 9 years 3 months ago by avra.

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #2241 by Tom
Replied by Tom on topic PascalScada Now available in CodeTyphon
4 year ago i build OPC system for process automatization.
I have 10 modbus and 3 custome made serial devices to integrate in one server and 5-10 clients for monitoring and reporting.
I create OPC server and all 5-10 clients are OPC DA clients.
OPC DA DCOM is nightmare for configuration and stability on network and after 1 month of test(production use), I must to write OPC XML-DA gateway on server and all clients connect with OPC XML-DA.
I don't have any problem with speed and stabiliti with XML-DA and new OS upgrade to Win7
All developed with Delphi 5, Indy, RemObjects SDK with custome changes to implement XML-DA.

Please Log in or Create an account to join the conversation.

  • avra
  • Visitor
  • Visitor
9 years 3 months ago #2244 by avra
Replied by avra on topic PascalScada Now available in CodeTyphon

OPC DA DCOM is nightmare for configuration and stability on network...

First time setup is hard, but once you go through whole process it's not such a big deal. It complicates a little if it's on a domain, but with granted admin access (or net/server administrator assistance) you can relatively quickly make COM/DCOM parameterization for OPC server and clients. You just have to be careful not to open more then it's needed since it affects COM/DCOM security. Basically, if you know how to setup COM/DCOM security in general for Windows applications who need it, OPC COM/DCOM setup is easy since it follows the same rules. Unfortunately COM/DCOM parameterization and security is not something that many developers are familiar with, and such a fact is recognized and various OPC tunneling products have been made to address such an issue.

Btw, did you make OPC DA server as a service or as an application? There wasn't a single example for Delphi on the net how to make it as a service, and I wanted to be the first one to make a hybrid of both (a service that would have a tray icon and full app functionality if desktop is started). Unfortunately I had a tight schedule so that idea never lived. My greatest problem at the time (2006) was not the OPC, but fixing TCP/IP lib memory leaks which were real trouble in 24/7 industrial environment, and showed as fatal exceptions after 40-60 days of work. Sometimes I regret we don't have a garbage collector...

Please Log in or Create an account to join the conversation.

More
9 years 3 months ago #2245 by Tom
Replied by Tom on topic PascalScada Now available in CodeTyphon

Btw, did you make OPC DA server as a service or as an application?

OPC DA server is service, connected to 3 RS485 ports (modbus and custome serial protocol), read/write data to devices and save to DB.
OPC XML-DA Gateway is also service on same server with OPC DA Client, Indy HTTP Server and RemObjects SDK for XML-DA services.
Client WinApp for Scada monitoring is connected only with XML-DA and DB. XML-DA data is pulled every 5 sec (around 100 variables).
DB=Firebrid

Please Log in or Create an account to join the conversation.

More
8 years 4 months ago #4102 by Prateek
Replied by Prateek on topic PascalScada Now available in CodeTyphon
SCADA (supervisory control and data acquisition) is a type of industrial control system (ICS). Industrial control systems are computer controlled systems that monitor and control industrial processes that exist in the physical world. SCADA systems historically distinguish themselves from other ICS systems by being large scale processes that can include multiple sites, and large distances.

Please Log in or Create an account to join the conversation.

Moderators: Curt