1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhaopeiym-IoTClient

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
README-zh_CN.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 4 месяцев назад dedda45

IoTClient

Английский (README.md) | 简体中文

image

— Это клиентское приложение для обмена данными с устройствами интернета вещей (IoT), которое включает в себя основные промышленные протоколы связи, такие как ModBus, Bacnet и другие распространённые протоколы PLC-коммуникаций.

— Компонент основан на .NET Standard 2.0 и может использоваться для кроссплатформенной разработки на .Net, включая Windows, Linux и даже Raspberry Pi.

— IoTClient является открытым исходным кодом и доступен бесплатно под самой либеральной лицензией MIT. Вы можете свободно модифицировать и использовать его в коммерческих целях (при коммерческом использовании рекомендуется провести оценку и тестирование).

— Инструменты разработки: Visual Studio 2019.

— QQ группа для общения: 700324594.

Содержание документа

Оглавление

  • Использование

    • Ссылка на компонент
    • ModBusTcp чтение и запись
    • ModBusRtu чтение и запись
    • ModbusAscii чтение и запись
    • ModbusRtuOverTcp чтение и запись
    • SiemensClient чтение и запись
    • Примечание: о Siemens PLC адресе
    • SiemensClient лучшие практики
    • MitsubishiClient чтение и запись
    • OmronFinsClient чтение и запись
    • AllenBradleyClient чтение и запись
  • Проекты на основе библиотеки IoTClient

    • IoTClient Tool — настольное приложение (открытый исходный код)
    • iotgateway (открытый исходный код)
    • Система управления энергоресурсами (коммерческая)
      • Управление энергоресурсами — полевое оборудование — один проект
      • Управление энергоресурсами — облачный сервер — несколько проектов
      • Управление энергоресурсами — мобильное устройство
    • Контроль конечных устройств подводной добычи (коммерческий)
      • Подводный контроль конечных устройств — веб-приложение
      • Подводный контроль конечных устройств — мобильное приложение
    • Интеллектуальная система сортировки в Убэне (коммерческая)
    • Система мониторинга счётчиков электроэнергии (коммерческая)
    • Программное обеспечение для управления производством в индустрии искусственных плит (коммерческая)
  • Ссылки

    • iotgateway

Использование

Ссылка на компонент

Nuget установка. Install-Package IoTClient или графическая установка.

ModBusTcp чтение и запись

//1、Создание экземпляра клиента - укажите правильный IP и порт
ModBusTcpClient client = new ModBusTcpClient("127.0.0.1", 502);

//2、Операция записи - параметры в порядке: адрес, значение, номер станции, функциональный код
client.Write("4", (short)33, 2, 16);

//Примечание: при записи данных необходимо указать тип данных
client.Write("0", (short)33, 2, 16);//запись значения типа short
client.Write("4", (ushort)33, 2, 16);//запись значения типа ushort
client.Write("8", (int)33, 2, 16);//запись значения типа int
client.Write("12", (uint)33, 2, 16);//запись значения типа uint
client.Write("16", (long)33, 2, 16);//запись значения типа long
client.Write("20", (ulong)33, 2, 16);//запись значения типа ulong
client.Write("24", (float)33, 2, 16);//запись значения типа float
client.Write("28", (double)33, 2, 16);//запись значения типа double
client.Write("32", true, 2, 5);//запись логического значения
client.Write("100", "orderCode", stationNumber);//запись строки
``` **//3、读操作 - 参数依次是:地址 、站号 、功能码**
var value = client.ReadInt16("4", 2, 3).Value;

**//3.1、其他类型数据读取**
client.ReadInt16("0", stationNumber, 3);    //short类型数据读取
client.ReadUInt16("4", stationNumber, 3);   //ushort类型数据读取
client.ReadInt32("8", stationNumber, 3);    //int类型数据读取
client.ReadUInt32("12", stationNumber, 3);  //uint类型数据读取
client.ReadInt64("16", stationNumber, 3);   //long类型数据读取
client.ReadUInt64("20", stationNumber, 3);  //ulong类型数据读取
client.ReadFloat("24", stationNumber, 3);   //float类型数据读取
client.ReadDouble("28", stationNumber, 3);  //double类型数据读取
client.ReadCoil("32", stationNumber, 1);    //线圈类型数据读取
client.ReadDiscrete("32", stationNumber, 2);//离散类型数据读取
client.ReadString("100", stationNumber,10); //读取字符串

**//4、如果没有主动Open,则会每次读写操作的时候自动打开自动和关闭连接,这样会使读写效率大大减低。所以建议手动Open和Close。**
client.Open();

**//5、读写操作都会返回操作结果对象Result**
var result = client.ReadInt16("4", 2, 3);
**//5.1 读取是否成功(true或false)**
var isSucceed = result.IsSucceed;
**//5.2 读取失败的异常信息**
var errMsg = result.Err;
**//5.3 读取操作实际发送的请求报文**
var requst  = result.Requst;
**//5.4 读取操作服务端响应的报文**
var response = result.Response;
**//5.5 读取到的值**
var value3 = result.Value;

**//6、批量读取**
var list = new List<ModBusInput>();
list.Add(new ModBusInput()
{
    Address = "2",
    DataType = DataTypeEnum.Int16,
    FunctionCode = 3,
    StationNumber = 1
});
list.Add(new ModBusInput()
{
    Address = "2",
    DataType = DataTypeEnum.Int16,
    FunctionCode = 4,
    StationNumber = 1
});
list.Add(new ModBusInput()
{
    Address = "199",
    DataType = DataTypeEnum.Int16,
    FunctionCode = 3,
    StationNumber = 1
});
var result = client.BatchRead(list);

**//7、构造函数其他参数**
//IP、端口、超时时间、大小端设置
ModBusTcpClient client = new ModBusTcpClient("127.0.0.1", 502, 1500, EndianFormat.ABCD);

Основной язык текста запроса — это язык C#. Текст запроса написан на английском языке.

SiemensClient, MitsubishiClient, OmronFinsClient, AllenBradleyClient — это клиенты для взаимодействия с программируемыми логическими контроллерами (ПЛК). Они позволяют выполнять операции чтения и записи данных в ПЛК.

В запросе описывается использование этих клиентов. В частности, говорится о том, что:
* клиенты SiemensClient, MitsubishiClient, OmronFinsClient и AllenBradleyClient являются потокобезопасными;
* при использовании клиента SiemensClient рекомендуется сделать его одноэлементным и использовать один экземпляр в разных потоках;
* если не открывать соединение вручную, то оно будет автоматически открываться и закрываться при каждой операции чтения или записи, что может снизить производительность;
* рекомендуется вручную открывать и закрывать соединение перед выполнением операций чтения и записи;
* все операции чтения и записи возвращают объект Result, который содержит информацию об успешности операции, ошибке, запросе и ответе от сервера, а также полученное значение.

Также в запросе приводятся примеры использования клиентов SiemensClient, MitsubishiClient, OmronFinsClient и AllenBradleyClient для выполнения операций чтения и записи.

**Примечание:** *в запросе есть фрагменты кода, которые не удалось распознать как язык программирования. Возможно, это язык разметки.* **IoT-gateway (открытый исходный код)**

Автор: iioter

[IoT-gateway](https://gitee.com/iioter/iotgateway)

**Система управления энергоресурсами (коммерческая)**

Разработчик: компания «Циньна кэцзи»

* **Система управления энергоресурсами — локальный проект, одно устройство.**

    * Система управления энергоресурсами на местах для одного проекта.

* **Система управления энергоресурсами — облачный сервис, несколько проектов.**

    * Интерфейс системы управления энергоресурсами в облачном сервисе для нескольких проектов.

        * Экран 1.
        * Экран 2.
    * Мониторинг и управление системой управления энергоресурсами в облачном сервисе.

        * Экран 3.
        * Экран 4.
        * Экран 5.
        * Экран 6.
        * Диаграмма архитектуры системы.

* **Мобильное приложение системы управления энергоресурсами.**

    * Мобильное приложение системы управления энергоресурсами.
    * Мобильное приложение системы управления энергоресурсами.
    * Мобильное приложение системы управления энергоресурсами.
    * Мобильное приложение системы управления энергоресурсами.
    * Мобильное приложение системы управления энергоресурсами.
    * Мобильное приложение системы управления энергоресурсами.

**Система контроля подводных аппаратов (коммерческая)**

Разработчик: компания «Циньна кэцзи».

* **Веб-интерфейс системы контроля подводных аппаратов.**

    * Веб-интерфейс системы контроля подводных аппаратов.
    * Веб-интерфейс системы контроля подводных аппаратов.
    * Веб-интерфейс системы контроля подводных аппаратов.

* **Мобильная версия системы контроля подводных аппаратов.**

    * Мобильная версия системы контроля подводных аппаратов.
    * Мобильная версия системы контроля подводных аппаратов.
    * Мобильная версия системы контроля подводных аппаратов.
    * Мобильная версия системы контроля подводных аппаратов.

**Интеллектуальная система сортировки товаров компании «Юэбан» (коммерческая)**

Разработчик: компания «Юэбан кэцзи».

Изображения не предоставлены.

**Система мониторинга счётчиков электроэнергии (коммерческая)**

Разработчики: компания «Хагэр да цзичэ юань наньчан чжихуэй цзаочэн яньцзюсо».

Изображение не предоставлено. **Программное обеспечение для управления производством в индустрии древесно-стружечных плит (коммерческое использование)**

Компания-владелец: Guangzhou SZ Tech Co., Ltd.

**Программное обеспечение для управления производством в индустрии древесно-стружечных плит (коммерческое использование)**  

Компания-владелец: Гуанчжоуская компания высоких технологий «Сэйжи».

## Дружественные ссылки

## IoT Gateway  
Открытый исходный код:  
https://gitee.com/iioter/iotgateway  

Обзор:  
IoT Gateway — это межплатформенный шлюз интернета вещей на основе .NET 5. С его помощью можно легко подключаться к любому оборудованию и системе (например, ПЛК, сканерам штрихкодов, станкам с ЧПУ, базам данных, последовательным устройствам, промышленным компьютерам, OPC-серверам, серверам OPC UA, MQTT-серверам и т. д.) через визуальную конфигурацию. Это позволяет осуществлять двустороннюю передачу данных с Thingsboard, IoTSharp или вашей собственной платформой интернета вещей. Предоставляется простой интерфейс разработки драйверов; также возможно выполнение периферийных вычислений.

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/zhaopeiym-IoTClient.git
git@gitlife.ru:oschina-mirror/zhaopeiym-IoTClient.git
oschina-mirror
zhaopeiym-IoTClient
zhaopeiym-IoTClient
master