Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2017, 23:34   #1
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Почему при запуске в памяти "0"

Добрый день коллеги!

Столкнулся с очередной траблой лоджика которую не знаю как решить.

При включении контроллера получаю состояние программы как на рисунке ниже. Кроме указанных блоков в этой тестовой программе больше ничего нет.

Как видно, после включения триггер успевает установиться в единицу, видимо пока переменные из смарта не передались в лоджик...

В рамках текущей программы решается просто: ставится задержка на сравнение. Но дело в том, что баг был обнаружен при загрузке отлаженной и работоспособной программы написаной около 2 лет назад, где блоков сравнения - десятки (если не сотни), и логика достаточно сложная. Избавится от этого импульса при старте без переписывания программы с ноля не представляется никакой возможности...

Есть лекарство от сего непотребства?
Изображения
Тип файла: png тест.png (2.8 Кбайт, 98 просмотров)
canada вне форума   Ответить с цитированием
Старый 28.11.2017, 11:04   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Несанкционированный импульс при старте программы

Цитата:
Сообщение от canada Посмотреть сообщение
Столкнулся с очередной траблой лоджика которую не знаю как решить.
Поменяйте свою схему на такую.
Изображения
Тип файла: png Безымянный.png (9.7 Кбайт, 100 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 28.11.2017 в 13:26
Arsie вне форума   Ответить с цитированием
Старый 28.11.2017, 12:38   #3
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Что бывает, если не читать РЭ

Эм... я не совсем Вас понял. Это ирония?
Ранее эта программа работала без проблем.
canada вне форума   Ответить с цитированием
Старый 28.11.2017, 12:54   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Что бывает, если не читать РЭ

Цитата:
Сообщение от canada Посмотреть сообщение
Ранее эта программа работала без проблем.
Проблемы это вызывает только в синхронных процессах. Типа той схемы, что вы собрали.

Т.к. она синхронная, её нужно было обязательно засинхронизировать, что я в своём примере и сделал.

Синхронные схемы без синхронизации - это как с закрытыми глазами шоссе перебегать. 100 раз перебежали, может кто-то даже и 100 тысяч раз перебежит. Но в конце концов машина вас собьёт.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 28.11.2017 в 13:26
Arsie вне форума   Ответить с цитированием
Старый 28.11.2017, 12:56   #5
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Что бывает, если не читать РЭ

Подскажите где взять обобщенный сигнал "память готова"?

Знаю есть такой в блоках EEPROM. Его можно использовать?

Последний раз редактировалось Arsie, 28.11.2017 в 13:26
canada вне форума   Ответить с цитированием
Старый 28.11.2017, 12:58   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Что бывает, если не читать РЭ

Цитата:
Сообщение от canada Посмотреть сообщение
Единственное - подскажите где взять обобщенный сигнал "память готова"?

Знаю есть такой в блоках EEPROM. Его можно использовать?
Такой обобщённый сигнал есть на каждом экране SMArt, использующем память. Отвечает только за свой экран.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 28.11.2017 в 13:26
Arsie вне форума   Ответить с цитированием
Старый 28.11.2017, 13:43   #7
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Почему при запуске в памяти "0"

Из справки: ".Память готова. После редактирования происходит запись нового значения в ЕЕПРОМ. На этот момент на выход подается 0."

При использовании данного сигнала на входе блока "И" (предложенный Вами вариант), в момент смены значения получаем логический ноль на выходе не зависимо от результата сравнения...

Избавляемся от импульса при старте, но получаем импульс в момент смены уставки.

Я просто не понимаю (объясните мне что ли): это проблема новая и связана со сменой версий лоджика? Или мне просто везло? Раньше ну никак и никогда над этим не заморачивался, и не испытывал никаких сложностей касательно этого вопроса...
canada вне форума   Ответить с цитированием
Старый 28.11.2017, 14:16   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 086
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Почему при запуске в памяти "0"

Цитата:
Сообщение от canada Посмотреть сообщение
При использовании данного сигнала на входе блока "И" (предложенный Вами вариант), в момент смены значения получаем логический ноль на выходе не зависимо от результата сравнения...

Избавляемся от импульса при старте, но получаем импульс в момент смены уставки.
Хорошо, меняем схему, ставим между "Память готова" и AND триггер.



Цитата:
Сообщение от canada Посмотреть сообщение
Я просто не понимаю (объясните мне что ли): это проблема новая и связана со сменой версий лоджика? Или мне просто везло? Раньше ну никак и никогда над этим не заморачивался, и не испытывал никаких сложностей касательно этого вопроса...
Не обращали внимание. Опять же, пока используете мало памяти, выходы актуальны сразу после запуска контроллера.

"Синхронные схемы без синхронизации - это как с закрытыми глазами шоссе перебегать. 100 раз перебежали, может кто-то даже и 100 тысяч раз перебежит. Но в конце концов машина вас собьёт".
Изображения
Тип файла: png Безымянный.png (5.7 Кбайт, 61 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ


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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 03:55.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024