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


Яндекс.Метрика
Суббота, 03.12.2016, 05:26
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 29 из 90«1227282930318990»
Модератор форума: Rovki, support, KaScada 
Форум » Основной » HMI_панель на Андроиде - KaScada » HMI_панель на Андроиде (Подключаем планшет\смартфон к Ардуино для визуализации)
HMI_панель на Андроиде
support Дата: Среда, 25.05.2016, 18:05 | Сообщение # 421
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Rovki ()
Я не понимаю о каком аналоговом входе речь
Повторюсь. Вы пишете в раздел HoldingRegisters (перевод - Регисторы хранения), а читаете из InputRegistors (перевод -Входные регистры - в соответствии со стандартом подразумевается что в них хранятся значения считанные с аналоговых входов). Для ПР с совмещёнными областями это конечно значения не имеет, но ПР это не единственный контроллер на свете, а вот для устройств с разделёнными областями это имеет очень даже большое значение.

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


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 18:26 | Сообщение # 422
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
Цитата support ()
Ребята, если Вы пытаетесь создать универсальную Скаду работающую по модбасу, неплохо было бы разобраться с базовыми вещами, а не работать методом тыка в один единственный контроллер.
Сергей ,я не программист и тонкостей модбаса не знаю ,для этого есть другой человек Kascada .Я ставлю задачу ,а он реализует .Поэтому тыка нет .С самого начала ставилась задача работы с отечественными ПР,ПЛК и она успешна решена .Потом появилась идея работать с ардуино и ФЛПрог ,она так же была решена ,правда на старой реализации модбаса .О каком тыке речь? Я просто как электронщик не понимаю некоторых ваших программистких штучек (и не скрываю это) .Для меня есть физический адрес ячейки памяти ,знаю о том что есть разные способы адресации ,индексная ,косвенная к ячейкам памяти ...И способы адресации к ячейкам памяти внутри МК не соответствуют способам адресации в модбасе к этим ячейкам ,ввиду того что адресное пространство памяти условно разбито на 4 области ,которые закреплены за входами\выходами битными и рабочими регистрами .Знаю что Функция в модбасе жестко определяет с чем мы работаем и какую операцию хотим проделать и тд...А все подробности знает непосредственный исполнитель-писатель  Каскада .Сегодня он проверит ваше предложение и если оно будет работать с ПР и ПЛК Овен как раньше ,но при этом будет работать и ФЛпрог ,то мы внесем изменения.Если нет ,то вносить не будем ,нам отечественное ближе и дороже ,как и предполагаемые отечественные пользователи.


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

Сообщение отредактировал Rovki - Среда, 25.05.2016, 18:55
 
support Дата: Среда, 25.05.2016, 22:02 | Сообщение # 423
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Извините, я ни коим образом не хотел Вас обидеть. Знание модбаса никоим образом не относится к "программистским штучкам". Программисты как раз ничего о нём не знают (и это плохо - найти нормальную библиотеку для модбаса очень сложно, да и просто эмулятор слейва или мастера для ПК нормальный то же не очень просто - есть куча но все работают через одно место ). Протокол модбас  - это чисто АСУ-шная заморочка. Ему обучают на курсах асушников. Вы как я понял - инженер разработчик АСУ (по крайней мере мне показалось что в ОЛ вы очень хорошо разбираетесь). Но Вы работаете только с Овеном. И поэтому задания своим программистам даёте в разрезе Овена. Мне по специфике своей работы (кроме основной работы я ещё и фрилансем занимаюсь разработкой систем асу и сотрудничаю с нескольким фирмами) пришлось работать с оборудованием практически  всех известных производителей. И наших и отечественных. И я просто хотел Вам дать совет как сделать Вашу программу максимально универсальной. В этом у меня то же есть свой интерес. Я с удовольствием использовал бы её в своих проектах. Очень интересная связка получается при использовании Сокет-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 Дата: Среда, 25.05.2016, 22:06 | Сообщение # 424
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
Спасибо,Сергей за предложения ,я их передам и все что нужно сделаем ...Потому как заинтересован . :D
Для меня все кто пишет код -программисты и не важно системный или прикладной
https://ru.wikipedia.org/wiki....1%D1%82
smile


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

Сообщение отредактировал Rovki - Среда, 25.05.2016, 22:13
 
KaScada Дата: Среда, 25.05.2016, 22:32 | Сообщение # 425
Лейтенант
Группа: Модераторы
Сообщений: 81
Награды: 4
Репутация: 2
Статус: Offline
Цитата support ()
Передайте пожалуйста эти выкладки своему программисту, пускай посмотрит.
smile я внимательно слежу.
3ю функцию уже сделал, потестирую еще завтра с остальным оборудованием ОВЕН и ПЧВ innovert, но и так уверен на 99% что должно работать.

По сути я думаю всем тем компонентам, которые читают надо дать выбор функции и всё, только разделить на битовые и регистры.
Для всех кто читает БИТЫ даём выбор 1 или 2.
Для всех кто читает РЕГИСТРЫ даём выбор 4 или 3.
Запись выбирать нет смысла.
Таким образом мы покроем всё разнообразие ведь так?


ПО КаСкада на базе смартфона/планшета с ОС Андроид

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


Сообщение отредактировал KaScada - Среда, 25.05.2016, 22:37
 
support Дата: Среда, 25.05.2016, 22:41 | Сообщение # 426
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата Rovki ()
Для меня все кто пишет код -программисты и не важно системный или прикладной
Тут не совсем код..... Не знаю, входит ли в Ваши обязанности настройка ОПС серверов, но по моему входит. Возмём такой пример. Надо настроить ОПС для системы. Пока у вас в системе только ПР, всё хорошо, для всех тэгов в ОПС выбираем HoldingRegisters и всё. Но вот в системе появился измерительный преобразователь (живой пример, недавно систему делал - это преобразователь, со входов читает напряжение, ток,  и ещё внутри кучу расчётов делает и отдаёт всё по модбасу, кстати Российского производства). И что делать. Значения входных данных у него находятся в InputRegisters адресам 0 - 6 (три напряжения и три тока), ну а в HolldingRegistrs по адресам 0 - по моему 20 (точно не помню) находятся расчётные значения (активная мощность, реактивная мощность, cos f, частота и т.д). Обратите внимание на адреса. И как настраивать ОПС без знания разделения областей памяти? А теперь представьте что поставлена задача подключить этот преобразователь к ПР который является мастером и с помощью него прочитать например напряжение и использовать его в логике. Что Вы будете делать. Звать программиста? Он про ОЛ скорее всего ничего не знает. А Вы не знаете про области памяти. Тупик?

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


Разработчик программы FLProg
 
Rovki Дата: Среда, 25.05.2016, 22:56 | Сообщение # 427
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
Цитата support ()
самые наши - АСУ-шные
Программист АСУ ТП , прикладной программист итд итп :D
Я сам себе ставлю задачу ,поэтому ни кому не обязан ,уже давно biggrin ...кроме семьи .

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


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

Сообщение отредактировал Rovki - Среда, 25.05.2016, 22:59
 
support Дата: Среда, 25.05.2016, 23:13 | Сообщение # 428
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Цитата 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 Дата: Четверг, 26.05.2016, 11:40 | Сообщение # 429
Лейтенант
Группа: Проверенные
Сообщений: 118
Награды: 0
Репутация: 0
Статус: Offline
Поясните плиз настройки компонента архивации, как привязаться к каналам, какой указывать начальный регистр, почему в адресе надо указывать бит регистра? Можно пример архивации 100 случайных целых чисел с записью времени появления каждого числа?

Сообщение отредактировал OlegAn1962 - Четверг, 26.05.2016, 11:44
 
KaScada Дата: Четверг, 26.05.2016, 12:30 | Сообщение # 430
Лейтенант
Группа: Модераторы
Сообщений: 81
Награды: 4
Репутация: 2
Статус: Offline
Цитата OlegAn1962 ()
Поясните плиз настройки компонента архивации, как привязаться к каналам, какой указывать начальный регистр, почему в адресе надо указывать бит регистра? Можно пример архивации 100 случайных целых чисел с записью времени появления каждого числа?
Пример к сожалению пока не смогу сделать, hc05 мой занят пока.
Тип данных - думаю понятно, единственное поясню, FLOAT требует 2 регистра (4 байта), int - беззнаковый, один регистр.
Кол-во - сколько необходимо записывать значений, они должны располагаться в ардуино последовательно.
Начальный регистр - с какого регистра писать.

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


ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/
 
Rovki Дата: Четверг, 26.05.2016, 21:47 | Сообщение # 431
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
Цитата OlegAn1962 ()
почему в адресе надо указывать бит регистра?
Это управляющий бит регистра -внешнее событие для Архива ,по которому происходит запись переменных в архив .

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


Электронщик до мозга костей и не только
 
OlegAn1962 Дата: Пятница, 27.05.2016, 09:42 | Сообщение # 432
Лейтенант
Группа: Проверенные
Сообщений: 118
Награды: 0
Репутация: 0
Статус: Offline
Спасибо за пояснения, с Integer получилось, а с Float ничего в архив не записывает, или не отсылает.
 
Rovki Дата: Пятница, 27.05.2016, 16:02 | Сообщение # 433
Генерал-лейтенант
Группа: Модераторы
Сообщений: 786
Награды: 14
Репутация: 11
Статус: Offline
а какие адреса у ваших флоат переменных ?

Электронщик до мозга костей и не только
 
OlegAn1962 Дата: Пятница, 27.05.2016, 17:09 | Сообщение # 434
Лейтенант
Группа: Проверенные
Сообщений: 118
Награды: 0
Репутация: 0
Статус: Offline
2 и 3
$IMAGE1$


Сообщение отредактировал OlegAn1962 - Пятница, 27.05.2016, 17:10
 
OlegAn1962 Дата: Пятница, 27.05.2016, 17:11 | Сообщение # 435
Лейтенант
Группа: Проверенные
Сообщений: 118
Награды: 0
Репутация: 0
Статус: Offline
Прикрепления: 0677674.png(37Kb)
 
Форум » Основной » HMI_панель на Андроиде - KaScada » HMI_панель на Андроиде (Подключаем планшет\смартфон к Ардуино для визуализации)
Страница 29 из 90«1227282930318990»
Поиск:

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