Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 37 из 37

Тема: Конечный автомат на ПР200.

  1. #31

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    посему мы вправе считать последовательность во времени частным случаем массива или списка)
    Вынес обсуждение побочных эффектов в отдельную тему: Макросы ОЛ: с побочными эффектами и/или детерминированные?

    PS. Не думал, что человек может называть термины "чистая функция", "функциональное программирование" и при этом считать blink чистой функцией.

  2. #32

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    PS. Не думал, что человек может называть термины "чистая функция", "функциональное программирование" и при этом считать blink чистой функцией.
    Просто человек не делает различия между функциональным блоком(макросом) и функцией.
    Функциональный блок(макрос) обладает внутренней памятью в которой храниться состояние внутренних переменных(переменной) и в зависимости от внутреннего состояния и входа формируется выходное воздействие (выход из функционального блока). У функции же в зависимости от входа формируется выход (за один такт выполнения).
    Так же у функции (в большинстве случаев) один выход, а функциональный блок может обладать несколькими выходами или тоже только одним. Собственно получается, что макрос - это функциональный блок. Детерминируемый или нет? Думаю, что да - ведь мы делаем функциональные блоки (макросы) с уже известным(предсказанным) поведением при известном внутреннем состоянии и входном воздействии.

  3. #33

    По умолчанию

    Цитата Сообщение от ferret_maybe Посмотреть сообщение
    Собственно получается, что макрос - это функциональный блок. Детерминируемый или нет? Думаю, что да - ведь мы делаем функциональные блоки (макросы) с уже известным(предсказанным) поведением при известном внутреннем состоянии и входном воздействии.
    Есть очень простой пример: SR-триггер. Он является недетерминированным в том плане, что при одних и тех же значениях S и R на входе он может возвращать TRUE, а может возвращать FALSE. Например, если подать S=FALSE, R=FALSE, то невозможно предсказать что именно вернёт SR.
    Ещё раз: "недетерминированность" не означает, что "вообще невозможно предсказать поведение SR-триггера. Оно означает лишь то, что для такого предсказания нужно знать всю историю событий.

    В этом плане операция ADD является детерминированной и чистой. Т.е. результат ADD не зависит от прошлых запусков ADD, не зависит от какого-то скрытого состояния, а зависит только от аргументов.

    Поэтому, если в макросе используются ОЛ ФБ или обратные связи, то этот макрос уже перестаёт быть детерминированным. Это не значит, что ОЛ ломается. Это значит, что для понимания принципа работы такого макроса нужно учитывать потенциальные скрытые состояния.

    PS. Если продолжение, то имеет смысл в теме Макросы ОЛ: с побочными эффектами и/или детерминированные


    PPS. Тов. писал, что "каждый макрос в ОЛ есть детерминированная функция без побочных эффектов", и именно это неправильно. Да, в ОЛ могут быть макросы, являющиеся "детерминированной функцией без побочных эффектов". Например, если макрос состоит только из математики и логики (ну, ADD/AND/NOT/fMUL и т.п.). Но заявлять, что "каждый макрос в ОЛ без побочных эффектов" это явное лукавство, т.к. куча макросов направлена именно на побочные эффекты (на изменение внутреннего состояния ФБ, используемых в макросе). Если в макросе обратная связь или какой-нибудь ФБ, то всё, макрос наверняка с побочным эффектом и недетерминированный.
    Последний раз редактировалось Владимир Ситников; 20.04.2017 в 18:17.

  4. #34

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Есть очень простой пример: SR-триггер. Он является недетерминированным в том плане, что при одних и тех же значениях S и R на входе он может возвращать TRUE, а может возвращать FALSE. Например, если подать S=FALSE, R=FALSE, то невозможно предсказать что именно вернёт SR.
    Ещё раз: "недетерминированность" не означает, что "вообще невозможно предсказать поведение SR-триггера. Оно означает лишь то, что для такого предсказания нужно знать всю историю событий.

    В этом плане операция ADD является детерминированной и чистой. Т.е. результат ADD не зависит от прошлых запусков ADD, не зависит от какого-то скрытого состояния, а зависит только от аргументов.

    Поэтому, если в макросе используются ОЛ ФБ или обратные связи, то этот макрос уже перестаёт быть детерминированным. Это не значит, что ОЛ ломается. Это значит, что для понимания принципа работы такого макроса нужно учитывать потенциальные скрытые состояния.

    PS. Если продолжение, то имеет смысл в теме Макросы ОЛ: с побочными эффектами и/или детерминированные


    PPS. Тов. писал, что "каждый макрос в ОЛ есть детерминированная функция без побочных эффектов", и именно это неправильно. Да, в ОЛ могут быть макросы, являющиеся "детерминированной функцией без побочных эффектов". Например, если макрос состоит только из математики и логики (ну, ADD/AND/NOT/fMUL и т.п.). Но заявлять, что "каждый макрос в ОЛ без побочных эффектов" это явное лукавство, т.к. куча макросов направлена именно на побочные эффекты (на изменение внутреннего состояния ФБ, используемых в макросе). Если в макросе обратная связь или какой-нибудь ФБ, то всё, макрос наверняка с побочным эффектом и недетерминированный.
    http://neerc.ifmo.ru/wiki/index.php?...ечные_автоматы
    Можете остаться при своем мнении.

  5. #35

    По умолчанию

    Цитата Сообщение от ferret_maybe Посмотреть сообщение
    http://neerc.ifmo.ru/wiki/index.php?...ечные_автоматы
    Можете остаться при своем мнении.
    Так. С вами понятно. Вы перепутали "детерминированный конечный автомат" и "детерминированную функцию".
    К слову: слова "побочный эффект" и ДКА рядом редко упоминаются. Это из разных опер. А вот слова "детерминированность функции", "чистота функции", "побочные эффекты", haskell это вполне понятно из какой оперы.
    Последний раз редактировалось Владимир Ситников; 20.04.2017 в 18:37.

  6. #36
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,161

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Сергей0308 Тут больше подойдёт стек который вы предлагали для клапанов с поплавками.
    Так говорят что этого нельзя сделать в ОЛ, тогда пусть ждут когда в ОЛ ST добавят, думаю что не пройдёт и 100 лет! Вы как думаете можно это сделать в ОЛ? Я не понимаю, что они хотят!
    Последний раз редактировалось Сергей0308; 20.04.2017 в 18:47.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  7. #37
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,490

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Так говорят что этого нельзя сделать в ОЛ, тогда пусть ждут когда в ОЛ ST добавят, думаю что не пройдёт и 100 лет! Вы как думаете можно это сделать в ОЛ? Я не понимаю, что они хотят!
    drvlas​ уже делал конечный автомат для весового терминала, по моему на девять циклов. Я и ещё несколько человек помогали ему в создании этого проекта.

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. Нужна помощь в написании программы управления для ПР200
    от plotnik.off86 в разделе Среда программирования OWEN Logic
    Ответов: 47
    Последнее сообщение: 27.01.2017, 14:32
  2. Ответов: 32
    Последнее сообщение: 16.01.2016, 16:04
  3. Ответов: 5
    Последнее сообщение: 14.08.2015, 15:01
  4. пошаговое выполнение Sfc-программы
    от drvlas в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 01.11.2010, 20:35
  5. Пошаговое выполнение
    от FVG-8 в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 02.09.2008, 10:17

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •