Или хотя бы скрины или сколько переменных ,ФБ ,элементов итд , что бы понять что значит "достаточно сложных"
электронщик до мозга костей и не только
Держите, "Фома не верующий".
ТЗ и документацию выкладывать не буду, всё-таки интеллектуальная собственность, а без них понять что и как сложнее чем заново написать.
Не влезал растиражированный макрос LightCtrlV, он кстати не финальный, там еще в 2 раза больше блоков должно быть для сетевого управления, но проект пока подморожен.
Отдельно отмечу, то что вы видите, это только одно из нескольких реле. Функционал собирается как конструктор из разных кирпичиков ("макросов") и констант настройки.
Нет, банально места по кол-ву функциональных блоков. Т.к. каждое повтороное упоминание макроса ведет к добавлению его блоков в программу повторно.
Последний раз редактировалось sdy; 17.09.2017 в 02:15.
Господин президент, что Вам снится ночами...? (с) ДДТ
Будь человеком, а то съедят!
Так ясно же написано ограничение в штуках:
Ресурсы ПР114.PNG
Кто не даёт взять ПР200, там я кстати не нашёл таких ограничений(по количеству ФБ, функций) и других ресурсов гораздо больше, например энергонезависимых переменных почти на порядок больше! И как Вы пишите окончательный вариант с сетевыми переменными, тогда это и дешевле выйдет! Ещё и оптимизировать никто не запрещает, например, если время некритично, а элементы идентичны, использовать "один на весь колхоз", алгоритм выполнять не паралейно, а последовательно используя промежуточные переменные! Вот я выкладывал пример подобного решения в посте #3431, 3436: http://www.owen.ru/forum/showthread.php?t=9398&page=344
Не зная всех тонкостей программы не знаю что Вам более подойдёт, это я так вижу возможные способы выхода из вашей ситуации!
Последний раз редактировалось Сергей0308; 17.09.2017 в 04:34.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Да всё понятно, но
1. на момент написания проекта 200-е были в глубокой бета и ценник еще был не известен
2. входов у 200 на 4 меньше, но это правда под ту задачу не существенно.
3. я это написал (свои 5 копеек) в части диалога о применении реализации логики микросхем в самодельных макросах, к тому, что если вставить логику посложнее да еще несколько раз - то при подходе использования макросов по ОЛ, количества доступных ФБ может не хватить.
Последний раз редактировалось sdy; 17.09.2017 в 12:58.
Господин президент, что Вам снится ночами...? (с) ДДТ
Будь человеком, а то съедят!
Так ПР200, если не ошибаюсь, уже больше года как вышло в продажу, Вы что проект 2 года делаете? Цена сейчас известна и если использовать ПР в сети, то ПР200 выходит при всех её преимуществах над ПР114, ещё и дешевле! Количество дискретных-аналоговых входов - аналогично ПР114, но аналоговые более функциональны, могут измерять сопротивление! Входа можно расширить с помощью модулей расширения по внутренней шине, до 2 модулей по 16 дискретных входов, пока имеются в наличии модули с 8 входами и 8 выходами! Плюс можно по интерфейсу RS485(может быть до 2 интерфейсов) подключить до 16 модулей дискретного ввода на каждый интерфейс! С ПР114 такого нельзя сделать без дополнительного мастера сети, ПР не может быть мастером сети! Вообще-то ПР позиционировалось как замена релейной логике, для сложных алгоритмов не предназначалось, я выкладывал макрос, один макрос, который около полумесяца рисовал, придумал за 5 минут, а рисовал полмесяца, в посте #300: http://www.owen.ru/forum/showthread.php?t=12691&page=30
Несколько таких макросов и годами будете проект рисовать, короче для сложных проектов есть ПЛК!
Если хотите чтобы кто-то помог упростить программу, уменьшить количество используемых ФБ, функций, выкладывайте подробное ТЗ, но мне кажется со сложным проектом вряд ли кто просто-так свяжется, лучше разбить на отдельные, функционально законченные макросы, с макросом больше шансов, что помогут и Вам не придётся раскрывать тайну всего проекта!
Последний раз редактировалось Сергей0308; 17.09.2017 в 16:20.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
1. Вы невнимательны, этому проекту уже больше 2-х лет.
2. Помогать программировать мне не надо, если бы вы открыли проект, я думаю вы поняли бы это сразу. Я уже больше 20 лет программирую на порядка 10-ти разных языках в т.ч на ассемблере и считаю свою компетенцию достаточной что-бы разобраться и в ПР, и в ПЛК, и не только в ОЛ и CODESYS, но и в том как это работает на уровне железа и ПО.
3. Нет смысла дискутировать над выбором ПЛК, ПР114 и ПР200 - каждый хорош для своих нужд. Если мне не нужен дисплей и кол-во входов выходов достаточное - зачем я буду платить лишние даже 100 руб?
4. Т.к. проект выложен по просьбе одного из участников в качестве доказательства, что достичь предел по ФБ вполне реально, а не для помощи с ним разобраться, то давайте не будем дальше здесь обсуждать мой проект, если он Вам интересен можем создать отдельную ветку или обсудить в личке.
Вернемся к теме
"Оптимизация OWEN LOGIC"
Так вот, использование макросов в ОЛ путем повторной вставки ФБ макроса конечно имеет свои причины (таймеры и т.п.), с другой стороны создание своих библиотек с достаточно сложной логикой ПИД, или со сложной логикой управления, или накоплением и обработкой массивов данных во времени, приводит к довольно существенным накладным расходам на ФБ, так как например 4-ной или 5-ной селекты, или групповое сложение, или побитовая работа жрут ФБ как хомячки. Поэтому, сложная логика, по сути, побитовых процессов в реализации логики микросхем может привести к тому, что ФБ могут и закончиться.
С другой стороны, поскольку, когда то DOS занимал около 100Кб, а сейчас дистрибутив винды ели-ели влезает на DVD (т.е. в 40 млн. раз больше !!!), то, наверное, производителю проще увеличить размеры ОЗУ и ПЗУ без роста цены изделия, чем переработать ПО уйдя снова в глубокую бету.
З.Ы.
По-хорошему, как я уже писал, лично мне не хватает 2-х вещей, что-бы сказать "ПР и ОЛ - это круто", а не "уныло и муторно".
1. Работы c 1-Wire (т.к. 12 входов+10 выходов хорошо, но кто понимает, 1 шлейф 1-Wire - в 1000 раз круче).
2. Создание макросов-процедур на обычном языке программирования (хотя-бы C например).
Причем, мне не надо там ни таймеров, ни портов, ни даже хранимых и внешних переменных - пусть всё останется за бортом снаружи, просто чтоб они были как внешние процедуры, ты передал в них типизированные параметры, вернул типизированные параметры (только массивы не забудьте!). Мне даже среды разработки не надо, только библиотеки скомпилированные под винду для отладки во внешней среде (в том-же эклипсе) и компилятор для сборки для ПР.
Это бы уже НАМНОГО облегчило создание систем сложнее "если темно - зажечь лампочку". Можно было-бы по-человечески программировать, например, ПИД, время и погодозависимые системы управления или сетевое взаимодействие. Разработка стала бы в десятки раз легче и быстрее.
Тут уже от безысходности некоторые дошли до того, что превращают ПР в модули ввода вывода, унося всю логику на внешний контроллер - что мне кажется саму идею ПР дискредитирует. А что делать? Если для тривиальной задачи включения лампочки по расписанию надо 3 листа макросов разлиновать.
З.З.Ы. Кстати CODESYS мне тоже не понравился, от слова - совсем. Начиная от нетривиальной, устаревшей давно морально и технологически среды разработки, заканчивая убогим по современным меркам синтаксисом и возможностями.
Последний раз редактировалось sdy; 17.09.2017 в 18:20.
Господин президент, что Вам снится ночами...? (с) ДДТ
Будь человеком, а то съедят!