Страница 19 из 35 ПерваяПервая ... 9171819202129 ... ПоследняяПоследняя
Показано с 181 по 190 из 343

Тема: ПР200 на четырёхзначной логике

  1. #181

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Вам же уже 100500 раз сказали, дальше свою логику начните прикручивать, не зацикливайтесь только на состоянии оси и двигателя. И у вас все просыпется к чертям...
    melky, я показал инструмент в виде четырёхзначной логики, показал как я её использую для решения своих задач. У вас может быть своё видение вопроса, я не против!!!

  2. #182
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,999

    По умолчанию

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

    И ещё момент, вы не учитываете архитектуру ПР200, Тут на каждые ваши 2 бита вы будете тратить 4 байта, спрашивается где плюшки?
    Последний раз редактировалось melky; 28.04.2025 в 19:17.

  3. #183

    По умолчанию

    Цитата Сообщение от Geenerator Посмотреть сообщение
    Показал как я её использую для решения своих задач.
    Чёрт возьми, каналья! Да ГДЕ ЖЕ показал?! Где?! Гдеее?!
    ВОТ пример описания моей технологии и там же пример, как я её использую: https://cs-cs.net/crm-social-content-manage
    Мои примеры реальны. Я прям показываю и говорю: "Вот, как это работает, вот что получается".
    А тут одни картинки и опсания осей станка. Абстрактного. И даже о том, что ось должна иметь рампу разгона и торможения - забыли.
    А уж "ться" это - это просто прям садись, да! Диссертацию он пишет. Двигатель делает крутиться.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

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

    По умолчанию

    Так я же вроде уже писал что в реальности это невозможно использовать в принципе из-за отсутствия аппаратной поддержки, в смысле, не надо от него требовать невозможного!
    Это же аналогично системам счисления, двоичная, восьмеричная, десятичная, шестнадцатеричная, на практике можно использовать любую, разницы в вычислениях не будет, но без аппаратной поддержки использовать любую систему невозможно в принципе, короче, надеюсь что все это понимают, в смысле, тогда вопрос по практическому использованию будет закрыт автоматически даже не открывшись!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #185

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Так вот именно, что вы решили маааааленький кусочек логики, не думая о том, что будет дальше, и как, ограничившись этой логикой, будете строить дальнейшие алгоритмы.
    Я в вашей же логике показал на элементарном примере, что свалившись в ошибку, вы тут же теряете два состояния. Вы не ответили на вопрос, как вы их скопируете для остальных?
    То есть банально, алгоритм далее должен знать при каком направлении движения произошла ошибка?

    И ещё момент, вы не учитываете архитектуру ПР200, Тут на каждые ваши 2 бита вы будете тратить 4 байта, спрашивается где плюшки?
    Я сейчас не понимаю в чём вопрос...
    Есть входные переменные (события), которые логически объединяются и формируют (состояние), и это не просто состояния, а логические состояния
    IF DI1=1 or DI2=1 or (DI3=0 and DI4=0) Then
    VAR1=0 //состояние (стоп)
    END
    IF DI5=1 or DI6=1 or (DI7=0 and DI8=0) Then
    VAR1=1 //состояние (движение +)
    END
    IF DI1=1 and DI2=1 Then
    VAR1=2 //состояние (движение -)
    END
    IF DI5=1 and DI6=1 Then
    VAR1=3 //состояние (авария)
    END

    По такому же принципу можно сформировать дополнительные условия перехода из одного состояния в другое
    1. состояния могут изменяться в зависимости от входных сигналов (событий)
    2. состояния могут изменяться в зависимости от изменения состояния других "объектов"

    Состояния могут взаимодействовать как через логические функции AND4, OR4, NOT4, так и через операторы IF, CASE и т.д.

    В результате получается логика более высокого уровня, которая так же может быть реализована аппаратно и имеет свою математику !
    Логические законы работают на уровне состояний !!!

    Можно не заморачиваться и создать автоматы состояний, которых может быть сколько угодно, но связи логической между состояниями не будет!

  6. #186

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Чёрт возьми, каналья! Да ГДЕ ЖЕ показал?! Где?! Гдеее?!
    ВОТ пример описания моей технологии и там же пример, как я её использую: https://cs-cs.net/crm-social-content-manage
    Мои примеры реальны. Я прям показываю и говорю: "Вот, как это работает, вот что получается".
    А тут одни картинки и опсания осей станка. Абстрактного. И даже о том, что ось должна иметь рампу разгона и торможения - забыли.
    А уж "ться" это - это просто прям садись, да! Диссертацию он пишет. Двигатель делает крутиться.
    Cs-Cs, вопрос в том, что ваша технология и её использование не вызывает споров и дискуссий, вы делаете полезные программы которые выполняют свои функции.
    У меня же слегка спорный вопрос и из "окопа" лучше не высовываться.

  7. #187

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Так я же вроде уже писал что в реальности это невозможно использовать в принципе из-за отсутствия аппаратной поддержки, в смысле, не надо от него требовать невозможного!
    Это же аналогично системам счисления, двоичная, восьмеричная, десятичная, шестнадцатеричная, на практике можно использовать любую, разницы в вычислениях не будет, но без аппаратной поддержки использовать любую систему невозможно в принципе, короче, надеюсь что все это понимают, в смысле, тогда вопрос по практическому использованию будет закрыт автоматически даже не открывшись!
    Сергей0308, с реализацией аппаратной поддержки думаю вопросов не возникнет, весь вопрос целесообразности.
    А целесообразность приходит с развитием Искусственного интеллекта и необходимостью общения с ним.

    В место ответа на вопрос 1- да, 0 - нет, компьютер может ответить:
    0 - на ваш вопрос НЕТ ответа
    1- ответ на ваш вопрос ПОЛОЖИТЕЛЬНЫЙ
    2- ответ на ваш вопрос ОТРИЦАТЕЛЬНЫЙ
    3 - такого вопроса не может быть

    И такая болтовня на уровне битов...

  8. #188

    По умолчанию

    диссертацию так написали или нет?
    в прошлый раз этот бред надоел всем на 17 странице

  9. #189

    По умолчанию

    Должен признать, что в OwenLogic на данный момент недостаточно возможностей для полноценной реализации алгоритма на четырёхзначной логике, поэтому приведу пример с Открытием/Закрытием ворот в языке программирования ЧПУ Балт-Систем

    В данном языке ST переменные уже объявлены и представляют собой «пакеты» (I входа , U-выхода) для которых выделены рабочие зоны. У сигнала U00K00 две составляющие U00 и K00 и память заполняется следующим образом
    U00K00, U00K01, U00K02 U00K03, U00K04, U00K05, … U00K31 (U00 – 32 шт.)
    U01K00, U01K01, U01K02 U01K03, U01K04, U01K05, … U01K31 (U01 – 32 шт.)

    На основе двоичных переменных формируются переменные, состоящие из 8 бит или СЛОВА (Word) с которыми можно работать как с битами 1111 1111 и как с числами 255
    W00K00, W00K01, W00K02, W00K03 (W00 – 4 шт. По 8 бит.)
    W01K00, W01K01, W01K02, W01K03 (W01 – 4 шт. По 8 бит.)
    Логические двоичные операции записываются символами И – (*) ИЛИ – (+) НЕ – (/)

    Код:
    ; Входные сигналы
    ; I00A00 – Кнопка ворота открыть 
    ; I00A01 – Кнопка ворота закрыть
    ; I00A02 – Кнопка ворота стоп
    ; I00A03 – Датчик препятствия
    ; I00A04 – Конечник открыто
    ; I00A05 – Конечник закрыто
    
    ; Выходные сигналы
    ; U00A00 – Ворота открыть 
    ; U00A01 – Ворота закрыть
    ; U00A02 – Лампа Стоп
    ; U00A03 – Лампа Открытие
    ; U00A04 – Лампа Закрытие
    ; U00A05 – Лампа Авария
    
    ; -------- формирование состояний на основе событий -----------------
    
    ; Если  (Кн. ворота стоп+ Датчик препятствия + Конечник открыто + Конечник закрыто)
    DOF: I00A02 + I00A03 + I00A04 + I00A05
       W20K0=0 ; состояние СТОП 
     ENDF
    ; Если  (Кн. ворота открыть + Ворота отрыть)
    DOF: I00A00 + U00A00
       W20K0=1 ; состояние Открытие ворот 
     ENDF
    
    ; Если  (Кн. ворота закрыть + Ворота закрыть)
    DOF: I00A01 + U00A01
       W20K0=2 ; состояние Закрытие ворот 
     ENDF
    ; Если  (Ворота открыть * Ворота закрыть)
    DOF: U00A00 * U00A01
       W20K0=3 ; состояние Авария 
     ENDF
    
    ; --------------- Алгоритм -------------------
    ; Ворота открыть =  Кн. ворота открыть + Ворота открыть * /Состояние СТОП * /Состояние Авария
    U00A00 = (I00A00 + U00A00) * /[W20K0=0] * /[W20K0=3]
    ; Ворота закрыть =  Кн. ворота закрыть + Ворота закрыть * /Состояние СТОП * /Состояние Авария
    U00A01 = (I00A01 + U00A01) * /[W20K0=0] * /[W20K0=3]
    ; Лампа Стоп
    U00A02  =  [W20K0=0]
    ; Лампа Открытие
    U00A03 = [W20K0=1]
    ; Лампа Закрытие
    U00A04 = [W20K0=2]
    ; Лампа Авария
    U00A05 = [W20K0=3]
    Вложения Вложения
    Последний раз редактировалось Geenerator; 30.04.2025 в 13:38.

  10. #190

    По умолчанию

    А там нельзя этот ужас U00A00 переименовыать на понятные человеку переменные типа MotorOpen, MotorClose?
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

Страница 19 из 35 ПерваяПервая ... 9171819202129 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 08.01.2025, 19:16
  2. ПР200 на троичной логике
    от Geenerator в разделе Программируемые реле
    Ответов: 177
    Последнее сообщение: 04.07.2021, 21:14
  3. ПР200 + ПР200 (или МВ110, МУ110)
    от antonlis в разделе Программируемые реле
    Ответов: 32
    Последнее сообщение: 27.06.2017, 12:07
  4. ПР200 Пропадание связи USB - ПР200. Решено
    от PGK в разделе Программируемые реле
    Ответов: 0
    Последнее сообщение: 18.01.2017, 11:37
  5. ПР200+НПТ1 Пределы измерения ПР200 в режиме 4-20ma
    от Алексей Геннадьевич в разделе Программируемые реле
    Ответов: 13
    Последнее сообщение: 06.04.2016, 20:19

Ваши права

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