Вопрос по 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>