Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.01.2019, 11:19   #1
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию SMLogix Как узнать что получены данные по Modbus?

Проект пишется для Trim5, сформирована карта регистров в которые приходят данные. Данные получаются и могут быть использованы в программе.
Особенность заключается в том, что могут приходить данные, которые совпадают со значениями регистров куда они пишутся и они должны иницировать процесс дальнейшей обработки данных. (поясню - пришли уставки, они должны быть пересчитаны и разосланы другим устройствам, далее ждать следующих команд и ничего не предпринимать. Снова пришли данные, не важно какие - повторить пересчет и снова разослать...).
Если данные меняются, то вычислить момент прихода данных не составляет труда, но что делать, если данные пришли те же самые?
Предположительно есть два способа решения этого вопроса, но ни один пока не удается решить.
1. Есть ли признак, что пришли новые данные в регистры Holding Reg?
2. Можно ли как то изменить значения Holding Reg на заведомо невозможные, что бы в последствии выявить момент прихода новых, верных значений?
Помогите, кто знает?
Artsen вне форума   Ответить с цитированием
Старый 24.01.2019, 12:18   #2
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
Проект пишется для Trim5, сформирована карта регистров в которые приходят данные. Данные получаются и могут быть использованы в программе.
Особенность заключается в том, что могут приходить данные, которые совпадают со значениями регистров куда они пишутся и они должны иницировать процесс дальнейшей обработки данных. (поясню - пришли уставки, они должны быть пересчитаны и разосланы другим устройствам, далее ждать следующих команд и ничего не предпринимать. Снова пришли данные, не важно какие - повторить пересчет и снова разослать...).
Если данные меняются, то вычислить момент прихода данных не составляет труда, но что делать, если данные пришли те же самые?
Предположительно есть два способа решения этого вопроса, но ни один пока не удается решить.
1. Есть ли признак, что пришли новые данные в регистры Holding Reg?
2. Можно ли как то изменить значения Holding Reg на заведомо невозможные, что бы в последствии выявить момент прихода новых, верных значений?
Помогите, кто знает?
1. см. FRONTS для чисел
http://forum.segnetics.com/showthread.php?t=736 тут
2. не нужно


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 24.01.2019, 12:21   #3
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
но что делать, если данные пришли те же самые?
А ничего не делать почему не подходит?


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 24.01.2019, 12:35   #4
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от New Посмотреть сообщение
А ничего не делать почему не подходит?
Не подходит, уставки на исполнительных, подключенных устройствах могут быть изменены вручную и их нельзя без причины изменять. Т е должна быть причина для изменений.
Изменили вручную - работайте, как установили параметры, пришли уставки по сети - работайте с пришедшими. Пришедшии уставки могут быть такими же, как ранее - мне нужно знать, что они пришли снова.
Artsen вне форума   Ответить с цитированием
Старый 24.01.2019, 12:41   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
Не подходит, уставки на исполнительных, подключенных устройствах могут быть изменены вручную и их нельзя без причины изменять. Т е должна быть причина для изменений.
Изменили вручную - работайте, как установили параметры, пришли уставки по сети - работайте с пришедшими. Пришедшии уставки могут быть такими же, как ранее - мне нужно знать, что они пришли снова.
Device(link) покажет факт обращения.

Но обычно в системах, критичных к приходу данных, устраивают отдельную переменную HeartBeat, которую наращивают после цикла обмена данными. В некоторых протоколах она прямо "встроена в протокол".


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 24.01.2019, 12:48   #6
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата:
Сообщение от Arsie Посмотреть сообщение
Device(link) покажет факт обращения.

Но обычно в системах, критичных к приходу данных, устраивают отдельную переменную HeartBeat, которую наращивают после цикла обмена данными. В некоторых протоколах она прямо "встроена в протокол".
HeartBeat - сам уже собирался применить, хотя он нежелателен.
Device(link) - ранее я не разобрался к чему он. Спасибо, буду реализовывать.
Artsen вне форума   Ответить с цитированием
Старый 24.01.2019, 12:55   #7
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

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


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 24.01.2019, 13:00   #8
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от New Посмотреть сообщение
Т.е., на верхнем уровне вообще не в курсе что кто-то вручную изменил уставки?
На верхнем уровне знают и могут захотеть поменять на свои. Пришлют те же значения, что находятся в регистрах Holding Reg. Я их не мог опознать.

Спасибо за участие, но вопрос уже решился применением блока Device (Link) - он дает статистическую информацию об обращению к портам.
Artsen вне форума   Ответить с цитированием
Старый 24.01.2019, 13:51   #9
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
На верхнем уровне знают и могут захотеть поменять на свои. Пришлют те же значения, что находятся в регистрах Holding Reg. Я их не мог опознать.

Спасибо за участие, но вопрос уже решился применением блока Device (Link) - он дает статистическую информацию об обращению к портам.
Решился так решился, хотя не очень понятно как.


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 25.01.2019, 03:03   #10
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от New Посмотреть сообщение
Решился так решился, хотя не очень понятно как.
Блок Device (Link) имеет выход количества успешных обращений по конкретному порту. Таким образом, как только изменилось значение на этом выходе, значит пришли новые данные, вне зависимости от изменений самих пришедших данных.
Artsen вне форума   Ответить с цитированием
Старый 25.01.2019, 07:00   #11
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Блок Device (Link) дает статистику "в общем по больнице (порту)" без привязки к конкретной переменной. Если у вас на порту 1 переменная, то можно попробовать. А если 2, то возможны чудеса. В панелях вайнтек есть вариант записи с верификационной переменной, которая переводится в 1 по факту записи в слейв и сбрасывается в 0 после слейвом после обработки слейвом.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 25.01.2019, 11:08   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от tvf Посмотреть сообщение
В панелях вайнтек есть вариант записи с верификационной переменной, которая переводится в 1 по факту записи в слейв и сбрасывается в 0 после слейвом после обработки слейвом.
HeartBeat, вид сбоку.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 25.01.2019, 11:13   #13
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
Блок Device (Link) имеет выход количества успешных обращений по конкретному порту. Таким образом, как только изменилось значение на этом выходе, значит пришли новые данные
Например, запрос на чтение. А они у вас должны быть, если вы утверждаете, что изменение значения уставки вручную на верхний уровень передаётся.


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 25.01.2019, 15:15   #14
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата:
Сообщение от Arsie Посмотреть сообщение
HeartBeat, вид сбоку.
Не совсем так. Как вы сами сказали:
Цитата Эта задача решается переменной HeartBeat - Сердцебиение. Удалённый мастер постоянно записывает в неё инкрементирующееся значение.
Постоянно и по изменению/записи не совсем одно и то же.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 25.01.2019, 15:56   #15
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от New Посмотреть сообщение
Например, запрос на чтение. А они у вас должны быть, если вы утверждаете, что изменение значения уставки вручную на верхний уровень передаётся.
Хм... тогда беда... Отлаживаю пока без стороннего вмешательства, этот вопрос остался без внимания.
Определю дополнительный инкрементируемый регистр, так точно работать будет и вопросов больше не возникнет.
Спасибо.
Artsen вне форума   Ответить с цитированием
Старый 25.01.2019, 16:06   #16
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

А вариант синхронизации уставки, используемый в программах Конструктора, чем вам не подходит?


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 25.01.2019, 16:14   #17
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Я не пользуюсь конструктором, слабо понимаю о чем Вы говорите.
Не могу представить реализацию механизма синхронизации.
Artsen вне форума   Ответить с цитированием
Старый 25.01.2019, 16:40   #18
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
Я не пользуюсь конструктором, слабо понимаю о чем Вы говорите.
Не могу представить реализацию механизма синхронизации.
Если в двух словах попробовать объяснить: уставка изменяется вручную на устройстве, верхний уровень считывает новое значение уставки и записывает это значение в регистр изменения уставки.


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 25.01.2019, 16:48   #19
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Верхний уровень не всегда может присутствовать и контролировать ситуацию. Это самостоятельное устройство с возможностью контроля по сети.
Artsen вне форума   Ответить с цитированием
Старый 25.01.2019, 16:53   #20
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от Artsen Посмотреть сообщение
Верхний уровень не всегда может присутствовать и контролировать ситуацию. Это самостоятельное устройство с возможностью контроля по сети.
А постоянное наличие ВУ и не требуется.


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 25.01.2019, 17:05   #21
Artsen
Новичок
 
Регистрация: Jan 2019
Сообщения: 27
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от New Посмотреть сообщение
А постоянное наличие ВУ и не требуется.
Смысл понял. Реализация возможна, но неудобна.
ВУ будут писать другие люди, которые пишут на PHP, питон или хрен знает на чем, и которые рассказывают, как им неудобно производить дополнительные манипуляции при стыковке с моим устройством. И с ними лишний раз стыковаться и согласовывать спорные вопросы не хочется, дешевле применить инкрементируемый регистр.
Как то так.
Artsen вне форума   Ответить с цитированием
Старый 25.01.2019, 17:29   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: SMLogix Как узнать что получены данные по Modbus?

Цитата
Сообщение от tvf Посмотреть сообщение
Не совсем так. Как вы сами сказали:Постоянно и по изменению/записи не совсем одно и то же.
Постоянно по изменению. Первопричинный смысл переменной в том, что она показывает наличие обновления данных. Это уже потом на неё стали вешать контроль связи.

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


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

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

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по LON: как узнать neuron ID? 5144 Связь с внешним миром 2 03.09.2014 18:08
Правильная разводка сетей RS-485 Arsie Библиотека 30 28.02.2014 13:52
Как изменить формат данных Modbus в 2Gi на 8N1? AlekSir Связь с внешним миром 29 23.04.2013 09:42
Использование USB-хаба Varnak Вопросы о SMH-2G(i) 8 01.03.2013 12:20
Элемер EL-4019: как правильно прочитать данные dima Связь с внешним миром 3 06.03.2012 16:40


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


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