LibPlcTag is a library that I used recently to communicate with Allen Bradley plc. It’s a C++ open source library and it can communicate with most of the Allen Bradley plcs, like Micrologix, CompactLogix, ControlLogix, SLC and Plc5. LibPlcTag works on the Ethernet/Ip stack and is LGPL licensed (you are ...
Read More »HMI with C# and WPF part 3: Communicating with multiple plc (S7 and Modbus)
In the previous articles of this series we saw how to communicate with a single Siemens S7 plc. But it happens frequently to have to communicate with multiple PLCs. In that case, our HMI has to read and aggregate the data that are coming from the field and to react/notify ...
Read More »How fast is a PLC driver with C#?
This post comes as a response to a recent comment on my YouTube channel. Hello Michele, I’m interested how fast would be your HMI application in case to communicate with 5-10 CPU connections, and around 4k-15k Tags? Do you have had something like that? We can start by making a ...
Read More »HMI with C# and WPF part 1: getting started with MVVM and plc communication
This article is part of a series that explains how to write an HMI with C# and WPF. Part 1: this article Part 2: Create multiple pages and navigation with PRISM In this article we will see how to create from scratch a simple HMI software, which communicates to a ...
Read More »How to write a Siemens S7 plc driver with C# and Sharp7
Sharp7 is a new C# driver to communicate to Siemens S7 Plc. The driver has been written by Davide Nardella, the author of Snap7 library, and it’s retro-compatible with the C# wrapper of Snap7. So if you were using Snap7 and the C# wrapper, you can easily replace both with ...
Read More »Modbus with C#: a how-to video
In this video I explain how to use NModbus to read and write values from Modbus holding registers. This video follows the article “Modbus with C#” and should dissipate the doubts around setting up Modbus and using the functions provided. I’m using a modbus simulator and comport simulator, so it ...
Read More »Communication with Siemens S7 Plc with C# and S7.Net plc driver
In this article I explain how to implement a Siemens S7 plc driver by using the open source driver S7.Net. You can find S7.Net sources on GitHub: https://github.com/killnine/s7netplus. How to video Summary Why S7.Net: features and capabilities of the driver Documentation on the driver and S7 protocol Getting started with ...
Read More »Snap7: an open source Siemens S7 communication library
In a recent comment i came across Snap7, a new Siemens S7 open source library to communicate with Siemens Plc S7-300, S7-400, S7-1200 and S7-1500. It supports many languages (C++, C# and more) and it’s multi-platform. The library can be downloaded from http://snap7.sourceforge.net and the official page of the project ...
Read More »OPC XML DA Client with C#
With this article I want to show how to create a webservice in C# to communicate with an OPC-XML-DA server, like the one of SIMOTION D plc. OPC-XML-DA is a communication protocol based on SOAP and XML. To connect to a OPC-XML-DA server you need a WSDL file, that defines ...
Read More »Using AdvancedHMI’s PLC drivers with C#
AdvancedHmi is a free and “almost open-source” HMI framework written in VB.Net that offer some drivers for PLCs, and also offer free SCADA objects for winforms users. I say “almost open-source” because the code of the two main libraries is not provided (MfgControl.AdvancedHMI.Drivers.dll and MfgControl.AdvancedHMI.Controls.dll), but it’s provided how to ...
Read More »