Implementing Modbus TCP Master Communication in C# (Part II)

Implementing Modbus TCP Master Communication in C# (Part II)

Abstract ❝ This article builds upon the previous one by adding the functionality to read and write int and float data, as well as byte order reading and writing functions (ABCD, BADC, CDAB, DCBA)【Project address at the end of the article】. Introduction Today, we will discuss how to add new features to the previous article … Read more

Open Source Communication Debugging Tool Supporting Modbus and MQTT

Open Source Communication Debugging Tool Supporting Modbus and MQTT

Introduction A communication debugging tool developed based on WPF, featuring a user-friendly interface and easy operation. It supports both Modbus and MQTT protocols, enabling debugging of various communication methods. Whether in industrial automation, smart home, or IoT fields, this tool can meet your needs. Additionally, the code is open source and modular, making it highly … Read more

A Comprehensive Guide to SIMD Acceleration of Numeric Types in C# (2024)

A Comprehensive Guide to SIMD Acceleration of Numeric Types in C# (2024)

In modern application development, performance optimization is a core requirement in many scenarios, especially when dealing with large-scale numerical computations. Single Instruction, Multiple Data (SIMD) technology significantly enhances computational efficiency by processing multiple data points in parallel. This article will delve into the fundamental concepts, core types, usage methods, performance benchmarks, and best practices of … Read more

Implementing Modbus RTU Master Communication in C#

Implementing Modbus RTU Master Communication in C#

Abstract ❝ This article describes how to use C# to call the NModbus4 library and the System.IO.Ports library to implement Modbus RTU communication functionality【Project address at the end of the article】. Introduction Modbus RTU is a serial communication protocol, where the communication mechanism is a polling mechanism where the master device sequentially queries the slave … Read more

Sending HTTP Requests in C#

Sending HTTP Requests in C#

Recently, I researched monitoring group messages on Telegram and planned to extract key information from the received messages to save it to my local database. I utilized the code from the open-source repository https://github.com/Riniba/TelegramMonitor?tab=readme-ov-file, adding HTTP requests to it. First, open the source code. Right-click to open the Manage NuGet Packages and add two packages. … Read more

Developing a Debugging Tool for Microcontrollers and Discussing Its Programming Approach

Developing a Debugging Tool for Microcontrollers and Discussing Its Programming Approach

1. Overview When writing code for STM32 microcontrollers, we often encounter situations where a specific function or variable needs to be debugged repeatedly. The common method is to modify the source code and download it to the microcontroller for debugging. This repetitive process is not only cumbersome but also affects the FLASH memory of the … Read more

Implementing TCP/IP Communication and Connection Status Detection in C#

Implementing TCP/IP Communication and Connection Status Detection in C#

Introduction In the development of network applications, TCP/IP communication is fundamental for data transmission between clients and servers. However, ensuring the stability and reliability of communication is equally important. When implementing TCP/IP communication in C#, it is necessary to focus not only on sending and receiving data but also on monitoring the connection status in … Read more

C# ‘Hammer of Thor’: Accelerating Game Physics Engine with SIMD Instruction Set

C# 'Hammer of Thor': Accelerating Game Physics Engine with SIMD Instruction Set

Introduction In modern game development, the performance of the game physics engine is crucial for creating a realistic gaming experience. From collision detection to complex rigid body motion simulation, the physics engine needs to handle a large number of mathematical calculations. The traditional Single Instruction Single Data (SISD) processing method gradually reveals performance bottlenecks when … Read more

Introduction to HMI (Part 2): Reading and Writing PLC Data Blocks with C#

Introduction to HMI (Part 2): Reading and Writing PLC Data Blocks with C#

Hello everyone, I am Edison. As a programmer in the field of industrial automation, it seems a bit unreasonable not to understand PLCs and HMIs. Here, I will use two short articles to quickly introduce you to the field of HMI development. In the future, I will consider publishing a series of articles to explore … Read more