 | |
Предыдущие результаты
Вообще, Type 06 говорит о том, что какой-то из задач не был предоставлен запрошенный ресурс за отведенное время.
В CompactLogix обновлением ввода-вывода занимается специальная задача с приоритетом 6. Это периодически выполянемая задача, период её выполнения соответствует RPI, который назначен для CompactBus.
То, что Вы наблюдаете, означает, что RPI очень маленький, задача обновления ввода-вывода выполняется слишком часто, отбирая значительные ресурсы у других системных задач и/или в контроллере есть другие более высокоприоритетные задачи, из-за которых данной задаче не хватает процессорного ресурса. Судя по тому, что чем больше время испольнения задачи, тем больше вероятность получения ошибки, эта задача отбирает ресурс у других, что, видимо, и есть причина.
Что можно сделать:
- Увеличить RPI насколько возможно
- Установить приоритеты других задач так, чтобы они были меньше, чем 7, чем меньше, тем лучше (т.е., численно больше 7 и до 15).
Вообще, при программировании мультизадачных систем реального времени есть простой принцип, которое называется так: "Don't fog the CPU!".
Приветствуется т.н. "оборонительный" стиль планирования вычислительных ресурсов, который означает, что каждая задача должна иметь наименьший возможный приоритет и запрашивать как можно меньше ресурсов CPU, при которых обеспечивается необходимая функциональность.
|
В RSLogix5000 в свойствах контроллера 1769-L35E в разделе Minor Faults при выполнении программы появляются следующие ошибки(всегда одинаковые):
(Type 06) Unknown fault
(Code 04) Unknown fault.
Fault Information Dump:
Info[0]: 00000001
Info[1]: 00000001
Info[2]: 00000000
Info[3]: 00000000
Info[4]: 00000000
Info[5]: 00000000
Info[6]: 00000000
Info[7]: 00000000
При этом справа загорается только галочка Watchdog, что по идее означает, что неправильно распределено процессорное время между разными тасками.
Проверка параметров тасков (Monitor в свойствах таска) показала, что каких либо проблем с выполнением задач нет (нет повторных вызовов незавершённых тасков и т.п.). Поэтому не совсем понятно в чём дело.
Удалось выяснить, что ошибка может возникнуть только при попадании логики в определённую ветвь одного из тасков. Эта задача является периодической с периодом 30миллисекунд. При непопадании в длинную ветвь этой задачи время выполнения составляет около 1миллисекунды, при попадании в проблемную ветвь – около 15 миллисекунд (что составляет половину периода, поэтому особого криминала в этом я не вижу).
Ещё видимо стоит отметить, что ошибка возникает при попадании логики в определённую ветвь таска не всегда, то есть пока ясно только что при непопадании логики в эту ветвь ошибка точно не возникает.
Так что ситуация на данный момент следующая – однозначно определить уловия возникновения ошибки не удалось. Были подозрения что выполнение таска за 15 миллисекунд иногда мешает выполнению системных тасков, но после понижения приоритета программного таска ошибка всё равно иногда возникает. Так что пока не понятно действительно ли ошибка связана с неправильным распределением времени между тасками.
Ещё стоит отметить, что каких-либо ошибок в логике не выявлено, то есть все таски работают правильно и выполняют в точности то, что нужно. В принципе, возникновение подобных minor faults ничему не мешает, но хотелось бы разобраться, да и не совсем хорошо копить со временем лог minor faults контроллера.
Обращение к документации ничем не помогло, так как в списке кодов ошибок нет такой ошибки контроллера.
Может кто-нибудь подскажает, что делать с подобной проблемой?
|
Посмотри на вкладке Файлы --- Документация Rockwell Automation на русском языке. Список инструкций для RSLogix с описанием и многое другое там есть.
|
Добрый день!
Не могли бы ВЫ поделиться документацией по языку в RSLogix на русском языке?
Хотелось бы изучить RSLogix, в настоящее время программирую
в Simatic Manager. И если есть доки по HMI.
Заранее благодарен.
|
Добрый день.
Возможно повторюсь с вопросом, уже заданным на форуме.
Необходимо планово заменить элемент питания на контроллере ControlLogix 5555. Возможно или нет это сделать на горячую, т.е. без отключения от сети и насколько это безопасно.
Спасибо.
|
[quote:1eabc17826="oldDad"][quote:1eabc17826="megaShvil"]можно ли осуществить удаленную прогрузку эмулятора на comp2 с comp3[/quote:1eabc17826]
Объясните, пожалуйста, что именно Вы хотите реализовать. Что Вы имеете в виду? Загрузить софт эмулятора с одной машины на другую, или что?[/quote:1eabc17826]
comp2 - так называемый DataServer, забираем данные RSLinx'ом Enterprise из эмулятора, но в эмулятор что-то нужно прогрузить, для начала (проект с минимальным кол-вом тэгом), а ставить на этот самый comp2 RSLogix не нужно, он стоит на comp3. Таким образом comp3 выступает в роли инженерной станции для разработки проектов plc и с него хотелось бы перекинуть проект на comp2 в эмулятор.
вот...
|
[quote:748f3d5258="megaShvil"]comp2 - RSLinx Enterprise + RSEmulate
comp3 - RSLogix
можно ли осуществить удаленную прогрузку эмулятора на comp2 с comp3 и что для этого необходимо?[/quote:748f3d5258]
Можно - при добалении процессорного модуля в эмулятор надо "захватить" порт RS-232. В [b:748f3d5258]Comp3 [/b:748f3d5258]настроить RSLinx для DF-1.
Соединить [b:748f3d5258]Comp2 [/b:748f3d5258]и [b:748f3d5258]Comp3 [/b:748f3d5258]нульмодемным кабелем (1756-CP3, 1747-CP3).
Медленно, но будет работать, для большей скорости на [b:748f3d5258]Comp2 [/b:748f3d5258]надо иметь [b:748f3d5258]RSLinx Classic Gateway[/b:748f3d5258].
|
Здравствуйте, возникла ситуация не совсем понятная:
имеем 3 машины comp1, 2 и 3
comp1 - FTView SE
comp2 - RSLinx Enterprise + RSEmulate
comp3 - RSLogix
можно ли осуществить удаленную прогрузку эмулятора на comp2 с comp3 и что для этого необходимо?
Заранее благодарен....
|
[quote:e93c06d517="oldDad"]2. Каждый из методов формирования тревог имеет свои особенности. Для контроллеров серии Logix лучше применять Device-based alarms.[/quote:e93c06d517]
Если нужно анализировать хронологию тревог, тогда только [b:e93c06d517]Device-based alarms[/b:e93c06d517].
|
Ситуация выглядит следующим образом:
1. Существуют [b:500dc33a52]Device-based alarms[/b:500dc33a52], которые генерируются непосредственно в контроллере (в системе команд контроллеров Logix есть соответствующие инструкции) и [b:500dc33a52]HMI tag alarms[/b:500dc33a52], которые формируются в SCADA, опираясь на тэги, существующие в контроллере.
2. Каждый из методов формирования тревог имеет свои особенности. Для контроллеров серии Logix лучше применять Device-based alarms.
3. Я бы посоветовал Вам почитать тот же том на языке оригинала, т.к. он более новый. См. главу 12. Возможно, это ответит на Ваш вопрос:
http://literature.rockwellautomation.com/idc/groups/literature/documents/um/viewse-um004_-en-e.pdf
http://literature.rockwellautomation.com/idc/groups/literature/documents/um/viewse-um005_-en-e.pdf
|
Предыдущие результаты
Ещё результаты |
|
| |
|