PDA

Просмотр полной версии : СП315 и несколько слейвов, как отключить опрос ?



In_Da_Cher_A
20.02.2022, 00:23
привет

есть панель СП315 и планируется использовать её на несколько слейвов (ПЛК110 Модбас ТСР).
Основная проблема - слейвы будут запускаться неодновременно и могут быть отключены избирательно.
Насколько возможно поискал в истории форума - основная проблема "мультислейва" - торможение панели вследствие таймаута и многократного (3 раза по дефолту)повторения попытки запроса, при отсутствии ответа от слейва.
Какие есть способы автоматически "отключать" опрос выключенного слейва либо его регистров? и также обратного ввода в работу этой "части" панели?
экраны совсем разделить не получится, есть обшая часть, где используется вся система, плюс архив событий общий

Николай Суриков
20.02.2022, 07:17
Руководство пользователя. (https://owen.ru/uploads/251/sp3xx_rp_2.1.pdf) стр. 250, р. 9.11 Управление обменом со slave-устройствами

В некоторых случаях требуется в процессе работы панели останавливать/возобновлять обмен с
определенными slave-устройствами – например, в случае ремонта оборудования.
Для управления обменом следует воспользоваться системным регистром PFW130. Значение
данного регистра определяет первый из группы регистров PFW, которые резервируются для
управления обмена со slave-устройствами. Группа занимает 192 последовательно расположенных
регистра, каждый бит группы соответствует одному slave-устройству. Если бит регистра имеет
значение ВЫКЛ, то обмен с устройством включен, если ВКЛ – отключен.

In_Da_Cher_A
20.02.2022, 10:41
Руководство пользователя. (https://owen.ru/uploads/251/sp3xx_rp_2.1.pdf) стр. 250, р. 9.11 Управление обменом со slave-устройствами
до 250 страницы я не добрался))
я не могу сообразить цепочку "потеря связи" - "установка бита"
сначала я проверяю функциональной областью состояние бита PSB54-59 и по состоянию 1 я должен установить бит регистра PFW130..... в состояние 1?
и PFWy.x для слейва 1 будет 192.1 (PFW130+64 (порт 1 адрес 1) , для слейва 2 будет 210.2?

не понял - как в руководстве они взяли цифру 300 и уже от неё начали отсчитывать?

kondor3000
20.02.2022, 11:41
привет

есть панель СП315 и планируется использовать её на несколько слейвов (ПЛК110 Модбас ТСР).
Основная проблема - слейвы будут запускаться неодновременно и могут быть отключены избирательно.
Насколько возможно поискал в истории форума - основная проблема "мультислейва" - торможение панели вследствие таймаута и многократного (3 раза по дефолту)повторения попытки запроса, при отсутствии ответа от слейва.
Какие есть способы автоматически "отключать" опрос выключенного слейва либо его регистров? и также обратного ввода в работу этой "части" панели?
экраны совсем разделить не получится, есть обшая часть, где используется вся система, плюс архив событий общий

Ссылка на пост Petera, описание, как исключить неиспользуемые в работе слейвы. Включаете нужный бит, соответствующий адресу неиспользуемого слейва ( в данный момент), опрос отключается.
https://owen.ru/forum/showthread.php?t=35196&page=2

In_Da_Cher_A
20.02.2022, 12:55
Ссылка на пост Petera, описание, как исключить неиспользуемые в работе слейвы. Включаете нужный бит, соответствующий адресу неиспользуемого слейва ( в данный момент), опрос отключается.
https://owen.ru/forum/showthread.php?t=35196&page=2ещё больше запутался. как он в PFW130 записал 400?
PFW130 - 130 это что? номер регистра? всего я так понимаю в этой области 192 регистра. 130+192=322.
как он в PFW130 записал 400? и адрес у него PFW416.02?
почему х - это просто произвольный номер?

Значение данного регистра определяет первый из группы регистров PFW, которые резервируются для управления обмена со slave-устройствами. Группа занимает 192 последовательно расположенных регистра, каждый бит группы соответствует одному slave-устройству.я так понимаю 130 - это первый номер регистра из 192 регитров области памяти PWF. То есть всего 192 возможных уникальных устройств, каждый из которых с адресами от 1 до 15 можно использовать?

kondor3000
20.02.2022, 13:02
ещё больше запутался. как он в PFW130 записал 400?
PFW130 - 130 это что? номер регистра? всего я так понимаю в этой области 192 регистра. 130+192=322.
как он в PFW130 записал 400? и адрес у него PFW416.02?
почему х - это просто произвольный номер?
я так понимаю 130 - это первый номер регистра из 192 регитров области памяти PWF. То есть всего 192 возможных уникальных устройств, каждый из которых с адресами от 1 до 15 можно использовать?

Там же все написано, какой адрес запишите в PFW130 ( это системный регистр), от такого и считать будете, может у вас уже заняты 300 и 400 регистр.
Запишите 500, считать будете от PFW500 и дальше. Системные регистры нежелательно использовать, вот и назначают 300-400 и т.д.
В 192 регистрах, целых 3072 бита, каждый из которых может управлять одним из слейвов.


Выберем для области управления регистры PFW с адреса, например, 400.
С помощью ф.области (ГЛОБАЛЬНОЙ) с условием "После загрузки проекта" запишем в регистр PFW130 значение 400 как Dword.
Для порта PLC адрес регистра управления будет БАЗОВЫЙ адрес + 16, т.е 400 + 16 =416

In_Da_Cher_A
20.02.2022, 17:45
какой адрес запишите в PFW130 ( это системный регистр), от такого и считать будетесемён семёныч .....адрес в адресе получается
а я понял сначала как в 130 регистре записаны все комбинации и отсчёт идёт со 130. Странная конечно логика обработки и написано или переведено точнее, не людьми, а программистами

kondor3000
20.02.2022, 18:54
семён семёныч .....адрес в адресе получается
а я понял сначала как в 130 регистре записаны все комбинации и отсчёт идёт со 130. Странная конечно логика обработки и написано или переведено точнее, не людьми, а программистами

Очень даже логично всё. Вот у меня уже готовый проект, мне надо слейв отключить например. Все регистры до 450 заняты, что мне делать?
Записываю в PFW130 число 500 и считаю бит слейва от 500 регистра.
Это универсальный подход, где есть окно в 192 регистра, туда и втыкаете.

Системные регистры лучше не использовать в самой программе.
Первые 256 (0–255) регистров каждой из областей памяти являются системными. Некоторые из них
доступны пользователю. Их описание приведено в табл. 9.1–9.3.

In_Da_Cher_A
20.02.2022, 21:55
мне надо слейв отключить например.... беру один из 3072 битов и отключаю:p

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

In_Da_Cher_A
03.06.2022, 10:11
вчера провёл эксперимент с двумя слейвами
результаты неоднозначные - нормального "отключения" опроса неработающего слейва у меня не получилось. Пока не могу понять Что сделано не так

итак, целью было получить "автоматическое отключение опроса "неработающего" слейва - слово автоматическое выделено, так как хотел получить именно отслеживание со стороны панели состояния слейва и в случае проблем со слейвом - отключить опрос (и в идеале - при возобновлении работы слейва - восстановить опрос)
1. добавлено ФО, сделана глобальной, в условиях запуска - "после загрузки проекта" (пока так)
в настройках - запись в в PFW130 числа 400 - условный адрес регистра, от которого начинается отсчёт адреса первого ТСР слейва - 400+64 + 1 бит
2. добавлена ФО, сделана глобальной, в условиях запуска "По переднему фронту" - системного бита PSB54 - "Ошибка связи с TCP Slave 1"
в настройках высталено - "включить бит 464.1 в 1"

после загрузки проекта, при работающем слейве 2 и СРАЗУ не работающем слейве 1 происходило какое-то хаотичное "дёрганье" панели, то есть нормально отключения опроса 1 и нормальной работы панели - не было.
также всё тормозит, только какими-то кусками - то нормально вроде, то тормоза.
вот что примерно происходит - на экране два индикатора
верхний - это состояние PFW 464.1 - он в единице, то есть теоретически обмен со слейвом 1 должен быть отключён
нижний - это системный бит PSB54 - как мы видим он то 1, то почему-то 0.
Панель постоянно пытается восстановить опрос.

Вот зе фак? ЧЯДНТ

1 что мне непонятно - по идее, запуск ФО с запись адреса 400 надо делать "после включения панели", так как "после загрузки проекта" непонятно как работает - после первой загрузки или после автозагрузки после включения панели?
по мне "после включения" более логично, так как в ходе работы панель может вкл/выкл демятки раз и что тогда будет происходить с PFW130?

2. Как автоматически отслеживать "отвал" связи со слейвом №Х и также автоматически восстанавливать опрос, чтобы панель работала нормально?
к сожалению, предлагаемый функционал - Вкл/Выкл бит По переднему/заднему фронту приводит к тому, что мы определяем по переднему фронту PSB54 отвал слейва 1, отключаем опрос (464.1=1) и (эврика!) по заднему фронту ставим 464=0 и получаем снова тормоза....
бред какой-то, но я не увидел в предлагаемом инструментарии ФО ничего нормального, что можно было бы использовать для решения такой задачи.

В общем - какие-то сплошные костыли и хождение ёжиком в тумане. все эти ковыряния и нагромождение ФО - это не работа, это костыли
и Чессноговря, работа бета-тестировщика должна оплачиваться :rolleyes:

может кто лучше понимает как это организовать?
или ОВЕН напишет работающий "алгоритм" отключения/восстановления обмена?

Факт дикого торможения панели известен как "особенность", панель задекларирована на мультслейв, но никакой "автоматизации" нет, обратной связи от ОВЕН тоже нет и в итоге получается что всё надо делать вручную

не понял, как видео вставить, пришлось прикрутить как файл, там 8 метров секунд 10 мигания битов

kondor3000
03.06.2022, 10:53
1) Нафига туда писать при каждом включении. Достаточно 1 раз при заливке программы.
2) ФО это заложенный функционал, не нравится, покупайте другие панели.
3) Кому нужно видео? Вы пример свой выложите. Который и будем проверять.

Думаю всё зависит от программиста, как напишите программу так и будет работать, все жалобы ( нравится, не нравится) это пустая хрень.

In_Da_Cher_A
03.06.2022, 11:08
1) Нафига туда писать при каждом включении. Достаточно 1 раз при заливке программы.
2) ФО это заложенный функционал, не нравится, покупайте другие панели.
3) Кому нужно видео? Вы пример свой выложите. Который и будем проверять.

потому что нифига непонятно что означают эти условия
1- когда в ФО выставлено "при загрузке проекта", что это означает - это одноразовое действо или повторяемое при "автоматической загрузке проекта после включения панели"?
1 - когда в ФО выставлено "при включении панели", что это означает - это равно "при загрузке проекта"?

2. очень хорошо, теперь было бы неплохо "производителю" написать как это работает

3. не нужно - не смотрите. что проверять то? настройки ФО? там всё тоже самое, что и было написано на форуме во всех примерах
тестовый образец выложу, как доберусь до рабочего


Думаю всё зависит от программиста, как напишите программу так и будет работать, все жалобы ( нравится, не нравится) это пустая хрень.
ну и что собственно "писать" в панели?
какие страшные ошибки, подвешивающие панель можно сделать в "написании" адреса бита и его цвета при состоянии=1, ?
если вообще речь идёт об "отключении" опроса ВСЕГО слейва, независимо от "написанной" программы?

пустая не пустая, я плачу деньги и хочу получать законченное изделие с работающим функционалом, а не заниматься НИОКРом.