PDA

Просмотр полной версии : Общий алгоритм работы сетевых устройств Программируемых Рэле



sot
09.01.2024, 07:06
Обращаюсь к разработчикам OWEN Logic.

С какого-то момента я перестал понимать логику работы ПР*** по приему передаче данных через RS-485

Например, имею в составе проекта:
ИПП120 (master) -> ПР102(485-1 slave) (485-2 master) -> частотник(и) (slave)

Важно: ПР102, частотники - могут (периодически) быть в выключенном состоянии.

Задача: в цикле работы программы на ИПП120 иметь гарантированную запись 10 регистров ПР102;
гарантированную запись регистров в частотники средствами ПР102

В настройках ИПП120 интерфейсы имеем:

485 (master) -> интервал между запросами (100мс)
устройство_1 -> Период опроса (50мс)
переменная_1 -> запись по изменению [ ] (выкл);
запуск записи <не выбрана>
переменная_2 -> запись по изменению [ ] (выкл);
запуск записи <не выбрана>
.......

1. Расскажите - при такой настройке - мои переменные запишутся в устройство? когда?

2. Какая должна быть настройка устройства и переменных, чтобы гарантированно записалось состояние 10 переменных в ПР102,
независимо от того были ли они изменены. (! ПР102 (устройство_1) может иногда быть выключено)

3. Каков вообще у вас алгоритм записи переменных, что и с какой периодичностью происходит на чтение/запись?

===
Спасибо заранее, С Новым Годом, хорошего вам настроения и творческих успехов.

Ollema
10.01.2024, 00:10
Во-первых, гарантированная запись не может осуществиться, если приборы назначения выключены.
Во-вторых, если приборы выключены, а переменная изменилась, то раз запись по изменению - будет попытка записи в выключенное устройство. Когда его включат, то никто по новой не будет для него повторять запись.
Поэтому пишите не по изменению, а постоянно. Для этого нужно привязать переменную записи к константе 1. Только не через 50 мс.

sot
10.01.2024, 07:02
Поэтому пишите не по изменению, а постоянно. Для этого нужно привязать переменную записи к константе 1.
Только не через 50 мс.

Писать постоянно - это как ?
почему не через 50 мс? (связано с периодом опроса?)
А сколько? 5 мс? 51 мс?

А, если мне надо записать 10 переменных - значит мне надо 10 ключей (переменных записи) поднять в 1(true)?
Е если надо 100 переменных обновить - то и 100 ключей?

НЕ ПОНЯЛ.

И, главное не понял - в моей конфигурации попыток записи в устройство_1 НЕ БУДЕТ ВООБЩЕ предпринято ИПП120?
???

In_Da_Cher_A
10.01.2024, 08:06
Важно: ПР102, частотники - могут (периодически) быть в выключенном состоянии.это бред. Как вы хотите иметь гарантированную щапись от ИПП120, если у вас всё выключено? самое главное - зачем изменять настройки слейвов в Мастере (ИПП120), если слейвы выключены? человек этого не знает? звучит как бред какой-то. Перестаньте выключать приборы

Писать постоянно - это как ?в каждом цикле ИПП120

почему не через 50 мс?а почему через 50 мс?

если вам уж так нужно гасить слейвы, то привязывайте запись к переменной состояния слейва

sot
10.01.2024, 11:07
это бред.
если вам уж так нужно гасить слейвы, то привязывайте запись к переменной состояния слейва

Бред/не бред, не вам судить о схемотехнике станка.
Навскидку, Вам, - срабатывание кнопки аварийной защиты, которая отключает частотники конвейеров,
которые после включения должны получить те настройки, которые в них предполагаются.

И слово Гарантированно именно в этом контексте.

Или, самое простое, связка ИПП->ПР102, произвожу отладку ПР102, обновил программу,
жду когда ИПП пробросит значения.... недождусь...

Так вот!
Самый главный ВОПРОС ОСТАЛСЯ БЕЗ ОТВЕТА
_ _ _ _ Р А З Р А Б О Т Ч И К И _ _ _ _ _ Owen Logic, товарищи,

ответьте - Прально ли я понимаю, что регистры на запись
АВТОМАТИЧЕСКИ в цикле приемо/передачи master устройством не запишутся в slave?

и чтобы записать, мне необходимо создать для каждой переменной (регистра) для записи - свой ФЛАГ? (привязанный к "запуск записи")
которыми как-то управлять? Флагов надо столько же сколько регистров?

Королев Кирилл
10.01.2024, 11:24
Бред/не бред, не вам судить о схемотехнике станка.
Навскидку, Вам, - срабатывание кнопки аварийной защиты, которая отключает частотники конвейеров,
которые после включения должны получить те настройки, которые в них предполагаются.

И слово Гарантированно именно в этом контексте.

Или, самое простое, связка ИПП->ПР102, произвожу отладку ПР102, обновил программу,
жду когда ИПП пробросит значения.... недождусь...

Так вот!
Самый главный ВОПРОС ОСТАЛСЯ БЕЗ ОТВЕТА
_ _ _ _ Р А З Р А Б О Т Ч И К И _ _ _ _ _ Owen Logic, товарищи,

ответьте - Прально ли я понимаю, что регистры на запись
АВТОМАТИЧЕСКИ в цикле приемо/передачи master устройством не запишутся в slave?

и чтобы записать, мне необходимо создать для каждой переменной (регистра) для записи - свой ФЛАГ? (привязанный к "запуск записи")
которыми как-то управлять? Флагов надо столько же сколько регистров?

Добрый день!

Если правильно понял Ваш вопрос, то подобное обсуждение было в этой теме - https://owen.ru/forum/showthread.php?t=37543&p=418344&viewfull=1#post418344

Если параметр не изменяется и не приходит команда на запись, то данные передаваться не будут.

melky
10.01.2024, 11:38
sot флаг может быть и один на всю группу записи. Это же просто переменная, к которой можно привязать несколько действий.

sot
10.01.2024, 11:55
sot флаг может быть и один на всю группу записи. Это же просто переменная, к которой можно привязать несколько действий.

Как это согласуется с текстом из хэлпа:

• Запуск записи — назначается командная переменная булевского типа (командная переменная) для принудительной записи настраиваемой переменной: если значение командной переменной меняется с 0 на 1, мастер инициирует запрос на запись, после успешного выполнения запроса значение командной переменной автоматически меняется с 1 на 0;

И с моей практикой:

Я пробовал использовать один флаг на все переменные на запись.
В итоге пишется первая и всё.


ПРОШУ РАЗРАБОТЧИКОВ ОТВЕТИТЬ - сколько надо флагов?

(* https://owen.ru/forum/showthread.php?t=37543&p=418344&viewfull=1#post418344
в этой теме ответа по количеству флагов нет.
есть только по интервалам 0.1 .. 0.3 с
*)

melky
10.01.2024, 11:58
упс, если переменная меняется с 1 на 0 а не самостоятельно из программы то наверное надо столько, сколько переменных записывается. С записью ни разу на ПР не игрался...

Королев Кирилл
10.01.2024, 13:11
Как это согласуется с текстом из хэлпа:

• Запуск записи — назначается командная переменная булевского типа (командная переменная) для принудительной записи настраиваемой переменной: если значение командной переменной меняется с 0 на 1, мастер инициирует запрос на запись, после успешного выполнения запроса значение командной переменной автоматически меняется с 1 на 0;

И с моей практикой:

Я пробовал использовать один флаг на все переменные на запись.
В итоге пишется первая и всё.


ПРОШУ РАЗРАБОТЧИКОВ ОТВЕТИТЬ - сколько надо флагов?

(* https://owen.ru/forum/showthread.php?t=37543&p=418344&viewfull=1#post418344
в этой теме ответа по количеству флагов нет.
есть только по интервалам 0.1 .. 0.3 с
*)

Как именно устанавливаете флаг? Сейчас проверил на связке ИПП120 мастер - ПР102 слейв. 3 целочисленные переменные успешно записываются по одной булевской переменной.

Cs-Cs
10.01.2024, 13:26
Блин! Или я не вижу какой-то сложности, или все сами себя запутали. И в первую очередь автор.
1. ВЕЗДЕ ставится циклический опрос. То ест ИПП120 циклически опрашивает ПРку, а ПРка циклически - частотники.
2. Если ПРка после N попыток (которые настроены), не получит ответа на запрос - устройство вывалится в ошибку.
Статус ошибки передаётся в указанную переменную в настройках устройства: когда она задана и равна 1 - устройств в норме, когда равна 0 - в ошибке.
3. Запросы к устройству ВСЁ РАВНО будут повторяться ВСЕГДА, если опрос устройства не выключен переменной в его настройках (которую надо привязать).
Так как протокол Modbus - последовательный, то опрос будет идти так (количество попытко в ПРке обычно задано 3):
* Запрос к Частотнику 1 (попытка 1)
* Ответ от Частотника 1
* Запрос к Частотнику 2 (попытка 1)
* Таймаут
* Нет ответа
* Запрос к Частотнику 2 (попытка 2)
* Таймаут
* Нет ответа
* Запрос к Частотнику 2 (попытка 3)
* Таймаут
* Нет ответа
* Запрос к Частотнику 3 (попытка 1)
* Ответ от Частотиника 3

То есть, как только какое-то устройство не отвечает, ВЕСЬ опрос увеличивается на время "Таймаут х Количество попыток" для КАЖДОГО устройства.
Поэтому, чем меньше частотников работает - тем дольше они будут опрашиваться.
Так работал, работает и будет работать Modbus-протокол, и по другому никак ничего не сделать.

Переменные включения и отключения устройств, запросов на запись и прочих могут быть одинаковые для всех.

Cs-Cs
10.01.2024, 14:13
Валенок Ааа! Появился после НГ-то!
Ну, раз спорно - то ты дай человеку ПОНЯТНЫЙ и ОБСТОЯТЕЛЬНЫЙ ответ на вопрос-то.
А я послушаю и поучусь, как надо делать. Прошу, так сказать, дать точный показательный пример.

sot
10.01.2024, 14:57
Как именно устанавливаете флаг? Сейчас проверил на связке ИПП120 мастер - ПР102 слейв. 3 целочисленные переменные успешно записываются по одной булевской переменной.

Вы правы!

Одним Флагом нормально управляется запись переменных одного устройства.

На нескольких устройствах такой манёвр не работает.

У меня не получалось писать в разные "частотники" используя один и тот же Флаг.

Спасибо всем.

=========

Последний вопрос: если сетевая переменная определена как RW (функ.ч.: 03; функ.з.: 06)
во входной метке этой переменной на столе будет значение из последнего считанного или последнего в неё записанного?

входной блок сетевой переменной может ли быть не равен по значению выходному блоку этой переменной?
допустима ли такая конструкция? (что с буферами на запись/чтение)

flag := [переменная) <> (переменная];

Филоненко Владислав
19.01.2024, 07:55
Бред/не бред, не вам судить о схемотехнике станка.
Навскидку, Вам, - срабатывание кнопки аварийной защиты, которая отключает частотники конвейеров,
которые после включения должны получить те настройки, которые в них предполагаются.

И слово Гарантированно именно в этом контексте.

Или, самое простое, связка ИПП->ПР102, произвожу отладку ПР102, обновил программу,
жду когда ИПП пробросит значения.... недождусь...

Так вот!
Самый главный ВОПРОС ОСТАЛСЯ БЕЗ ОТВЕТА
_ _ _ _ Р А З Р А Б О Т Ч И К И _ _ _ _ _ Owen Logic, товарищи,

ответьте - Прально ли я понимаю, что регистры на запись
АВТОМАТИЧЕСКИ в цикле приемо/передачи master устройством не запишутся в slave?

и чтобы записать, мне необходимо создать для каждой переменной (регистра) для записи - свой ФЛАГ? (привязанный к "запуск записи")
которыми как-то управлять? Флагов надо столько же сколько регистров?

Вероятно по аварийной кнопке надо отключать всё, и ИП120. А вот включать её от реле ПР-а, с некоторой задержкой на запуск всех компонентов. А чтобы была гарантированная запись - правильно подсказывают записывать постоянно, раз в секунду, к примеру (зависит от цикла ПР и числа переменных). Более того, правильнее было бы хранить настройки в ПР, как головном устройстве управления, а не во внешней панели индикации.