{"id":37034158,"url":"https://github.com/mojtabakiani/cimon.net","last_synced_at":"2026-01-14T04:00:42.617Z","repository":{"id":37782945,"uuid":"322394831","full_name":"MojtabaKiani/Cimon.Net","owner":"MojtabaKiani","description":"This library mange communication with Exclusive Service for CIMON PLC Ethernet \u0026 Serial Port","archived":false,"fork":false,"pushed_at":"2022-06-22T13:55:10.000Z","size":56,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-02T15:32:56.199Z","etag":null,"topics":["cimon","cimon-plc","clean-code","dotnet","dotnet-core","plc","plc-access","plc-communication","plc-controller"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MojtabaKiani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-17T19:38:09.000Z","updated_at":"2024-08-03T19:35:40.000Z","dependencies_parsed_at":"2022-08-18T07:51:29.716Z","dependency_job_id":null,"html_url":"https://github.com/MojtabaKiani/Cimon.Net","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MojtabaKiani/Cimon.Net","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MojtabaKiani%2FCimon.Net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MojtabaKiani%2FCimon.Net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MojtabaKiani%2FCimon.Net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MojtabaKiani%2FCimon.Net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MojtabaKiani","download_url":"https://codeload.github.com/MojtabaKiani/Cimon.Net/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MojtabaKiani%2FCimon.Net/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cimon","cimon-plc","clean-code","dotnet","dotnet-core","plc","plc-access","plc-communication","plc-controller"],"created_at":"2026-01-14T04:00:32.101Z","updated_at":"2026-01-14T04:00:42.589Z","avatar_url":"https://github.com/MojtabaKiani.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![NuGet version](https://badge.fury.io/nu/Cimon.Net.svg)](https://badge.fury.io/nu/Cimon.Net)\n\n# Cimon.Net\nA .NET Library for Cimon PLCs Connectivity\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\u003cp\u003eCIMON-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.\u003c/p\u003e\n\n## Getting Started\n### 1. Installing Cimon.Net\nYou can install Cimon.Net with [NuGet Package Manager Console](https://www.nuget.org/packages/Cimon.Net):\n\n    Install-Package Cimon.Net\n    \nOr via the .NET Core command-line interface:\n\n    dotnet add package Cimon.Net\n    \nEither commands, from Package Manager Console or .NET Core CLI, will download and install **Cimon.Net** and all required dependencies.\n\n### 2. Defining your Connector\nCreate 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.\n\n`EthernetConnector` usage sample for reading 10 bits from Input device memory `X` address 000001:\n   \n    var Plc = new EthernetConnector(new TcpSocket(\"192.168.1.10\", 10620), true);\n    var (responseCode, data) = await Plc.ReadBitAsync(MemoryType.X, \"000001\", 10);\n\n`SerialConnector` usage sample for write 5 bits to Output device memory `Y` address 000010:\n   \n    var Plc = new SerialConnector(new SerialSocket(\"COM3\", 9600), true);\n    await Plc.WriteBitAsync(MemoryType.Y, \"000010\", 1, 1, 1, 0, 1);\n    \n## Documentation\nCheck the Wiki and feel free to edit it: https://github.com/MojtabaKiani/Cimon.Net/wiki\n\n## Supported PLCs\nComplete range of Cimon PLC products including `PLC-S`, `CP`, `XP` series\n\n## Compile\nYou need at least Visual Studio 2019 (you can download the Community Edition for free).\n\n## Running the tests\nI used my library [Rony.Net](https://github.com/MojtabaKiani/Rony.Net) in unit tests for `EthernetConnector`. But for `SerialConnector`\nI used no device or library and it only works with a fake socket.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojtabakiani%2Fcimon.net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmojtabakiani%2Fcimon.net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojtabakiani%2Fcimon.net/lists"}