Home / C#

C#

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 »

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 »

Create an MSI/Setup Package for C# with WiX Toolset

WiX Toolset is a free installer. It is xml-based, which means that instead of a UI you can use a single xml file to create your installation package. There is a wide choice of installers on the market, but I prefer WiX, especially when I need to distribute large applications ...

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 »

WPF touch-friendly controls for resistive touch-screen

While it’s fairly common, when working in automation field, to make software that runs on resistive touch-screens, I admit that it’s not a trivial task to make a good user experience, especially with a desktop technology like WPF and C#. In this article I posted some of the problems that ...

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 »