Можно-ли прошивать контроллер на скорости, больше стандартной?
Имеется ввиду, что на контроллере с v16 установить, например, 19200, и прошить на v15? Это допустимо?
Уважаемый Eugeny!
Большое спасибо за ответ.
Вот уже пятый год L32E я время от времени прошиваю через Ethernet, а на стенде работа с разными версиями - стандартно прошивка через сеть.
У меня "академический" интерес: при прошивке вроде как параметры СОМ - порта должны установиться на дефаулт, когда это происходить будет: на этапе прошивки или после перезагрузки в конце прошивки?
Тогда может кто знает, что вызывает следующую ошибку:
Minor
Type 09
Code 10
Serial Port is unable to keep up with incoming data
В доках такой ошибки вообще не нашел.
Следом за этой ошибкой возникает замечательная ошибка:
Major
Type 01
Code 60
Non-recoverable Fault
Проект в мозгах, естественно тю-тю.
Контроллер L32E, v16, без CompactFlash.
В проекте работа с СОМ по достаточно жестким временным параметрам: опрос с периодом не более 20мсек. Размер запрос - ответа 9 байт.
Данный вопрос немного пересекается по теме с темой drpr Unknown minor fault в контроллере 1769-L35E (http://www.vdt-automation.com.ua/modules.php?name=Forums&file=viewtopic&p=5516)
По поводу Type 1 Code 60 могу сказать только вот что:
Цитата:
Problem was due to customer accidently programming a jump to subroutine jsr which jumped into itself.
Cured by reprogramming jsr to jump to another routine.
Доброго дня всем!
Вобщем, фактически методом проб и ошибок выявлено следующее:
L32E v16.3
Периодическая задача 50мсек.
Приоритет менялся от 1 до 15.
Локальные модули были и в работе и заигнорированны.
Опрос на локальной шине от 5 до 500мсек.
На системные процессы 25%.
Оставшееся время после выполнения системных процессов отведено под процессы соединений и системные задачи.
"Забой" СОМ-порта пакетами 7 байт с периодом от 10 до 100мсек.
Одиночная посылка как пакетов от 1 до 10байт.
Выделены возможные варианты кода, которые однозначно приводят к ошибке Type 01 Code 60 в течении 30мин на ладдере:
Условие перед наступлением ошибки Type 01 Code 60:
1.ARD находится в выполнении и ждет данных.
2. На СОМ-порт НЕ поступают данные.
Условие наступление ошибки Type 01 Code 60:
1. Начинается выполнение инструкции ACL и в этот-же момент приходят ПЕРВЫЕ байты пакета на СОМ-порт.
Условие, когда ошибка Type 01 Code 60 НЕ наступает:
1. Непрерывный поток данных на СОМ-порт (период посылки пакетов 7 байт 10мсек).
2. Выполнение инструкции ACL при выполнении ARD происходит без ошибок.
Еще варианты, когда ошибка Type 01 Code 60 НЕ наступает, независимо от поступающих данных:
1. Безусловное ACL без ARD.
2. Бесконечная установка в очередь ARD и создание условий выполнения. Без ACL.
3. Забой буфера порта.
4. Забой очереди инструкций.
Далее можно только предполагать, не имея достаточной информации.
Если брать аналогию работы под WinAPI32, можно предположить:
1. При непрерывном потоке данных тайм-ауты порта настроены так, что СОМ-порт НЕ освобождает ресурсы и распределение ресурсов между СОМ-портом и выполнением AC и ARD происходит КОРРЕКТНО.
2. В случае, когда СОМ-порт уже освободил ресурсы (по тайм-аутам посчитал прием пакета завершенным), происходит выполнение ACL, ARD на выполнении и одновременно неожиданный пакет данных. По приходу первых данных пакета СОМ-порт в свою очередь затребовал какие-то ресурсы. И вот тогда распределение происходит НЕКОРРЕКТНО.
Либо возможен другой вариант:
Возможно, получается, что когда инструкция ARD находится в выполнении, и при этом начинает перемещение из буфера в массив, инструкция ACL, как видно с более высоким приоритетом, прерывает действие ARD, либо происходит какой-то конфликт с ARD, либо после выполнения ACL процедуры по очистке буфера перед процедурой удаления ARD из очереди и выполнения, ACL на короткое время возвращает управление ARD, которая сталкивается с неправильной позицией следующего байта, предназначенного для перемещения или что-то подобное.
Вы провели серьёзное и очень интересное исследование, которое наверняка будет очень интересно коллегам. Большое спасибо!
Лично я больше склоняюсь к варианту
Цитата:
2. В случае, когда СОМ-порт уже освободил ресурсы (по тайм-аутам посчитал прием пакета завершенным), происходит выполнение ACL, ARD на выполнении и одновременно неожиданный пакет данных. По приходу первых данных пакета СОМ-порт в свою очередь затребовал какие-то ресурсы. И вот тогда распределение происходит НЕКОРРЕКТНО.
Буду только рад, если эта информация кому-то пригодится. Мне это было необходимо для определения направления своей работы: СОМ-порт или все-таки ASCII-модуль.
Сегодня созвонился с программистами ведомого устройства и они подтвердили, что процесс инициализации ихнего устройства предполагает предварительное включение работы СОМ-порта ДО конечного тестирования своего проца. И когда мой L32E уже вошел в RUN, послал запрос, устройство все-таки тоже вошло в RUN, прочла свой буфер и ответило. А у меня за этот момент уже выполнялся программный тайм-аут со стиранием буфера.
Кстати, поправка:
Цитата:
Условие, когда ошибка Type 01 Code 60 НЕ наступает:
1. Непрерывный поток данных на СОМ-порт (период посылки пакетов 7 байт 10мсек).
2. Выполнение инструкции ACL при выполнении ARD происходит без ошибок.
В течении нескольких часов контроллер гонялся на пакеты по 19 байт каждые 10 мсек (это соответствует примерно 19200 б/сек) без ошибок. А вот случайно нажал upload из контроллера - опять в ошибку и стер память. Тогда проверил на RSWie32 (где-то в районе 600 тегов, опрос 50мсек) - при запуске тоже ушел в ошибку. Но ошибка возникает не каждый раз при подобных действиях.
На этом пока заканчиваю.
A major fault Type 1 Code 60 means that an unrecoverable major fault has occured, the controller has reset and cleared all its memory, a RAM image downloaded to Compactflash was not sucessful ,therefore information is saved in processor memory and the Fault Dump Utility can be used to extract it. Contact Technical Support if you require this utility.
...
и очень интересно - если Утилиты нет , а возникает она при обращении к CompactLogix по порту Ethernet/IP ( возникает 1 - 60), считываю по каналу RS232. А проект пустой.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна. Открытие страницы: 0.139 секунды