Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя
Показано с 91 по 100 из 129

Тема: OwenLogic 1.15

  1. #91

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Вместо константы логической "1" - энергонезависимая булева переменная в состоянии логической "1".
    Так, надеюсь, правильно со всех сторон?
    А, ну да. Собсно, никто не мешает занулить вход оборванного NOT, результат будет тот же. По факту, это просто наведение красоты. И оборванный и занулённый NOT -- это не что иное, как замена константы 1 на константу NOT 0.

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

    По умолчанию

    з.ы. красоту надо наводить в других местах, хватает где... это про ОЛ...

    меня вот удивило, что сервисные переменные часов нельзя использовать просто в макросе. Нет, надо кучу входов налепить, и кучу переменных на экране... ну почему нельзя ?

  3. #93

    По умолчанию

    По прежнему самая последняя версия ОЛ 15 обнаружил, что невозможно скопировать экранные элементы с одного экрана на другой, уже не говоря об копировании между проектами, если к экранному элементу привязана сетевая переменная. если локальная - то все ок!

    кстати, дапвно хотел спросить, а баги, что я тут пишу они к сведенью принимаются, или нужна отдельная тема?
    Последний раз редактировалось bayk; 09.12.2019 в 21:40.

  4. #94

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Почитал последние посты - какие-то дебри!
    roman_1986,

    Никаких опросов/ записей сетевых переменных в середине цикла выполнения программы, а тем более в макросах НЕ ПРОИСХОДИТ!
    ПР работает строго циклически
    1. читаются физические входы и входные сетевые переменные
    2. значения полученные в п.1 запоминаются в буфере и до конца цикла используются в программе в не измененном виде Даже если состояние входа изменилось, то ПР узнает об этом только в следующем цикле
    3. Выполняется ВСЯ программа на холсте, включая ВСЕ макросы.
    4. Новые значения ВСЕХ внутренних и сетевых переменных запоминаются в буфере.
    5. Происходит запись значений полученных в п.4 в физические выходы
    6. Выполняется внутренние процедуры сетевого обмена(запросы чтения или записи)
    далее все повторяется с п.1

    Перестаньте извращаться над ПР, не нужно делать период опроса 20мс! Вы не даете ПР "вздохнуть" ПР не успевает обрабатывать ответы на запросы! Оставьте значение "по умолчанию" - 100мс, время реакции системы возрастет - не будет 1,5 секунды, а будет 0,1 сек.
    И самое главное - зачем Вы читаете из МВ110 по два регистра и соответственно пишете по два регистра в МУ110?
    Мастер в ПР не умеет делать групповые запросы и будет делать четыре отдельных запроса - два на чтение из МВ110 и два на запись в МУ110. И то, если в настройках сетевых переменных Вы отключили чтение для МУ110 иначе ПР еще будет делать два запроса на чтение из МУ100, а зачем это?
    Я рекомендую читать и писать для модулей сразу по два регистра (DWORD), для них будет выполнятся по одному запросу!
    ВВОД_32
    Вложение 45929
    1. Период опроса - 100мс
    2. читаем сразу два регистра с адреса 99
    3. функции записи - НЕТ.

    ВЫВОД_32
    Вложение 45930
    1. Включаем галку "Запись по изменению"
    2. Период опроса в этом случае - не имеет значения, т.к. запись будет однократная - только по факту изменения значения.
    3. Пишем сразу два регистра с адреса 97
    4. функция записи -0х10,
    5. функции чтения - НЕТ

    И снова здравствуйте )))
    По поводу модулей - опрос сделал как Вы показали (спасибо за подсказку)... Но к сожалению, это никак не решило мою проблему, зависание именно связи между ПР200 и модулями... ПР200 работает и обрабатывает все четко!


    Собственно что было сделано - из всех макросов все было вынесено в основное окно программы, и самый большой макрос содержал в себе элементов 10... ни алгоритм, ни чего не менял вообще!!! И все заработало отлично!!! Причем независимо от того, какие временные интервалы для периода опроса делать, что 20мс что 100 мс... Понятно, что для 20мс нагрузка на сам процессор может и быть и возрастет, но если вы сталкивались с программированием именно самих микроконтроллеров (точнее с STM23, который стоит в ПР200), то вы должны знать как работает связь по RS485, а точнее по RS232(!!!), и что программный RS232 и аппаратный RS232 работают совершенно по разному! В аппаратной части - мы только передали наши регистры для отправки, а вот как и что оно будет передавать - это уже проблемы аппаратной части микроконтроллера, которая ни как не сказывается на работу основной программы, по окончанию передачи или приема данных - у нас появляется прерывание, либо некий БИТ, говорящий о том, что процесс связи окончен... Еще до работы с ПР200, я программировал на ATMEGA8, которая в разы слабее ПР200, и нагружал намного больше чем на ПР200, так же была связь по RS485 и никаких провалов по связи не было....

    В связи с этим снова вопрос)))): Как обрабатываются все-таки макросы, и есть ли ограничение на количества элементов в макросе?

  5. #95

    По умолчанию

    Заметил одну странность при режиме работы с экранами. Переходы - вверх/вниз.Если сделать два экрана по три строчки, то третья строчка в первом экране не отображается - на третье нажатие вниз срабатывает переход на второй экран. На втором экране дощелкать до третьей строчки можно.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от stanislau Посмотреть сообщение
    Заметил одну странность при режиме работы с экранами. Переходы - вверх/вниз.Если сделать два экрана по три строчки, то третья строчка в первом экране не отображается - на третье нажатие вниз срабатывает переход на второй экран. На втором экране дощелкать до третьей строчки можно.
    Мягко выражаясь странные у Вас претензии, если всё работает именно так, как Вы сделали, короче, вот поправил:

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

  7. #97

    По умолчанию

    Ну я думал, что последовательным нажатием вниз прощелкиваются все строки экрана, а при нажатии вниз на последней строке происходит переход на следующий экран. Мне это странным не кажется. А получается, чтобы так сделать надо делать переход не нажатием вниз, а удержанием. Тогда бы настройку времени удержания сделать.

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

    По умолчанию

    Цитата Сообщение от stanislau Посмотреть сообщение
    Ну я думал, что последовательным нажатием вниз прощелкиваются все строки экрана, а при нажатии вниз на последней строке происходит переход на следующий экран. Мне это странным не кажется. А получается, чтобы так сделать надо делать переход не нажатием вниз, а удержанием. Тогда бы настройку времени удержания сделать.
    У Вас по нажатию - переход на другой экран, реле и переходит на другой экран, чего здесь странного?
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #99

    По умолчанию

    Как чего? А третью строку кто отображать будет? То есть переход по нажатию вниз на следующий экран происходит не с последней строки предыдущего. Вот это мне не понятно. Почему так сделано? Доходишь до последней строки, жмешь вниз- в верхней строке дисплея пр200 появляется первая строка следующего экрана. Что тут не логичного? Тогда ни какое "по удержанию вниз" не надо вообще.

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

    По умолчанию

    Например Вы хотите сделать(пытаетесь делать) переход на следующий экран кнопкой "вниз"(меньше) у Вас сначала экран должен прокрутится до нижней строки текущего экрана, потом совершится переход к следующему экрану, а я хочу сделать переход в следующему экрану кнопкой "вверх"(больше), это же логично к следующему экрану переходить по кнопке больше, кстати и номер экрана увеличивается, а к преведущему кнопкой меньше(номер экрана уменьшается), короче, ПР не знает, кто там чего хочет, оно выполняет поданные команды!
    Совсем забыл спросить, в моём случае, надо полагать, он ещё более логичный чем ваш, экран тоже должен до конца вниз промотаться перед переходом или вверх?
    Последний раз редактировалось Сергей0308; 19.12.2019 в 01:08.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 10 из 13 ПерваяПервая ... 89101112 ... ПоследняяПоследняя

Похожие темы

  1. OwenLogic 1.3
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 317
    Последнее сообщение: 29.04.2020, 09:29
  2. OwenLogic 1.14
    от Андрей Посохов в разделе Среда программирования OWEN Logic
    Ответов: 150
    Последнее сообщение: 27.08.2019, 10:44
  3. OwenLogic 1.13
    от Андрей Посохов в разделе Среда программирования OWEN Logic
    Ответов: 243
    Последнее сообщение: 29.05.2019, 18:47
  4. OwenLogic 1.5
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 259
    Последнее сообщение: 22.11.2015, 19:52
  5. OwenLogic 1.6
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 26
    Последнее сообщение: 10.10.2012, 19:37

Ваши права

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