|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
27.11.2017, 23:34 | #1 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Почему при запуске в памяти "0"
Добрый день коллеги!
Столкнулся с очередной траблой лоджика которую не знаю как решить. При включении контроллера получаю состояние программы как на рисунке ниже. Кроме указанных блоков в этой тестовой программе больше ничего нет. Как видно, после включения триггер успевает установиться в единицу, видимо пока переменные из смарта не передались в лоджик... В рамках текущей программы решается просто: ставится задержка на сравнение. Но дело в том, что баг был обнаружен при загрузке отлаженной и работоспособной программы написаной около 2 лет назад, где блоков сравнения - десятки (если не сотни), и логика достаточно сложная. Избавится от этого импульса при старте без переписывания программы с ноля не представляется никакой возможности... Есть лекарство от сего непотребства? |
28.11.2017, 11:04 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Несанкционированный импульс при старте программы
Поменяйте свою схему на такую.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 28.11.2017 в 13:26 |
28.11.2017, 12:38 | #3 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Что бывает, если не читать РЭ
Эм... я не совсем Вас понял. Это ирония?
Ранее эта программа работала без проблем. |
28.11.2017, 12:54 | #4 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Что бывает, если не читать РЭ
Проблемы это вызывает только в синхронных процессах. Типа той схемы, что вы собрали.
Т.к. она синхронная, её нужно было обязательно засинхронизировать, что я в своём примере и сделал. Синхронные схемы без синхронизации - это как с закрытыми глазами шоссе перебегать. 100 раз перебежали, может кто-то даже и 100 тысяч раз перебежит. Но в конце концов машина вас собьёт. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 28.11.2017 в 13:26 |
28.11.2017, 12:56 | #5 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Что бывает, если не читать РЭ
Подскажите где взять обобщенный сигнал "память готова"?
Знаю есть такой в блоках EEPROM. Его можно использовать? Последний раз редактировалось Arsie, 28.11.2017 в 13:26 |
28.11.2017, 12:58 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Что бывает, если не читать РЭ
Такой обобщённый сигнал есть на каждом экране SMArt, использующем память. Отвечает только за свой экран.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 28.11.2017 в 13:26 |
28.11.2017, 13:43 | #7 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Почему при запуске в памяти "0"
Из справки: ".Память готова. После редактирования происходит запись нового значения в ЕЕПРОМ. На этот момент на выход подается 0."
При использовании данного сигнала на входе блока "И" (предложенный Вами вариант), в момент смены значения получаем логический ноль на выходе не зависимо от результата сравнения... Избавляемся от импульса при старте, но получаем импульс в момент смены уставки. Я просто не понимаю (объясните мне что ли): это проблема новая и связана со сменой версий лоджика? Или мне просто везло? Раньше ну никак и никогда над этим не заморачивался, и не испытывал никаких сложностей касательно этого вопроса... |
28.11.2017, 14:16 | #8 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Почему при запуске в памяти "0"
Цитата:
Цитата:
"Синхронные схемы без синхронизации - это как с закрытыми глазами шоссе перебегать. 100 раз перебежали, может кто-то даже и 100 тысяч раз перебежит. Но в конце концов машина вас собьёт". __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||