Страница 25 из 80
Разработки ecoins
Добавлено: 13 дек 2019, 18:39
Sancho
[ref]ecoins[/ref], Энвер, не думал о том, что это будет воспринято как "резкое суждение".
Но в CDS, да и конечно-же не только в ней, есть встроенный диспетчер задач. Изначально.
Вопрос в его использовании конечными пользователями.
Для себя главным в FLProg считаю то, что освоивший его в промышленных програмах будет чувствовать себя отнюдь не новичком!
Как мне кажется, или помнится, это одна из задумок Автора.
Будем ему в этом помогать насколько возможно.
ИМХО.(«In My Humble Opinion», которую можно дословно перевести на русский как «по скромному моему мнению»)
Разработки ecoins
Добавлено: 13 дек 2019, 19:17
ecoins
Sancho писал(а): 13 дек 2019, 18:39
Для себя главным в FLProg считаю то, что освоивший его в промышленных програмах будет чувствовать себя отнюдь не новичком!
-----
У нас немного разный интерес к FLProg.
Мы надеемся, что FLProg вырастет для уверенного промышленного применения в противовес "тяжеловестным" и в основе "древним" системам проектирования типа CodeSys.
И создавать проекты можно будет не только на контроллерах типа ПЛК ОВЕН, а на STM32F(разных серий), Nano, ESP.
----
Немного резковатое мнение мое (и не только моё): работа только в CodeSys не развивает, а "притупляет" разработчиков по сравнению с открытой (до уровня C++) FLProg.
----
Чем больше погружаюсь в изучении CodeSys 3.5, тем больше укрепляюсь в изложенном представлении.
По совокупности причин делать сейчас конкретные проекты для конкретных заказчиков приходиться пока именно в этой среде.
Разработки ecoins
Добавлено: 13 дек 2019, 20:00
Sancho
ecoins писал(а): 13 дек 2019, 19:17
Немного резковатое мнение мое (и не только моё): работа только в CodeSys не развивает, а "притупляет" разработчиков по сравнению с открытой (до уровня C++) FLProg.
Здесь вопрос упирается только в одно - на каком языка вы работаете в cds.
Так-же очень трудно представить, мне во всяком случае, что немецкая компания творит исключительно для овен

Разработки ecoins
Добавлено: 13 дек 2019, 20:35
ecoins
Языки ST,SFC,FBD.
Немецкая фирма создавала софт не для фирмы ОВЕН, но делалось это в основной части очень давно.
Подходы софта во многом основаны на проектировании SCADA многолетней давности.
В то время не было дешевых и простых контроллеров (всё начиналось от 1000$ и выше).
Простые подходы к проектированию и загрузке программ как у Arduino казались в то время фантастичными.
Дорогое железо сопровождалось еще более дорогим софтом - в нем старались заложить все мыслимые возможности и еще, еще на всякий случай...
В результате само освоение возможностей пакетов требовало усилий и значительных, сама система громоздкой и с глюками, которые исправлялись в течении многих лет (CodeSys 2.3).
Разработчики софта (и контроллеров) во многих случаях не заинтересованы в появлении простых и дешевых систем .
Так было на протяжении всегда при развитии различных вычислительных систем - пример IBM 360/370 , самонадеянность фирмы IBM сломил неожиданный прорыв персональных компьютеров.
-------------
Сенсорная панель ОВЕН на 10 дюймов с процессором на 600 мгц (еще и греется) за 35т.рублей по своим вычислительным возможностям и потребительским свойствам существенно уступает компактным планшетам того же размера, которые и стоят в три раза дешевле.
А появление таких программ как KaScada на Android делают новые решения на дешевой и массовой электроники более привлекательными.
-------------
Если бы Rovki имел бы хотя бы 2-3% бюджета ОВЕН на проектирование, то его устройства просто выдавили бы монстров типа СПК110 ОВЕН (в условиях здоровой конкуренции). Или ОВЕН само бы пришло к нему - или за разработками, или... (второго варианта Rovki стоит и опасаться

)
-----
Уважаю Rovki за его самоотверженный труд и целеустремленность. Спасибо ему.
Разработки ecoins
Добавлено: 13 дек 2019, 21:12
Sancho
Тогда ответьте мне на один вопрос - почему проект из s7 запросто открывается в 3.5? тоже старый век? Давайте поймём одно - многие могут сделать лекарство для иньекции, но не все захотят это себе вколоть... Понятия сертификации иногда становятся непреодолимым барьером. И специалисты, владеющие этими "древними" инструментами зачастую имеют возможность делать что-то для следующих поколений.
Разработки ecoins
Добавлено: 13 дек 2019, 21:55
Sancho
На обслуживаемом нашей компанией предприятии есть система AMS, которая всего-то и делает, что пишет логи климата и других параметров помещений. А они всегда прикладываются к документации производства лекарственного препарата, фармацевтика, знаете-ли. При этом протокол связи систем закрытый, и носит название NovaNet. SAUTER. Скорость на нём ни о чём. Но это на первый взгляд. На самом деле всё прекрасно работает и выполняет необходимый функционал. Но шанс постороннего вмешательства и подмены данных практически нулевой. Система валидирована разными ведомствами, типа минздрав и минпромторг. Это компания производит лекарственные препараты, которые я рекомендую своей маме. Потому-что я знаю - за этим стоит ответственность многих людей, и в том числе разработчиков ПО, разного, от нашего до того, что установлено в производственном оборудовании.
Но есть у данного оборудования и BacNet - это тоже у нас используется. Всему своё. Не нужно прыгать через головы...
Отправлено спустя 2 минуты 59 секунд:
При этом каждый программист - свой сертификат. Как и у siemens.
Отправлено спустя 4 минуты 40 секунд:
Это называется одним словом - ответственность.
Разработки ecoins
Добавлено: 14 дек 2019, 01:47
Nikan
ecoins писал(а): 13 дек 2019, 20:35
Подходы софта во многом основаны на проектировании SCADA многолетней давности.
В то время не было дешевых и простых контроллеров (всё начиналось от 1000$ и выше).
Простые подходы к проектированию и загрузке программ как у Arduino казались в то время фантастичными.
Дорогое железо сопровождалось еще более дорогим софтом - в нем старались заложить все мыслимые возможности и еще, еще на всякий случай...
В результате само освоение возможностей пакетов требовало усилий и значительных, сама система громоздкой и с глюками, которые исправлялись в течении многих лет (CodeSys 2.3).
ну ну, в свое время Буран слетал и приземлился в автомате, имея 64к памяти, а сейчас есть 100500 и не летает
ни хера.
так же и с софтом, что нагенерит CodeSys или степ, панасоникwin, C C++. легко можно верифицировать. чего нельзя сделать на так называемых "современных" системах и платформах.
так же и с железом, что произведено 20-30 лет назад, пашет и пашет, а современное с завода с отказами
все превратили в треш
Разработки ecoins
Добавлено: 31 янв 2020, 14:58
dekorator
[ref]ecoins[/ref], Можно как то добавить другой контроллер? Работаю с мегой 128 и ваши блоки были бы очень к стати. Может инструкцию какую дадите как самому добавить?
Разработки ecoins
Добавлено: 01 фев 2020, 16:24
ecoins
Возобновим работу с FLProg в феврале.
---------------
Пока плотно изучали (исследовали) оборудование фирмы ОВЕН - программируемые реле ПР114, ПР200, программируемые логические контроллеры - ПЛК63, ПЛК110-30, ПЛК110-60, панельные контроллеры СПК110, системы программирования OwenLogic, CodeSys 2.3, панели оператора СП310, ИП320, периферийные модули серии МВ110 (RS-485) и МВ210(Ethernet), системы программирования OwenLogic, CodeSys 2.3. Планируем провести испытание CodeSys на контроллере Raspberry.
Сейчас этот этап работа подходит к завершению. Попутно поставили Заказчику несколько шкафов управления на перечисленном оборудовании.
-------------
Результаты работы убедили нас в существенных достоинствах системы программирования FLProg в большом сегменте промышленной автоматизации.Но надо немного поработать, доработать и т.п.
Прежде всего это касается каналов и протоколов связи - Modbus, Can.
Есть пожелания и к KaScadа - после работы с программным конфигуратором для панели СП310 становится понятно, что ещё хотелось иметь при программировании панелей операторов.
-------------
Разработки ecoins
Добавлено: 01 фев 2020, 16:36
Rovki
ecoins писал(а): 01 фев 2020, 16:24
Есть пожелания и к KaScadа - после работы с программным конфигуратором для панели СП310 становится понятно, что ещё хотелось иметь при программировании панелей операторов.
-------------
Ждем пожеланий ,может часть их можно реализовать уже сейчас в каскаде через "маленькие хитрости"

Разработки ecoins
Добавлено: 16 фев 2020, 18:58
Mozgoklui
[ref]ecoins[/ref], я понимаю, что возможно эта тема не предназначена для своих проектов, но может быть вы посмотрите, что я делаю не так? Я попытался настроить выполнение плат с использованием ваших блоков, но ничего не работает.
Я делаю лампу на светодиодной матрице, с lcd экраном и климатическими датчиками и с управлением через blynk. Проблема в том, что если исключить матрицу из скетча, то датчики и экран работают исправно. Так же если оставить только управление матрицей тоже работает. А всё вместе нет. Вероятно ресурсов МК нехватает из-за ненужных циклов, например обновления экрана или опроса датчиков.. Вот пытаюсь ваши блоки приспособить, пока безрезультатно.
n6exp.flp
Железо всё собрано уже, напечатаны все детали ночников, а с программой засада...
Разработки ecoins
Добавлено: 17 фев 2020, 01:11
ecoins
Завтра посмотрю. Как раз закончил автономно работающую библиотеку для Arduino для работы с временем, задачами и событиями RT_HW_TASK.h В ней реализовано то, что испытано и открыто добавление новых возможностей. Планируем добавить вызов задач аппаратному прерыванию от таймера - сделать эту опцию на C++ просто, а вот адаптировать её в FLProg сложно, поскольку надо работать с указателями на функции...
Отправлено спустя 3 минуты 23 секунды:
——-
С матрицей и стандартным ПБ были проблемы - блок тормозит Процессор. Возможно надо что-то своё писать или матрицу перенести на другой контроллер.
Разработки ecoins
Добавлено: 17 фев 2020, 11:20
Mozgoklui
ecoins писал(а): 17 фев 2020, 01:11
С матрицей и стандартным ПБ были проблемы - блок тормозит Процессор. Возможно надо что-то своё писать или матрицу перенести на другой контроллер.
у меня лишь поверхностные знания о работе программы в контроллере, но по ощущениям, основанным на разных вариантах подключения всех деталей и бесчисленным попыткам, мне кажется в моем случае проблемы связаны с опросами датчика HTU21 и датчика CO2 MH-Z19B и отправкой их данных в интернет (в blynk). Как благодаря вашим блокам можно как можно сильнее замедлить работу МК с этими датчиками? Хоть даже до опроса раз в 5 секунд (и отправку с той же частотой) ? Чтобы все остальные ресурсы процессора спокойно использовались на матрице, которая отдельно прекрасно работает. В частности, грешу на стандартный блок скоростной счетчик, который у меня считает продолжительность импульсов с датчика СО2. Вот бы реализовать чтобы он один-два раз посчитал и затих до следующей итерации через секунд 5-10

Разработки ecoins
Добавлено: 17 фев 2020, 16:39
ecoins
Mozgoklui писал(а): 17 фев 2020, 11:20
у меня лишь поверхностные знания о работе программы в контроллере, но по ощущениям, основанным на разных вариантах подключения всех деталей и бесчисленным попыткам, мне кажется в моем случае проблемы связаны с опросами датчика HTU21 и датчика CO2 MH-Z19B и отправкой их данных в интернет (в blynk). Как благодаря вашим блокам можно как можно сильнее замедлить работу МК с этими датчиками? Хоть даже до опроса раз в 5 секунд (и отправку с той же частотой) ? Чтобы все остальные ресурсы процессора спокойно использовались на матрице, которая отдельно прекрасно работает. В частности, грешу на стандартный блок скоростной счетчик, который у меня считает продолжительность импульсов с датчика СО2. Вот бы реализовать чтобы он один-два раз посчитал и затих до следующей итерации через секунд 5-10
Посмотрел проект.
Диспетчер вы используете правильно. Однако используете только 4-медленные задачи - их номера будут меняться 1 раз в секунду (250мс - период медленных задач установленный в диспетчере х 4).
Можно задействовать и другие выходы диспетчера (fast10 -10ms, fast-25ms, back100 - 100мс).
----------------------------
Можно получить дополнительные номера, которые будут меняться 1 раз в 5 сек следующим образом:
на плате 2 (там диспетчер) нужно добавить два блока:
1) стандартный блок сравнения - на один вход подать значение переменной "номер медленной задачи(она есть на плате), на второй вход значение 1. На выходе блока сравнения будут появляться события каждые 1сек при "медленной задачи" с номером 1.
2) блок RT_Задача - такой уже есть на плате. Вход en соединить с выходом блока сравнения, вход qnt=5. На выходе блока каждую секунду будут меняться значения от 1 до 5. Т.е. выход будет =1 (или 2,3,4,5) каждые 5 сек.
----------------------------
У Вас много плат (номера 1, 7-11) вызываются в каждом цикле. Какая-то из этих задач "тормозит".
----------------------------
Рекомендации по Blynk. Работать с этой системой не приходилось и потому не могу пояснить какие блоки и как значительно используют ресурсы процессора, есть ли в них операторы delay(), можно ли обращаться к этим функциям периодически и т.п.
Независимо от этого будет верным весь обмен с Blynk собрать на одной или нескольких платах и вызывать их циклически через диспетчер.
Если к выходу fast10 диспетчера через T-триггер подключить пин со светодиодом, то можно визуально наблюдать торможение работы (при нормальной светодиод должен мерцать каждые 10ms -100Гц).
Остальные платы должны только принимать или записывать переменные из/для Blynk.
------------------------------
Все задачи должны вызываться по условию через переменные, устанавливаемые в диспетчере задач (плата 2).
-----------------------------
Успехов.
Разработки ecoins
Добавлено: 17 фев 2020, 18:50
edyapd
[ref]ecoins[/ref], есть такой вопрос. Скажем все платы выполняются по условию с диспетчера задач. При вхождении в плату, она выполнится от начала до конца? Или в какой-то момент прервётся для того, чтобы выполнилась быстрая задача?
Просто если скажем плата выполняется от начала и до конца и при этом на выполнение платы требуется, по каким-то причинам, больше 10мсек, то тогда период быстрых задач не будет выполняться вовремя.
Разработки ecoins
Добавлено: 17 фев 2020, 19:13
Mozgoklui
[ref]ecoins[/ref], большое спасибо за ответ! И я присоединяюсь к вопросу [ref]eduard[/ref], а заодно мне не понятно как быть с платами, и так работающими по условию? Вот у меня там блоки матрицы с выбором целой кучи режимов, каждый из которых - плата (в примере только огонь пока). То есть плату выбора режимов я сажаю на диспетчер, следовательно когда эта плата обрабатывается - она тащит за собой все связанные условием выполнения по переменной? Или они как-то иначе будут выполняться?
Разработки ecoins
Добавлено: 17 фев 2020, 19:31
edyapd
Mozgoklui писал(а): 17 фев 2020, 19:13
она тащит за собой все связанные условием выполнения по переменной? Или они как-то иначе будут выполняться?
Не важно на какой плате переменная была установлена. Если плата выполняется по переменной, то она будет выполняться, не смотря на то, что плата, где устанавливается эта переменная на данный момент не выполняется.
В
ЭТОЙ теме немного обсуждалось подобное.
Разработки ecoins
Добавлено: 17 фев 2020, 19:32
Mozgoklui
[ref]ecoins[/ref], Уррааааааааааааа!!!!! Переделал по вашим рекомендациям! За последние несколько недель впервые у меня работает всё вместе!!! Ваш диспетчер - вещь!!! Очень годно, как для ни в чем не шарящих типа меня! С удовольствием бы задонатил в ваш проект, если есть paypal, С.Глушенко удалось задонатить только таким образом, я просто за кордоном..
Здесь тема с моей лампой
viewtopic.php?f=63&t=6106&p=85127#p85127
Разработки ecoins
Добавлено: 17 фев 2020, 20:18
ecoins
edyapd писал(а): 17 фев 2020, 18:50
ecoins, есть такой вопрос. Скажем все платы выполняются по условию с диспетчера задач. При вхождении в плату, она выполнится от начала до конца? Или в какой-то момент прервётся для того, чтобы выполнилась быстрая задача?
Просто если скажем плата выполняется от начала и до конца и при этом на выполнение платы требуется, по каким-то причинам, больше 10мсек, то тогда период быстрых задач не будет выполняться вовремя.
Поскольку обычно быстрых задач несколько (обычно мы делаем 4, период вызова 25мс по умолчанию), то даже если одна задача и выйдет за границы 25 мс, на последующих задачах период будет восстановлен.
Конечно, если в задаче стоит что-во вроде delay(1000), то здесь помочь нечем. Именно поэтому мы дорабатываем (или пишем заново) библиотеки под интересующие нас устройства.
Опасно использовать без проверки и некоторые встроенные возможности и блоки FLProg -так чтение дискретного входа с защитой от дребезга (в блоке чтения дискретного входа флажок устанавливается) приводит к тому, что выполняется delay(50) при каждом чтении входа.
Задача fast10 (периодичность 10мс) обычно используется для очень быстрых блоков.
-----------
Диспетчер - это очень компактный и быстрый планировщик задач (с открытым кодом) и ждать от него автоматического решения всех проблем на Arduino не стоит. Это только один из возможных инструментов, а качество планирования выполнения задач все же остается на разработчике.
----------
Очень хорошо при наладке помогает использование логических анализаторов - простые на 8-входов стоят менее 500 руб.
Отправлено спустя 5 минут 39 секунд:
edyapd писал(а): 17 фев 2020, 19:31
Mozgoklui писал(а): 17 фев 2020, 19:13
она тащит за собой все связанные условием выполнения по переменной? Или они как-то иначе будут выполняться?
Не важно на какой плате переменная была установлена. Если плата выполняется по переменной, то она будет выполняться, не смотря на то, что плата, где устанавливается эта переменная на данный момент не выполняется.
В
ЭТОЙ теме немного обсуждалось подобное.
Диспетчер выполнен таким образом, что после его выполнения только один выход активен и только один номер задачи не равен 0.
Таким образом, как много бы не было плат в проекте, если они все выполняются по условию от диспетчера, то в каждом цикле loop() выполняется только одна плата с диспетчером (на Nano со средним набором дополнительных условий это 50-60mcs,на ESP32 4-6 mcs) и одна пользовательская плата.
Разработки ecoins
Добавлено: 17 фев 2020, 20:20
ecoins
Mozgoklui писал(а): 17 фев 2020, 19:32
[ref]ecoins[/ref], Уррааааааааааааа!!!!! Переделал по вашим рекомендациям! За последние несколько недель впервые у меня работает всё вместе!!! Ваш диспетчер - вещь!!! Очень годно, как для ни в чем не шарящих типа меня! С удовольствием бы задонатил в ваш проект, если есть paypal, С.Глушенко удалось задонатить только таким образом, я просто за кордоном..
Здесь тема с моей лампой
viewtopic.php?f=63&t=6106&p=85127#p85127
Рад Вашим результатам. Если настрой поддержать проект останется, поддержите FLProg.