Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 41

Тема: Библиотека ModbusRTU

  1. #31

    По умолчанию

    Aleksander8, вижу, что и в собственном блоге опубликовали новость.

    Периодически пользуюсь самодельными утилитами на FreePascal с помощью библиотеки Synaser (https://www.ararat.cz/synapse/doku.php/download). Набор подпрограмм, примерно, похожий на предлагаемый в Вашей библиотеке.
    Задачи примерно следующие - сканирование сети по всем (или диапазону) регистрам, по всем адресам, перебор настроек порта.
    Смысл - на объекте с неизвестной аппаратурой узнать настройки соединения, адреса приборов, доказать их неисправность.

    Да, существует какая-то очень хорошая программа - за деньги. Но её нужно украсть и изучить. А самодельные утилиты уже есть и их нужно лишь подогнать под ситуацию и получить лог работы.

    Это к тому, что кроме принятых-отправленных байт требуется ещё и обработка ошибок - таймаут (совсем нет ответа), ошибка приёма пакета от прибора, ошибки обращения к прибору (нет регистра с таким номером и прочее). И именно значения из принятых регистров не сильно нужны - только реакция Slave на команду.

    Как и какие ошибки обрабатываете? Как узнать, что прибор не ответил? Что он ответил отказом (из-за номера функции или адреса регистра)? И прочие ошибки... Вижу, что имеется какая-то функция Err.LastDllError - но что в её ответе?

    Также, все функции из библиотеки возвращают значение, которое не используется в примерах. Что возвращают функции?
    Последний раз редактировалось FPavel; 25.09.2025 в 21:58.

  2. #32
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    Aleksander8 половины кода на VB не понял

    я правильно понял, что в эту функцию надо передать первый элемент массива с байтами для float ?
    При этом по аналогии из примера прекрасно вызывается MessageBox https://habr.com/ru/companies/otus/articles/809275


    ааа, а что функция должна вернуть? строку ?

    туплю, работает, вывело мне в лейблу 25.25 , я байтовый массив передал, соответствующий этому числу.
    Изображения Изображения
    Последний раз редактировалось melky; 25.09.2025 в 22:57.

  3. #33

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Вижу, что имеется какая-то функция Err.LastDllError - но что в её ответе?
    Ошибка самой функции. Открываем порт, если ошибка, выводим её через MessageBox, загружаем структуру DCB, оформляем и записываем. При этом тоже могут возникать ошибка, которые тоже выводим. Считываем тайм-ауты, оформляем и записываем. Тоже контролируем.

    Цитата Сообщение от FPavel Посмотреть сообщение
    Также, все функции из библиотеки возвращают значение, которое не используется в примерах. Что возвращают функции?
    Результат выполнения и по указателю данные. Например, запись в порт возвращает количество переданных байт, а приём из порта - количество принятых байт.
    Я разместил пост на этом форуме, потому, что библиотека заточена под приборы "ОВЕН". Мои задачи проще ваших. Устанавливать SCADA не имеет смысла - надо учить персонал, однако, контингент ещё тот. Проще написать свою программу. Считываю показания приборов. На отсутствие обрабатываемой команды у Slave не проверяю, т.к. знаю, что передаю, и что получу в ответ. Проверяю только ошибки связи. Сравниваю CRC16, которая должно быть с тем, которую получил от Slave.
    Каждые 10 минут записываю полученные результаты в файл Excel. Каждый час усредняю полученные значения и, в случае, если они выходят за устанвленные пределы, отправляю e-mail ответственному лицу.
    Последний раз редактировалось Aleksander8; 26.09.2025 в 06:03.

  4. #34

    По умолчанию

    Цитата Сообщение от Aleksander8 Посмотреть сообщение
    Мои задачи проще ваших. Устанавливать SCADA не имеет смысла - надо учить персонал, однако, контингент ещё тот. Проще написать свою программу. Считываю показания приборов. На отсутствие обрабатываемой команды у Slave не проверяю, т.к. знаю, что передаю, и что получу в ответ. Проверяю только ошибки связи. Сравниваю CRC16, которая должно быть с тем, которую получил от Slave.
    Каждые 10 минут записываю полученные результаты в файл Excel. Каждый час усредняю полученные значения и, в случае, если они выходят за устанвленные пределы, отправляю e-mail ответственному лицу.
    Вроде начали правильно, но потом бред понесли.
    Зачем предлагать не полноценный продукт? Нет описания? Нет обработки ошибок?
    Для чего Вы её публикуете здесь? Получить полноценную критику или оправдываться?

  5. #35
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    забавно, но на многих scada просто отсутствует логирование приема/передачи, тупо Гуд или НЕ Гуд.
    чем в этой части и нравится Rapid, что там по логу видно и прием и передача. Ну, если прибор не отвечает, в смысле посылка в никуда, то тут уж извините

  6. #36

    По умолчанию

    Именно поэтому я тоже не пользуюсь Scada. Система должна обрабатывать ошибки на всех уровнях и сообщать о них:
    - уровень порта - что-то произошло в железе мастера
    - уровень протокола: Таймаут, CRC, ответ не полный, ответ не на ту команду и т.д.
    - уровень ведомого: обрыв датчика и т.д.
    - уровень приложения: значение в недопустимой области

    Даже OPC-сервера вместе со значением хранят параметр Quality (можно верить значению или нет).

  7. #37

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Система должна
    Система должна ровно то, что от неё требуют. Если всё, что Вы ниже понаписали, сей момент не требуют, то и не должна. Как потребуют - так и должна будет.

    Цитата Сообщение от EFrol Посмотреть сообщение
    Именно поэтому я тоже не пользуюсь Scada
    Вы именно дя себя? Мне вот лично в повседневной жизни SCADA тоже вообще не нужна. "Кушать люблю, а так не..." (c) анекдот про помидоры

    ЗЫ: мелкого с его логирование приема/передачи туда же. Вместе с рапидскадой. Которая и не скада вовсе, как выяснилось.
    Последний раз редактировалось imaex; 26.09.2025 в 13:14.

  8. #38
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    imaex каждый кушает то, что ему нравится, даже если это помидоры

    supervisory control and data acquisition — диспетчерское управление и сбор данных
    не надо приписывать лишнего, плюшки в той или иной scada уровня MES это всего лишь плюшки, не более

  9. #39

    По умолчанию

    EFrol, позабавил ваш комментарий.
    Я дал людям рабочий инструмент и привёл примеры его использования. А пользоваться им, или нет, каждый решает сам.
    С вашим мнением о моей библиотеке соглашусь только в одном случае: если программисту голова нужна только для того, чтобы в неё кушать.

  10. #40

    По умолчанию

    Цитата Сообщение от Aleksander8 Посмотреть сообщение
    EFrol, позабавил ваш комментарий.
    Я дал людям рабочий инструмент и привёл примеры его использования. А пользоваться им, или нет, каждый решает сам.
    С вашим мнением о моей библиотеке соглашусь только в одном случае: если программисту голова нужна только для того, чтобы в неё кушать.
    А меня позабавила Ваша библиотека. Я вдруг вспомнил свою первую библиотеку, написанную лет 35 назад, которую тоже распространял "AS IS".
    Сейчас этих "рабочих инструментов" океан в инете, но всё равно всех тянет писать свои. Впрочем как и браузеры, редакторы (графические и текстовые и пр.), интегрированных сред уйма, да хоть тех же SCADA, и много другого - уже давно забытого.
    Миллионы программ в хранилищах под разные ОСи никому нафиг ненужные. Сотни оптических дисков с ПО под Windows, Linux, OS и т.д. пылятся на полках. И тут Вы с "велосипедом". Это правда очень забавно. Была надежда, что это что-то оригинальное, свежее, гениальное. Но, увы.
    Последний раз редактировалось EFrol; 26.09.2025 в 20:49.

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Похожие темы

  1. МВ110-224.2А и ModbusRTU
    от Грек в разделе Мх110
    Ответов: 4
    Последнее сообщение: 31.08.2023, 10:19
  2. ИПП 120, ModbusRTU и Arduino
    от Дмитрий Александрович в разделе Программируемые реле
    Ответов: 8
    Последнее сообщение: 28.06.2022, 17:33
  3. ПЛК110 + ПМ 01 и ModBusRTU
    от ZilkinHvost в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 23.04.2015, 19:46
  4. МСД-200 ModbusRTU Slave
    от LexSL в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 14.12.2013, 11:09
  5. МУ110-16Р и команда 16 ModbusRTU
    от GilmiyarovKR в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 04.11.2012, 17:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •