1

I’m at the start of a HMI project, the goal is to develop an C# .NET HMI application that runs on an windows PC. The HMI must be able to read and write PLC variables

In the first stadium of the project the HMI must be able to communicate with

• Lenze CodeSys v3 PLC’s

• Allen Bradley Compact and control PLC’s

In a later stadium I would like it if it also could communicate with:

• Schneider Codesys v3 PLC’s

• Siemens PLC’s

I think that an OPC UA server with drivers for different PLC’s is the solution. But i can only find OPC servers that support or general PLC's like Allen Bradley or CodeSys based PLC's.

Does anyone here has any experience in this?

Rob Heijligers
  • 193
  • 1
  • 2
  • 9

2 Answers2

0

I agree with you the best solution is an OPC server. I've worked with Matrikon OPC servers in the past and I know they have modbus tcp driver (for Lenze and Schneider) and ethernet/IP driver for AB. I have not specifically worked with OPC and Siemens but in doing a google search I did find that they do have a driver specifically for this.

Siemens Driver

Hope this helps!

Community
  • 1
  • 1
mrsargent
  • 2,267
  • 3
  • 19
  • 36
  • Hey Thanks for your answer, I try to avoid Modbus because the protocol uses addresses instead of paths. I will still try to test Matrikon and will update the result here. – Rob Heijligers Jan 11 '16 at 16:09
  • I would add to use OPC UA and not OPC Classic (DA). UA has security built in and does not use DCOM. DCOM can be hell when it goes wrong. I spent many, many hours fixing OPC DA issues with DCOM. See www.opcfoundation.org for a nice start. –  Jan 12 '16 at 18:44
0

You could use AdvancedHMI to get started quickly. It has built in drivers for most Allen Bradley PLCs. For others you can use OPC DA servers along with the OpcDaCom driver. Within a few minutes you can have a working HMI.

The default project is VB, but you can easily add a C# project to the solution.

Archie
  • 91
  • 3