Вопрос по Simatic
aeg; 26.9.04
Суть проблемы в следующем: сталкиваюсь уже третий раз При попытке
просмотреть функцию в Step7 v5.1 SP3 в online контроллер переходит
в STOP. 315-й контроллер связан с программатором через
коммуканиционный процессор через Industrial Ethernet. В сети всего
6 контроллеров и 3 станции SCADA. Simatic Net на той станции с
которой ведется программирование стоит без лицензии. Проблема
возникает только при попытке просмотреть только эту функцию с
другими всё нормально (обычный FC только в нем много циклических
переходов, но ошибок нет железно)такое случается 1 раз из 100 может
реже. В диагностическом буфере пишет что превышено время цикла и
все три раза показывал на разные места. В нормальном режиме время
цикла 60мс Вопрос может ли включение режима online увеличить время
цикла или причина в другом
Re: Вопрос по Simatic
Юрий Оганесян;
27.9.04
Увеличь HW Config->CPU XXX->Object Properties ->
Cycle/ClockMemory ->Scan Cycle Load from Communication (%)
Re: Вопрос по Simatic
Юрий Оганесян;
27.9.04
Увеличь HW Config->CPU XXX->Object Properties ->
Cycle/ClockMemory ->Scan Cycle Load from Communication (%)
Re: Вопрос по Simatic
Михаил;
27.9.04
Да действительно увеличение сетевого обмена действительно может
увеличить время цикла процессора. Попробуй в режиме online во
вкладке plc\modul information\scan cycle time пощелкать быстро
кнопку update и вы увидите как увеличивается текущее время цикла
взависимости от того как быстро вы щелкаете. И действительно когда
вы в онлайне открываете свой FC может происходить иногда превышение
времени цикла.
Есть несколько способов от этого избавится:
1. Да действительно как написал Юрий Оганесян можно изменить Scan
Cycle Load from Communication (%) по умолчанию там обычно ставиться
20%, но (пусть юрий меня извинит) его надо не увеличить а
уменьшить. Так как это устанавливается макс % загрузки CPU на
задачи связанные с комуникациями.
2. Либо увеличить Scan Cycle Monitoring Time ну поставить его
больше того времени по которому перешел CPU в стоп.
3. Самый простой способ так как не требует перезагрузки system data
и может быть осуществлен при запущенном CPU без его останова. Это
добавить в программу еще один блок OB80 пустой и загрузить его в
CPU, тогда процессор при превышении времени цикла не будет
переходить в стоп а будет вызывать этот блок который ничего не
делает и потом дальше будет прдолжать работать.<<br>