Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2017, 19:52   #1
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Сквозная запись значения уставки

День добрый.

Задача стоит следующая: сделать запись значение либо через модбас, либо через экран SMArt.
Т.е. чтобы пользователь мог менять уставку (real, int, bool) и удалённо (со скады через модбас) так и непосредственно стоя перед контроллером.

Почитав форум наткнулся на блоки Fronts(), 2way и Value 2in-1out, но они не решают следующей задачи.

1. Оператор ВАСЯ задал значение 25 через контроллер.
2. Оператор Петя, сидя за компьютером, записал уставку 30.
3. Оператор Вася опять изменил уставку на 25.
4. А вот оператор Петя не может изменить уставку обратно на 30, ибо у него это значение остается на входной переменной!
Тем самым Fronts() не срабатывает, изменения переменной же нету!

Вопрос, как можно исправить сей ... баг?
Буфер под любую переменную наврядли разработчики напишут, но уже неоднократно сталкиваюсь с подобной ситуацией и практически всегда приходиться делать разграничение управления и задания уставки со стороны ПЛК и АРМа, отдельным битом.

Так же есть вариант "обновления" переменной при установки галочки "изменение по сигналу" в экране SMArt'а, но данный вариант не применим тоже, ибо Скада перенагружена, лишние запросы/формулы/условия/скрипты делать не хочется.

В общем, помогите решить сей вопрос.
p001p вне форума   Ответить с цитированием
Старый 20.09.2017, 20:51   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Вопрос, как можно исправить сей ... баг?
Сей баг называется в скада-системах "обратная связь". Ещё к этому есть понятие "блокировка обратной связи".

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

Описанный вами сценарий не настолько вероятен, чтобы это хоть какое-то значение имело для трафика. Это тупо нужно специально стоять и непрерывно дергать уставку туда/сюда в течении длительного времени. В жизни такое бывает только при ПНР и немного при сдаче объекта.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 21.09.2017 в 14:27
Arsie вне форума   Ответить с цитированием
Старый 20.09.2017, 21:29   #3
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Сей баг называется в скада-системах "обратная связь". Ещё к этому есть понятие "блокировка обратной связи".

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

Описанный вами сценарий не настолько вероятен

А причем тут СКАДА если вся обратная связь по любому процессу принадлежит контуру управления, куда входит контроллер, а не СКАДА?)

Т.е. вы хотите мне сказать, что если я использую переменную ВХОД как переменную модбас, я могу изменять её из контроллера? ))

И зачем мне "городить огород" там где он мне не нужен?)

А вот на счет сценария, могу вас заверить что это один случай на мильён. И он произошел...

Последний раз редактировалось Arsie, 21.09.2017 в 14:28
p001p вне форума   Ответить с цитированием
Старый 20.09.2017, 21:31   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
А причем тут СКАДА если вся обратная связь по любому процессу принадлежит контуру управления, куда входит контроллер, а не СКАДА?)
Описываемый вами процесс: "Верхний уровень" <> "Нижний уровень". Он принадлежит двум участникам, а не одному.

Вы упомянули компьютер и скаду. Всё честно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 21.09.2017 в 14:30
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 10:27   #5
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Используется modbus-задатчик сигнала. Т.е. считывать он не может.

Опять же, вопрос стоит по существу, как со стороны контроллера организовать подобное решение?

Последний раз редактировалось Arsie, 21.09.2017 в 14:30
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 10:29   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Используется modbus-задатчик сигнала. Т.е. считывать он не может.
Персичная постановка вопроса была такой:

Задача стоит следующая: [...] чтобы пользователь мог менять уставку (real, int, bool) и удалённо (со скады через модбас) так и непосредственно стоя перед контроллером.


В вашем случае проблема в неправильно выбранном задатчике, который не рассчитан на локальное изменение уставки. Как вы говорите, "считывать он не может", поэтому Вася и Петя никогда друг с другом не договорятся.

Сейчас у вас оборудование подобрано для исключительно удалённого управления, как вокруг локального устройства не прыгай, какие функции не вводи, проблемы это не снимет. Петя уставку на 30 обратно сменить не сможет не потому, что fronts не сработает, а потому что никогда не узнает, что уставка теперь 25, а не 30.


Цитата
Сообщение от p001p Посмотреть сообщение
Опять же, вопрос стоит по существу, как со стороны контроллера организовать подобное решение?
Тогда от вас и вопрос по существу: что вам конкретно нужно-то? Какова ваша задача? Два варианта я уже услышал и оба варианта имеют свой верный ответ. И оба ответа не такие, какой вы хотите услышать, но, однако, решающие поставленные задачи.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 21.09.2017 в 14:31
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 10:37   #7
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Товарищ сотрудник компании Segnetics, вы можете ответить по существу? Могу ли я на ПЛК Segnetics SMH2G или Segnetics Pixel организовать сквозную запись в переменную с 2 источников (модбас и ввод уставки с экрана ПЛК) средствами разработки SMLogix и SMArt?

Последний раз редактировалось Arsie, 21.09.2017 в 14:32
p001p вне форума   Ответить с цитированием
Благодарность от:
Старый 21.09.2017, 10:52   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Используя в SMArt элемент-экран "Меню настроек", можно организовать локальный ввод уставки и приём уставки извне, например, из сети. Для этого у каждой уставки есть специальные инструменты.


Первый инструмент, "Запись по изменению":




Второй инструмент, "Запись по сигналу":



__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 21.09.2017 в 14:32
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 14:57   #9
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Используя в SMArt элемент-экран "Меню настроек", можно организовать локальный ввод уставки и приём уставки извне, например, из сети. Для этого у каждой уставки есть специальные инструменты.


Первый инструмент, "Запись по изменению":




Второй инструмент, "Запись по сигналу":

Как это использовать чтобы записать 2 разных значения в 1 перменную?

У нас есть значение приходящее с ModBus.
У нас есть значение с экрана.

Мне надо записывать эти значения в перменную которую над создать как вы написали выше?
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 15:05   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Как это использовать чтобы записать 2 разных значения в 1 перменную?
Одновременная запись двух разных значений в одну переменную невозможна согласно законам физики.



Цитата
Сообщение от p001p Посмотреть сообщение
У нас есть значение приходящее с ModBus.
У нас есть значение с экрана.
Значение с Modbus записывается в переменную.

Значение с экрана записывается в память.

Другими словами, "записи двух значений в одну переменную" в этом случае не происходит.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 15:17   #11
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Значение с Modbus записывается в переменную.

Значение с экрана записывается в память.

Другими словами, "записи двух значений в одну переменную" в этом случае не происходит.
Отлично. Как теперь значение из переменной отправить в память, так чтобы его потом изменило следующее значение с экрана, а потом его изменило любой другое значение с переменной Modbus?
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 15:31   #12
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Отлично. Как теперь значение из переменной отправить в память, так чтобы его потом изменило следующее значение с экрана, а потом его изменило любой другое значение с переменной Modbus?
Это старая недоработка компании Сегнетикс. Мне с некоторой периодичностью приходится извращаться чтобы ее обойти.
Есть много способов решения данной проблемы, как при помощи скада-системы так и при помощи смлоджика.
1 способ - считывать уставку от контроллера скадой и переписывать ее на выход от скады с некоторой периодичностью, или при изменении.
2 способ - сделать на скаде кнопки "+" и "-" и битами посылать команды в контроллер. В контроллере написать макрос, которые будет брать данные от уставки в смарте и делать увеличение или уменьшение и писать в память контроллера.

Подозреваю, что есть еще способы.

PS Для Сегнетиксов... вот посмотрите на софт компании Z***. У них классно реализована работа с EEPROM и модбасом. И такой проблемы не может быть "в принципе".
PPS Не такое уж и редкое совпадение событйи должно случиться чтобы этот "касяк" сработал... при переключении режима "ЗИМА/Лето" на стандартной программе конструктора такое случается часто и 100% произойдет если не обойти эту недоработку.
Max2114 вне форума   Ответить с цитированием
Старый 21.09.2017, 15:34   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Отлично. Как теперь значение из переменной отправить в память, так чтобы его потом изменило следующее значение с экрана, а потом его изменило любой другое значение с переменной Modbus?
Вопрос слишком широк. Существует не менее 6 способов. Т.к. вы настаиваете на том, чтобы скрыть свою задачу, я выберу продолжение предыдущего примера:
Миниатюры
Нажмите на картинку для увеличения

Название:  Безымянный.png
Просмотров: 172
Размер:  1.6 Кбайт  


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 15:37   #14
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от Max2114 Посмотреть сообщение
Это старая недоработка компании Сегнетикс. Мне с некоторой периодичностью приходится извращаться чтобы ее обойти.
Есть много способов решения данной проблемы, как при помощи скада-системы так и при помощи смлоджика.
Человек ещё не определился, скада у него или не скада. На способы решения задачи не обращает внимания, хочет получить конкретный ответ на конкретный вопрос, а я всеми силами пытаюсь не потратить полтора-два часа на объяснения тех вещей, которые ему даже в итоге и не пригодятся.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 15:40   #15
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Человек ещё не определился, скада у него или не скада. На способы решения задачи не обращает внимания, хочет получить конкретный ответ на конкретный вопрос, а я всеми силами пытаюсь не потратить полтора-два часа на объяснения тех вещей, которые ему даже в итоге и не пригодятся.
Ежели какое-то устройство может писать уставку по модбасу то со 100% вероятностью оно же может и считать эту уставку. Значит принципы решения его проблемы одни и те же.
Max2114 вне форума   Ответить с цитированием
Старый 21.09.2017, 15:51   #16
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от Max2114 Посмотреть сообщение
Ежели какое-то устройство может писать уставку по модбасу то со 100% вероятностью оно же может и считать эту уставку. Значит принципы решения его проблемы одни и те же.
Его последняя версия - некий задатчик, который не умеет читать. И при этом человек не учитывает, что задатчик не увидит локальную смену уставки. И при этом всём человек считает, что запись во входную переменную решит его проблему.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 16:12   #17
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

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

Я скажу больше, устройство покупалось по рекомендации менеджера продаж вашей компании. В противном случае оно будет возвращено обратно в компанию, а мы закупим другое устройство вместо того чтобы тратить и наше, и ваше время.
Вы тут разводите какой-то ширпотреб, пытаетесь лезть куда не нужно. Есть датчики, есть ПЛК, есть СКАДА, есть МЕС и все это в каком-то облаке.

Ваша часть - ПЛК.
Так будьте добрый, отвечайте как квалифицированный специалист только по ВАШЕМУ оборудованию. Если надо расписать ещё раз вопрос, я его распишу.


А касательно того что задатчик не может не считывать - вы глубоко ошибаетесь. Но это - не суть.
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:16   #18
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Я скажу больше, устройство покупалось
У этого устройства есть название?



Цитата
Сообщение от p001p Посмотреть сообщение
А касательно того что задатчик не может не считывать - вы глубоко ошибаетесь. Но это - не суть.
Как задатчик узнаёт о локальном изменении уставки?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 16:21   #19
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вопрос слишком широк. Существует не менее 6 способов. Т.к. вы настаиваете на том, чтобы скрыть свою задачу, я выберу продолжение предыдущего примера:
Приложил фото чтобы мы поняли друг друга.
Миниатюры
Нажмите на картинку для увеличения

Название:  Безымянный.png
Просмотров: 232
Размер:  20.4 Кбайт  
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:21   #20
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки

Есть Оля.
Есть её брат Петя, который прослушивает её телефон.
Есть её друг Саша, который иногда ей звонит.

Петя говорит Оле, что сегодня 21 сентября. Оля запоминает.
Тут звонит Саша, и по телефону говорит Оле, что сегодня 20 сентября. Оля запоминает, забыв про 21 число.
Петя послушал телефонный разговор, и знает, что у Оли неправильная информация. Он говорит ей, что сегодня 22 сентября. Оля запоминает.
Саша всё-ещё считает, что Оля думает, что сегодня 20 число, хотя по факту, Оля думает, что сегодня 22 число.
У Саши нет никакого способа узнать, что там думает Оля, пока он не позвонит ей и не спросит.
В то время как Петя точно знает, какое у Оли число.

Вот такая аналогия, совсем уж простая.

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


Может быть, я вовсе не понял задачи, но я вижу её именно так. В таком случае, абсолютно не важно, какого производителя ПЛК вы будете использовать, вам придётся пройти через эту же ситуацию.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.09.2017, 16:22   #21
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
У этого устройства есть название?


Как задатчик узнаёт о локальном изменении уставки?
Segnetics Pixel и Segnetics SMH2G

Никак он не узнает о локальном изменении уставки. Данная уставка участвует в операции и уже уходит другая переменная с конечным результатом.
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:24   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Приложил фото чтобы мы поняли друг друга.
Я вас прекрасно понимаю. Сообщением выше Громов описал то, что я пытаюсь донести до вас.

Как только эта коллизия будет разрешена, разговор перейдёт в конструктивное русло.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 16:25   #23
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки

Цитата
Сообщение от Gromov Посмотреть сообщение
Есть Оля.
Есть её брат Петя, который прослушивает её телефон.
Есть её друг Саша, который иногда ей звонит.

Петя говорит Оле, что сегодня 21 сентября. Оля запоминает.
Тут звонит Саша, и по телефону говорит Оле, что сегодня 20 сентября. Оля запоминает, забыв про 21 число.
Петя послушал телефонный разговор, и знает, что у Оли неправильная информация. Он говорит ей, что сегодня 22 сентября. Оля запоминает.
Саша всё-ещё считает, что Оля думает, что сегодня 20 число, хотя по факту, Оля думает, что сегодня 22 число.
У Саши нет никакого способа узнать, что там думает Оля, пока он не позвонит ей и не спросит.
В то время как Петя точно знает, какое у Оли число.

Вот такая аналогия, совсем уж простая.

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


Может быть, я вовсе не понял задачи, но я вижу её именно так. В таком случае, абсолютно не важно, какого производителя ПЛК вы будете использовать, вам придётся пройти через эту же ситуацию.

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

На самом деле, есть макрос 2val in-1out, она неплохо работает. Но вот ту ситуацию решить не может.


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

Т.е. У нас есть ячейка "А" с информацией "25"
Если по modbus приходить команда на ЗАПИСЬ ячейки "А" информацией "25" то... ячейка перезаписывается.

В сегнетиксе, если смотреть на изменения и сравнения прихдящей переменной с макросом Fronts(), то можно заметить что ячейка не реагирует на такую команду записи.
Что-то вроде "У меня уже есть число 25, новое я записывать не буду"...
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:25   #24
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата
Сообщение от p001p Посмотреть сообщение
Никак он не узнает о локальном изменении уставки. Данная уставка участвует в операции и уже уходит другая переменная с конечным результатом.
Тогда как разрешается коллизия, когда скада-система "думает", что поддерживается уставка 30, а на самом деле поддерживается локально заданная 25?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 16:29   #25
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки

Цитата
Сообщение от p001p Посмотреть сообщение
Чуть выше я выложил фотографии с описанием "косяка" когда ячейка знает что в ней есть число и не хочет обновляться.

В сегнетиксе, если смотреть на изменения и сравнения прихдящей переменной с макросом Fronts(), то можно заметить что ячейка не реагирует на такую команду записи.
Что-то вроде "У меня уже есть число 25, новое я записывать не буду"...
Проблема в том, что вы думаете, что значение, записанное из сети и значение, сохранённое локально, лежит в одном и том же месте. Это два разных места. В одном лежит 30, в другом 25. И когда вы опять записываете 25 поверх 25, то запись, конечно же, происходит. Значение 25 заменяется на значение 25. А значение 30 остаётся значением 30.

Но, как я описал выше, скада не знает, что одно значение уже заменили другим. Поэтому она, как задатчик, не видит смысла записывать 30 поверх 30, т.к. она не знает, что там давно уже 25, заданное локально.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.09.2017, 16:30   #26
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки

Кажется, я понял.

Если ваш задатчик постоянно(каждый цикл опроса) пишет в ячейку "30" и вы считаете ,что это новое задание - так вы должны организовать программу так, чтобы местное управление игнорировалось. Ведь какой в нём смысл, раз в секунду приходит новая уставка, и это всегда та уставка, что задана "сверху".
Либо контроллер должен дать в скаду информацию, что уставка изменена местно.


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.09.2017, 16:38   #27
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Тогда как разрешается коллизия, когда скада-система "думает", что поддерживается уставка 30, а на самом деле поддерживается локально заданная 25?
Скада система не думает. Поддерживат все ПЛК
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:43   #28
Gromov
Уволен из Сегнетикс
 
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки

Ответьте на вопрос:

Что будет на экране скада-системы, если там задана уставка 30, и после этого на контроллере человека задаст 25?

1. Вы задали в скаде "30".
2. Вы отправились к контроллеру, и задали там "25".
3. Вы пришли обратно к компьютеру, что будет на экране, 30 или 25?


__________________
В сегнетиксе не работаю с самого начала 2019 года.
Gromov вне форума   Ответить с цитированием
Старый 21.09.2017, 16:49   #29
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Сквозная запись значения уставки

Цитата
Сообщение от Gromov Посмотреть сообщение
Ответьте на вопрос:

Что будет на экране скада-системы, если там задана уставка 30, и после этого на контроллере человека задаст 25?

1. Вы задали в скаде "30".
2. Вы отправились к контроллеру, и задали там "25".
3. Вы пришли обратно к компьютеру, что будет на экране, 30 или 25?
На экранчике будет 30.
p001p вне форума   Ответить с цитированием
Старый 21.09.2017, 16:51   #30
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сквозная запись значения уставки

Цитата
Сообщение от p001p Посмотреть сообщение
На экранчике будет 30.
Вы подошли к скаде, там видно число 30.

Что побудит вас повторно задать 30?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в свои же holding регистры (решено) VaBo SMLogix 37 27.12.2023 15:20
Неправильная запись значения в ЭРИС-110-МВТ (решено) OlegM Связь с внешним миром 8 28.06.2018 15:52
Сохраняются значения в TRIM5 после обрыва связи с контроллером SMH2G kodmse SMLogix 5 14.04.2018 08:47
Запись уставки из двух экранов Sibiryak22rus SMArt 5 13.04.2018 10:17
Управляемый разгон-торможение и смена уставки Arsie Библиотека макросов 0 19.06.2014 13:49


Часовой пояс GMT +4, время: 22:29.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023