.NET software integration with PLCs

Azza

Member
Join Date
Feb 2013
Location
Perth
Posts
3
Does anyone here have experience or knowledge in solutions for integrating a .NET based software application with communication protocols that would allow it to read and write to memory registers in a PLC?


Background Info
The company I am working for has developed a software application in C# and they want to be able to send and receive events to and from process control systems. Basically they need to change the state of a boolean register in a PLC or read/write an integer, float , string etc within the PLC.

My background is in process automation so I am assisting them with the integration from this perspective and will be developing the PLC and SCADA code.

My Suggestion
I have suggested that they roll an OPC client software module into their application which will talk to something like a Matrikon or Kepware OPC server. This would then allow interoperability with multiple branded PLCs and would eliminate the requirement for added software development and testing each time a new PLC model or brand was integrated with the software application.

  1. Does this sound like a 'best practice' type solution?

  2. Are there other options that may be worth investigating?

  3. I am leaning towards Matrikon as far as an OPC software package goes, has anyone had experience with OPC servers such as Matrikon and Kepware?

  4. Can you recommend any other brands that are worth considering?

There will be numerous projects with this software and there may be multiple brands and models of PLCs to integrate in the future so I want to go for the OPC server with the most comprehensive device support.

Any thoughts you may have are appreciated.
 
Last edited:
The first project requires the integration of a 1769-L32E CompactLogix 5332E Controller.

In the near future I can see that I will have to also integrate Schneider products such as the M340.
 
To talk to the Schneider products I would suggest just using ModbusTCP. I am sure there are some freeware .net ModbusTCP drivers.
If just using AB and Schneider it may be worth spending the time to write an EthernetIP driver as this protocol is natively supported by both these suppliers.
 
Azza,

My response may appear biased, but why reinvent the wheel?


What you have presented to your employer makes sense. In working with a product like Kepware, you have the tools to address many different application requirements:
  • Extensive driver library - Enables you to focus more on the application and less on driver development
  • A .NET platform
  • Additional functionality through their plug-in products
  • Additional products that work with KepserverEX, such as RedundancyMaster and LinkMaster
  • A proven and industry accepted product
  • If there is a special driver not available, you have the ability to create one through U-Con
  • Database connectivity through ODBC or Oracle Connectivity
With that said, you would maximize your effort while minimizing your time in developing what already exists.

Next week, Kepware is releasing their next version of Client Ace that will support development of applications that will support UA, XML and .NET 4.0

Links:

http://www.eternity-sales.com/Kepware/Kepware.htm
http://www.eternity-sales.com/Kepware/kepserverex.htm
http://www.eternity-sales.com/kepware/ucon.htm
http://www.eternity-sales.com/Kepware/clientace.htm (not yet updated)

If you have any questions or have yet to work with a Kepware Distributor, feel free to email me through the link below or pm through this forum.

Disclosure - ESI is a Kepware Distributor
 
You can use an ActiveX type of driver, much more easier to integrate and also cheap. One example is Ingear, but I guess there are many like this. We did something similar in VB6 and C# with SLC and CLX PLC.
CoS
 
One thing to note is that OPC DA is based on ActiveX technology which is an old software technology. Although .NET does support ActiveX, it is not the most graceful and you lose advantages of managed code.

If you look at example code of using OPC DA with .NET, you will find it kind of cumbersome. And most likely will require some sort of wrapper and many support DLLs.

The biggest advantage of OPC is the number of available drivers. A disadvantage is that you generally pay for run time license. If you are deploying an application to many PCs with many different drivers, then the cost can add up significantly.
 
Thanks to all for your comments and suggestions.

It has been very helpful. I have researched further in the areas suggested and our software developers are currently looking at the OPC trial versions to determine the integration effort required.

At this stage we are leaning towards the Kepware Server EX and CleintAce packages to provide the solution we require.

Would anyone have opinions on choosing between Kepware or Matrikon or any other OPC package based upon experience with the products?

As far as usability?

Stability?

Reliability?

Number of different drivers available for commonly used devices?

Licensing management/costs?

After sales support?
 
Azza,

My response will be biased.

In talking with various Kepware customers, one mentioned to me that the software just works. There is very little if any hand holding for the server once installed.

For both KepserverEX and Client Ace, you can download fully functional versions that are run time restricted. To quote a tired cliche...

Try it before you buy it.

http://www.eternity-sales.com/Kepware/kepwaredownloads.htm

With regards to some of your additional questions:

Drivers - Kepware offers over 70 driver suites, comprising 250+ different drivers, both serial and Ethernet.

If you don't see what you are looking for, you can create your own device driver through UCON.

http://www.eternity-sales.com/kepware/ucon.htm

When you purchase a license, you would receive it from the whomever you are purchasing from (hopefully ESI). To manage and activate your license you would set up an account under a secure site called "My Kepware" From there you would license your software.

Support with the purchase is included for upto 90 days. This does not include the latest version of Cllient Ace that will require the purchase of support at the time of purchase. Support cost is 20% of the run license price. In addition to access to Kepware capable support department, support also entitles you to receive Kepware's scheduled 3 upgrades on a yearly basis. Should you decide to purchase support after the 3 months have expired, it is 50% of the original purchase price.

Kepware invests extensively in training their support team, thus enabling them to provide answers to the questions you have.

Support also entitles you to obtain support from Kepware. Being on the other side of the world, there will obviously be a lag in response to your questions in that I believe you are approximately 15 hours difference.

Kepware has been recognized for the third year in a row by surveyed engineers as the best application software. The survey was done by Control Engineering Magazine. This trumps Matrikon.

As I mentioned previously, my answers would be biased, but hopefully informative. Another biased observation is that in my four years of experience with Kepware, they are one of the best companies I have ever worked with as a distributor.

Disclosure - ESI is a Kepware Distributor.
 
Azza,

If you want to use native .NET based software application with communication protocols, then we have very good solutions for you.

Please visit www.parijat.com

Here you will find lots of communication protocols for your different available PLCs in the field.
For Allen Bradley L32E controller, Look at Parijat .NET Components for Allen-Bradley. Very easy to integrate in your C# application.
For, Schnieder controller, you can use MODBUS TCP Communication Protocol.

All .NET protocols are developed in VB.NET using Microsoft Visual Studio 2008 Platform.

We can show you the proof of concept for your requirements.
Also, we build .NET based special communication protocols as on customer request.

For, More info please contact,

Rakesh Verma
Parijat Controlware, Inc.
9603 Neuens, Houston TX 77080-7209. USA.
T:713-935-0900 x102 F:713-935-9565
www.parijat.com
[email protected]

Thanks,
Dixit Solanki
 
I wrote a free Modbus RTU .NET driver with all the function codes represented and other functions to convert formats. It could be used to write a simple test program or simple HMI type application with Visual Studio Express.
 
Gelecek OPC Controls in .NET HMI Components by OPC feature.

You can use Gelecek OPC HMI Componenets. It is very easy.You can use them with c# or VB languages. By the way You dont need to write code.

http://www.geleceksoftware.com


You can try demo version. Each componenets are OPC Client too.
(y):cool:
 
alikipel and dodoli, do you by any chance know each other ?

I mean, now you have posted the same posts "you can use .." and "Hello alikipel" in at least 7 threads. Maybe you should get together.
 

Similar Topics

Hello, I'm looking for the installation file of INAT.net parameter setting software to configure EchoChange gateway. Unfortunately the www.inat.de...
Replies
1
Views
1,431
Hi everyone, I recently took a new role which will require me to do more cabinet design from scratch, or retrofitting old controls with new ones...
Replies
13
Views
2,974
Does anyone know about this RAE300.msi file needed for Studio 5000 to use an Ethernet module in the I/O configuration? I looked and ran the setup...
Replies
2
Views
4,131
Can anybody help me with finding the RXNetWorx Demo software? If it is legal to share the demo software would anybody be willing to share it with...
Replies
2
Views
1,202
Hello! I haven't worked with software redundancy before, so I was wondering if I could use the CP343-1 Lean modules (which I'm using for the...
Replies
0
Views
1,767
Back
Top Bottom