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

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

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

#421

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

Извините, я ни коим образом не хотел Вас обидеть. Знание модбаса никоим образом не относится к "программистским штучкам". Программисты как раз ничего о нём не знают (и это плохо - найти нормальную библиотеку для модбаса очень сложно, да и просто эмулятор слейва или мастера для ПК нормальный то же не очень просто - есть куча но все работают через одно место ). Протокол модбас  - это чисто АСУ-шная заморочка. Ему обучают на курсах асушников. Вы как я понял - инженер разработчик АСУ (по крайней мере мне показалось что в ОЛ вы очень хорошо разбираетесь). Но Вы работаете только с Овеном. И поэтому задания своим программистам даёте в разрезе Овена. Мне по специфике своей работы (кроме основной работы я ещё и фрилансем занимаюсь разработкой систем асу и сотрудничаю с нескольким фирмами) пришлось работать с оборудованием практически  всех известных производителей. И наших и отечественных. И я просто хотел Вам дать совет как сделать Вашу программу максимально универсальной. В этом у меня то же есть свой интерес. Я с удовольствием использовал бы её в своих проектах. Очень интересная связка получается при использовании Сокет-3М и Каскада. Пока к сожалению это проблемма. У меня заказчики предпочитают либо Зелио, либо S7-1200. У Зелио при запросе InputRegistrs вывалится ошибка. С S7-1200 немного другая ситуация - там профинет, но можно подцепить модуль модбаса. Я с ним пока не работал (пока профинета хватает), но с появлением каскады появились идеи.

Если вы смените функцию с 4 на 3 для ПР ничего не изменится (области то объедены, да и сейчас и работает только благодаря этому),  но при этом каскада начнёт работать и с устройствами с раздразнёнными областями, но только с областью HoldingRegisters.

Конечно в идеале я могу посоветовать такую реализацию задания выбора адреса для каскады:

1.Элементы только с чтением бита (индкатора с битовым управлением, тексты...) выбор областей:
1.1 Coil - задаётся непосредственно адрес номера флага. Чтение производится функцией 1
1.2 DiscreteInput - задаётся непосредственно адрес номера флага. Чтение производится функцией 2
1.3 HoldingRegistr - задаётся адрес регистра и номер бита (как сейчас). Чтение производится функцией 3
1.4 InputRegistr - задаётся адрес регистра и номер бита. Чтение производится функцией 4.
По умолчанию устанавливается HoldingRegistr (что бы текущим пользователям было привычнее). Для устройств с объединёнными областями (и для ПР) изменение выбора не будет иметь значения, за исключением расчёта адреса. Например при запросе  Coil или  DiscreteInput с адресом 17 будет  читаться 2 бит из ячейки память с адресом 1. То же что и задать HoldingRegistr  или InputRegistr  адресом 1 и номером бита 2. Но появится возможность читать необходимые данные из устройств с разделёнными областями. Это относится и к следующим типам элементов.

2. Элементы с заданием бита (кнопки, переключатели ...) выбор областей:
2.1. Coil - задаётся непосредственно адрес номера флага. Запись производится  функцией 5, чтение производится функцией 1.
2.2 HoldingRegistr - задаётся адрес регистра и номер бита (как сейчас). Запись производится  функцией 6, чтение производится функцией 3

3. Элементы только с чтением цифровых значений (Шкала, график ....) выбор областей:
3.1. HoldingRegistr - задаётся адрес регистра (как сейчас). Чтение производится функцией 3
3.2. InputRegistr - задаётся адрес регистра . Чтение производится функцией 4.

4.Элементы с записью цифрового значения (задатчик) Только одна область  - HoldingRegistr - задаётся адрес регистра  (как сейчас). Запись производится  функцией 6, чтение производится функцией 3

Если удастся сделать такую реализацию, то каскада станет действительно универсальной, подходящий для ЛЮБЫХ устройств имеющих модбас. При этом для ПР ничего не изменится. Передайте пожалуйста эти выкладки своему программисту, пускай посмотрит.

P.S. И ещё раз меня извините, если я Вас обидел. Я просто хотел помочь.
Автор программы FLProg.

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

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

#422

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

Спасибо,Сергей за предложения ,я их передам и все что нужно сделаем ...Потому как заинтересован . :D
Для меня все кто пишет код -программисты и не важно системный или прикладной
https://ru.wikipedia.org/wiki....1%D1%82
Последний раз редактировалось Rovki 25.05.2016{, 22:13}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

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

#423

Сообщение KaScada » 25.05.2016{, 22:32}

support писал(а):Передайте пожалуйста эти выкладки своему программисту, пускай посмотрит.
я внимательно слежу.
3ю функцию уже сделал, потестирую еще завтра с остальным оборудованием ОВЕН и ПЧВ innovert, но и так уверен на 99% что должно работать.

По сути я думаю всем тем компонентам, которые читают надо дать выбор функции и всё, только разделить на битовые и регистры.
Для всех кто читает БИТЫ даём выбор 1 или 2.
Для всех кто читает РЕГИСТРЫ даём выбор 4 или 3.
Запись выбирать нет смысла.
Таким образом мы покроем всё разнообразие ведь так?
Последний раз редактировалось KaScada 25.05.2016{, 22:37}, всего редактировалось 1 раз.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

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

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

#424

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

Rovki писал(а):Для меня все кто пишет код -программисты и не важно системный или прикладной
Тут не совсем код..... Не знаю, входит ли в Ваши обязанности настройка ОПС серверов, но по моему входит. Возмём такой пример. Надо настроить ОПС для системы. Пока у вас в системе только ПР, всё хорошо, для всех тэгов в ОПС выбираем HoldingRegisters и всё. Но вот в системе появился измерительный преобразователь (живой пример, недавно систему делал - это преобразователь, со входов читает напряжение, ток,  и ещё внутри кучу расчётов делает и отдаёт всё по модбасу, кстати Российского производства). И что делать. Значения входных данных у него находятся в InputRegisters адресам 0 - 6 (три напряжения и три тока), ну а в HolldingRegistrs по адресам 0 - по моему 20 (точно не помню) находятся расчётные значения (активная мощность, реактивная мощность, cos f, частота и т.д). Обратите внимание на адреса. И как настраивать ОПС без знания разделения областей памяти? А теперь представьте что поставлена задача подключить этот преобразователь к ПР который является мастером и с помощью него прочитать например напряжение и использовать его в логике. Что Вы будете делать. Звать программиста? Он про ОЛ скорее всего ничего не знает. А Вы не знаете про области памяти. Тупик?

Так что как я и говорил - это не программистские заморочки а что ни на есть самые наши - АСУ-шные
Автор программы FLProg.

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

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

#425

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

support писал(а):самые наши - АСУ-шные
Программист АСУ ТП , прикладной программист итд итп :D
Я сам себе ставлю задачу ,поэтому ни кому не обязан ,уже давно ...кроме семьи .

Добавлено (25.05.2016, 22:56)
---------------------------------------------
KaScada писал(а):По сути я думаю всем тем компонентам, которые читают надо дать выбор функции и всё, только разделить на битовые и регистры.Для всех кто читает БИТЫ даём выбор 1 или 2.
Для всех кто читаетРЕГИСТРЫ даём выбор 4 или 3.
И получим HMI MODBUS .Пользователь Каскада не должен ни о чем таком догадываться ,о  функциях и прочих модбасов .Его задача пальчиком поставить компонент, назначить адреса которые в проекте (ПР,ПЛК ,Ардуино) и работать ... B)Вам программистам только дай волю ,завтра все кукарекать будут
Последний раз редактировалось Rovki 25.05.2016{, 22:59}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

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

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

#426

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

KaScada писал(а):Для всех кто читает БИТЫ даём выбор 1 или 2.Для всех кто читает РЕГИСТРЫ даём выбор 4 или 3.
Прежде всего не надо делать выбор функции (1, 2, 3....) - отпугнёт. Это как раз "программистские" заморочки. Асушники ничего не знают о них. Они знают области -"Входы" цифровые или аналоговые (DiscreteInput или InputRegisters), "Выходы" (Coil) и регисторы хранения (HoldingRegistrs). А на уровне драйвера уже работа программиста выбрать нужную функцию.
Насчет чтения и записи битов из HoldingRegistrs - я бы такую возможность оставил. Дело вот в чём. На примере контроллера Зелио (и не только него а ещё и по моему у Mitsubisi такая система) записать какое то полученное в работе контроллера битовое значение (например наличие какой ни будь аварии) можно только в бит HoldingRegistrs. Так же отправить один бит (например команду на пуск) можно то же только через бит HoldingRegistrs. А этих регистров у Зелио всего два . В область DiscreteInput  у этих контроллеров заведены значение считываемые с железных входов, а железные выходы (и только они) управляются областью Coil. Так что возможность записи битов (например кнопка квитирования аварии запомненной в контроллере) в область HoldingRegistrs мне кажется необходима, как и чтение бита из этой области.

Ну а чтением и записью регистров я согласен. Только не выбор функции а выбор области. Ну и естественно для задатчиков если пишем в область HoldingRegistrs (функцией 6) то и для контроля читаем функцией 3. Если пишем в Coil (функцией 5) то и для контроля читаем функцией 1
Автор программы FLProg.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#427

Сообщение OlegAn1962 » 26.05.2016{, 11:40}

Поясните плиз настройки компонента архивации, как привязаться к каналам, какой указывать начальный регистр, почему в адресе надо указывать бит регистра? Можно пример архивации 100 случайных целых чисел с записью времени появления каждого числа?
Последний раз редактировалось OlegAn1962 26.05.2016{, 11:44}, всего редактировалось 1 раз.

Аватара пользователя
KaScada
Лейтенант
Сообщения: 388
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 13
Контактная информация:

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

#428

Сообщение KaScada » 26.05.2016{, 12:30}

OlegAn1962 писал(а):Поясните плиз настройки компонента архивации, как привязаться к каналам, какой указывать начальный регистр, почему в адресе надо указывать бит регистра? Можно пример архивации 100 случайных целых чисел с записью времени появления каждого числа?
Пример к сожалению пока не смогу сделать, hc05 мой занят пока.
Тип данных - думаю понятно, единственное поясню, FLOAT требует 2 регистра (4 байта), int - беззнаковый, один регистр.
Кол-во - сколько необходимо записывать значений, они должны располагаться в ардуино последовательно.
Начальный регистр - с какого регистра писать.

Пример.
В ардуино есть 4 int с адресами модбас 1,2,3 и 4.
Вы хотите все 4 писать, значит кол-во ставите равное 4, тип INT, начальный ставите равный 1, тоесть с первого четыре штуки.
Запись произойдет по переднему фронту от указанного бита в адресе, тоесть вы записью можете управлять как вам удобно, случилась аварийная ситация, установили в ардуино этот бит, архив записал 1 раз указанные значения.
Если хотите непрерывно писать, то организуйте блинкер (генератор или мультивибратор) в ардуино и дёргайте бит, но тут каскада должна успевать опрашивать этот бит, а это зависит напрямую от сложности проекта и количества опрашиваемых регистров в целом на этом сетевом устройстве.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

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

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

#429

Сообщение Rovki » 26.05.2016{, 21:47}

OlegAn1962 писал(а):почему в адресе надо указывать бит регистра?
Это управляющий бит регистра -внешнее событие для Архива ,по которому происходит запись переменных в архив .

Добавлено (26.05.2016, 21:47)
---------------------------------------------
Скоро обновится Каскада до версии 3.1.5 -доработан модбас .
Электронщик до мозга костей и не только

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#430

Сообщение OlegAn1962 » 27.05.2016{, 09:42}

Спасибо за пояснения, с Integer получилось, а с Float ничего в архив не записывает, или не отсылает.

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

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

#431

Сообщение Rovki » 27.05.2016{, 16:02}

а какие адреса у ваших флоат переменных ?
Электронщик до мозга костей и не только

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#432

Сообщение OlegAn1962 » 27.05.2016{, 17:09}

2 и 3
$IMAGE1$
Последний раз редактировалось OlegAn1962 27.05.2016{, 17:10}, всего редактировалось 1 раз.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#433

Сообщение OlegAn1962 » 27.05.2016{, 17:11}

Для скачивания вложений Вы должны быть зарегистрированы.

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

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

#434

Сообщение Rovki » 27.05.2016{, 17:19}

А вы можете задать флоат константу и отправить на каскаду в архив ?для проверки ...,например 5,1

Добавлено (27.05.2016, 17:19)
---------------------------------------------
И где и как в проекте вы задаете бит управления архива ,без него записи в архив не будет
Электронщик до мозга костей и не только

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#435

Сообщение OlegAn1962 » 27.05.2016{, 17:55}

Этот блок каждую секунду отправляет байт 00000001 на модбас

Адрес у переменной led 1, соответственно для архива в каскаде задаю сигнал для записи 1.1
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось OlegAn1962 27.05.2016{, 18:00}, всего редактировалось 1 раз.

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

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

#436

Сообщение Rovki » 27.05.2016{, 18:07}

В архив можно писать только одного типа данные по 4 каналам или целочисленные или вещественные ,разные нельзя ...
Электронщик до мозга костей и не только

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#437

Сообщение OlegAn1962 » 27.05.2016{, 18:16}

А, ясно, наверное из-за этого и не получилось, проверю позже, сейчас ардуины нет под рукой.

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

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

#438

Сообщение Rovki » 28.05.2016{, 12:16}



Идет процесс отладки приема СМС новым компонентом

Добавлено (27.05.2016, 23:40)
---------------------------------------------
первое видео про управление по СМС

[video][/video]

Добавлено (28.05.2016, 09:27)
---------------------------------------------
В HMI KaScada pro(версия с активацией)  реализовано управление по СМС - как прием СМС (битовых команд и значений регистров) ,так и отправка
СМС (ранее реализован обмен по вайфай модбас ТСР). С целью повышения
надежности управления разработан макрос SMS который обеспечивает
формирование ответного СМС на принятую команду по СМС ,что очень
актуально при удаленном управлении .Предполагаемый срок публикации 1.06.2016 .

Добавлено (28.05.2016, 12:16)
---------------------------------------------
Натурные испытания :D
https://youtu.be/spCYXaV6mWM

[video][/video]
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось Rovki 28.05.2016{, 12:17}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

vlad
Лейтенант
Сообщения: 391
Зарегистрирован: 11.09.2015{, 11:50}
Репутация: 0
Откуда: Казань

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

#439

Сообщение vlad » 28.05.2016{, 13:08}

только начал изучать каскаду. в версии флпрог 1,11,1 подружил без проблем а вот как это сделать в 1,11,2 не получается. непонятки с областями памяти. что это и с чем едят?
вопрос к каскаде,  в индикаторах у вас есть настройка макс значения индикатора и также возможно указать значение регистра, почему бы не добавить еще настройку кол-ва разрядов и положение десят точки. может конечно этого и не нужно, я просто проводил эксперименты с темп датчиком и выводил его показания и получилось что в цифровом виде нужно одно а если на индикацию визуальную  другое и в графиках тоже самое
Последний раз редактировалось vlad 28.05.2016{, 13:20}, всего редактировалось 1 раз.

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

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

#440

Сообщение Rovki » 28.05.2016{, 13:54}

vlad писал(а):только начал изучать каскаду
Про флпрог не подскажу .
Есть два индикатора
один для количественной оценки(цифровой индикатор) ,второй для качественной(индикатор с аналоговой шкалой)
Для первого можно устанавливать кол.разрядов ,положение дес.точки ,во втором нет .
Можно сделать комбинированный индикатор -в аналоговом отключаете вывод значений ,а вместо их ставите цифровой индикатор ,с тем же адресом ,в нужное место (вверху ,внизу,,,).
Потребностей очень много ,поэтому все для всех не сделаешь .Поэтому наша концепция -дать базовый набор компонентов с помощью которого можно создать свой компонент визуализации .
Электронщик до мозга костей и не только

Ответить

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