Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2014, 10:21   #1
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Помогите с упорядочиванием опроса по RS-485

(вычеркнул написанное было подробное описание задачи - оставил только суть).

1) имеется туева хуча УВВ, подключенных к smh2G по шине RS-485 (их много, даже слишком много: при автоматическом опросе всех - время реакции системы становится больше 6 секунд - при рекомендованных НТД двух секундах).
2) по каждому УВВ программа отрабатывает следующий алгоритм "задание состояния выходов - ожидание установки выходов в самом УВВ - чтение состояния выходов и входов", при этом с контроллера вычитывается реальное состояние выходов (т.е. с заданным оно совпадет только тогда, когда все выходы установятся соответсвующим образом - это занимает до 200-300 мс. А даные со входов становятся достоверными только тогда, когда выходы установились в заданное состояние).
3) В карте памяти, соответственно, имеются три строчки: задание выходов, чтение выходов, чтение входов (запись/чтение выходов разделены на отдельные операции)

Что хочется получить:
а) сперва во всю туеву хучу УВВ только ЗАПИСАТЬ значения выходов (1 запрос - экономим время занятости шины, не формируя запросы чтения)
а') за время записи пройдет, думаю, с полсекунды - т.е. все выходы уже успеют установиться...
б) затем СЧИТАТЬ со всех УВВ состояние выходов и входов (1-2 запроса, в зависимости от того, как расположены их регистры).
б') скорее всего, корректными будут уже все считанные данные. Если какие-то некорректны - цикл ЧТЕНИЯ (и только он!) повторяется еще раз.
в) сравнение считанного состояния выходов с заданным, и, при их совпадении, "защелкивание" выходных данных для дальнейшей обработки.
естественно, после этого цикл повторяется.

Вопрос, собственно, такой:
как заставить выполняться отдельно сперва операции записи (Rout) для всех устройств, и, только после того - операции чтения (Rin) также для всех устройств.
Технически такое вообще возможно? И если да - то как?
ailcat вне форума   Ответить с цитированием
Старый 13.08.2014, 11:04   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
Вопрос, собственно, такой:
как заставить выполняться отдельно сперва операции записи (Rout) для всех устройств, и, только после того - операции чтения (Rin) также для всех устройств.
Технически такое вообще возможно? И если да - то как?
Запросы с периодом опроса 0. Вы полностью будете ими управлять.

Но запись без чтения невозможна. После записи будет автоматически следовать чтение. Затягивать во времени чтение не имеет никакого практического смысла.

Запросы с нулевым временем опроса группируются путём подключения входов строба к одному и тому же источнику.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 13.08.2014, 14:19   #3
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

1) а чтение без записи - возможно?

2) в моем случае - затягивание как раз имеет практический смысл: за то время, пока после записи - данные для прочтения становятся достоверными, я могу записать если не все - то многие УВВ. Зато все чтения, следующие сразу после записей - заведомо недостоверные, т.е. не имеют практического смысла.
То есть получается вдвое больший трафик (и бОльшая задержка в реакции системы) для той информации, которая нужна.

3) ну а при описанном вами раскладе - никакого смысла в управлении запросами нет, ибо что вручную, что в автомате - шина будет засираться лишними запросами к УВВ совершенно одинаково (в автомате только FBD проще выходит).
ailcat вне форума   Ответить с цитированием
Старый 13.08.2014, 14:37   #4
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Вопрос на основании вашего "низ-зя":

Как можно минимизировать цикл опроса ~40 штук УВВ по RS485.
В каждом записывается 1 переменная "выходы" Rout(int), и читаются 2 переменных "выход" и "входы", обе Rin(int). Запись/чтение разделены на две операции, т.к. это экономит трафик (у Овен МДВВ регистры чтения выходов и входов идут подряд и вычитываются одним запросом, а МДВВ на шине - большинство).
Разбежка "запрос-ответ" для МДВВ допустима в 15 мс, для ICP-DAS - 10 мс (т.е. наибольшая будет 15 мс).

Какой параметр периодичности опроса ставить (одинаковый для всех УВВ)?
5) 20 мс (заведомо больше паузы между запросом и ответом любого УВВ, но при этом совершенно не учитывающее число устройств на шине), и считать, что smh2G все равно сперва опросит все ~40 УВВ, и только потом вернется к первому
6) 20*40=800 мс (хм... "отфонарная" цифра получается)
7) считать время запроса, добавлять паузу 15 мс, и множить это число на число УВВ на шине?
ailcat вне форума   Ответить с цитированием
Старый 13.08.2014, 15:57   #5
Den
Сотрудник Segnetics
 
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
Вопрос на основании вашего "низ-зя":

Как можно минимизировать цикл опроса ~40 штук УВВ по RS485.
Как вариант поставить конвертер 232->485 и задействовать 2й порт контроллера.
Den вне форума   Ответить с цитированием
Старый 13.08.2014, 15:59   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
1) а чтение без записи - возможно?
Чтение холдингов/койлов? Конечно возможно. R(out)


Цитата:
Сообщение от ailcat Посмотреть сообщение
2) в моем случае - затягивание как раз имеет практический смысл: за то время, пока после записи - данные для прочтения становятся достоверными, я могу записать если не все - то многие УВВ. Зато все чтения, следующие сразу после записей - заведомо недостоверные, т.е. не имеют практического смысла.
То есть получается вдвое больший трафик (и бОльшая задержка в реакции системы) для той информации, которая нужна.
Почему недостоверны, если читаются только что записанные ячейки?



Цитата:
Сообщение от ailcat Посмотреть сообщение
3) ну а при описанном вами раскладе - никакого смысла в управлении запросами нет, ибо что вручную, что в автомате - шина будет засираться лишними запросами к УВВ совершенно одинаково (в автомате только FBD проще выходит).
Я написал своё мнение. Ваш выбор - что с ним делать


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

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

Цитата:
Сообщение от ailcat Посмотреть сообщение
Как можно минимизировать цикл опроса ~40 штук УВВ по RS485.
Самое эффективное - разделить опрос на два порта.

Далее правильно рассчитать тайм-ауты. И опрашивать только те переменные, которые нужны и только тогда, когда это нужно.

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


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 14.08.2014, 02:02   #8
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата
Сообщение от Den Посмотреть сообщение
Как вариант поставить конвертер 232->485 и задействовать 2й порт контроллера.
RS-232 занят другой задачей...

Цитата:
Сообщение от Arsie Посмотреть сообщение
Самое эффективное - разделить опрос на два порта
RS-232 занят другой задачей...
А добавить модуль расширения с RS-485 ваша компания сочла "априори нерентабельным"...

Цитата:
Сообщение от Arsie Посмотреть сообщение
Почему недостоверны, если читаются только что записанные ячейки?
Потому что у меня - матричный опрос (до 96 сухих контактов (реально используется не более 76) - и всего 1 УВВ с 12 входами и 8 выходами). Выходы формируют "строки", с которых на входы идут 12 "столбцов". На пересечениях - "сухой контакт". Соответственно, данные "столбцов" будут достоверны только тогда, когда активна заданная "строка".
Вот только у МДВВ оказался один большой минус перед М-7050: его выходы устанавливаются в заданное состояние не сразу, а с приличной задержкой (фиг их знает, почему так. Хорошо хоть чтение coils показывает их реальное состояние, а не то, что задано в Rout) - за это время (расчетно) успеют пройти 20-30 запросов к слейвам.
Увы, но Овеновский МДВВ подошел как нельзя лучше(на предусмотренное изготовителем щита место Овен встает хорошо, а вот ICP-DAS - впритык по высоте. Ну и тот факт, что один МДВВ заменяет два М-7050 при равной цене за штуку, имея при этом "бонусом" оптоизолированные входы-выходы - тоже играет роль).
Решение, предложенное "профессионалами" - по 8 штук М-7051 (модули 16-битных вводов) в отдельный ящик, который прикорячить над каждым из силовых щитов...


Цитата:
Сообщение от Arsie Посмотреть сообщение
Чтение холдингов/койлов? Конечно возможно. R(out)
Поясните, как - если они в одной карте слейва с установкой койлов? (МДВВ - это и ввод и вывод).
Впрочем, неактуально в силу ранее сказанного...


Цитата:
Сообщение от Arsie Посмотреть сообщение
Если у вас модуль вывода, то посылать ему запросы только когда нужно изменить состояние выхода. если модуль ввода, то посылать запросы с той частотой, которая реально достаточна алгоритму техпроцесса.
У меня не техпроцесс. У меня банальнейший "регистратор" температуры в 14 точках + состояния коммутационных аппаратов в силовых электрощитах "скромного" здания (естественно, с ведением журналов "включения/отключения" и алармов "выбивания/перегорания"). Крайне желательно было бы отправлять СМС при алармах, в идеале еще и иметь возможность поглядеть инфу с любого устройства через веб-браузер - так что "в дело" пойдет smh2Gi, но "вводно-регистрирующую" часть прекрасно можно отработать и на имеющемся для экспериментов 2G...
ailcat вне форума   Ответить с цитированием
Старый 14.08.2014, 09:51   #9
Den
Сотрудник Segnetics
 
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

2 ailcat
Могу в ядре 2G отключить чтение RW переменной после записи. Но только для переменных с периодом опроса 0. Т.о. Вы сможете сделать сначала отправку данных на запись для всех слейвов, потом чтение. Надо?
Den вне форума   Ответить с цитированием
Старый 14.08.2014, 10:36   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
У меня не техпроцесс. У меня банальнейший "регистратор" температуры в 14 точках + состояния коммутационных аппаратов в силовых электрощитах "скромного" здания (естественно, с ведением журналов "включения/отключения" и алармов "выбивания/перегорания"). Крайне желательно было бы отправлять СМС при алармах, в идеале еще и иметь возможность поглядеть инфу с любого устройства через веб-браузер - так что "в дело" пойдет smh2Gi, но "вводно-регистрирующую" часть прекрасно можно отработать и на имеющемся для экспериментов 2G...
Если у вас всего лишь регистратор, то зачем такое большое быстродействие? Ну опросите вы состояние автоматов за 5 секунд, а не за три. Что от этого изменится?

Вы все свои точки опроса можете разделить по приоритетам. Пускатели опрашивать почаще, автоматы пореже. Температуру ещё реже.

Насчёт сравнения МДВВ с М-7051 - так потому и цена у них разная, что характеристики разные.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 14.08.2014, 19:39   #11
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
Вот только у МДВВ оказался один большой минус перед М-7050: его выходы устанавливаются в заданное состояние не сразу, а с приличной задержкой.
Можно по подробнее описать эту замеченную Вами особенность? Как её увидеть? Я несколько лет работал с МДВВ, пока новая серия модулей не вышла, ни разу не замечал никаких задержек.


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 14.08.2014, 19:41   #12
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если у вас всего лишь регистратор, то зачем такое большое быстродействие? Ну опросите вы состояние автоматов за 5 секунд, а не за три. Что от этого изменится?
В 99,99% практических случаев - ничего. В оставшихся - нарушится хронология событий, и могут быть сделаны неверные выводы о причинах авариии. Впрочем, НТД рекомендует время реакции не более 2 секунд - а это все равно допускает нарушение хронологии. Так что - я пришел к тому же выводу: превышение цикла опроса не столь критично, как кажется.
P.S. Он, на деле, чуть больше чем регистратор, ну да не суть.


Цитата:
Сообщение от Arsie Посмотреть сообщение
Вы все свои точки опроса можете разделить по приоритетам. Пускатели опрашивать почаще, автоматы пореже. Температуру ещё реже.
Уже думал опрос столбцов вести по циклу 0-1-4-2-0-3-4-5-0-6-4-7 или даже 0-4-1-0-4-2-0-4-3-0-4-5-0-4-6-0-4-7 (где 0 и 4 - "алармовые" столбцы в матрице, а 1,2,3 и 5,6,7 - столбцы "текущего состояния"), если будет слишком долго опросить всю матрицу



Цитата:
Сообщение от Arsie Посмотреть сообщение
Насчёт сравнения МДВВ с М-7051 - так потому и цена у них разная, что характеристики разные.
Дык никто этого не отрицает. В моем случае применение бюджетного решения оправдано. Для кого-то - нет...
ailcat вне форума   Ответить с цитированием
Старый 14.08.2014, 19:56   #13
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от SMH Посмотреть сообщение
Можно по подробнее описать эту замеченную Вами особенность? Как её увидеть? Я несколько лет работал с МДВВ, пока новая серия модулей не вышла, ни разу не замечал никаких задержек.
связка "2G - МДВВ-К", вход подцеплен к выходу, скорость обмена 115200-8N1, все задержки по минимуму (15 мс, вроде, по паспорту).
На 2G крутится программа (тик - 20 мс) которая пишет R51 (маску выходов) и читает вторым запросом R50 (маску входов) и R51, вычисляя число тиков между отдачей команды на запись и получением "правильного" ответа.
Как-то так сложилось, что на "тестовом" экземпляре МДВВ-К входы начинают соответствовать выходам примерно через 300 мс (а R51 считанный соответствовать R51 отданному на запись - или так же, или на один тик раньше).

Сперва грешил на SMH2G - но выяснилось, что в случае М-7050 достоверный ответ получается уже на следующем тике (иногда - через тик, что вполне объяснимо огрехами несинхронности RS485 и FBD в самом smh2G)
ailcat вне форума   Ответить с цитированием
Старый 14.08.2014, 20:01   #14
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата
Сообщение от Den Посмотреть сообщение
2 ailcat
Могу в ядре 2G отключить чтение RW переменной после записи. Но только для переменных с периодом опроса 0. Т.о. Вы сможете сделать сначала отправку данных на запись для всех слейвов, потом чтение.
Один фиг, в карте памяти слейва есть и регистры на чтение, и регистры на запись. Т.е. воспользоваться предложением просто не получится. То есть - НЕ НАДО.
Но за готовоность это сделать - спасибо!
ailcat вне форума   Ответить с цитированием
Старый 14.08.2014, 20:14   #15
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
связка "2G - МДВВ-К", вход подцеплен к выходу, скорость обмена 115200-8N1, все задержки по минимуму (15 мс, вроде, по паспорту). ...... Как-то так сложилось, что на "тестовом" экземпляре МДВВ-К входы начинают соответствовать выходам примерно через 300 мс (а R51 считанный соответствовать R51 отданному на запись - или так же, или на один тик раньше).
Хм... Вообще-то в МДВВ есть специальный параметр - фильтр дребезга контактов. Он у Вас отключен?


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 15.08.2014, 13:34   #16
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от SMH Посмотреть сообщение
Хм... Вообще-то в МДВВ есть специальный параметр - фильтр дребезга контактов. Он у Вас отключен?
Если отключен - задержка ~300 мс. Если включен - то да, часто верным ответ становится на 20-40 мс позже (в паспорте написано, что максимальная частота изменения сигнала со скважностью 0,5 при включенном фильтре не должна превышать 90 Гц. 90 Гц - это ~11 мс).
НО: данный фильтр не коим боком не влияет на выходы...
ailcat вне форума   Ответить с цитированием
Старый 16.08.2014, 13:52   #17
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
связка "2G - МДВВ-К", вход подцеплен к выходу, скорость обмена 115200-8N1, все задержки по минимуму (15 мс, вроде, по паспорту).
На 2G крутится программа (тик - 20 мс) которая пишет R51 (маску выходов) и читает вторым запросом R50 (маску входов) и R51, вычисляя число тиков между отдачей команды на запись и получением "правильного" ответа/
Повторил сегодня Ваш эксперимент, задержку более, чем в 3 цикла (45мс) получить не удалось. Я что-то сделал не так?
Миниатюры
Нажмите на картинку для увеличения

Название:  Тест МДВВ1.jpg
Просмотров: 144
Размер:  169.1 Кбайт   Нажмите на картинку для увеличения

Название:  МДВВ ТЕСТ.JPG
Просмотров: 148
Размер:  115.1 Кбайт  


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 17.08.2014, 23:12   #18
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от SMH Посмотреть сообщение
Повторил сегодня Ваш эксперимент, задержку более, чем в 3 цикла (45мс) получить не удалось. Я что-то сделал не так?
Палюбому! У вас для соединения выходов со входами использованы неправильные провода!!! (я использовал "правильные", надёрганные из витой пары CAT5E)...
И (уже серьезно) - логика обработки у вас другая (я обошелся без математики). Но, при таком цикле - это уже не играет никакой роли.

А если серьезно - то такая разница в результатах могла возникнуть толкьо в одном случае: слишком большой разброс характеристик у разных экземпляров Овена (любопытно, почему?).

Если большинство всё-таки такие, как у вас - это есть гуд! Если как у меня - для моей задачи некритично... Но кому-то (вам?) однажды может подгадить (даже если это 1 экземпляр из 1000 - кто знает, кому он попадется и в какой проект встанет?)
ailcat вне форума   Ответить с цитированием
Старый 18.08.2014, 08:47   #19
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
такая разница в результатах могла возникнуть толкьо в одном случае: слишком большой разброс характеристик у разных экземпляров Овена (любопытно, почему?).
Хм... А Ваш тестовый проект не выложите? Проверю на своём модуле, может, Вы чё-нибудь там с запросами напутали?
Например:
Цитата:
Сообщение от ailcat
пишет R51 (маску вЫходов) и читает вторым запросом R50 (маску входов) и R51
Так вот, на самом деле, R51 - это маска входов, а R50 - маска вЫходов.
Это у Вас просто опечатка?


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 18.08.2014, 17:53   #20
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от SMH Посмотреть сообщение
Хм... А Ваш тестовый проект не выложите? Проверю на своём модуле, может, Вы чё-нибудь там с запросами напутали?
Не сохранял, но попробую воссоздать.

Да, R50/51 перепутал (скорее, не опечатка, а "оговорка"), а когда заметил - поправить форум уже не дал.
ailcat вне форума   Ответить с цитированием
Старый 18.08.2014, 20:44   #21
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
Не сохранял, но попробую воссоздать.
"Воссоздание" лишено смысла, так как если Вы вдруг (ну, случайно, всякое бывает ) накосячили с запросами в первый раз, далеко не факт, что Вы точно также накосячите во второй.
Если же за Вами косяков не было, то, на мой взгляд, подобные задержки могут быть связанны только с различием внутреннего ПО МДВВ.
У меня модуль не менее чем 4-х летней давности, с тех пор их ни разу не покупал, перешёл на новую серию. Насколько стар Ваш модуль?


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 19.08.2014, 02:45   #22
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
Cool Тестовая сборка smh2G - МДВВ

Дата выпуска моих:
smh2G - у меня примерно с весны 2011 (т.е. выпущен зимой 2010-2011 г.)
МДВВ-К -выпущен 09 июня 2014 года, (купил буквально неделю назад)

Картинки:
1) Насчет схемы - решил повторить вашу, но чуть по другому оформил (работоспособность не изменилась - можете проверить)
2) карта памяти - виден период опроса в 15 мс
3,4,5) фото экрана. Паршиво (снимал на телефон), но всё же видны задержки в ответе - 12, 8, 13 тиков...

UPD:
только выложив пост, обратил внимание: на скриншоте - 13 тиков, на 1-м и 3-м фото - мерцают 12 и 13 тиков (т.е. 240 и 260 мс задержка) и вдруг... на втором фото неожиданно маленькая цифра - всего 8 тиков (160 мс)... любопытненько, с какого перепуга (визуально текст после цифры задержки вроде не прыгает)...

UPD2:
неожиданно заметил, что Заданные значения, значения на выходах и значения на входах совпадают только на 2-м фото. Это, конечно, наверняка проблема быстродействия FBD-блоков screen и тормознутости камеры в телефоне, но вдруг они показывают правду?

Последний раз редактировалось Arsie, 22.05.2022 в 02:49 Причина: добавил "опупение" от 8 тиков на фоне 12-13, и второе "опупение" - от разницы в строчках...
ailcat вне форума   Ответить с цитированием
Старый 19.08.2014, 21:15   #23
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Тестовая сборка smh2G - МДВВ

Цитата:
Сообщение от ailcat Посмотреть сообщение
видны задержки в ответе - 12, 8, 13 тиков...
Фигня какая-то...
Покажите сетевые настройки МДВВ в конфигураторе.
И сетевые настройки слейва в SMLogix.


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 19.08.2014, 22:08   #24
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Тестовая сборка smh2G - МДВВ

Цитата:
Сообщение от ailcat Посмотреть сообщение
неожиданно заметил, что Заданные значения, значения на выходах и значения на входах совпадают только на 2-м фото.
А на вот это, в скрине Вашей программы, обратили внимание?
Миниатюры
Нажмите на картинку для увеличения

Название:  МДВВ.jpg
Просмотров: 138
Размер:  145.9 Кбайт  


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 19.08.2014, 22:51   #25
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Тестовая сборка smh2G - МДВВ

Цитата:
Сообщение от ailcat Посмотреть сообщение
Это, конечно, наверняка проблема быстродействия FBD-блоков screen и тормознутости камеры в телефоне, но вдруг они показывают правду?
Да, и ещё. Какой у Вас тип компоновки в SMLogix? Отладочная или рабочая?


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 20.08.2014, 07:50   #26
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

На скрине - не-а, не обратил. Но выглядит прикольно (пресловутая "иголка"?)

Конфигурация - естественно, отладочная (хм..., честно говоря, не задумывался... Но разве в рабочей контроллер отдает в комп состояние входов/выходов? я был уверен, что именно этим они и отличаются!).

Заскриншотить конфигуратор - проблема: не имею в наличии конвертера USB/RS-485, одалживать на стороне - не всегда можно.
Но уставки задавал как описано в паспорте и как писал выше
ailcat вне форума   Ответить с цитированием
Старый 20.08.2014, 21:46   #27
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
выглядит прикольно (пресловутая "иголка"?)
Не думаю... Возможно, это визуальные эффекты отладочной компоновки.
Цитата:
Сообщение от ailcat Посмотреть сообщение
Конфигурация - естественно, отладочная (хм..., честно говоря, не задумывался... Но разве в рабочей контроллер отдает в комп состояние входов/выходов? я был уверен, что именно этим они и отличаются!).
Нет. Отличаются они тем, что в отладочной компоновке можно с компа задавать состояния констант на входах FBD, а в рабочей, соответственно, нет. И ещё отладочная компоновка сильно тормозит (по словам Arsie, во всяком случае) - насколько сильно, я не знаю, редко её использую.
Может в ней дело? Завтра проверю свой МДВВ в отладочной компоновке.
Цитата:
Сообщение от ailcat Посмотреть сообщение
Заскриншотить конфигуратор - проблема: не имею в наличии конвертера USB/RS-485
А я - шашлычник. Без мангала и шампуров.


__________________
BANNED
SMH вне форума   Ответить с цитированием
Старый 21.08.2014, 02:09   #28
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от SMH Посмотреть сообщение
А я - шашлычник. Без мангала и шампуров.
Так и я - электрик (а не асушник).
И, это...
Куда подъезжать с мангалом и шампурами?
ailcat вне форума   Ответить с цитированием
Старый 05.09.2014, 09:43   #29
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата
Сообщение от Den Посмотреть сообщение
2 ailcat
Могу в ядре 2G отключить чтение RW переменной после записи. Но только для переменных с периодом опроса 0. Т.о. Вы сможете сделать сначала отправку данных на запись для всех слейвов, потом чтение. Надо?
Ден, "вопрос на засыпку". Если я правильно понял, период опроса - это переменная типа (int). То есть допустимый для задания период составляет от -32,768 до 32,767 секунд (исключая ноль, и, я так понимаю, игнорируя отрицательные значения)? Или всё-таки 1...65,535 секунд?
Если первое - то, быть может, имеет смысл "стандартное" ядро допилить так, чтобы при задании отрицательных значений они рассматривались как положительные, но после записи регистра - вычитывания записанных данных не происходило бы? И дать эту опцию как "фичу" в новой версии прошивки для 2G/2Gi/Pixel25?
Eсли (long) - то, думаю, это вообще фича из серии "must have"
ailcat вне форума   Ответить с цитированием
Старый 05.09.2014, 11:30   #30
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Помогите с упорядочиванием опроса по RS-485

Цитата:
Сообщение от ailcat Посмотреть сообщение
Ден, "вопрос на засыпку". Если я правильно понял, период опроса - это переменная типа (int). То есть допустимый для задания период составляет от -32,768 до 32,767 секунд (исключая ноль, и, я так понимаю, игнорируя отрицательные значения)? Или всё-таки 1...65,535 секунд?
Если первое - то, быть может, имеет смысл "стандартное" ядро допилить так, чтобы при задании отрицательных значений они рассматривались как положительные, но после записи регистра - вычитывания записанных данных не происходило бы? И дать эту опцию как "фичу" в новой версии прошивки для 2G/2Gi/Pixel25?
Eсли (long) - то, думаю, это вообще фича из серии "must have"
Счётчики внутри контроллера знаковые. Многовато пилить придётся.

Да и период опроса 32 секунды уже настолько редок, чтобы оказывать минимальное воздействие на трафик.

Если говорить об оптимизации трафика, то лично я не вижу разницы между 37 и 65 секундами.

Было бы 37 или 300/600 секунд - это да, есть хоть какая-то тема для обсуждения.


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

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

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чиллер STULZ карта опроса razerface Связь с внешним миром 9 26.08.2018 12:14
2gi - 485 - opc не работает помогите (решено) kostkost Связь с внешним миром 22 13.06.2017 11:20
Сеть 485 и Modbus soleg Вопросы о SMH-2G(i) 3 09.03.2016 10:33
COM1 и СОМ2 - порядок и время опроса lau Вопросы о SMH-2G(i) 1 14.01.2014 20:28
Проблемы со связь. Помогите разобраться. BBB36 Проблемы с панелями Weintek 2 12.01.2014 08:43


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


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