|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
08.09.2017, 00:18 | #1 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
SMH2G + Modbus
День добрый.
Есть модуль SMH2G, в него закинута простейшая программа. Через Lectus OPC, посредством Modbus TCP смотрю значения. Наткнулся на один интересный момент. Если я, задаю значение 1, по адресу 00002, т.е. по таблице переменных Модбас в SMlogix'е, соответствует переменной OFF. Почему приходит 1 по адресу 10009! ( В lectus - ST_4)? Ведь согласно логике программы, значения не должны куда-либо приходить! Переменная не объявлена в таблице SMLogix. Тоже самое если я задам 1 модбас переменной OFF2, то у меня появиться значение на переменной ST_6 (Ей соответствует адрес 10011) |
08.09.2017, 00:31 | #2 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Та же ситуация если дать 1 на 1 адрес модбаса, то включиться согласно программе 10006, 10007 адреса и 10008 тоже получит единицу.
Откуда? В программе же нету никаких объявлений!? |
08.09.2017, 11:45 | #3 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Проблема повторяется? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
08.09.2017, 20:04 | #4 | |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
|
|
08.09.2017, 20:41 | #5 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
В других программах тоже групповой запрос?
__________________ RTFM |
08.09.2017, 21:45 | #6 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
совершенно верно.
откуда приходит сигнал на 10008, при включении 00001, я не могу понять. |
08.09.2017, 22:13 | #7 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Я тоже. Но, если группой запрос убрать, то лектус выдаёт ошибку для несуществующих переменных Coil и Input status.
__________________ RTFM |
09.09.2017, 00:37 | #8 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
|
11.09.2017, 04:13 | #9 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Тем временем, вопрос остается актуальным.
|
11.09.2017, 11:44 | #10 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Проект для 2G и конфиг лектуса дайте, пожалуйста. Потому что я создал по скриншотам - и у меня контроллер в любой ситуации, когда я кидаю ему запрос на несконфиженные регистры - даёт ошибку, как и положено. Соответственно, лектус ничего не может сделать с этим.
__________________ В сегнетиксе не работаю с самого начала 2019 года. Последний раз редактировалось Arsie, 11.09.2017 в 12:08 |
11.09.2017, 13:52 | #11 | |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Input status групповой запрос: нет ошибок, не групповой: отсутствующие в проекте переменные - ошибка. Coil групповой запрос: чтение - нет ошибок, запись - ошибка, не групповой: отсутствующие в проекте переменные - ошибка. Input register групповой запрос: ошибка всей группы переменных, не групповой: отсутствующие в проекте переменные - ошибка. Holding Register групповой запрос: чтение - нет ошибок, запись - нет ошибок, не групповой: чтение - нет ошибок, запись - нет ошибок. __________________ RTFM |
|
11.09.2017, 13:52 | #12 | |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
|
|
11.09.2017, 13:59 | #13 | |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
Опять же, никто не просит вас что-либо посылать на регистры. 00001/00002 10006/10007/10008/10009 адреса 3*** и 4*** не используются в данном случае. |
|
11.09.2017, 14:08 | #14 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Ну если так ставить вопрос, так и вас никто не заставляет читать переменные не присутствующие в проекте Лоджика Ну да, просто стало интересно как они работают.
__________________ RTFM |
11.09.2017, 14:15 | #15 | |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
На данный момент вопрос именно о переменных которые там есть. Модбас протокол сильно регламентирован и если мне какое-либо устройство дает непонятный сигнал даже там где мне это не нужно и/или это не прописано в инструкции к прибору - это плохо. Поэтому почему включаются 10008/10009 немного непонятно. |
|
11.09.2017, 15:14 | #16 | |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Согласен - хорошего мало. __________________ RTFM |
|
11.09.2017, 15:24 | #17 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Вы нарушаете регламент. И, как следствие, ломаете себе голову абсолютно бесполезной для вас информацией. Контроллер волен работать как хочет, главное чтобы на объявленных переменных были корректные данные. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.09.2017, 15:44 | #18 | |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
Ещё раз, включается переменная на которую нету ссылок в программе. Вопрос, почему? Если я записываю 1 по адресу 10001, то это должно быть 10001, а не 10001 + 10002. Логично же. |
|
11.09.2017, 15:48 | #19 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Вы определитесь, вы её "объявляете" или "нет ссылок в программе". Это антонимы. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.09.2017, 15:51 | #20 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Это каким образом вы сможете проделать такое в Лоджике?
__________________ RTFM |
11.09.2017, 16:05 | #21 | ||
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Цитата:
Подключил вход/выход к FBD-блоку, выполнил условие где используется данная переменная - использовал переменную / дал на нее ссылку / и т.п. Для примера в ООП: int VALUE = 15; - объявление переменной if VALUE ... - ссылка на переменную в программе. Цитата:
Но вот если я не выполняю это условие, то этот адрес не будет получать 1. Тем самым, рассматривая изначальную ситуацию, объясняю: - когда я записываю единицу на 1 адрес, ожидаю включения адреса 2, а у меня вместе с ним включает адрес 3, который в программе не используется и не объявлен, я понимаю что либо ошибка в программе, либо в адресе, либо...? |
||
11.09.2017, 16:17 | #22 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Я даже не знаю, что с вами делать. Просто в тупике. Беру тайм-аут подумать. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.09.2017, 16:22 | #23 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Которая не имеет ни типа, ни адреса, до тех пор пока не А программе как-то всё равно, что там на адресе который не используется.
__________________ RTFM |
11.09.2017, 16:27 | #24 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
Вот на этом конфиге получается повторить, да вот только по логу обмена не очень мне понятно, откуда лектус берёт на том адресе число. Ведь контроллер не даёт по этим адресам никаких данных.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
11.09.2017, 16:29 | #25 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
__________________ RTFM |
11.09.2017, 16:31 | #26 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
|
11.09.2017, 16:32 | #27 |
Member
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: SMH2G + Modbus
отлично, теперь осталось понять почему и откуда. Я грешу на таблицу переменный в Лоджике. К тому же, обновился он у меня перед всеми этими делами... Может на старых версиях Лоджика все норм?
|
11.09.2017, 16:36 | #28 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 122
Благодарил(а): 15 раз(а)
Поблагодарили:
661 раз(а) в 605 сообщениях
|
Ответ: SMH2G + Modbus
Начнём с самого начала.
1) Готовим программу. См. первый рисунок - обратите внимания, переменные не имеют адреса 2) Объявляем переменные. См. второй рисунок - обратите внимание, переменные получают адреса 3) Грузим в контроллер, настраиваем лектус по мануалу, добавляя несуществующие фейковые переменные 4) Объявленные читаются, фейковые - нет 5) Объявленные читаются, фейковые - нет Весь софт последних версий. Кроме лектуса. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
11.09.2017, 16:37 | #29 | |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Так же. PS. Кстати, не поделитесь где можно скачать вашу версию Modbus Look? __________________ RTFM |
|
11.09.2017, 16:39 | #30 | |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: SMH2G + Modbus
Цитата:
Сам посмотрел уже в конфигурации Лектуса: выключен. А вы попробуйте включить. __________________ RTFM Последний раз редактировалось New, 11.09.2017 в 16:50 |
|