![]() |
![]() ![]() |
|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Senior Member
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 177
Благодарил(а): 6 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
При включении питания на первом ^D-триггере появляется логическая единица почему ???
|
![]() |
![]() |
![]() |
#2 |
Новичок
Регистрация: Oct 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() ![]() |
![]() |
![]() |
![]() |
#3 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]()
Триггрер защёлкивается по событию Уставка больше или равна Температуре.
В представленной вами схеме на обоих входах нули. Ноль равен нулю, триггер защёлкивается. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 177
Благодарил(а): 6 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]() ![]() Выкладываю полную схему... правда не оптимизированную... Уже есть планы, но нет времени. Ну не в этом суть, главное работает, но есть эта проблемка. Этот проблемный макрос находится в макросе "пастеризация"=>"контроль нагрева" Температура пастеризации 64 градуса, на момент включения темп 30-35 гр резких скачков нет... Может только с внутреннего источника контролера |
![]() |
![]() |
![]() |
#5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() В вашем случае всё банально. Вы не ждёте готовности памяти выдать уставку. Поэтому сразу после включения контроллера уставка равна нулю. 35 >= 0, всё работает правильно. Это описано в справке: __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: Dec 2013
Адрес: Краснодар
Сообщения: 177
Благодарил(а): 6 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
Семен-Семеныч!!!!!
![]() Необходимо банально подождать какоето время и усё?!?! Или зашить макрос готовности ![]() |
![]() |
![]() |
![]() |
#7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Регистрация: Jun 2007
Сообщения: 1 758
Благодарил(а): 8 раз(а)
Поблагодарили:
12 раз(а) в 12 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: Jun 2007
Сообщения: 1 758
Благодарил(а): 8 раз(а)
Поблагодарили:
12 раз(а) в 12 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#16 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]()
Первая фраза вашего сообщения немного противоречит второй, а вторая, если понять её буквально, вообще не касается блоков памяти. Поэтому отвечу раздельно на первую и на вторую в двух частях. Всего три ответа.
Если вы таким прозрачным образом намекаете, что ваш алгоритм не успевает дождаться инициализации, то введите в программу сигнал готовности по примеру программ Конструктора. Можно даже банально отсчитать нужное время счётчиком CTU(16) и снять с него сигнал разрешения работы алгоритма. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#17 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#18 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() Ещё вопрос, см. картинку 2, как поймать 1.#QNAN? |
![]() |
![]() |
![]() |
#19 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() 2) Ловить нужно ноль в делителе, а не qnan Ну и последнее - обе картинки, извините, пример неграмотного подхода. Сигнал готовности должен влиять на определяющий алгоритм, на его выходные данные. Например, в макросе расписания всё построено так, что нули на выходах ни к чему не приведут. В проекте Конструктора всё построено так, что аварии не фиксируются, а сами макросы вполне себе пробегают в первые пару секунд все 8 кругов ада. Ну и пусть пробегают. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#20 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() 2)А кто написал вот это (см. картинку Деление)? Здесь инструкция по поиску qnan. Или уже исправили? Тогда откуда скачать обновлённую справку? 3)Приведите, пожалуйста, пример грамотного проекта, состоящего из одной ячейки памяти и задержки. Критерий грамотности - первое же (а равно и последующее) чтение из ячейки памяти должно возвращать не нуль, а то, что в ячейке этой записано. Почему я вцепился в задержку? Потому, что сейчас я вынужден каждую ячейку памяти обвязывать дополнительными блоками для предотвращения деления на нуль. Надеюсь обойтись одной задержкой на всю используемую память, но не представляю, куда засунуть эту задержку. |
![]() |
![]() |
![]() |
#21 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() На этот раз был некорректен сам вопрос. Мои ответы отвечают на ваши слова, но не на то, что вы на самом деле хотите спросить. Спросите нормально, чтобы я не гадал, что же именно вам нужно и я вам обязательно помогу. __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#22 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#23 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 008
Благодарил(а): 9 раз(а)
Поблагодарили:
479 раз(а) в 437 сообщениях
|
![]() Вам нужно не "предотвратить чтение нуля из памяти", а получить действительно значение. Ноль тоже может быть действительным значением, записанным в память. До получения действительного значения у вас всё равно будет ноль, но только уже недействительный ноль. Просчитайте алгоритм чуть дальше, чем на один шаг и вы поймёте, что бесполезно тратите своё время. Покажите ваш алгоритм и я скажу, что нужно делать. Куда-то же ваше число уходит, правильно? Куда оно уходит? __________________ Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#24 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
![]() "При чтении памяти всегда возвращается то, что в ней записано. Но пока память не готова, SMLogix возвращает нуль и разработчик должен это учитывать." Я понял, как работает схема, и благодарен Вам за терпение и помощь. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SM CONNECT (Подробная инструкция в картинках как настроить) | alekseyeve | SMConnect & SMConfig | 204 | 22.11.2021 19:15 |
Как работает блок вычисления производной | Адский_Электрик | SMLogix | 2 | 31.07.2020 11:56 |
Как построить отказоустойчивую сеть SMconnect? | Bayk | SMConnect & SMConfig | 19 | 16.05.2020 14:31 |
Как работает дистанционный Пуск-стоп? | AlexSku | SMConstructor (теплопункты) | 8 | 02.04.2020 16:54 |
Контроллер работает при отключенном питании??? (решено) | Max2114 | Вопросы о Pixel | 9 | 13.05.2015 12:20 |