EcoStruxure Geo SCADA Expert Forum
Schneider Electric support forum about installation, configuration, integration and troubleshooting of EcoStruxure Geo SCADA Expert (ClearSCADA, ViewX, WebX).
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 05:00 PM . Last Modified: 2023-04-25 10:21 PM
DDK Versions
https://community.se.com/t5/Geo-SCADA-Knowledge-Base/Finding-large-historic-granules/ba-p/278729
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.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 05:00 PM . Last Modified: 2023-04-25 10:21 PM
DDK Versions
https://community.se.com/t5/Geo-SCADA-Knowledge-Base/Finding-large-historic-granules/ba-p/278729
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.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 05:29 PM . Last Modified: 2020-02-10 05:59 PM
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;
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,
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 05:59 PM
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:
If you go to tproject
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'.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 06:09 PM
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,
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 06:23 PM
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.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 06:45 PM
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,
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 06:47 PM
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).
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-10 08:01 PM . Last Modified: 2020-02-10 08:16 PM
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,
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-11 01:24 AM
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)
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-12 02:10 PM
I believe that my first answer in this thread addressed the question that you asked. Please mark it as the solution.
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.