HMI_панель на Андроиде

HMI_панель на Андроиде - KaScada
Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#401

Сообщение Rovki » 23.05.2016{, 22:15}

Если есть в доме смартТВ ,то можно легко продублировать работу Каскады на ТВ (только отображение)
Вложения
4061574.jpg
Последний раз редактировалось Rovki 23.05.2016{, 22:17}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#402

Сообщение Rovki » 24.05.2016{, 18:00}

Можно работать на каскаде ,а в фоновом режиме вести наблюдение за помещением, установив соответствующее приложение -для охраны :oнормально .
Извиняюсь за пыль на клаве -делал ремонт и снимал

Добавлено (24.05.2016, 18:00)
---------------------------------------------
Rovki писал(а):Прикрепления: 4531258.jpg(120Kb)
Собачка в роли подопытного оператора смотрит на Каскаду ,а я ее вижу на ноутбуке .
Вложения
4531258.jpg
Последний раз редактировалось Rovki 23.05.2016{, 22:29}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
hrach
Сержант
Сообщения: 258
Зарегистрирован: 17.09.2015{, 11:05}
Репутация: 13
Откуда: Самара
Имя: Грачик
Контактная информация:

HMI_панель на Андроиде

#403

Сообщение hrach » 24.05.2016{, 22:18}

[video][/video]

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#404

Сообщение Rovki » 24.05.2016{, 23:28}

Спасибо за видео ,Грачик !Может в настройках планшета есть настройка тачскрина ,его чувствительности ..
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#405

Сообщение support » 25.05.2016{, 00:38}

Я наконец то отладил работу нового модбаса (осталось работа по причёсыванию интерфейса) и попробовал по тестировать каскаду. Сразу скажу - новый модбас представляет собой реализацию классического полного промышленного стандарта. То есть есть отдельные области памяти для Discrete Inputs, Coil, InputRegistors, Holding registors. Это обоснованно тем что у меня есть планы по созданию датчиков и исполнительных устройств выстаиваемых в промышленные системы и там это важно. Из за такой организации памяти возникли некоторые проблемы с Каскадой. Кстати эти проблемы возникнут у неё и при попытке работать с любой системой на "правильном" модбасе.
В чём суть проблемы. Я так понимаю у Вас в программе общая область регистров без разделения на типы. В цикле программы Вы сначала записываете изменённые данные (заданные с помощью задатчиков) в слейвы с помощью функции 6 (то есть в область HoldingRegisters) а потом считываете все регистры с помощью функции 2 (то есть из области Input Registers). Вот тут и засада. Если для индикатора все более менее хорошо (создаём в слейве InputRegistr с нужным адресом и пишем в него необходимое значение), то с задатчиком всё намного сложнее. Поскольку Вы пишете функцией 6, то и создавать надо Holding Register c нужным адресом. Хорошо создаём, и пишется в него всё нормально. Но читать то Вы пытаетесь InputRegistr (функция 2). А InputRegist -а с таким адресом нет. Соответственно на задатчике постоянно висит значок ошибки (модбас при попытке прочитать не существующий адрес возвращает ошибку).  Иди вообше в InputRegistr с таким адресом находятся совершенно левые данные (тогда задатчик приклеется к значению этого входа и его не сдвинеш - то же экспериментировал).
Вариантов решения этой проблемы два.

Первый - костыль для FLProg и он не поможет в случае настоящего устройства - в программе FLProg создать Holding registr и Input Registr  с одним адресом и переписывать значение из Holding registr в Input Registr. Проверенно - работает. Но в случае настоящего промышленного контроллера это не прокатит. Там InputRegistors жёстко привязаны к железным аналоговым входам и ничего в него записать нельзя.

Второй - несложный, снимает практически все проблеммы но требует работы разработчиков Каскады. Пускай каскада работает только с Holding Registrs. То есть читайте не с помощью функции 2 а с помощью функции 3. Все проблемы снимутся, и даже при переходе программы FLProg на новый модбас старые проекты созданные для Каскады будут продолжать работать.

Надеюсь на понимание разработчиков Каскады. Если что то непонятно -задавайте вопросы
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#406

Сообщение Rovki » 25.05.2016{, 00:57}

support писал(а):Но в случае настоящего промышленного контроллера это не прокатит
ПЛК овен и ПР Овен -промышленные контроллеры ,наши отечественные на них и ориентируемся .Овен крупнейшая в России компания и старейшая (25лет) .С ними Каскада работает прекрасно .

https://ru.wikipedia.org/wiki/Modbus
Хотя то же брали импортный ПЧВ (частотник) и там области разнесены ,а как имп. ПЛК надо глядеть ..
Вложения
5752730.jpg
Последний раз редактировалось Rovki 25.05.2016{, 01:06}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#407

Сообщение support » 25.05.2016{, 01:10}

Я конечно понимаю что Вы ориентируетесь на Овен. Но с другой стороны есть стандарт Modbus.
Да и Вам собственно говоря работы не много. В коде в одном месте поменять 2 на 3. Формат запроса при этом не меняется (для обеих областей он одинаковый), а проблема снимется. Кстати к тому же частотнику подключится сможете, да и к оборудованию ABB (у них с модбасом строго - это они авторы модбаса) без проблем.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#408

Сообщение Rovki » 25.05.2016{, 01:24}

support писал(а):Но с другой стороны есть стандарт Modbus.
Я же подчеркнул ,что это вроде  как уже не стандарт :D
(разделение) ,кто как хочет тот так и делает .Зачем нам АВВ ,на свои то ПЛК денег не хватает .К стати ,кроме железа есть и ОПС и СКАДА в том числе от ИНСАТ.Они прекрасно поддерживают Овен ПЛК и ПР.
В любом случае обсужу с Программистом ,что можно и нужно ли делать .На сегоднешний день Каскада работает с ардуино ,пЛк ,пр ...

Добавлено (25.05.2016, 01:24)
---------------------------------------------
И ардуиншики похоже идут этим же путем (совмещение областей)
https://habrahabr.ru/post/249043/
Вложения
5194139.jpg
Последний раз редактировалось Rovki 25.05.2016{, 01:19}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#409

Сообщение support » 25.05.2016{, 01:24}

Ну вообще то даже в OPC сервере от Овен предусмотрено разбиение на области.



А Вы позиционируете себя вроде как Скада. Я честно говоря не видел не одной скады или ОПС сервера которые работали бы только со совмещёнными областями.
Вложения
6319844.jpg
Автор программы FLProg.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#410

Сообщение support » 25.05.2016{, 01:27}

Rovki писал(а):И ардуиншики похоже идут этим же путем (совмещение областей)
Это просто самый простой и лёгкий путь. Но накладывает некоторые ограничения. Для создания библиотеки - самое то. Но честно говоря - я нормально работающую библиотеку так и не нашёл - пришлось писать драйвер самому.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#411

Сообщение Rovki » 25.05.2016{, 01:30}

support писал(а):Я честно говоря не видел не одной скады или ОПС сервера которые работали бы только со совмещёнными областями.
Ну я же дал скрин ОПС от ИНСАТ .Пишу например ,по адресу 200 ,а читаю 201 регистр из ПР .а не 30000 и 40000
может тут что то http://www.masterscada.ru/product...._UG.pdf
Последний раз редактировалось Rovki 25.05.2016{, 01:45}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#412

Сообщение support » 25.05.2016{, 01:51}

ПР - слейв - у него да совмещённые области. Но OPC сервер - всегда мастер. Он может работать как с совмещёнными областями так и с разделёнными. И в приведённом скриншоте выбрана область Holding Registr.

При создании тега можно было выбрать и другую область. В случае работы с ПР например при выборе области InputRegistrs c адресом 201 Вы получили бы те же данные, а при работе с полным модбасом - другие (значения с аналогового входа 201).

Но Каскада работает ТОЛЬКО с объединёнными областями. То есть с тем же частотником она работать не сможет. Вы не сможете прочитать значения входов частотника (это область DiscreteInputs и они читаются с помощью функции 2 ) , подать еденичку на цифровой выход частотника (область Coil запись - функция 5). Да и задать например с каскады скорость вращения частотника не получится, особенно если заданная скорость лежит где то в Holding registr по адресу 1 а на первый аналоговый вход например подано для контроля входное напряжение.

Для чего это нужно. Ну например классно было бы на RS485 частотника повесить Сокет-3М, подойти с планшетом, и посмотреть состояние частотника, изменить скорость и т.д. Сейчас это сделать невозможно. Мир промышленных устройст не ограничивается только ПР.

P.S. В предыдущих комментариях я ошибся - Каскада читает не функцией 2 а функцией 4. Вот её в идеале надо бы изменить на 3.
Вложения
2215317.png
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#413

Сообщение Rovki » 25.05.2016{, 01:58}

Цитата support ()200?'200px':''+(this.scrollHeight+5)+'px');">И в приведённом скриншоте выбрана область Holding Registr. Так она не выбирается пользователем ,вот и выхода сюда же
Вложения
2751189.jpg
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#414

Сообщение support » 25.05.2016{, 02:02}

Ну и напоследок.
Разделённые области встречаются в основном в законченных устройствах не предусматривающих возможности программирования собственной логики. Как то частотные преобразователи, блоки контроля двигателей, измерительные преобразователи, блоки чтения цифровых или аналоговых  входов (например серия ADAM от Advantech). У них InputRegistrs, DiscreteInputs, Coils жёстко привязянны к входам -выходам, а в HoldingRegisters находятся настоечные данные
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#415

Сообщение Rovki » 25.05.2016{, 02:05}

И вообще запись\чтение в задатчиках (переключатель ,цифровой задатчик и аналоговый) сделана для обратной связи .Что бы визуально было видно не то что хотел задать(записать) ,а то что реально ушло слейву (чтение)..Особеноо для мобильной панели ,а то включил пуск и выключил каскаду (ушел) ,а кто то питание установки выключил .Включаем Каскаду и видим реальное положение переключателя ,а не установленное ранее .
Последний раз редактировалось Rovki 25.05.2016{, 02:10}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#416

Сообщение support » 25.05.2016{, 02:05}

Rovki писал(а):Так она не выбирается пользователем ,вот и выхода сюда же
Все правильно, HoldingRegistr и Coil позволяют читать и писать в себя.
Но ведь там не только HoldingRegistrs можно выбрать при создании тега, но и на входах по моемe можно выбрать ещё и DisctreteInputs и InputRegistr.
Автор программы FLProg.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#417

Сообщение support » 25.05.2016{, 02:09}

Rovki писал(а):И вообще запись\чтение в задатчиках (переключатель ,цифровой задатчик и аналоговый) сделана для обратной связи .Что бы визуально было видно не то что хотел задать(записать) ,а то что реально ушло слейву (чтение)..
Я это понимаю. Но если вы пишете в HoldingRegistr то логично было бы и читать оттуда. А Вы совершенно неожиданно читаете с аналогового входа . Я конечно понимаю что для ПР это без разницы, Но вед Вы пытаетесь быть универсальным решением.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#418

Сообщение Rovki » 25.05.2016{, 08:08}

support писал(а):А Вы совершенно неожиданно читаете с аналогового входа
Я не понимаю о каком аналоговом входе речь ...
Если мы записали в какой то регистр данные и потом их прочитали ,значит физически это одна и та же ячейка памяти раз они совпали ....При этом физический адрес этой ячейки может быть каким угодно(со смешением) .Кроме того ,в ПР ,например сетевая переменная находится в ОЗУ и при выключении питания они переписываются в энергонезависимую память ,а при включении вновь считывается из ретейн области ...
Сегодня вечером попробует протестить с другой функцией и сообщим о результатах .
Последний раз редактировалось Rovki 25.05.2016{, 08:56}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

HMI_панель на Андроиде

#419

Сообщение support » 25.05.2016{, 18:05}

Rovki писал(а):Я не понимаю о каком аналоговом входе речь
Повторюсь. Вы пишете в раздел HoldingRegisters (перевод - Регисторы хранения), а читаете из InputRegistors (перевод -Входные регистры - в соответствии со стандартом подразумевается что в них хранятся значения считанные с аналоговых входов). Для ПР с совмещёнными областями это конечно значения не имеет, но ПР это не единственный контроллер на свете, а вот для устройств с разделёнными областями это имеет очень даже большое значение.

Ребята, если Вы пытаетесь создать универсальную Скаду работающую по модбасу, неплохо было бы разобраться с базовыми вещами, а не работать методом тыка в один единственный контроллер.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

HMI_панель на Андроиде

#420

Сообщение Rovki » 25.05.2016{, 18:26}

support писал(а):Ребята, если Вы пытаетесь создать универсальную Скаду работающую по модбасу, неплохо было бы разобраться с базовыми вещами, а не работать методом тыка в один единственный контроллер.
Сергей ,я не программист и тонкостей модбаса не знаю ,для этого есть другой человек Kascada .Я ставлю задачу ,а он реализует .Поэтому тыка нет .С самого начала ставилась задача работы с отечественными ПР,ПЛК и она успешна решена .Потом появилась идея работать с ардуино и ФЛПрог ,она так же была решена ,правда на старой реализации модбаса .О каком тыке речь? Я просто как электронщик не понимаю некоторых ваших программистких штучек (и не скрываю это) .Для меня есть физический адрес ячейки памяти ,знаю о том что есть разные способы адресации ,индексная ,косвенная к ячейкам памяти ...И способы адресации к ячейкам памяти внутри МК не соответствуют способам адресации в модбасе к этим ячейкам ,ввиду того что адресное пространство памяти условно разбито на 4 области ,которые закреплены за входами\выходами битными и рабочими регистрами .Знаю что Функция в модбасе жестко определяет с чем мы работаем и какую операцию хотим проделать и тд...А все подробности знает непосредственный исполнитель-писатель  Каскада .Сегодня он проверит ваше предложение и если оно будет работать с ПР и ПЛК Овен как раньше ,но при этом будет работать и ФЛпрог ,то мы внесем изменения.Если нет ,то вносить не будем ,нам отечественное ближе и дороже ,как и предполагаемые отечественные пользователи.
Последний раз редактировалось Rovki 25.05.2016{, 18:55}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Ответить

Вернуться в «HMI_панель на Андроиде - KaScada»