Низкая скорость обмена данными м/у WinCC и S7-300
Lidiya; 18.7.03

Добрый день!

Есть WinCC 5.1 и S7-315-2DP. Обмен по Profibus DP. Скорость - 12 м/бит.
Рабочая станция: Win2000 Prof., P4 2.4GHz, 512Mb RAM. Время цикла обработки программы в контроллере - 24мс.
При этом скорость чтении/записи внешних тегов в скриптах очень низкая, чтение 1 тега примерно за 5 сек.
Подскажите, пожалуйста, с чем это может быть связано? Буду признательна за любую информацию.
Re: Низкая скорость обмена данными м/у WinCC и S7-300
Дмитрий; 21.7.03

Имеются ввиду скрипты в Global Action? Вероятно цикл вызова скриптов установлен в 5 сек.

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Lidiya; 21.7.03

Нет, скрипт вызывается по кнопке: считываем значения тегов из контроллера и выводим в окно диагностики. При этом происходит сильное торможение, задержка около 5 сек.


Re: Низкая скорость обмена данными м/у WinCC и S7-300
Дмитрий; 21.7.03

Надо проанализировать скрипт.

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Lidiya; 21.7.03

Например, скрипт обнуления переменных:


char temp1[50];
int i=1;

for ( i=1; i<9; i++ )
{
sprintf(temp1,"W1To_%d",i);
SetTagBitWait(temp1,0);
printf("%s=%d\r\n",temp1,
GetTagBitWait(temp1));
}

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Дмитрий; 21.7.03

Попробуйте тоже но без Wait.

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Дмитрий; 22.7.03

Помогло?

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Lidiya; 22.7.03

Нет, я думаю, дело не в функции, а в каких-то настройках.

Re: Низкая скорость обмена данными м/у WinCC и S7-300
Юрий Оганесян; 23.7.03

Дмитрий прав, не надо использовать *Wait, т.к. при этом выполнение команды идет после отработки всех S7-функций и в ТОМ же потоке, что и WinCC.

А иначе - в отдельном потоке и с частотой обновления в 2 раза быстрее чем задал программер.
Про принципы обновления тэгов примененные в WinCC можно прочитать в Help'e, сделав поиск по GetTagXXX.
А у приведенного тобою скрипта КАЧЕСТВЕННО лучшего быстродействия не добиться.


Re: Низкая скорость обмена данными м/у WinCC и S7-300
Чистяков Дмитрий ОАО СеверСталь; 23.7.03

Для обнуления какого либо участка памяти в контроллере лучше всего использовать соответствующий блок SFC 21. А из WinCC достаточно лишь выдать на его входы параметры и дать команду на выполнение. Данные будут обнулены за один скан контроллера.