Построение системы опроса CPU в WinCC
Евгений; 17.1.03

Уважаемые коллеги! Как бы Вы построили циклический опрос 2-х CPU по протоколу MPI в ситуации, когда необходим обмен большими по размерам данными (используя циклы графического дизайнера, Global Script)? Какой размер RawDataTag'ов (в байтах) Вы считаете наиболее целесообразным в данной ситуации? Заранее благодарен за совет.

Re: Построение системы опроса CPU в WinCC
Юрий Оганесян; 27.1.03

Вопрос очень непростой. Дело в том, как организован обмен данными в WinCC. Согласно документации, если разработчик где-нибудь в проекте использует функцию GetTagXXX, то данный тэг регистрируется и в дальнейшем опрашивается с частотой в 2 раза превышающей частоту вызова GetTagXXX с занесением образа тэга в специально обученную область памяти. Это делается для того, чтобы уменьшить время отклика для WinCC, которая возьмет данные из этой самой области. Если же использовать GetTagWaitXXX, то тэг нигде не регистрируется и опрашивается один раз. По логике такой подход должен быть более щадящим, чем регулярные опросы. Ан, нет – если, например, в GS поставить цикл на 50 GetTagWait’ов, то время его работы будет очень даже ощутимо из-за того, что на это время будут заблокированы функции GD, такие как переход между экранами!! Поэтому я для себя определился, что raw тэги можно делать до 100 байт и опрашивать их GetTag ом – в такой схеме вроде все работает, не замедляя навигацию. А число таких тэгов… ну, думаю, штук 50-100 MPI потянет пару раз в минуту.

Re: Построение системы опроса CPU в WinCC
siemargl; 2.2.03

Извините, Юрий, но лажа-с

Re: Построение системы опроса CPU в WinCC
Евгений; 2.2.03

siemargl, ваши предложения?

Re: Построение системы опроса CPU в WinCC
Юрий Оганесян; 4.2.03

siemargl: Аргументы ?


Re: Построение системы опроса CPU в WinCC
Маслов Дмитрий; 5.2.03

Вопрос в том, что Вы хотите с этими большими объемами данных делать. И насколько велики объемы.


Для большинства задач достаточно применять обычные теги простых типов и привязывать их стандартным образом к графических элементам, архивам и сообщениям. RawDataTag целессобразно применять для организации быстрой архивации данных с проставлением метки времени в контроллере и для генерации сообщений в контроллере (также с проставлением там метки времени).
Re: Построение системы опроса CPU в WinCC
Евгений; 5.2.03

Маслову Дмитрию:

Объем данных примерно 10 килобайт. В них содержится информация, которую нужно анализировать, выводить на экран, архивировать и т.д с максимально возможной скоростью считывания и обработки. Если применять тэги простых типов, то их наплодится немеряное количество, что недопустимо (ведь количество внешних тэгов ограничено авторизацией). Поэтому выгоднее использовать RawDataTag'и для считывания таких объемов, а затем производить распаковку полученных данных.
Кстати, мне не удалось считать одним пакетом RawDataTag длиной более 250 байт. С чем это может быть связано?