-
Предложения можно выслать на plc_prog@owen.ru
-
Пользователь
спасибо овен за оперативную замену пр110.
-
Пользователь
радость длилась три часа пока не загрузил свою программу,программа не работала при наличии в схеме рекурсивных связей ,когда я их убрал заработала ,при восстановлении связей пр завис, и перестал видеть ком порт.взял второй пр( новый) подключил-связь все нормально -связь компа
и пр есть ,как только переписал программу в пр связь тут же прекратилась,
завис пр110,вот такой эффект.причем во второй пр записал прогу без рекурсивной связи,а она зависла всеравно.
Последний раз редактировалось rovki; 20.01.2010 в 18:09.
-
вам надо к нам в тестировщики. аура правильная 
и выкладываем программы не работающие, что такое рекурсивная программа? выход на вход?
нашим тестировщикам его повесить не удавалось.
-
Пользователь
"В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов. С помощью рекурсивной программы же возможно описать бесконечное вычисление, причём без явных повторений частей программы.
Реализация рекурсивных вызовов функций в практически применяемых языках и средах программирования, как правило, опирается на механизм стека вызовов — адрес возврата и локальные переменные функции записываются в стек, благодаря чему каждый следующий рекурсивный вызов этой функции пользуется своим набором локальных переменных и за этот счёт работает корректно. Оборотной стороной этого довольно простого по структуре механизма является то, что на каждый рекурсивный вызов требуется некоторое количество оперативной памяти компьютера, и при чрезмерно большой глубине рекурсии может наступить переполнение стека вызовов. Вследствие этого, обычно рекомендуется избегать рекурсивных программ, которые приводят (или в некоторых условиях могут приводить) к слишком большой глубине рекурсии.
Впрочем, имеется специальный тип рекурсии, называемый «хвостовой рекурсией». Интерпретаторы и компиляторы функциональных языков программирования, поддерживающие оптимизацию кода (исходного и/или исполняемого), автоматически преобразуют хвостовую рекурсию к итерации, благодаря чему обеспечивается выполнение алгоритмов с хвостовой рекурсией в ограниченном объёме памяти. Такие рекурсивные вычисления, даже если они формально бесконечны (например, когда с помощью рекурсии организуется работа командного интерпретатора, принимающего команды пользователя), никогда не приводят к исчерпанию памяти. Однако, далеко не всегда стандарты языков программирования чётко определяют, каким именно условиям должна удовлетворять рекурсивная функция, чтобы транслятор гарантированно преобразовал её в итерацию. Одно из редких исключений — язык Scheme (диалект языка Lisp), описание которого содержит все необходимые сведения"(википедия)
А на счет предложения в тестировщики -мне и в учредителях не плохо.
Последний раз редактировалось rovki; 20.01.2010 в 21:10.
-
мы все любим википедию, но все-таки хотелось бы знать, что _вы_ называете рекурсивными связями в данном случае. циклы в fbd диаграмме?
-
Пользователь
в следующий раз буду делать ссылки при цитировании.прямая речь-
я выслал схему евстигнееву м.а. ,разбирайтесь где там рекурсия или ,что там еще,мне пользователю нужно что бы при любой программе -устройство сохраняло работоспособность,неправильных пользовательских программ быть не должно ,может быть неправильным пользовательский алгоритм.но,согласитесь это нонсес - когда программа выводит из стоя вычислитель.
P.s. пожелание модераторам -как нибудь окрашивать "пользователей" овен-разработчиков и простых пользователей,что бы понимать с кем имеешь дело и правильно-корректно отвечать.
Последний раз редактировалось rovki; 20.01.2010 в 21:07.
-
Пользователь
это когда выход есть функция входа,и этот же вход есть функция того же выхода.Любой триггер -рекурсивная функция (отрицательная обратная связь).Все дело в глубине рекурсии,т.е количестве и типе функций.В технике положительная обратная связь может вызвать генерацию.А в НЕКОРРЕКТНОЙ программной реализации -зависание.думаю что так.Кстати в некоторых аналогах ставят флаги в таких случаях при рисовании схемы.
Главное сейчас для меня ,как пользователя,как при отсутствии связи с компом ,сбросить,очистить программу и вернуть к жизни ПР.А с зависанием разработчики со временем разберутся думаю.Диалектическое развитие ,Закон отрицания -отрицания.И форум должен в этом помочь.
"Отрицания отрицания закон, один из основных законов диалектики, характеризующий направление процесса развития, единство поступательности и преемственности в развитии, возникновения нового и относительной повторяемости некоторых моментов старого."(википедия)
Последний раз редактировалось rovki; 20.01.2010 в 22:33.
-
Пользователь
Интересно в ПР опрос входного порта по прерыванию(аппаратному) организован или в общем цикле.Судя по помигиванию индикатора "связь "-в цикле.
Последний раз редактировалось rovki; 20.01.2010 в 22:22.
-
Думаю, что проблема не в рекурсии. А в том, что прошивки до версии 2.00 имели стек недостаточной глубины для работы с OWEN Logic. Завтра проверим гипотезу.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума