Страница 1 из 6 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 57

Тема: Сквозное именование переменных modbus.

  1. #1

    По умолчанию Сквозное именование переменных modbus.

    Предстоит делать большую распределенную систему на ПР100 (порядка 20 шт), связь через modbus, в голове masterscada на ПК.
    Сам я не программист, осуществляю концептуальное проектирование системы, буду писать ТЗ, поэтому нюансов не знаю, а надо бы.
    Программы на блоки будут писать разные люди, беспокоит взаимодействие, а именно следующий момент: насколько я знаю по модбасу мастер запрашивает переменные по номеру, тут возможна потенциальная проблема, если программист исполнительного блока что то не правильно укажет в таблице регистров или программист головного блока ошибется, то это очень трудно выявить (на мнемосхеме будет отображаться давление вместо температуры, или вообще перепутаны номера блоков).
    В связи с этим возник вопрос: есть ли возможность верифицировать блоки по именам переменных? Написал, например, программист исполнительного блока программу, назвал его Block_nargeva, указал номер в сети 05, в нем есть термодатчик t1, а в программе головного блока синтаксис обращения к переменной Block_nargeva:t1, далее компилятор сам увязывает номера регистров и блоков.

  2. #2

    По умолчанию

    Цитата Сообщение от nicton Посмотреть сообщение
    Предстоит делать большую распределенную систему на ПР100 (порядка 20 шт), связь через modbus, в голове masterscada на ПК.
    Сам я не программист, осуществляю концептуальное проектирование системы, буду писать ТЗ, поэтому нюансов не знаю, а надо бы.
    Программы на блоки будут писать разные люди, беспокоит взаимодействие, а именно следующий момент: насколько я знаю по модбасу мастер запрашивает переменные по номеру, тут возможна потенциальная проблема, если программист исполнительного блока что то не правильно укажет в таблице регистров или программист головного блока ошибется, то это очень трудно выявить (на мнемосхеме будет отображаться давление вместо температуры, или вообще перепутаны номера блоков).
    В связи с этим возник вопрос: есть ли возможность верифицировать блоки по именам переменных? Написал, например, программист исполнительного блока программу, назвал его Block_nargeva, указал номер в сети 05, в нем есть термодатчик t1, а в программе головного блока синтаксис обращения к переменной Block_nargeva:t1, далее компилятор сам увязывает номера регистров и блоков.
    Назвать в скаде регистры и блоки можно как вам угодно. В ваших интересах, что бы работали одни и те же люди, а не куча сторонних. Компилятор сам ничего не увяжет, для этого должна быть пусконаладка объекта, где проверяются все соответствия датчиков и каналов измерения.
    Для вашего случая достаточно 1 -2 человек, всего то 20 шт. ПР100.
    Последний раз редактировалось kondor3000; 10.03.2024 в 17:12.

  3. #3

    По умолчанию

    Наверное, что-то возможно, т.к. при подключении ПР к OwenConfigurator для каждой сетевой переменной в ПР указывается возможность редактирования, диапазон ввода, комментарий.

    Но тоже склонен пренебречь этим, т.к. при готовности программ к ПР должны формироваться документы с описанием алгоритмов, параметров, таблицы Modbus регистров.

    Причём, таблицы Modbus регистров формируются как по мере написания программ, так и заранее, т.к. ряд состояний и команд известны до написания программы, т.е. некоторые вещи вручают программисту в виде ТЗ.
    Последний раз редактировалось FPavel; 10.03.2024 в 17:42.

  4. #4

    По умолчанию

    Протокол Modbus НЕ подразумевает никакой передачи имён переменных ВООБЩЕ. Только значения регистров, и всё.
    Поэтому в данном случае нужно или разрабатывать свой протокол, или же хорошо документировать проект и вести учёт изменениям.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  5. #5
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,089

    По умолчанию

    В ПР100 можно экспортировать сетевые переменные в .csv файл. У ОРС сервера должна быть возможность импортировать такой файл. Так что ручками вводить адреса не потребуется. Далее, насколько я знаю, в СКАДе вы создаете проект и привязываете объекты к тэгам ОРС сервера
    А, вообще, вам, наверное, сюда надо https://owen.ru/forum/forumdisplay.php?f=36
    Последний раз редактировалось Dimensy; 10.03.2024 в 18:13.

  6. #6

    По умолчанию

    ТЗ для программистов пишет человек, ничего не понимающий в программировании и наладке
    куда катится этот мир....
    тут возможна потенциальная проблема, если программист исполнительного блока что то не правильно укажет в таблице регистров или программист головного блока ошибется, то это очень трудно выявить
    вот прям даже интересно, кто этот человек, что прогнал писателю эту телегу?

  7. #7

    По умолчанию

    Цитата Сообщение от In_Da_Cher_A Посмотреть сообщение
    ТЗ для программистов пишет человек, ничего не понимающий в программировании и наладке
    куда катится этот мир....
    вот прям даже интересно, кто этот человек, что прогнал писателю эту телегу?
    Ибо нефиг разбивать проект на кучу программистов. Один на визуализацию, один на контроллер, один два в поле на пуско-наладку. В крайнем случае ещё один на сопряжение со сторонними системами.

  8. #8

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Протокол Modbus НЕ подразумевает никакой передачи имён переменных ВООБЩЕ. Только значения регистров, и всё.
    Поэтому в данном случае нужно или разрабатывать свой протокол, или же хорошо документировать проект и вести учёт изменениям.
    Понятное дело, что сам транспорт этого не предусматривает, а работает чисто с числовыми адресами, так же как ядро микроконтроллера не работает с именами переменных, а только с их адресами в памяти, имена остаются в исходнике, вот я и подумал что вдруг существует надстройка, которая назначает адреса, подобно компилятору С. Насколько я понял это реализовано на Ethernet версиях, видимо его придется использовать вместо modbus.

  9. #9

    По умолчанию

    Коллеги, это достаточно нормальный подход, если проект крупнее, чем одна установка.
    Чтобы не было путаницы не надо придумывать сложные пути. Просто внесите требованием, чтобы программисты, создающие логику на ПР предоставили вместе с проектом "Карту регистров ModBus". Адрес устройства, регистр(тип), соответствующий параметр в программе. Прям в excel. Это совершенно нормальное требование и обычно такой листинг прикладывают к описанию проекта.

    Тем более как заметили коллеги - такой список достаточно просто сделать выгрузив список переменных из Owen Logic. Если OPC сможет еще и автоматически csv файл подгружать - шоколадно.
    Но я бы требовал именно в формате документа. Потом проект изменят, а в карту регистров изменения забудут внести - сиди - гадай.

  10. #10

    По умолчанию

    Эту "Карту регистров ModBus" программист будет делать в последнюю ночь перед дедлайном, корректность ее проверить невозможно автоматизированными методами, человеческий фактор, как ни крути. Ну а выбор Ethernet в качестве транспорта разве не решает всех этих проблем?
    Последний раз редактировалось nicton; 11.03.2024 в 16:13.

Страница 1 из 6 123 ... ПоследняяПоследняя

Похожие темы

  1. Адресация переменных по Modbus
    от Uniqum в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 16.09.2022, 14:16
  2. Перекрытие переменных в Modbus Slave
    от Андрей_Б. в разделе ПЛК1хх [М02]
    Ответов: 4
    Последнее сообщение: 15.09.2021, 13:13
  3. 10000 переменных modbus
    от lttn в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 0
    Последнее сообщение: 10.10.2019, 15:05
  4. Ответов: 4
    Последнее сообщение: 13.06.2017, 15:20
  5. Ответов: 21
    Последнее сообщение: 18.04.2015, 14:24

Ваши права

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