Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ОТКРЫТЫЕ ФОРУМЫ / OPEN FORUMS » TRACE MODE 6 бесплатная версия / TRACE MODE 6 Free version » Связь TM 6.10 с PLC Simulator Panel (Schneider electric) по ModBus TCP (новичок) (Страница / Page 1)

  Этот топик включает в себя следующие страницы /
This topic is comprised of pages 1  2 
 
Автор / Author Тема / Topic: Связь TM 6.10 с PLC Simulator Panel (Schneider electric) по ModBus TCP (новичок)
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 5 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Хочу создать симулятор работы TM 6.1 с ПЛК Modicon BMX 340. Создал программу в Unity Pro XL v.8.0, опробовал - работает. Программа простая на запуск насоса при достижении верхнего уровня в емкости. Запускаю симулятор, загружаю программу, пишу ТМ простенький проект для опроса входов и выходов, запускаю профайлер, там через Меню "Вид - Панель МРВ" просматриваю данные - всё по нулям, никаких изменений.
В ТМ в Источниках/Приемниках создал 4 группы группы MODBUS в каждой по 101 компонентов соответственно Rout_Byte(1), Rin_Byte(2), Rout_Word (3), Rin_Word(4). В параметрах компонентов указал IP 127.0.0.1 (пробовал и 192.168.0.101 и 192.168.0.101:502, такой адрес высвечивается когда наводишь мышь на PLC Simulator). Каналы указывал и от 0 до 100 и от 40000 до 40100. Ничего не помогает не могу получить данные.  -

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Встроенный Modbus-драйвер в Trace Mode 6 поддерживает стандартные команды Modbus RTU и TCP.
Специальных настроек для конкретных моделей контроллеров, поддерживающих стандарт Modbus, не требуется.
Стандартные настройки продемонстрированы в наших видеоуроках http://www.adastra.ru/products/drivers/modbus/.
Ознакомьтесь с ними, пожалуйста.

Мы не имеем возможности изучать системы программирования производителей контроллеров и организацию базы их Modbus-переменных.
Надо изучать документацию на контроллеры и информационную базу конкретной пользовательской программы, загруженной в контроллер.

Какой точно IP-адрес имеет контроллер ПЛК Modicon BMX 340?
Каков IP-адрес ПК, на котором работает профайлер Trace Mode 6?

Задайте в "Источниках":
- в поле "Адрес" - номер контроллера в сети Modbus (номер не должен быть равен 0),
- в поле "IP-адрес" - TCP=<IP-адрес контроллера>;

При запуске узла под управлением профайлера на отладочной "Панели МР" в окне "Компоненты" можно посмотреть значения каналов, участвующих в Modbus-обмене, и признаки достоверности в атрибуте 4.
В окне "Системные сообщения 1" при неудачных попытках коннекта к устройству должны быть соответствующие сообщения.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Видеоуроки просмотрел спасибо. Поле "Адрес" у меня действительно равно нулю, не знаю даже откуда взять, в настройках ничего подобного нет, можно только IP задать. Попробую получше поискать.
Значения каналов так и просматриваю на отладочной "Панели МР" в окне "Компоненты", за подсказку о признаке достоверности в атрибуте 4 спасибо.

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Если в настройках номера контроллера в Вашей утилите нет никаких данных, попробуйте задать во всех "Источниках" "Адрес"=1.
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Четвертый атрибут "I" у меня он равен "_Т" это что означает? Какие значения он может принимать?
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
_T - достоверно.
_F - недостоверно.

Если "Источник" задан формально корректно, в папке узла должен автоматически создаваться файл tcp_modbus.
В этом файле должны быть записаны корректные параметры для коннекта к контроллеру.
В этом случае признак достоверности информативен.
При неудачных попытках коннекта должны быть соответствующие сообщения в окне "Системные сообщения 1".

Если файла tcp_modbus нет или в нем некорректные записи, попыток коннекта не будет и признак достоверности будет _T (не информативен).

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Я правильно понял Вас, что мне надо теперь в принципе в первую очередь следить после запуска профайлера содержимое файла "tcp_modbus"? Я нашел его в папке с одноименным именем проекта, но он пустой.
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Урааа появилось содержимое! При IP 192.168.0.101!
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Корректность файла tcp_modbus - условие для успешного обмена необходимое, но не достаточное.
Надо правильно задать IP-адрес контроллера, его номер, функции Modbus, адреса Modbus-переменных.
Если файл tcp_modbus корректный, например,
UNIT=1
PORT=502
TCP=192.168.12.120
TMOUT=0
THMAIN;
FRMT=DEFAULT

можно контролировать корректность "достаточных" условий по сообщениям в окне "Системные сообщения 1" и признаку достоверности канала.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
IP переписал как 192.0.168.101:502 (хотя и фале "tcp_modbus" уже порт то указан "PORT=502"), всё равно содержимое файла "tcp_modbus" не меняется, причём я пробовал задать адрес вместо 1 как 2 в фале появилось уже UNIT=2 вместо UNIT=1, но как только задал IP как 127.0.0.1 то содержимое файла стало пустым!
Что то не понятно насчёт адресации по в ModBus RTU. Это что контроллер отвечает на все адреса кроме 0?

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Интересный баг (если это конечно баг) обнаружил. Если задавать IP адрес в поле "клема" конечно же автоматом такой же адрес появится и в поле "SRVR", но файл "tcp_modbus" будет пустым! А вот если адрес как положено вбивать в в поле "SRVR", то будет всё нормально!
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
1. Согласно нашей документации, формат записи адреса и порта:
TCP=127.0.0.1[:502];
По умолчанию номер порта принимается 502.
При таком формате записи вводить можно в любом из полей "Клемма(+)" или "SRVR" - результат будет один и тот же.

2. По стандарту Modbus RTU (связь по последовательному интерфейсу) SLAVE должен отвечать/подтверждать только на запросы/команды, содержащие его реальный номер в сети Modbus RTU.

3. Команда/Запрос с 0-м номером устройства считаются широковещательными. Все устройства обязаны принимать такую команду/запрос, но не отвечать на них.
Соответственно МАСТЕР, пославший такую команду/запрос, не ожидает ответа и не принимает его, если он придет.

4. При обмене по TCP использование номера устройства для фильтрации принимаемых устройством запросов/команд не является обязательным. Но распознавание широковещательных запросов/команд - обязательно.
Будет ли устройство отвечать на запросы/команды, содержащими произвольные (не равные 0) номера устройств, зависит от настроек конкретного устройства.
Если в Вашем случае контроллер отвечает на запросы с любыми номерами устройств (не равными 0), это не является нарушением стандарта.
Если устройств в проекте несколько (с разными IP-адресами), желательно в проекте задавать им разные номера.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Я нашел где выставлять адрес MOdBus RTU устройства, теперь точно знаю что его адрес №1. У меня несколько вопросов.
1. После переноса источников MODBUS в RTM свойства каналов меняются, вообще становятся HEX16 (а что это кстати означает?) и разрядность становится - 16, а формат становится "аналоговый". Мне надо считывать дискретный сигнал 1 битовый, ну возможно он будет храниться как 1 байтовый.
2. Я читал что в стандарте ModBus есть 4 стандартные команды опроса на чтение состояния: 1) выходных битов 2) входных битов 3) входных регистров (16 бит) 4) выходных регистров (16 бит). Также есть стандартные команды на запись: 1) выходных битов 2) выходных регистров (16 бит). Какие компоненты источников/приемников в ТМ им соответствуют?

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Из нашей документации:
" Rout_Byte(1) – считать байт данных типа out (номер дополнения к подтипу – 1);
Rin_Byte(2) – считать байт данных типа in (номер дополнения к подтипу – 2);
Rout_Word(3) – считать слово данных типа out (номер дополнения к подтипу – 3);
Rin_Word(4) – считать слово данных типа in (номер дополнения к подтипу – 4);
W_SingleCoil(5) – передать значение одного дискретного сигнала (номер дополнения к подтипу – 5);
W_Word(6) – передать слово данных (номер дополнения к подтипу – 6);
Rout_Float(3) – считать 4-байтовую переменную с плавающей точкой типа out (номер дополнения к подтипу – 8);
Rin_Float(4) – считать 4-байтовую переменную с плавающей точкой типа in (номер дополнения к подтипу – 9);
W_Float(16) – передать 4-байтовую переменную с плавающей точкой типа out (номер дополнения к подтипу – 10);
W_Word(16) – передать слово данных (номер дополнения к подтипу – 11);
W_Byte(15) – для каналов HEX 16 – передать 1 байт данных, для каналов HEX32 – передать 4 байта (номер дополнения к подтипу – 14); "

При этом надо особо обратить внимание на то, что запросы по функциям Rout_Byte(1) и Rin_Byte(2) считывают сразу 8 последовательных битов, начиная с того бита, который задан в "Источнике", залинкованном на канал HEX16.
Считывание и запись аналоговых параметров стандартного формата FLOAT осуществляются двумя последовательными регистрами, поэтому адресование последовательных аналоговых переменных должно идти через 1 (например, адреса 0, 2, 4 и т.д.).

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
1. После переноса источников MODBUS в RTM свойства каналов меняются, вообще становятся HEX16 (а что это кстати означает?) и разрядность становится - 16, а формат становится "аналоговый".
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Какие функции Modbus Вы используете в слое "Источники/Приемники"?

Как Вы их настраиваете?

Как "переносите" "Источники" в узел RTM?

Где "формат становится "аналоговый""?

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Пробую использовать разные - Rout_Byte(1); Rin_Byte(2).
Настраиваю - адрес - 1; тип протокола - TCP/IP, направление - INPUT; формат - дискрет; IP-адрес - 127.0.0.1:502. Далее создаю аналоги по "Создать по шаблону". Далее "Редактировать" Источник приемник, что бы открыть всю таблицу (в общем всё по вашим обучающим видео). Ну а там редактирую "CH" заданием диапазонов.
Перенос по принципу драг анд дроп (как по вашим обучающим видео) в RTM. Вот там то они и становятся каналами типа "Канал_HEX16". Далее если в эти каналы зайти (проще всего нажав "Редактировать" на перенесенную группу, она у меня называется к примеру "MODBUS_Rin_Byte", то там и видно что поле "Формат" у всех становится как "Аналог".

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
1. В предыдущем посте было указано, что "функции Rout_Byte(1) и Rin_Byte(2) считывают сразу 8 последовательных битов, начиная с того бита, который задан в "Источнике", залинкованном на канал HEX16".
Таким образом, Вы получили именно то, что и должно быт. Хотя по умолчанию канал HEX16 имеет разрядность 16 бит, считываться в него будет 8 бит в его младший байт.

2. Столбец "Формат" при редактировании группы каналов не функционален, это издержки унификации таблиц редакторов разных объектов.

IP-адрес лучше задать в виде
TCP=127.0.0.1;
Порт 502 можно не задавать, он такой задается по умолчанию.

У Вас все получилось правильно.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо за "У Вас все получилось правильно." Но мне очень важен результат. И мне не важно почему я не могу получить данные с Симулятора Untity Pro... меня уже терзают смутные сомнения что симулятор не работает и не отдает данные или и вовсе отсутствует на связи. Я подумываю найти программу для проверки соединения по ModBus TCP с симулятором.
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
1. Убедитесь, что в папке узла есть файл tcp_modbus и он не пуст. Примерное содержание файла
UNIT=1
PORT=502
TCP=192.168.12.16
TMOUT=0
THMAIN;
FRMT=DEFAULT

2. Загрузите узел профайлером.

3. Откройте "Панель МРВ".

4. В окне "Компоненты" выделите атрибут, например, [5]Frq любого канала.

5. В нижнем поле с именем Frq введите DEBUGON=400

6. Запустите узел на исполнение.

7. Откройте окно "Протокол 1".

В окне будут сообщения об ошибках обмена.

См. "Отладка проекта/Профайлер с поддержкой графических экранов/Панель МРВ/Вкладка 'Протокол 1'".

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Следует учитывать, что IP-адрес 127.0.0.1 имеет специальное назначение (http://www.genon.ru/GetAnswer.aspx?qid=3b50fc97-15d9-4b3f-b213-2fe6638e6af7) и для ординарной сетевой связи в локальной сети использоваться не должен.
Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Извините что устроил вам вынос мозга. Всему виной моя не внимательность, я думал при запуске профайлера и ТМ он автоматически запускается, а оказалось надо ещё его запустить. Всё работает. Данные приходят и уходят. Единственное что сейчас под вопросом у меня как вытаскивать битовые данные - действительно считывается целый байт и надо как то выделить из него составные биты.
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
1. У канала HEX16 есть атрибуты Бит1, Бит2 и т.д.
Они доступны как для считывания, так и для записи.
Поэтому при привязке, например, аргументов экранов или программ можно привязываться непосредственно к этим атрибутам.
2. Кроме того, если речь идет об отображении на экране, можно использовать метод динамизации ГЭ, использующий маски, например, " Arg & Конст.", при привязке к РЕАЛЬНОМУ_ЗНАЧЕНИЮ.
3. И в программе можно при необходимости использовать маскирование на языках ST и/или FBD или функциональные блоки распаковки/упаковки байтов и слов. Аргумент программы также привязывается к РЕАЛЬНОМУ_ЗНАЧЕНИЮ.

При использовании методов по п.п.2 и 3 количество аргументов в шаблоне можно существенно сократить.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Как по учебному видео https://youtu.be/rUfJx5AvgpM?list=PLffDwaSgFH0TqIv9yoVXBpmh0VclbQ9QK&t=160 не получается:
1. Двойным кликом не открывается графический экран на редактирование. Приходится открывать правым кликом свойства экрана.
2. Не могу перенести во вкладку "Аргументы" свойств экрана компонент из канала. Здесь сразу параллельный вопрос - нужно ли отдельно создавать в RTM группу "Каналы" и затем перетаскивать туда по одному компоненту из группы MODBUS-Источник. Или же перенесённая в RTM из Источников группа MODBUS со всеми компонентами будет функционировать также?

Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Илдар
Junior Member / Новичок
Участник № / Member № 6981


Icon 1 отправлено / posted      Профиль для / Profile for Илдар           Редактировать/удалить сообщение / Edit/Delete Post 
Ещё вопрос. У меня при создании нового проекта не предлагает так же как на видео https://youtu.be/ehMoULetB8c?list=PLffDwaSgFH0TqIv9yoVXBpmh0VclbQ9QK&t=67 выбор типа проекта - "Простой", "Стандартный", "Комплексный". Это нормально?
Сообщения / Posts 17 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
  Этот топик включает в себя следующие страницы /
This topic is comprised of pages 1  2 
 

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2