Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84649members
353989posts

DDK Versions and processor types

EcoStruxure Geo SCADA Expert Forum

Find out how SCADA systems and networks, like EcoStruxure Geo SCADA Expert, help industrial organizations maintaining efficiency, processing data for smarter decision making with IoT, RTU and PLC devices.

Solved
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
10
2114

DDK Versions and processor types

Hi,

where can I find information on DDK versions and processor type.

 

 

Thanks,


Accepted Solutions
BevanWeiss
Spock
Spock
0 Likes
8
2109

Re: DDK Versions and processor types

DDK Versions

https://tprojects.schneider-electric.com/telemetry/display/public/CS/Driver+Development+Kit+%28DDK%2...

 

And processor type (Platform) is based on where you obtained the ControlMicrosystems.ClearSCADA.DDK.dll from.

If you got it from the x86 location(s) then it will be x86, if you got it from the x64 location (C:\Program Files\Schneider Electrical\ClearSCADA) on a x64 installation, then it will be x64.

 

I guess this is an area that the DDK documentation falls down a bit, it tells you to add a reference to the DLL, but doesn't mention anything about where the different platform DLLs are located, or how this needs to match with the class library platform.  In fact it has no mentions of either x86 / x64 at all.  I'll raise a ticket for this with Tech Support.

 

The DDK isn't the friendliest way to interface to ClearSCADA / Geo SCADA Expert.  I would personally recommend that you consider if you really need to use the DDK, or whether the .NET API would be enough for your porpoises.

If you start with the .NET API it will be a lot quicker to get real things happening.. if you then discover that there's a limitation on functionality (like you really need your own custom objects within the ClearSCADA database or something) then you can always migrate to the DDK later on.

 

 

In conclusion: avoid the DDK unless you really need the features the DDK provides above the .NET API.

If you don't know.  Then start with the .NET API.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..

See Answer In Context

10 Replies 10
BevanWeiss
Spock
Spock
0 Likes
8
2110

Re: DDK Versions and processor types

DDK Versions

https://tprojects.schneider-electric.com/telemetry/display/public/CS/Driver+Development+Kit+%28DDK%2...

 

And processor type (Platform) is based on where you obtained the ControlMicrosystems.ClearSCADA.DDK.dll from.

If you got it from the x86 location(s) then it will be x86, if you got it from the x64 location (C:\Program Files\Schneider Electrical\ClearSCADA) on a x64 installation, then it will be x64.

 

I guess this is an area that the DDK documentation falls down a bit, it tells you to add a reference to the DLL, but doesn't mention anything about where the different platform DLLs are located, or how this needs to match with the class library platform.  In fact it has no mentions of either x86 / x64 at all.  I'll raise a ticket for this with Tech Support.

 

The DDK isn't the friendliest way to interface to ClearSCADA / Geo SCADA Expert.  I would personally recommend that you consider if you really need to use the DDK, or whether the .NET API would be enough for your porpoises.

If you start with the .NET API it will be a lot quicker to get real things happening.. if you then discover that there's a limitation on functionality (like you really need your own custom objects within the ClearSCADA database or something) then you can always migrate to the DDK later on.

 

 

In conclusion: avoid the DDK unless you really need the features the DDK provides above the .NET API.

If you don't know.  Then start with the .NET API.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
7
2101

Re: DDK Versions and processor types

Hi,

I am able to find ControlMicrosystems.ClearSCADA.DDK in C:\Program Files\Schneider Electric\ClearSCADA which I presume is the 64bit version.

 

In C:\Program Files (x86)\Schneider Electric\ClearSCADA it does not appear?

Other dll's are shown).

 

The V81-DDK. zip was downloded from;

https://tprojects.schneider-electric.com/telemetry/display/public/CS/Driver+Development+Kit+%28DDK%2...

 

I note your comment on the .NET API. However, I have been asked to look at the DDK as far as I can take it.

 

I have gone through the client API Guide and done the example, which worked.

Is this what you refer to when you mention the .NET APi.

 

Thanks,

BevanWeiss
Spock
Spock
0 Likes
6
2096

Re: DDK Versions and processor types


I am able to find ControlMicrosystems.ClearSCADA.DDK in C:\Program Files\Schneider Electric\ClearSCADA which I presume is the 64bit version.


If you are running an x64 version of ClearSCADA, then this is indeed the case.  If you are running in an x86 version of Windows, then this will be the x86 DLL.  This isn't Schneider's fault re: the confusion of the locations, it's Microsoft and their crazy x64/x86 architecture names.

 


In C:\Program Files (x86)\Schneider Electric\ClearSCADA it does not appear?

Other dll's are shown).


This was me being a liar it seems.  I really thought it was there.

It's been a little while since I've done x86 stuff.  Ok, so there are options:

  1. Perform an x86 installation under an x86 Operating System.  Then in C:\Program Files\Schneider Electric\ClearSCADA you'll have the x86 ControlMicrosystems.ClearSCADA.DDK.dll
  2. Pull apart the Main01.cab within the \ClearSCADA\Product\Win32 folder on the install media, there is a file called DDKASSEMBLY_ControlMicrosystems.ClearSCADA.DDK.dll in there, which is the x86 DLL in question, it just needs to be extracted, and renamed (I use 7zip to do this).  This is also another potential way to get the x64 DLL, it's under \ClearSCADA\Product\x64\Main01.cab, also named DDKASSEMBLY_ControlMicrosystems.ClearSCADA.DDK.dll

 

If you go to tproject

https://tprojects.schneider-electric.com/telemetry/display/public/CS/.Net+API%2C+Automation+Interfac...

You'll unfortunately not find a demo project in tproject, but it does link you back to the installed help


If you look in the Start Menu folder for ClearSCADA, you'll notice a "Client API" shortcut. This link will take you to the documentation for the automation interface. You should start in the ClearScada.Client.Simple Namespace. The key classes to use are "Connection" and "DBObject".


The .NET API is quite friendly to use, much much nicer than the DDK.

The example script shows this:

using System;

using ClearScada.Client;
using ClearScada.Client.Simple;

class Program
{
    static void Main( string[] args )
    {
        using ( Connection conn = new Connection( "TestApp" ) )
        {
            // Connect to local server
            conn.Connect( "localhost" );

            // Create a new point
            DBObject point = conn.CreateObject( "CPointAlgManual", ObjectId.Root, "My Point" );

            // Set a property
            point["FullScale"] = 200;

            // Get a property
            Console.WriteLine( "CurrentValue = {0}", point["CurrentValue"] );
        }
    }
}

Since it's .NET and all managed, then you don't need to worry about what platform you're targeting either.  It will work with 'Any CPU'.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
Tags (2)
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
5
2094

Re: DDK Versions and processor types

Hi,

Yes, I have done the .NET API example you show a few days back and it worked fine.

 

I would need to incorporate this method of communications to GeoSCADA as well being able to communicate to an API Gateway using SOAPui XML / Json.


This method is recommended above DDK?

 

Thanks,

 

 

BevanWeiss
Spock
Spock
0 Likes
4
2090

Re: DDK Versions and processor types

Yes.  I would recommend that you use the .NET API.

 

Is the Web Gateway that you need to interface to within your scope also, or is it a 3rd party product that only exposes endpoints?

 

Assuming that the Web Gateway is a 3rd party product, and you need to take data from the Web Gateway, and push it into some internal points within ClearSCADA / GeoSCADA Expert, then you will need to have your application perform some kind of periodic activity to poll the Web Gateway for the appropriate information, and then push this information into ClearSCADA.

 

There are a number of ways to go about the period action side of things, you could have it as a plain executable, that is triggered by a scheduled SYSTEM call from ClearSCADA.  Or you could have it schedule itself with the Windows Scheduler. Or you could have it as a Windows Service, and have it sleeping until some periodic trigger wakes up the thread to do its work.  Those are programming decisions largely separate from ClearSCADA itself.

 

If you have information on the actual Web Gateway then you should provide this, it's possible that someone has already done the interfacing to this, or that it reveals more information which suggests an alternative way to address the problem.

 

 

If the Web Gateway would instead have some kind of 1:1 mapping into a ClearSCADA object.  i.e. the Web Gateway is exposing some kind of temperature endpoints, each of which has a temperature reading that you just want to get into ClearSCADA... then a DDK driver would be a nicer implementation (if an alternative like ODBC/OPC isn't possible).

But it is exponentially harder than the .NET API, and so I do not recommend it.

It is more difficult to not just write, but to deploy (it needs special tricks to get it running within ClearSCADA that are not easy to do with an installer package, doing them as a batch file is possible, but then doesn't handle uninstallation, or pre-requisites etc etc etc).  Maintenance-wise it then requires a new version of the driver to be compiled and deployed for EVERY update to ClearSCADA.  


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
3
2086

Re: DDK Versions and processor types

Hi,

 

Is the Web Gateway that you need to interface to within your scope also, or is it a 3rd party product that only exposes endpoints?

 

Not really, If it was with in our scope, would you recommend a better way of going about the set up?

 

Thanks,

BevanWeiss
Spock
Spock
0 Likes
2
2084

Re: DDK Versions and processor types

Yes, have the web gateway directly responsible for interrogating / pushing the data directly into ClearSCADA / GeoSCADA via SOAP / .NET API (depending on the Web Gateway platform... if Windows .NET API, if *nix SOAP).


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..
DavidSkilbeck
Lt. Commander
Lt. Commander
0 Likes
1
2081

Re: DDK Versions and processor types

Hi,

Its not in our scope unfortunately, I did enquire if it was possible with the more direct method.

I have to use Json.

 

I guess back to the DDK. I will have to set everything to 64bit to get it to compile.

If I can find 64bit reference's.

 

Notify Builds and creates files.

 

DriverNotify creates following error when build attempted;

 

Severity Code Description Project File Line Suppression State
Error The command "copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\Notify.dll C:\Dev\ClearSCADA\Binaries\X64\Debug\
copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\Notify.dll C:\Dev\ClearSCADA\Binaries\X64\Release\

copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\Notify.PDB C:\Dev\ClearSCADA\Binaries\X64\Debug\
copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\Notify.PDB C:\Dev\ClearSCADA\Binaries\X64\Release\

copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\DriverNotify.exe C:\Dev\ClearSCADA\Binaries\X64\Debug\
copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\DriverNotify.exe C:\Dev\ClearSCADA\Binaries\X64\Release\

copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\DriverNotify.PDB C:\Dev\ClearSCADA\Binaries\X64\Debug\
copy C:\Users\Administrator\Desktop\Notify-Master\DriverNotify\bin\x64\Debug\\DriverNotify.PDB C:\Dev\ClearSCADA\Binaries\X64\Release\
" exited with code 1. DriverNotify

 

Show error help does not work.

 

 

Thanks,

 

 

sbeadle
Janeway Janeway
Janeway
0 Likes
0
2075

Re: DDK Versions and processor types

Edit the driver's post-build command and change:

C:\Dev\ClearSCADA\Binaries\X64\Debug\

to

C:\Program Files\Schneider Electric\ClearSCADA\

 

(Or remove them and manually copy these files)

BevanWeiss
Spock
Spock
0 Likes
0
2059

Re: DDK Versions and processor types

I believe that my first answer in this thread addressed the question that you asked.  Please mark it as the solution.


Lead Control Systems Engineer for Alliance Automation (VIC).
All opinions are my own and do not represent the opinions or policies of my employer, or of my cat..