I’ve always published content targeted to mid-level C# developers. However quite a chunk of emails that I receive are from people getting started with C#. Hopefully this article will be a path for these people, a guide on learning how to do an HMI step by step and get consistent ...
Read More »How to communicate to an Allen Bradley Plc with C# and LibPlcTag Ethernet/IP library
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 »How to record a video with C# – WPF and AForge
In this article we will see how to record a video and a snapshot from a camera (USB or IP camera), with C# and AForge. AForge is a library used for image acquisition and Image Processing, for example to analyse images and detect objects with a Camera. In a previous ...
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 »HMI with C# and WPF part 2: Navigation with PRISM
This article is part of a series that explains how to write an HMI with C# and WPF. Part 1: getting started with MVVM and plc driver Part 2: this article Navigation in WPF is one of the most complicated topics, because it can be implemented in many different ways, ...
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 »WPF navigation with dependency injection (DI/IOC): part 2
This article explains how to create dialogs and modal windows in a WPF application that uses dependency injection. We will use services and factories to abstract the creation of windows and MessageBoxes. We will also see how to write unit tests for MVVM navigation. This is the second part of ...
Read More »WPF navigation with dependency injection (DI/IOC): part 1
This article explains some approaches to create the architecture for a WPF application when using dependency injection. In particular we will see how to navigate through views and how to deal with dialogs, both windows and system dialogs. This article is divided in 2 parts. Part 1 (this article): Creation ...
Read More »