SIEMENS, DF&PD

Предыдущее посещение: Ср июл 06, 2016 8:26 Текущее время: Ср июл 06, 2016 8:26

Часовой пояс: UTC + 3 часа




 [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 25, 2013 13:36 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7511
Откуда: Украина
Romka_698, не пишите глупостей. "PCS7 и SCL" - это не связка. PCS7 без SCL не бывает.

What should you watch out for when using STL code in PCS 7 projects?
Цитата:
If possible, you should always use SCL in PCS 7 to create your own program code.
Чем не рекомендация?

Изображение
Это скан обложки обучающего курса ST-PCS7SYS. Традиционные языки для PCS7 - всё-таки CFC, SFC и SCL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 25, 2013 15:00 
Не в сети
Новый писатель

Зарегистрирован: Пт сен 07, 2012 12:39
Сообщения: 22
Eugene1974 писал(а):
не пишите глупостей.

Прошу Вас о том же.
Eugene1974 писал(а):
"PCS7 и SCL" - это не связка. PCS7 без SCL не бывает.
Ах оставьте... Бывает, еще как бывает. Да, SCL входит в PCS по умолчанию, но это не значит, что если его не использовать, то ничего не будет работать. SCL все равно в STL перегоняется. После компиляции удаляйте все SCL файлы - и все будет работать.
Eugene1974 писал(а):
Это скан обложки обучающего курса ST-PCS7SYS. Традиционные языки для PCS7 - всё-таки CFC, SFC и SCL.
:))

Вы бы по своей ссылочке дальше первой фразы бы прочитали...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 25, 2013 15:35 
Не в сети
Возможно это нечеловек

Зарегистрирован: Пн авг 15, 2011 9:44
Сообщения: 2260
В начале и в конце каждого блока вставляешь засылку номера этого блока в контрольные меркеры - выясняешь последний рабочий блок.
Дальше уже вставляешь контрольные флажки в ветки проблемного блока и выясняешь место возникновения проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 26, 2013 6:58 
Не в сети
Новый писатель

Зарегистрирован: Пт сен 07, 2012 12:39
Сообщения: 22
proskur писал(а):
В начале и в конце каждого блока вставляешь засылку номера этого блока в контрольные меркеры - выясняешь последний рабочий блок.
Дальше уже вставляешь контрольные флажки в ветки проблемного блока и выясняешь место возникновения проблемы.

Спасибо за помощь. Но это все можно гораздо проще сделать через стек и буфер. Если в онлайн выйти сразу после ошибки и ухода в СТОП, то может прям на строчку в программе кинуть, где стопанулась, если причина в этом. Да и Ваш метод хорош только если ребята местные не сделают холодный рестарт, а они обычно его делают...
Спасибо всем, кто пытался помочь!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 26, 2013 19:58 
Не в сети
Написал больше чем Вы читали

Зарегистрирован: Ср дек 05, 2012 10:52
Сообщения: 1455
А может это "фича" типа как:
If an OB35 is programmed with small time intervals of up to 5ms,
the CPU will sporadically enter STOP mode with OB request error when cross-loading blocks.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 26, 2013 20:47 
Не в сети
Это точно не человек

Зарегистрирован: Вт май 03, 2005 17:11
Сообщения: 3547
Предвещают СТОП такие сообщения:
Event 549 of 3000: Event ID 16# 3507
Multiple OB request errors caused start information buffer overflow
No relevance for user (Z1): 0000
Cause: Cyclic interrupt clock pulse generator 3
Causing OB: Cyclic interrupt OB (OB 32)
Causing priority class: 9
Current OB no. and priority class:
Requested OB: Timing error OB (OB80)
Priority class: 26
Internal error, Incoming event


Event 565 of 3000: Event ID 16# 3501
Cycle time exceeded
Run time of the last cycle (ms): 6001

Почему то эти тексты игнорируются и не комментируются автором поста. С чего бы они возникли?

Cause: Current OB1 start event initiated by end of OB1 (free cycle)
Causing OB: Cyclic program (OB1)
Causing priority class: 1
Requested OB: Timing error OB (OB80)
Priority class: 26
Internal error, Incoming event


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 27, 2013 7:02 
Не в сети
Новый писатель

Зарегистрирован: Пт сен 07, 2012 12:39
Сообщения: 22
gre_m писал(а):
Почему то эти тексты игнорируются и не комментируются автором поста. С чего бы они возникли?

Как бы в этом и состоял вопрос. На протяжении долгого времени максимальное значение времени ОВ1 не превышало 55 миллисекунд и тут резко больше 6 секунд. Все программные циклы в блоках если и есть, то четко ограничены конкретными константами, т.е. по каждому циклу в блоке можно четко сказать, сколько раз он выполнится и это совсем не большое число. Если бы "подвисло" одно из циклических прерываний, то контроллер стопанулся бы по ошибке вызова циклического ОВ до окончания его работы. Причину переполнения стартового буфера как бы то же понять не можем. Т.е. из-за чего эта ошибка может выскочить как бы понятно, но с привязкой к конкретной программе...
В момент останова мы не имели доступа к работе с остановленным контроллером, т.е. не смогли в онлайне просмотреть все что нужно и выявить причину останова. Нам скинули буфер и произвели холодный рестарт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 27, 2013 9:40 
Не в сети
Известный Писатель

Зарегистрирован: Пт июн 25, 2010 13:15
Сообщения: 229
Если бы удалил OB80, то причину можно было бы найти раньше.

Ситуация могла быть примерно такой:
Выполняется OB1
Его прерывает OB32
Его прерывает OB33
Его прерывает OB34, который выполняется дольше чем время между вызовами.
Задачи вызова OB34 встают в очередь, соответственно увеличивают время исполнения OB33.
Исполнение OB33 превышает время между вызовами. Задачи вызова OB33 встают в очередь, соответственно увеличивают время исполнения OB32.
И все это влияет на то что OB1 увеличивается до запредельных значений.
На Симуляторе не учитываются блоки аппаратных прерываний и блоки диагностики отказов, который имеют приоритет выше циклических блоков, и соответственно при срабатывании на реальном железе будут растягивать циклы еще больше.

Судя по номерам Event ов вы выложили не весь буфер


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 29, 2013 7:21 
Не в сети
Новый писатель

Зарегистрирован: Пт сен 07, 2012 12:39
Сообщения: 22
Худанов Егор писал(а):
Если бы удалил OB80, то причину можно было бы найти раньше.

Ситуация могла быть примерно такой:
Выполняется OB1
Его прерывает OB32
Его прерывает OB33
Его прерывает OB34, который выполняется дольше чем время между вызовами.
Задачи вызова OB34 встают в очередь, соответственно увеличивают время исполнения OB33.
Исполнение OB33 превышает время между вызовами. Задачи вызова OB33 встают в очередь, соответственно увеличивают время исполнения OB32.
И все это влияет на то что OB1 увеличивается до запредельных значений.
На Симуляторе не учитываются блоки аппаратных прерываний и блоки диагностики отказов, который имеют приоритет выше циклических блоков, и соответственно при срабатывании на реальном железе будут растягивать циклы еще больше.

Судя по номерам Event ов вы выложили не весь буфер

Как вариант. Но мы так не считаем. Скорее всего проблема в OB32. Если циклическое ОВ выполнялось дольше времени цикла, об этом была бы запись в буфере.
Буфер действительно не весь. Перед началом пятиминутного накопления ошибки очень большой интервал по времени между записями и там только отказы перефирии, старые старт-стопы. Мы не нашли связи в старых сообщениях в буфере.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 02, 2013 6:12 
Не в сети
Это точно не человек

Зарегистрирован: Вт май 03, 2005 17:11
Сообщения: 3547
Так за чем же дело стало: на период поиска ошибок удалите ob80, замерьте время через sc64 (Time_TCK) (нужно два вызова) и пишите его в WinCC. Возможно у Вас естб длительный период блокировки прерываний или критическая вложенность прерываний, о чем выше уже написали


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 30 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: GermanOverdrive и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group