Уважаемый Сергей ,пока отвечу я ,как электронщик и постановщик задачи .Да в ПР при работе с битами есть сквозная нумерация битов .Например ,3 бит 514 регистра будет 8227 .Это довольно сложно и не удобно вычислять .Проще использовать элементы записи/чтения битов в регистры для пользователей с учетом того ,что посети с использованием Каскады (или другой HMI) наравне с битовыми переменными будут "гулять" и регистровые переменные (целочисленные ,вещественные) в не меньшей степени (в зависимости от проекта),а хотелось бы однообразия для пользователя с целью минимизации ошибок при вычислении адресов .Кроме того для передачи значения бита используется байт ,а значит передача бит будет занимать больше времени в 8раз ,чем упакованные в регистр .В каскаде нет так же групповой передачи регистров ,кроме одного компонента -АРХИВ, Пр200 способен отдать за раз 12 регистров .Каскада это компромиссное решение (урезанное) по сравнению со СКАДА на ПК.support писал(а):Вопрос создателям Каскады.Цитата support847
HMI_панель на Андроиде
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
Последний раз редактировалось Rovki 11 май 2016, 20:19, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Я понял, в принципе ничего страшного, это то же достаточно стандартный подход. Например у шнайдера, в зелио то же идёт работа только со словами. Я для упрощения работы сделаю блок для упаковки битов сразу в слово. Пока есть возможность только записать отдельный бит в определённое место. Не очень удобно, для записи слова надо ставить 16 блоков.
Автор программы FLProg.
HMI_панель на Андроиде
В каскаде используется функция 2 для чтения Discrete Inputs.support писал(а):Вопрос создателям Каскады. Я сегодня повозился в программой и заметил одну особенность. Все битовые элементы управляются битом в регистре. В стандартном модбасе существуют области Coil (биты с возможностью записи и чтения ) и Discrete Input (биты только для чтения ). Адреса этих битов идут в сквозном порядке. То есть нулевой бит имеет адрес - 0, 1 бит имеет адрес -1 , 17 бит имеет адрес - 17 а не нулевой бит регистра 1. и так далее. Вы не планируете делать поддержку этих областей?
Если указать регистр = 5, бит = 2, то запрос будет выполнен к 5*16+2=82.
Отсюда вы получаете доступ к любому (по расположению) биту в подчиненном.
Я правильно вас понял, ответил на вопрос?
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
Я всегда говорю -лишь бы пользователю было удобно и понятно ,а разработчик может и потерпеть разокsupport писал(а):Не очень удобно, для записи слова надо ставить 16 блоков.
![Изображение](http://s38.ucoz.net/sm/1/biggrin.gif)
Добавлено (11.05.2016, 20:35)
---------------------------------------------
Я думаю нет .Автор хотел бы что бы пользователь сам указывал адрес 82(бита) ,как раньше в ПР с ОЛ51KaScada писал(а):Я правильно вас понял, ответил на вопрос?
Последний раз редактировалось Rovki 11 май 2016, 20:41, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
HMI_панель на Андроиде
Да, это понятно, к любой области можно добраться поделив число на 16.Rovki писал(а):Я думаю нет .Автор хотел бы что бы пользователь сам указывал адрес 82(бита)
Сейчас кто как хочет так и располагает области.
Тот же овен, в одной версии ПР так, в другой эдак.
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Как говорится ОПАНЬКИ. С новым модбасом старые проекты с каскадой работать перестанут. Надо будет их переделывать. Сейчас при запросе с функцией 2 и 3 отдаются одни и те же регистры. при переходе на новый модбас по регистры созданные в старой версии программы переедут в раздел Holding Registors отдаваемые по функции 3, а на функцию 2 будет возвращаться ответ "Not supported". Надо будет удалять старые переменные и создавать новые в разделе Discrete Inputs. Причём как я понимаю читается сразу 16 входов. Их и надо будет все создавать. Даже если используешь 1 дискретный вход (опять таки иначе вернётся ошибка - несоответствие запрашиваемого размера существующему, я как в "настоящем" модбасе сделал и такую проверку). Или у Вас всё таки запрашивается 1 вход? Тогда всё намного проще.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
Ну проектов готовых думаю еще нетsupport писал(а):С новым модбасом старые проекты с каскадой работать перестанут
![Изображение](http://s38.ucoz.net/sm/1/biggrin.gif)
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Совершенно верно, так было бы проще, да и раздел можно выбирать, поскольку для битов есть Coil (чтение и запись) и Discrete Inputs (только для чтения). У меня адреса задаются для битовых переменных задаются именно так.Rovki писал(а):Я думаю нет .Автор хотел бы что бы пользователь сам указывал адрес 82(бита) ,как раньше в ПР с ОЛ51
Автор программы FLProg.
HMI_панель на Андроиде
Хотел про это спросить.support писал(а):Как говорится ОПАНЬКИ. С новым модбасом старые проекты с каскадой работать перестанут.
Запрашивается то, что задал пользователь, а он задает 1 бит = 1 вход.
Добавлено (11.05.2016, 20:57)
---------------------------------------------
Отчасти, сейчас в ПР200 всё лежит в одной области, там как раз таки удобнее регистр\бит задать.support писал(а):Совершенно верно, так было бы проще
Codesys тоже располагает в одной области.
Хотя в ИП320 (панель от ОВЕН) задаётся именно номер бита.
Последний раз редактировалось KaScada 11 май 2016, 21:00, всего редактировалось 1 раз.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
то есть обращение идет к биту ,но адрес его вычисляется из адреса регистра и номера бита ,который задал пользователь .То есть речь идет лишь о представлении его (способе) в адресном пространстве Ардуино или ПР ,а по сети все летает как и положено в модбасе ,вроде так или поправят электронщика.
Последний раз редактировалось Rovki 11 май 2016, 21:01, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Ну тогда всё отлично. А по какой функции Вы пишете биты. Например при нажатии кнопки.KaScada писал(а):Запрашивается то, что задал пользователь, а он задает 1 бит = 1 вход.
Ну и как я написал выше, было бы неплохо дать пользователю возможность вводить номер в сквозной нумерации ( встроить автоматический пересчёт думаю не очень сложно).В идеале был бы выбор способа ввода и раздела откуда читать. Например при работе с тем же Зелио необходимо читать биты из 14 и 15 регистра раздела HoldingRegistors. И там только так и никак иначе. Всё таки на промышленность то же надо оглядываться иногда если хотите развиваться. А для промышленности у Вас очень интересная программа. Я тут уже посоветовал своим левым работодателям (по шабашкам) посмотреть на Вашу программу. А они как раз работают на Зелио (га сегодня они наиболее оптимальные по соотношению цена - возможности).
P.S. И ещё вопрос, какой функцией вы читаете и пишете регистры?
Автор программы FLProg.
HMI_панель на Андроиде
Функция 5 (Force Single Coil) - запись одного флага.support писал(а):А по какой функции Вы пишете биты
Чтение - функция 4 (Read Input Registers)support писал(а):P.S. И ещё вопрос, какой функцией вы читаете и пишете регистры?
Запись - функция 6 (Preset Single Register)
По хорошему надо предоставить выбор функции и выбор ввода, это решит на корню я думаю.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
Тут надо различать удобство для разработчика и удобство для пользователя .Мне как пользователю хотелось бы однобразия (интуитивно понятных вещей ,тем более не программиста) ,потому как знаю ,что за универсальность всегда приходится платитьKaScada писал(а):Отчасти, сейчас в ПР200 всё лежит в одной области, там как раз таки удобнее регистр\бит задать.Codesys тоже располагает в одной области.
Хотя в ИП320 (панель от ОВЕН) задаётся именно номер бита.
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Не совсем так. Да сейчас некоторые производители объеденяют области, но в "классическом" модбасе значение будет зависить от функции с которой посылается запрос. и например при запросе функции 1 ( READ_COILS) Вы получите одно значение а при запросе функции 2 (READ_DISCRETE_INPUT ) совершенно другое.Rovki писал(а):то есть обращение идет к биту ,но адрес его вычисляется из адреса регистра и номера бита ,который задал пользователь
В текущей версии реализации модбаса в FLProg области были разнесены ( такая была реализация использованной библиотеки). Сейчас я отказался от неё и реализовал собственный драйвер. Ну и для согласования с промышленным оборудованием разнёс области. Это как ни странно экономит память. Например для хранения пары битов раньше приходилось резервировать целое слово. В новой версии для них будет отводится два бита.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
Вот это делать не надо ,смотрю на аналог Каскады ,как баран на новые ворота -какие то функции ,какой то модбас .Не про модбас я знаю в общих чертах и достаточно ,зачем загромождать мозг пользователю ,пусть разработчик позаботитсяKaScada писал(а):По хорошему надо предоставить выбор функции и выбор ввода, это решит на корню я думаю.
![Изображение](http://s38.ucoz.net/sm/1/biggrin.gif)
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Да это идеальное решение, поддерживаю обеими руками. Ну и как я писал выше, позволит работать с любыми контроллерами.KaScada писал(а):По хорошему надо предоставить выбор функции и выбор ввода, это решит на корню я думаю.
И ещё вопросик в догонку. Я не нашёл хелпа по программе, поэтому и спрашиваю здесь. Что означают стационарный и мобильный режимы?
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 4891
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Контактная информация:
HMI_панель на Андроиде
С учетом того ,что реальные проекты на ардуино не более 2х десятков битов и пусть 10 регистров ,то экономия не значительная ,имхоsupport писал(а):Это как ни странно экономит память. Например для хранения пары битов раньше приходилось резервировать целое слово. В новой версии для них будет отводится два бита.
Добавлено (11.05.2016, 21:21)
---------------------------------------------
Добавлено (10.05.2016, 09:55)
---------------------------------------------
Небольшое пояснение по режимам работы Каскады.
Каскада может работать в двух режимах ,которые задает пользователь в меню три точки(...) .
Мобильный режим -это работа без подключенной зарядки ,в этом режиме экран смартфона\планшета не гаснет( не засыпает) ,в не зависимости от настроек в самом андроиде .
Стационарный режим -это работа Каскады (смартфона) с подключенным источником питания .В этом режиме пока включено остальное оборудование (вместе с источником питания) идет зарядка смартфона\планшета и экран не гаснет .При выключении питания планшет засыпает ,в соответствии с настройками в андроиде .Причем если Каскада находилась в Работе ,то при включении питания ,если разблокировать экран и запустить Каскаду ,то продолжится работа ее ,после восстановления связи
Электронщик до мозга костей и не только
А надо читать собственный форум
![Изображение](http://s38.ucoz.net/sm/1/biggrin.gif)
![Очень доволен :D](./images/smilies/ucoz_biggrin.gif)
Уже отвечал ранее
Последний раз редактировалось Rovki 11 май 2016, 21:24, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
HMI_панель на Андроиде
Добавлены 2 режима 'стационарный' и 'мобильный'support писал(а):Что означают стационарный и мобильный режимы?
Стационарный - если нет питания на USB, то программа не блокирует подсветку экрана и дает ему заснуть, после чего отключается от всех серверов. При появлении питания программа подключится к серверам вновь.
Мобильный - не дает уснуть экрану и не реагирует на питание от USB.
Стационарный, это когда например у вас планшет в щите какой-то машины, по окончанию смены, рабочие выключат питание машины\конвеера, питание на планшете пропадёт и он заснёт, чтобы не тратить энергию в пустую, по включению машины\конвеера каскада подключится к серверам и начнет работау, экран проснётся.
Мобильный - для отладки например, экран не гаснет.
Последний раз редактировалось KaScada 11 май 2016, 21:24, всего редактировалось 1 раз.
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Мы говорим не о функциях, а о областях памяти. Если человек разрабатывает визуализацию для контроллера, то он по любому должен знать о разделе COIL (можно перевести как битовые переменные, или цифровые выходы), DISCRETE INPUT (цифровые входы), HOLDING REGISTERS (аналоговые переменные), INPUT REGISTER (аналоговые входа). Ну а какой функцией дёргать - это задача разработчика. Пользователь выбирает только "Прочитать с цифрового входа № 25 контроллера", или "Записать в аналоговую переменную № 10".Rovki писал(а):Вот это делать не надо ,смотрю на аналог Каскады ,как баран на новые ворота -какие то функции ,какой то модбас
Автор программы FLProg.
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
HMI_панель на Андроиде
Спасибо за разъяснение. Честно говоря я за форумом слежу пока в полглаза. Днём - жена , дети. Ночью - модбас часов до трёх. С Вашей программой повозился пока был с мелким у бабушки ( Бабушки - это ВЕЛИКОЕ СЧАСТЬЕ ))) ). Вот 15 - го приеду на вахту - и с головой в программу и на форум. Я на вахте отдыхаю.Rovki писал(а):А надо читать собственный форум -шутка .Разве за вами угонишься -сказал АВТОР
Автор программы FLProg.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей