arhiv6 20 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба а почему так нельзя? Можно, но такой вариант сложно масштабируем. Если делать в таком виде, то как Вы представляете себе решение для вашего же примера: (param1 && input1) || (param2 && (input2 || input3)) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба Warning: :bb-offtopic: мы слышим какие вопросы вы задаете и как реагируете на предложенные решения тут. Так что про докторскую(или хотя-бы про минимально научный склад ума) мысль даже не закрадывается(по крайней мере у меня)... Видео с курилки в студию, разберем, оценим на досуге ))))))))) вы не объясняйте какой я дурак - вы покажите какой вы умный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба я хочу по входному условию установить выходное условие - назовем это задачей. причем задачи надо хранить в памяти. включили питание - побежали задачи. теперь представте есть таких десять задач со всякими входными и выходными условиями. и все они в цикле в рантайм проверяются. Странно. Задача подпадает под описание PLC, так и используйте PLC. Зачем изобретать еще что-то? Среды разработки для PLC разрабатывали и отлаживали десятилетиями, чтобы вот так, легко и непринужденно загружать и выполнять по 10 задач в реалтайме. Причем под это еще придумали и стандартизировали 5 языков программирования, чтобы каждый программист и непрограммист мог писать проги так, как ему нравится. Ваш синтаксис это нечто среднее между синтаксисом IL и ST. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demiurg_spb 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба http://www.beremiz.org Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба Можно, но такой вариант сложно масштабируем. Если делать в таком виде, то как Вы представляете себе решение для вашего же примера: (param1 && input1) || (param2 && (input2 || input3)) ? о! вот в этом вся загвоздка! вот это я и пытаюсь решить. не то чобы я был зациклен на моей имплиментации. просто других альтернатив нет пока. я думал сделать такую структуру struct sGroupResults { uint8_t result; uint8_t resLogic; }; struct sConditionGroup { struct sGroupResults groupResults[10]; uint8_t groupLogic; }; struct sTaskCondition { struct sConditionGroup condGroup[MAX_COND_GROUPS]; }; и тогда условие (param1 && input1) || (param2 && (input2 || input3)) расположиться так sTaskCondition.condGroup[0].groupResults[0].result = param 1; sTaskCondition.condGroup[0].groupResults[0].resLogic = AND; sTaskCondition.condGroup[0].groupResults[1].result = input 1; sTaskCondition.condGroup[0].groupResults[1].resLogic = NONE; sTaskCondition.condGroup[0].groupLogic = OR; sTaskCondition.condGroup[1].groupResults[0].result = param 2; sTaskCondition.condGroup[1].groupResults[0].resLogic = NONE; sTaskCondition.condGroup[1].groupLogic = AND; sTaskCondition.condGroup[2].groupResults[0].result = input 2; sTaskCondition.condGroup[2].groupResults[0].resLogic = OR; sTaskCondition.condGroup[2].groupResults[1].result = input 3; sTaskCondition.condGroup[2].groupResults[1].resLogic = NONE; sTaskCondition.condGroup[2].groupLogic= NONE; вопрос как в проверке условий объяснить что sTaskCondition.condGroup[0]. groupResults[0].result это param 1 Изменено 27 января, 2016 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба Тут уже советовали посмотреть варианты реализации Форт VM (виртуальных машин) готовых хоть C хоть ASM хоть как то ещё :) Может не стоят эти муки творчества затраченных на них усилий? :smile3046: Какое железо, кстати, используется? P.S. На диалекте Форт языка есть PLC контроллеры ForthLogic Техническая информация Программирование на языке ForthLogic (PDF, ~4Mb) (Правда большая часть это копипаст из книги Баранова, Ноздрунова "Форт и его реализации", но есть и оригинальные идеи в языке для данныхконтроллеров) Изменено 27 января, 2016 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба Тут уже советовали посмотреть варианты реализации Форт VM (виртуальных машин) готовых хоть C хоть ASM хоть как то ещё :) Может не стоят эти муки творчества затраченных на них усилий? Какое железо, кстати, используется? P.S. На диалекте Форт языка есть PLC контроллеры ForthLogic Инструкция по программированию на языке ForthLogic™ (Правда большая часть это копипаст из книги Баранова, Ноздрунова "Форт и его реализации", но есть и оригинальные идеи в языке для данныхконтроллеров) :smile3046: Железо STM32F107VC. не думаю что у меня хватит сил реализовать Форт VM. давайте разделим задачу на подзадачи пойти проверить состояние входных пинов - смешно правда? пойти по адресу проверить переменную - больше, меньше установленного лимита - просто, вы не находите? что нам осталось? - увязать логику? - И с этим ИЛИ с тем и для этого мы будем тянуть фреймворки и виртуальные машины? ребята да вы что? сравнить два факинг входных пина и два факинг параметра, и сделать И , ИЛИ между ними? Изменено 27 января, 2016 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба Железо STM32F107VC. не думаю что у меня хватит сил реализовать Форт VM. Допиливайте на своё усмотрение любые готовые для STM32 (mecrisp и др.) или есть уже коммерческие самособирающиеся из исходников для STM32 (VFX от MPE c кодовым ограничением на 64Kб что по меркам Форт систем достаточно много даже если полвину займёт полная Форт система) VFX от МPE по их исходникам запустил на STM32L100 Discovery самостоятельно. Или такой ресурс SwiftX Embedded Systems Development Tools Был бы Ваш камень, то это тоже меня не остановило бы от "заливки" в него Форт системы. :) P.S. Полезный действующий форумный ресурс Рускоязычных Форт пользователей Матчасть у Форт систем не сложная. Форт почти всегда без фреймворков (т.к. сам самодостаточен при его использовании) Всяких реализаций FVM СОТНИ!!! и разных схем решений. Может Вашим идеям будет созвучен такой "грандиозный" фейковый трактат КОМЛОГИЯ Изменено 27 января, 2016 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба то нам осталось? - увязать логику? - И с этим ИЛИ с тем и для этого мы будем тянуть фреймворки и виртуальные машины? ну дык вперёд. задача-то плёвая. разговор с вами - это как в анекдоте: "папа, а где море?". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба ну дык вперёд. задача-то плёвая. разговор с вами - это как в анекдоте: "папа, а где море?". задача действительно плевая. для сильных спецов. Допиливайте на своё усмотрение любые готовые для STM32 (mecrisp и др.) или есть уже коммерческие самособирающиеся из исходников для STM32 (VFX от MPE c кодовым ограничением на 64Kб что по меркам Форт систем достаточно много даже если полвину займёт полная Форт система) VFX от МPE по их исходникам запустил на STM32L100 Discovery самостоятельно. Или такой ресурс SwiftX Embedded Systems Development Tools Был бы Ваш камень, то это тоже меня не остановило бы от "заливки" в него Форт системы. :) P.S. Полезный действующий форумный ресурсРускоязычных Форт пользователей Матчасть у Форт систем не сложная. Форт почти всегда без фреймворков (т.к. сам самодостаточен при его использовании) Всяких реализаций FVM СОТНИ!!! и разных схем решений. а можно из СОТНИ!!! хоть одну готовую? одну...из СОТНИ!!!. Изменено 27 января, 2016 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба если парсер у вас есть, то сядьте и напишите за вечер типа il-интерпретатор а без парсера можно писать и в кодах переменные в стек, указатель стека, указатель инструкции, регистр состояния программа получится, например, такая: положить в стек номер порта читать порт положить в стек константу сравнить положить в стек адрес перехода если больше переход положить в стек номер порта положить в стек константу записать в порт положить в стек адрес перехода безусловный переход делов-то программу можно хранить во флеше мк или заливать с пк каждый раз в озу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба если парсер у вас есть, то сядьте и напишите за вечер типа il-интерпретатор а без парсера можно писать и в кодах переменные в стек, указатель стека, указатель инструкции, регистр состояния программа получится, например, такая: положить в стек номер порта читать порт положить в стек константу сравнить положить в стек адрес перехода если больше переход положить в стек номер порта положить в стек константу записать в порт положить в стек адрес перехода безусловный переход делов-то программу можно хранить во флеше мк или заливать с пк каждый раз в озу вы понимаете...я уже тут говорил...советы такого типа они очень абстрактны - как интерфейсы в С#. так и я умею. столько интерфейсов напишу - закачаетесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба задача действительно плевая. для сильных спецов. а можно из СОТНИ!!! хоть одну готовую? одну...из СОТНИ!!!. Выбирайте на своё усмотрение что больше будет понятно или достаточно по уровню Ваших технических "претензий" Применение Форта для ARM, AVR, MSP430, PIC ... и просмотрите форум, обсуждения, статьи и ссылки на нём по диагонали. Там же можете доставать непонятными вопросами местных форумчан :) Книги по Форт на форуме тоже представлены. Начните с 2-ух книг автора Броуди. P.S. Google есть? :) Можно прочитать и это Статьи на xabraxabr по Форт тематике Изменено 27 января, 2016 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба Выбирайте на своё усмотрение что больше будет понятно или достаточно по уровню Ваших технических "претензий" Применение Форта для ARM, AVR, MSP430, PIC ... и просмотрите форум, обсуждения и ссылки на нём по диагонали. Там же можете доставать непонятными вопросами местных форумчан :) P.S. Google есть? :) спасибо. посмотрю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба вы понимаете...я уже тут говорил...советы такого типа они очень абстрактны - как интерфейсы в С#. и что не так с интерфейсами в шарпе ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться