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 »

Create DPI-aware and resolution-aware WPF applications

In this article i will analyze two techniques that can help you on writing a DPI-aware application and how to scale it properly. There are two common scenarios which force you to make your application to scale to fit the screen: Different resolution Different DPI In fact it’s very common ...

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 »

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 »

Writing your first HMI project in C# – WPF

UPDATE 08/03/2017: I see that this article is quite popular, however it takes a simple approach to get you started, by using timers and other shortcomings. If you want to build your HMI with WPF and MVVM you can check also my new series HMI with C# and WPF. In ...

Read More »

How to use Windows 7 dialogs with WPF

Wpf is an advanced technology to build responsive user interfaces, but for many tasks (MessageBox, Folder Browser, Progress Dialog) you still have to use the old Windows Forms dialogs. Windows 7 replaced this old forms with new ones to provide a better User Interface and a better feeling to their ...

Read More »