Построение системы опроса 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 байт. С чем это может быть связано?