Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Twido Master, По 01h опрос идет, а по 04h - нет, ПОЧЕМУ?????
Dinf
сообщение 17.5.2013, 21:45
Сообщение #1





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Здравствуйте, уважаемые форумчане!

Я впервые на практике сталкиваюсь с реализацией мастера на твидо, но толмуты изучил.
В результате получается вот что:

Задачи: твидо (мастер порт 2 rs-485 Modbus RTU) должен опрашивать устройство-slave(трм138 ОВЕН). Опрашивать состояние выходных логических устройств и состояние входных значений измерителя.
В описание на трм написано что необходимые мне ф-ции 01h(остояние выходных логических устройств) и 04h (состояние входных значений измерителя).

В итоге родилась программка, как на картинке.

И получилось что при выполнении ф-ции 01 твидо опрашивает и получает ответ от трм (корректный ответ), а при выполнении 04h - глухо!
Я уже и со смещением и с регистрами, уже что только непробовал....
т.к. выполнение ф-ци 01 происходит корректно, то отсюда делаю вывод, что неправильно заполняю таблицу в твидо, но где понять не могу.


ОЧЕНЬ НАДЕЮСЬ, что вы меня ткнете, где и что я промухал, потому что голова кипит, а результата нет, а результат как всегда нужен вчера)!
Прикрепленные файлы
Прикрепленный файл  __________.png ( 28,96 килобайт ) Кол-во скачиваний: 31
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 17.5.2013, 23:02
Сообщение #2





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Второй запрос никогда не запустится, так как операторы у Вас вызываются при обработке предыдущего сообщения. Раньше в программе стоит вызов запроса на получения битов, позже на запрос регистров.
Один из вариантов решения проблемы сделать автомат состояний с каруселью последовательного вызова, типа такого:
- если у нас 0-й шаг и обработана предыдущая функция вызова - сделать шаг=1 и вызвать запрос на получение битов
- если у нас 1-й шаг и обработана пред. функц. вызова - сделать шаг=0 и вызвать запрос на получения регистров
Если устройств несколько то и карусель будет содержать не 2 шага а столько, сколько нужно запросов
Может я кое-что пропустил, не серчайте - ночь всё-таки ... :-)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dinf
сообщение 18.5.2013, 8:08
Сообщение #3





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Цитата(san @ 18.5.2013, 0:02) *
Второй запрос никогда не запустится, так как операторы у Вас вызываются при обработке предыдущего сообщения. Раньше в программе стоит вызов запроса на получения битов, позже на запрос регистров.
Один из вариантов решения проблемы сделать автомат состояний с каруселью последовательного вызова, типа такого:
- если у нас 0-й шаг и обработана предыдущая функция вызова - сделать шаг=1 и вызвать запрос на получение битов
- если у нас 1-й шаг и обработана пред. функц. вызова - сделать шаг=0 и вызвать запрос на получения регистров
Если устройств несколько то и карусель будет содержать не 2 шага а столько, сколько нужно запросов
Может я кое-что пропустил, не серчайте - ночь всё-таки ... :-)


Интересная ситуация, я думал вызов таких команд регулируется в твидо.

Если я Вас правильно понял, то получается так?

Сообщение отредактировал Dinf - 18.5.2013, 8:09
Прикрепленные файлы
Прикрепленный файл  __________.png ( 28,96 килобайт ) Кол-во скачиваний: 19
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 18.5.2013, 8:40
Сообщение #4





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



А что поменялось то? Где же карусель?
Конечно вызов таких команд регулируется Твидо. То есть, пока не выполнится один запрос - другой он не сделает (вроде). Но в Вашем случае, как только вернется ответ, Твидо запустит первый (врхний) Operate. Как только он запустится MSG2.D опять скинется.
Я Вас возможно удивлю, но Твидо дает возможность обмена даже если он Slave.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dinf
сообщение 18.5.2013, 9:49
Сообщение #5





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Цитата(san @ 18.5.2013, 9:40) *
А что поменялось то? Где же карусель?
Конечно вызов таких команд регулируется Твидо. То есть, пока не выполнится один запрос - другой он не сделает (вроде). Но в Вашем случае, как только вернется ответ, Твидо запустит первый (врхний) Operate. Как только он запустится MSG2.D опять скинется.


Прошу прощения за смуту, я не тот файл по запарке загрузил....



Цитата(san @ 18.5.2013, 9:40) *
Я Вас возможно удивлю, но Твидо дает возможность обмена даже если он Slave.


Действительно удивили. Т.е. если он по настроенному порту Slave может выполнять EXCH? И воспринимать ответные сообщения?

Я так подозреваю, что такое реально только в том случае, когда реальный мастер не подключен к сети.
И при формировании запроса твидо в slave выдает сообщение в сеть. Другой slave (ему в принципе все-равно кто отправил запрос) отправляет в сеть ответное сообщение, а твидо его ловит и воспринимает.


%S1 и %S0 - системные биты активные при "холодном" и "теплом" старте.
%S9 - отключение выходов.
Т.е. при первом пуске все выходы будут отключены.

Сообщение отредактировал Dinf - 18.5.2013, 10:02
Прикрепленные файлы
Прикрепленный файл  __________.png ( 53,49 килобайт ) Кол-во скачиваний: 25
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 18.5.2013, 10:10
Сообщение #6





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(Dinf @ 18.5.2013, 9:49) *
Действительно удивили. Т.е. если он по настроенному порту Slave может выполнять EXCH? И воспринимать ответные сообщения?
Я так подозреваю, что такое реально только в том случае, когда реальный мастер не подключен к сети.
И при формировании запроса твидо в slave выдает сообщение в сеть. Другой slave (ему в принципе все-равно кто отправил запрос) отправляет в сеть ответное сообщение, а твидо его ловит и воспринимает.

Я не знаю реальных причин зачем они так сделали. Меня когда-то ввело в ступор, что в Твидософт нельзя вобще выставить режим мастер. Если гипотетически мастер сделает паузу для обмена между слейвами (один из которых временно станет мастером) то можно построить гибридную модель. Но я точно таким извратом не занялся б, слишком много условностей.

А прога действительно должна быть где-то такая. Надо проверять.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dinf
сообщение 18.5.2013, 12:14
Сообщение #7





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Цитата(san @ 18.5.2013, 11:10) *
Я не знаю реальных причин зачем они так сделали. Меня когда-то ввело в ступор, что в Твидософт нельзя вобще выставить режим мастер. Если гипотетически мастер сделает паузу для обмена между слейвами (один из которых временно станет мастером) то можно построить гибридную модель. Но я точно таким извратом не занялся б, слишком много условностей.

А прога действительно должна быть где-то такая. Надо проверять.



СПАСИБО большое, san , Вы опять мне очень помогли!

В понедельник буду пробовать!!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dinf
сообщение 21.5.2013, 11:42
Сообщение #8





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Получилось все! Катастрофически времени не хватает, если кому интересно пришлю, пишите на cygikalo@mail.ru rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 21.5.2013, 12:27
Сообщение #9





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Проблему как решили, в 2-х словах объясните?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
vladun
сообщение 21.5.2013, 12:48
Сообщение #10





Группа: Участники форума
Сообщений: 3069
Регистрация: 6.9.2006
Пользователь №: 3907



Коллега San, а не желаете ли "веточку" по шнайдеровскому железу начать ?
Обещаю, что буду постоянным читателем, т.к мне импонирует Ваш стиль изложения науки wink.gif
Ау, модераторы, обратите внимание, если что.. !
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 21.5.2013, 13:37
Сообщение #11





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(vladun @ 21.5.2013, 12:48) *
Коллега San, а не желаете ли "веточку" по шнайдеровскому железу начать ?
Обещаю, что буду постоянным читателем, т.к мне импонирует Ваш стиль изложения науки wink.gif
Ау, модераторы, обратите внимание, если что.. !

Так есть спец форум http://forum.se-automation.in.ua/index.php . Да и Шнейдеровское железо мне только избирательно знакомо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Dinf
сообщение 21.5.2013, 14:00
Сообщение #12





Группа: New
Сообщений: 9
Регистрация: 25.1.2012
Пользователь №: 137440



Цитата(san @ 21.5.2013, 13:27) *
Проблему как решили, в 2-х словах объясните?


Проблема решилась так как Вы и предполагали!

Первый шаг опрос подчиненного устройства функцией 01h,
Второй шаг опрос подчиненного устройства функцией 04h,

Далее если шаг 1 выполнен, то активировать шаг 2.
Далее если шаг 2 выполнен, то активировать шаг 1.

Еще необходимо учитывать, чтобы не было ошибок (морганий) после считывания состояний катушек, устанавливать(set) или сбрасывать (reset) промежуточные переменные.

При опросе по первому порту необходимы: пин 1 (синий) - это А, пин 2(сине-белые) - это В, пин 5(оранжево-белый) и 7(зелено-белый) - это GND, в противном случает порт 1 работать не будет, твидо будет думать, что у него связь с твидосъют (пин 5 незаземлен), 7 пин зачем к земле еще не разобрался. но в букваре написано что надо заземлять.

Прошу прощенья, если что-то непонятно. При необходимости отвечу на любые вопросы (естественно если буду сам знать rolleyes.gif )

Еще раз СПАСИБО БОЛЬШОЕ san!!!!!!!!!!!!!!!
Прикрепленные файлы
Прикрепленный файл  ________________.png ( 50,46 килобайт ) Кол-во скачиваний: 19
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274



ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8


ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi

Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc

Последние сообщения Форума






RSS Текстовая версия Сейчас: 16.7.2025, 10:38
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных