Форум Zentec

Программное обеспечение => Вопросы по zWorkbench => Частые вопросы => Тема начата: mike от 31 марта 2016, 09:38:03

Название: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 09:38:03
Предисловие:
Первый раз я симулировал, когда мне было лет 17.
Моя девушка хотела меня удивить и "приготовила" пирог.
Изображать восторг от кулинарного шедевра у меня получилось, но с трудом.

Девушка давно уже скрылась за горизонтом. Где-то в глубине памяти я еще могу услышать, как раскатистым майским громом летел недоеденный пирог в утробу мусоропровода под наш с ней обоюдный смех до колик.
А вот желание симулировать осталось со мной до сих пор.

Тема этой статьи - симуляция сетей и отладка в симуляторе взаимодействия распределенных систем.

-------
Редакция от 15-02-2017

Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 10:26:51
В этой статье я расскажу, как создать объекты симуляции, как их объединить в сеть и как отлаживать устройства в симуляторе и на "живом" ПЛК.

Будем идти медленно и по шагам. Давно хотел эту статью написать.

Сейчас рассмотрим симулятор и отладку простого проекта.
Итак, создаем проект и какую-либо простую программу, например, местное и дистанционное управление освещением.

Представление программы в картинках ниже
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 11:33:35
Теперь надо проверить полученную программу в симуляторе.
Для этого создадим упрощенное сетевое представление и создадим отладочный экран (виртуальный прибор).

005 - упрощенное сетевое представление
006 - создаем экран отладки

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

007 - создание секции в разделе документов, смена фона, импорт файлов кнопок, установка кнопки на сцену
008 - установка изображения для кнопки
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 14:25:25
Теперь привяжем полученную кнопку к программе - ПКМ "Добавить подключение"

009 - Добавление подключения кнопки к входу контроллера Uin1. Режим управления входом из симулятора.

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

010 - сигнализатор выхода, два изображения в разных слоях. Сдвинул изображения для наглядности. Можно и в одном слое, но в разных очень удобно

011 - Подключаем управление видимостью второго изображения

012 - заключительный важный штрих. Связываем главный экран отладки с главной программой.
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 15:04:56
Переходим в режим симуляции.
Запускаем симулятор.
Вызываем окно главного отладочного экрана (Жук пока)
Переходим в многооконный режим отладки (окно-разделить)
Радуемся результату.

На сегодня все.
В следующий раз мы свяжем этот проект с реальным контроллером. И будем отлаживать один вход аппаратно, а второй из симулятора.
Так же свяжем реальный контроллер с виртуальным.
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 31 марта 2016, 15:22:55
Круто! Работает!
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 15:36:23
А вот можно ли отладить в 400 через 450 - не помню.
В любом случае можно воспользоваться этой шпаргалкой и отладить в виртуале.
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 15:36:59
Цитата: VoronovMaksim88 от 31 марта 2016, 15:36:04
Всё же работает, но не стабильно, иногда Z400 не видит приходится перезагружать обе машины по питанию и тогда связь появляется. Но что мне понравилось, отладка программы сервера прекрасно работает одновременно с вьювером.
А тебе надо ядро обновить у 450.
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 31 марта 2016, 15:57:53
Цитата: mike от 31 марта 2016, 15:36:23
А вот можно ли отладить в 400 через 450 - не помню.

Можно !!! Проверил !!!
Название: Re: Симуляция по-мужски
Отправлено: mike от 31 марта 2016, 16:00:51
Вот будущее и наступило. Стерта грань между реальностью и виртуалом))))
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 01 апреля 2016, 16:03:47
Целый час пытался запустить эмуляцию сети. Потом напряг мозг и понял, что правильная модель сети для эмуляции должна выглядеть как на скриншоте. И заработало !!! Если кому интересно, проект в прикрепе. ОС WinXP.
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 01 апреля 2016, 16:48:26
Я тут подумал... Если уж действительно симулировать по-взрослому, то надо добавить возможность симуляции панели z033. .теоретически это можно сделать имеющимися средствами. Но правильнее чтоб это было отдельное неизменяемое устройство со своим одним единственным отладочным экраном, который полностью повторял бы внешний вид панели.
Название: Re: Симуляция по-мужски
Отправлено: mike от 01 апреля 2016, 17:10:25
А панель можно подключить к физическому порту ПК и общаться с ней из симулятора.
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 01 апреля 2016, 18:55:40
Да, но ведь мы говорим про симуляцию по-мужски  ;)
Уж симулировать так симулировать !!!
Название: Re: Симуляция по-мужски
Отправлено: mike от 01 апреля 2016, 22:20:08
Кто предложил тот и пишет)))
С тебя логика с меня визуализация)))
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 02 апреля 2016, 03:21:04
Думаю это один человек должен делать. Попробую.
Название: Re: Симуляция по-мужски
Отправлено: mike от 02 апреля 2016, 07:26:53
У панели логика не сложная)))
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 12 апреля 2016, 15:03:55
Никак не могу запустить симуляцию Z400+Z401. Прошу поглядеть проект и ткнуть меня носом что я не так делаю. Перепробовал разные варианты подключения, либо нет ошибки и переменная не читается, либо возвращает ошибку 16, либо ошибку 23.
Название: Re: Симуляция по-мужски
Отправлено: VoronovMaksim88 от 18 апреля 2016, 04:26:32
До чего дошёл прогресс.

Подключил Z033 к Z400. Но памяти для отладки не хватает. Думаю как бы опросить хотя бы основные переменные. Хотел сперва сторонний OPC прикрутить.

А потом загрузил программу в Z400. Подключил в сеть Z450 им опрашиваю все переменные из Z400 которые мне нужны, но при этом реально Z450 в сеть не подключен, он работает в режиме симуляции. Таким образом у меня в сети два реальных и одно виртуальное устройство. Работает пока без сбоев. И при этом можно сразу вести отладку верхнего уровня на смартфоне или ПК.
Название: Re: Симуляция по-мужски
Отправлено: mike от 18 апреля 2016, 06:55:16
А в бытность контроллеров Zt-233 симулятор был вообще единственным средством отладки. И тоже умел многое.
Название: Re: Симуляция по-мужски
Отправлено: Tyumentsev от 27 мая 2020, 15:28:52
Не пойму как симулировать сеть. Скачал тот пример, запустил, что только не делал, не приходят данные. Есть другой рабочий пример.
Название: Re: Симуляция по-мужски
Отправлено: mike от 27 мая 2020, 18:13:01
Используйте встроенные виртуальные порты
Название: Re: Симуляция по-мужски
Отправлено: Tyumentsev от 01 июня 2020, 07:37:56
Все делаю как описано выше, не пойму почему не работает. Проверьте в проекте, что не так?
Название: Re: Симуляция по-мужски
Отправлено: mike от 01 июня 2020, 09:40:35
Саш, привет!
Дьявол в деталях. Ты все верно сделал, кроме одного пункта.
На обоих виртуальных портах поставь галочку "Разделять порт..."
номера TCP портов должны быть одинаковыми