|
|
  |
мини PLC. |
|
|
|
Jan 27 2016, 15:06
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(arhiv6 @ Jan 27 2016, 20:35)  Можно, но такой вариант сложно масштабируем. Если делать в таком виде, то как Вы представляете себе решение для вашего же примера: (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
Сообщение отредактировал Jenya7 - Jan 27 2016, 15:27
|
|
|
|
|
Jan 27 2016, 15:52
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Тут уже советовали посмотреть варианты реализации Форт VM (виртуальных машин) готовых хоть C хоть ASM хоть как то ещё  Может не стоят эти муки творчества затраченных на них усилий?  Какое железо, кстати, используется? P.S. На диалекте Форт языка есть PLC контроллеры ForthLogic Техническая информацияПрограммирование на языке ForthLogic (PDF, ~4Mb)(Правда большая часть это копипаст из книги Баранова, Ноздрунова "Форт и его реализации", но есть и оригинальные идеи в языке для данныхконтроллеров)
Сообщение отредактировал Kopa - Jan 27 2016, 16:00
|
|
|
|
|
Jan 27 2016, 16:15
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(Kopa @ Jan 27 2016, 21:52)  Тут уже советовали посмотреть варианты реализации Форт VM (виртуальных машин) готовых хоть C хоть ASM хоть как то ещё  Может не стоят эти муки творчества затраченных на них усилий? Какое железо, кстати, используется? P.S. На диалекте Форт языка есть PLC контроллеры ForthLogic Инструкция по программированию на языке ForthLogic™(Правда большая часть это копипаст из книги Баранова, Ноздрунова "Форт и его реализации", но есть и оригинальные идеи в языке для данныхконтроллеров)  Железо STM32F107VC. не думаю что у меня хватит сил реализовать Форт VM. давайте разделим задачу на подзадачи пойти проверить состояние входных пинов - смешно правда? пойти по адресу проверить переменную - больше, меньше установленного лимита - просто, вы не находите? что нам осталось? - увязать логику? - И с этим ИЛИ с тем и для этого мы будем тянуть фреймворки и виртуальные машины? ребята да вы что? сравнить два факинг входных пина и два факинг параметра, и сделать И , ИЛИ между ними?
Сообщение отредактировал Jenya7 - Jan 27 2016, 16:23
|
|
|
|
|
Jan 27 2016, 16:22
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(Jenya7 @ Jan 27 2016, 18:57)  Железо STM32F107VC. не думаю что у меня хватит сил реализовать Форт VM. Допиливайте на своё усмотрение любые готовые для STM32 (mecrisp и др.) или есть уже коммерческие самособирающиеся из исходников для STM32 (VFX от MPE c кодовым ограничением на 64Kб что по меркам Форт систем достаточно много даже если полвину займёт полная Форт система) VFX от МPE по их исходникам запустил на STM32L100 Discovery самостоятельно. Или такой ресурс SwiftX Embedded Systems Development ToolsБыл бы Ваш камень, то это тоже меня не остановило бы от "заливки" в него Форт системы.  P.S. Полезный действующий форумный ресурс Рускоязычных Форт пользователей Матчасть у Форт систем не сложная. Форт почти всегда без фреймворков (т.к. сам самодостаточен при его использовании) Всяких реализаций FVM СОТНИ!!! и разных схем решений. Может Вашим идеям будет созвучен такой "грандиозный" фейковый трактат КОМЛОГИЯ
Сообщение отредактировал Kopa - Jan 27 2016, 16:45
|
|
|
|
|
Jan 27 2016, 16:43
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(smalcom @ Jan 27 2016, 22:35)  ну дык вперёд. задача-то плёвая.
разговор с вами - это как в анекдоте: "папа, а где море?". задача действительно плевая. для сильных спецов. Цитата(Kopa @ Jan 27 2016, 22:22)  Допиливайте на своё усмотрение любые готовые для STM32 (mecrisp и др.) или есть уже коммерческие самособирающиеся из исходников для STM32 (VFX от MPE c кодовым ограничением на 64Kб что по меркам Форт систем достаточно много даже если полвину займёт полная Форт система) VFX от МPE по их исходникам запустил на STM32L100 Discovery самостоятельно. Или такой ресурс SwiftX Embedded Systems Development ToolsБыл бы Ваш камень, то это тоже меня не остановило бы от "заливки" в него Форт системы.  P.S. Полезный действующий форумный ресурс Рускоязычных Форт пользователей Матчасть у Форт систем не сложная. Форт почти всегда без фреймворков (т.к. сам самодостаточен при его использовании) Всяких реализаций FVM СОТНИ!!! и разных схем решений. а можно из СОТНИ!!! хоть одну готовую? одну...из СОТНИ!!!.
Сообщение отредактировал Jenya7 - Jan 27 2016, 16:45
|
|
|
|
|
Jan 27 2016, 16:55
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(Jenya7 @ Jan 27 2016, 19:43)  задача действительно плевая. для сильных спецов. а можно из СОТНИ!!! хоть одну готовую? одну...из СОТНИ!!!. Выбирайте на своё усмотрение что больше будет понятно или достаточно по уровню Ваших технических "претензий" Применение Форта для ARM, AVR, MSP430, PIC ... и просмотрите форум, обсуждения, статьи и ссылки на нём по диагонали. Там же можете доставать непонятными вопросами местных форумчан Книги по Форт на форуме тоже представлены. Начните с 2-ух книг автора Броуди. P.S. Google есть?  Можно прочитать и это Статьи на xabraxabr по Форт тематике
Сообщение отредактировал Kopa - Jan 27 2016, 17:09
|
|
|
|
|
Jan 27 2016, 16:57
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(Kopa @ Jan 27 2016, 22:55)  Выбирайте на своё усмотрение что больше будет понятно или достаточно по уровню Ваших технических "претензий" Применение Форта для ARM, AVR, MSP430, PIC ... и просмотрите форум, обсуждения и ссылки на нём по диагонали. Там же можете доставать непонятными вопросами местных форумчан P.S. Google есть?  спасибо. посмотрю.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|