FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Воскресенье, 04.12.2016, 09:11
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 28 из 91«1226272829309091»
Модератор форума: Rovki, support, KaScada 
Форум » Основной » HMI_панель на Андроиде - KaScada » HMI_панель на Андроиде (Подключаем планшет\смартфон к Ардуино для визуализации)
HMI_панель на Андроиде
Rovki Дата: Вторник, 24.05.2016, 23:28 | Сообщение # 406
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Спасибо за видео ,Грачик !Может в настройках планшета есть настройка тачскрина ,его чувствительности ..

Электронщик до мозга костей и не только
 
support Дата: Среда, 25.05.2016, 00:38 | Сообщение # 407
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Я наконец то отладил работу нового модбаса (осталось работа по причёсыванию интерфейса) и попробовал по тестировать каскаду. Сразу скажу - новый модбас представляет собой реализацию классического полного промышленного стандарта. То есть есть отдельные области памяти для 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 Дата: Среда, 25.05.2016, 00:57 | Сообщение # 408
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Цитата support ()
Но в случае настоящего промышленного контроллера это не прокатит

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

https://ru.wikipedia.org/wiki/Modbus
Хотя то же брали импортный ПЧВ (частотник) и там области разнесены ,а как имп. ПЛК надо глядеть ..
Прикрепления: 5752730.jpg(162Kb)


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Среда, 25.05.2016, 01:06
 
support Дата: Среда, 25.05.2016, 01:10 | Сообщение # 409
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Я конечно понимаю что Вы ориентируетесь на Овен. Но с другой стороны есть стандарт Modbus.
Да и Вам собственно говоря работы не много. В коде в одном месте поменять 2 на 3. Формат запроса при этом не меняется (для обеих областей он одинаковый), а проблема снимется. Кстати к тому же частотнику подключится сможете, да и к оборудованию ABB (у них с модбасом строго - это они авторы модбаса) без проблем.


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 01:24 | Сообщение # 410
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Цитата support ()
Но с другой стороны есть стандарт Modbus.
Я же подчеркнул ,что это вроде  как уже не стандарт :D
(разделение) ,кто как хочет тот так и делает .Зачем нам АВВ ,на свои то ПЛК денег не хватает .К стати ,кроме железа есть и ОПС и СКАДА в том числе от ИНСАТ.Они прекрасно поддерживают Овен ПЛК и ПР.
В любом случае обсужу с Программистом ,что можно и нужно ли делать .На сегоднешний день Каскада работает с ардуино ,пЛк ,пр ...

Добавлено (25.05.2016, 01:24)
---------------------------------------------
И ардуиншики похоже идут этим же путем (совмещение областей)
https://habrahabr.ru/post/249043/

Прикрепления: 5194139.jpg(268Kb)


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Среда, 25.05.2016, 01:19
 
support Дата: Среда, 25.05.2016, 01:24 | Сообщение # 411
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Ну вообще то даже в OPC сервере от Овен предусмотрено разбиение на области.



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


Разработчик программы FLProg
 
support Дата: Среда, 25.05.2016, 01:27 | Сообщение # 412
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Rovki ()
И ардуиншики похоже идут этим же путем (совмещение областей)
Это просто самый простой и лёгкий путь. Но накладывает некоторые ограничения. Для создания библиотеки - самое то. Но честно говоря - я нормально работающую библиотеку так и не нашёл - пришлось писать драйвер самому.


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 01:30 | Сообщение # 413
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Цитата support ()
Я честно говоря не видел не одной скады или ОПС сервера которые работали бы только со совмещёнными областями.
Ну я же дал скрин ОПС от ИНСАТ .Пишу например ,по адресу 200 ,а читаю 201 регистр из ПР .а не 30000 и 40000
может тут что то http://www.masterscada.ru/product...._UG.pdf


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Среда, 25.05.2016, 01:45
 
support Дата: Среда, 25.05.2016, 01:51 | Сообщение # 414
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
ПР - слейв - у него да совмещённые области. Но OPC сервер - всегда мастер. Он может работать как с совмещёнными областями так и с разделёнными. И в приведённом скриншоте выбрана область Holding Registr.

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

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

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

P.S. В предыдущих комментариях я ошибся - Каскада читает не функцией 2 а функцией 4. Вот её в идеале надо бы изменить на 3.
Прикрепления: 2215317.png(598Kb)


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 01:58 | Сообщение # 415
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Цитата support ()
И в приведённом скриншоте выбрана область Holding Registr.
Так она не выбирается пользователем ,вот и выхода сюда же
Прикрепления: 2751189.jpg(247Kb)


Электронщик до мозга костей и не только
 
support Дата: Среда, 25.05.2016, 02:02 | Сообщение # 416
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Ну и напоследок.
Разделённые области встречаются в основном в законченных устройствах не предусматривающих возможности программирования собственной логики. Как то частотные преобразователи, блоки контроля двигателей, измерительные преобразователи, блоки чтения цифровых или аналоговых  входов (например серия ADAM от Advantech). У них InputRegistrs, DiscreteInputs, Coils жёстко привязянны к входам -выходам, а в HoldingRegisters находятся настоечные данные


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 02:05 | Сообщение # 417
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
И вообще запись\чтение в задатчиках (переключатель ,цифровой задатчик и аналоговый) сделана для обратной связи .Что бы визуально было видно не то что хотел задать(записать) ,а то что реально ушло слейву (чтение)..Особеноо для мобильной панели ,а то включил пуск и выключил каскаду (ушел) ,а кто то питание установки выключил .Включаем Каскаду и видим реальное положение переключателя ,а не установленное ранее .

Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Среда, 25.05.2016, 02:10
 
support Дата: Среда, 25.05.2016, 02:05 | Сообщение # 418
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Rovki ()
Так она не выбирается пользователем ,вот и выхода сюда же
Все правильно, HoldingRegistr и Coil позволяют читать и писать в себя.
Но ведь там не только HoldingRegistrs можно выбрать при создании тега, но и на входах по моемe можно выбрать ещё и DisctreteInputs и InputRegistr.


Разработчик программы FLProg
 
support Дата: Среда, 25.05.2016, 02:09 | Сообщение # 419
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Rovki ()
И вообще запись\чтение в задатчиках (переключатель ,цифровой задатчик и аналоговый) сделана для обратной связи .Что бы визуально было видно не то что хотел задать(записать) ,а то что реально ушло слейву (чтение)..
Я это понимаю. Но если вы пишете в HoldingRegistr то логично было бы и читать оттуда. А Вы совершенно неожиданно читаете с аналогового входа wacko . Я конечно понимаю что для ПР это без разницы, Но вед Вы пытаетесь быть универсальным решением.


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 08:08 | Сообщение # 420
Генерал-лейтенант
Группа: Модераторы
Сообщений: 804
Награды: 15
Репутация: 11
Статус: Online
Цитата support ()
А Вы совершенно неожиданно читаете с аналогового входа
Я не понимаю о каком аналоговом входе речь wacko ...
Если мы записали в какой то регистр данные и потом их прочитали ,значит физически это одна и та же ячейка памяти раз они совпали ....При этом физический адрес этой ячейки может быть каким угодно(со смешением) .Кроме того ,в ПР ,например сетевая переменная находится в ОЗУ и при выключении питания они переписываются в энергонезависимую память ,а при включении вновь считывается из ретейн области ...
Сегодня вечером попробует протестить с другой функцией и сообщим о результатах .


Электронщик до мозга костей и не только

Сообщение отредактировал Rovki - Среда, 25.05.2016, 08:56
 
Форум » Основной » HMI_панель на Андроиде - KaScada » HMI_панель на Андроиде (Подключаем планшет\смартфон к Ардуино для визуализации)
Страница 28 из 91«1226272829309091»
Поиск:

FLProg © 2016
Яндекс.Метрика