views:

725

answers:

7
+2  A: 

I have done this before in the past, but my implementation was entirely from scratch using vector graphics libraries. I would not recommend this path unless you wish to unnecessarily punish yourself. If your going to though, I used this library:

http://www.vgdotnet.com/

Here is what I would recommend (note: I have not tried any of these):

http://www.opcsystems.com/

http://www.kineticart.co.uk/KineticaRTControls.asp

http://www.blocks4.net/Products/_net_scada_framework/ProductDetails.aspx

I believe that your best bet would be the opc systems. From what I can find they seem to be the most well rounded library.

Hope this helps.

joshlrogers
+2  A: 

Is that a FactoryLink screen shot?

To be honest, I've yet to find good reason to move SCADA development to .NET. Admittedly the tools out there for SCADA development aren't the most fantastic providing you with an almost laughable toolset full of frustrating limitations.

Given the amount of plumbing it will take to extract the data from the SCADA system you are using into .NET, I would say it's almost not worth the considerable effort unless the vendor of the HMI software you are using has a .NET API.

Most of the graphics they use are vector graphics which could feasibly be reproduced using something like Microsoft Expression or another vector graphics package. A lot of the controls though have data intelligence though to display the data graphically which would take a lot of work also - it's the same process as producing full blown controls.

I'd be interested to see the avenue you take to achieve this, but after many frustrating hours of wanting to do this myself I decided that the net gains wouldn't be worth the effort I had to put in so I shelved it.

I've dealt with a couple of SCADA HMI developers and for the entire time I've dealt with them I've been pushing and complaining that they provide .NET capable tools. They're mostly resistant to it saying "it's coming, we're working on it", but I've yet to see any evidence that they're doing anything but trying to placate me.

At one point I even hooked directly into Modbus devices using a custom .NET API to control the devices and coded a .NET application directly against them, completely mitigating the need for the HMI application but it so wasn't worth the effort. The existing tools out there might be frustrating to develop with, but once the application is developed, the tools do work consistently.

Good luck though, it's a worthy endeavour - rather you than me ;)

BenAlabaster
+1  A: 

Take a look at our MetaDraw component www.Bennet-Tec.com/BTProducts/MetaDraw/MetaDraw.htm For an example of a Scada style diagram application built with MetaDraw see this one created and used by Tennessee Valley Authority http://www.bennet-tec.com/btproducts/MetaDraw/customerapps/md_fumes.htm

+1  A: 

consider using GoDiagram however as you don't need your users to edit the diagrams it may be overkill.

Ian Ringrose
+1  A: 

GoDiagram includes an Instruments component, so it's a good match for these sorts of diagram / monitoring apps.

see http://www.nwoods.com/go/instruments.htm

Fuzzy
A: 

CSWorks framework does exactly what you need: http://www.controlsystemworks.com

Connect to I/O points using config files, create HMI/SCADA screens in your Silverlight application.

Sergey Sorokin
Looks like an interesting framework...
entens
A: 

You need something like this: http://www.iocomp.com/Products/DotNetWF/Default.aspx

standard, pro, plot

avra