-
- Да-да-да! Состояние автомата и входной сигнал. Это две сущности. Но где-то там ниже о взаимодействии между ними было сказано, что «автомат читает входные сигналы» — это якобы неправильно. Правильно «входные сигналы ReAl(1782 знак., 18.01.2012 22:37 - 22:43)
- 1 некошерно, скорее некрасивый способ кодирования. 2 против 3? использую и то, и другое. Метод 2 красиво-глобальный, метод 3 - безупречен, если абсолютно локальный в автомате. Но Vladimir Ljaschko(147 знак., 18.01.2012 22:51)
- Почему некошерно? У автомата (модуля со скрытыми внутренними данными, включая переменные состояния) есть несколько функций, вызовом которых внешний мир посылает ему сигналы. Одну из функций вызывает непосредственно внешний мир (аппаратное ReAl(715 знак., 18.01.2012 23:06)
- Это два разных подхода к кодированию. 1 посылать сигналы модулю 2 вызывать модуль для сбора сигналов. ИМХО 2 метод хуже переносим. Спецификация модуля должна определять что необходимо для его работы, и если требует создания глобальных переменных и =AlexD=(327 знак., 19.01.2012 07:10)
- Если посмотреть как это делается в FBD то увидим что там "связь вход-выход" выделяют в отдельную сущность. Это очень правильно, один и тот же автомат может быть использован несколько раз, в разных местах программы. На Си для этого подходит Скрипач(21 знак., 20.01.2012 10:22)
- У меня сложилась практика передачи связи в виде ссылки на класс, специфицированном параметром шаблона :-), из которого дёргаются методы унифицированные на сколько это разумно (read, write & etc.). В такой конфигурации использование готовых модулей =AlexD=(34 знак., 20.01.2012 11:06)
- А можно примерчик? Я тоже сейчас нечто подобное изобретаю. Этакий полиморфизм силами компилятора :) - Скрипач(20.01.2012 18:11 - 18:46)
- У меня сейчас мозг занят схемотехникой и трассировкой пп и я физически не могу переключиться на программирование. Может через пару недель я буду в состоянии что-то выдать. - =AlexD=(23.01.2012 14:36)
- Потерпим. Не к спеху. - Скрипач(23.01.2012 17:02)
- У меня сейчас мозг занят схемотехникой и трассировкой пп и я физически не могу переключиться на программирование. Может через пару недель я буду в состоянии что-то выдать. - =AlexD=(23.01.2012 14:36)
- А можно примерчик? Я тоже сейчас нечто подобное изобретаю. Этакий полиморфизм силами компилятора :) - Скрипач(20.01.2012 18:11 - 18:46)
- подходит передача параметров .... ага, в виде указателя на структуру. Но собственно к автоматам это не относится. Так, общий стиль программирования. - Vladimir Ljaschko(20.01.2012 10:55)
- А не накладно? В смысле много-букв-писать-через-указатель-обращаться? - Скрипач(24.01.2012 20:17)
- А голова зачем дана? Когда накладно, то инлайнить. Пример управления двумя приводами (position control=pc) да и прочими автоматами для трех проектов в одном workspace. Vladimir Ljaschko(1276 знак., 24.01.2012 20:31)
- Угу. Именно то, о чем я говорил. НАКЛАДНО! (Я про много служебных символов в тексте, инлайном такое не лечится) Скрипач(2610 знак., 24.01.2012 21:17 - 22:04)
- Инлайном лечится все, я проверял. Например, аналогичное под инлайном на высшей оптимизации под ИАРом ускоряется существенно. Vladimir Ljaschko(3606 знак., 24.01.2012 23:25 - 25.01.2012 08:22)
- Угу. Именно то, о чем я говорил. НАКЛАДНО! (Я про много служебных символов в тексте, инлайном такое не лечится) Скрипач(2610 знак., 24.01.2012 21:17 - 22:04)
- А голова зачем дана? Когда накладно, то инлайнить. Пример управления двумя приводами (position control=pc) да и прочими автоматами для трех проектов в одном workspace. Vladimir Ljaschko(1276 знак., 24.01.2012 20:31)
- А не накладно? В смысле много-букв-писать-через-указатель-обращаться? - Скрипач(24.01.2012 20:17)
- У меня сложилась практика передачи связи в виде ссылки на класс, специфицированном параметром шаблона :-), из которого дёргаются методы унифицированные на сколько это разумно (read, write & etc.). В такой конфигурации использование готовых модулей =AlexD=(34 знак., 20.01.2012 11:06)
- Если посмотреть как это делается в FBD то увидим что там "связь вход-выход" выделяют в отдельную сущность. Это очень правильно, один и тот же автомат может быть использован несколько раз, в разных местах программы. На Си для этого подходит Скрипач(21 знак., 20.01.2012 10:22)
- Не, я до такого не дошел, максимум это прямая смена состояния одного автомата, от чего у меня изжога :) Vladimir Ljaschko(372 знак., 18.01.2012 23:26)
- Все isr-методы обязательно inline, никаких расходов по сравнению с прямым кодом в обработчике прерывания. - =ReAl=(19.01.2012 00:27, )
- Это два разных подхода к кодированию. 1 посылать сигналы модулю 2 вызывать модуль для сбора сигналов. ИМХО 2 метод хуже переносим. Спецификация модуля должна определять что необходимо для его работы, и если требует создания глобальных переменных и =AlexD=(327 знак., 19.01.2012 07:10)
- Почему некошерно? У автомата (модуля со скрытыми внутренними данными, включая переменные состояния) есть несколько функций, вызовом которых внешний мир посылает ему сигналы. Одну из функций вызывает непосредственно внешний мир (аппаратное ReAl(715 знак., 18.01.2012 23:06)
- 1 некошерно, скорее некрасивый способ кодирования. 2 против 3? использую и то, и другое. Метод 2 красиво-глобальный, метод 3 - безупречен, если абсолютно локальный в автомате. Но Vladimir Ljaschko(147 знак., 18.01.2012 22:51)
- Да-да-да! Состояние автомата и входной сигнал. Это две сущности. Но где-то там ниже о взаимодействии между ними было сказано, что «автомат читает входные сигналы» — это якобы неправильно. Правильно «входные сигналы ReAl(1782 знак., 18.01.2012 22:37 - 22:43)