https://github.com/mojtabakiani/cimon.net
This library mange communication with Exclusive Service for CIMON PLC Ethernet & Serial Port
https://github.com/mojtabakiani/cimon.net
cimon cimon-plc clean-code dotnet dotnet-core plc plc-access plc-communication plc-controller
Last synced: 5 months ago
JSON representation
This library mange communication with Exclusive Service for CIMON PLC Ethernet & Serial Port
- Host: GitHub
- URL: https://github.com/mojtabakiani/cimon.net
- Owner: MojtabaKiani
- Created: 2020-12-17T19:38:09.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-06-22T13:55:10.000Z (about 4 years ago)
- Last Synced: 2025-10-02T15:32:56.199Z (9 months ago)
- Topics: cimon, cimon-plc, clean-code, dotnet, dotnet-core, plc, plc-access, plc-communication, plc-controller
- Language: C#
- Homepage:
- Size: 54.7 KB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://badge.fury.io/nu/Cimon.Net)
# Cimon.Net
A .NET Library for Cimon PLCs Connectivity
## About The Project
CIMON-PLC is an industrial control device based on international standards of IEC61131. There are many tools and servers to work with PLCs and send/recieve data with them, but what if we want to use our application to communicate? I Couldn't find any library to work with Cimon PLCs, and actually I used them in many projects. So I decided to publish my library.
## Getting Started
### 1. Installing Cimon.Net
You can install Cimon.Net with [NuGet Package Manager Console](https://www.nuget.org/packages/Cimon.Net):
Install-Package Cimon.Net
Or via the .NET Core command-line interface:
dotnet add package Cimon.Net
Either commands, from Package Manager Console or .NET Core CLI, will download and install **Cimon.Net** and all required dependencies.
### 2. Defining your Connector
Create a Connector based on your connection type, You can choose between `EthernetConnector` to support Ethernet TCP/UDP connection or `SerialConnector` to support RS232C/RS485 serial interfaces.
`EthernetConnector` usage sample for reading 10 bits from Input device memory `X` address 000001:
var Plc = new EthernetConnector(new TcpSocket("192.168.1.10", 10620), true);
var (responseCode, data) = await Plc.ReadBitAsync(MemoryType.X, "000001", 10);
`SerialConnector` usage sample for write 5 bits to Output device memory `Y` address 000010:
var Plc = new SerialConnector(new SerialSocket("COM3", 9600), true);
await Plc.WriteBitAsync(MemoryType.Y, "000010", 1, 1, 1, 0, 1);
## Documentation
Check the Wiki and feel free to edit it: https://github.com/MojtabaKiani/Cimon.Net/wiki
## Supported PLCs
Complete range of Cimon PLC products including `PLC-S`, `CP`, `XP` series
## Compile
You need at least Visual Studio 2019 (you can download the Community Edition for free).
## Running the tests
I used my library [Rony.Net](https://github.com/MojtabaKiani/Rony.Net) in unit tests for `EthernetConnector`. But for `SerialConnector`
I used no device or library and it only works with a fake socket.