Технические FAQs

Задать вопрос

Какие параметры настройки драйвера OPC в Vijeo Citect являются оптимальными для работы с OPC Factory Server?

 OPC Factory Server (OFS) является рекомендуемым интерфейсом для организации связи между Vijeo Citect и следующими ПЛК Schneider Electric: Quantum, Premium, M340, Micro, Momentum, Compact, Series 7, S1000. При этом встроенный в Vijeo Citect драйвер OPC разработан для совместимости с большим спектром OPC серверов и поэтому включает большое число настраиваемых в citect.ini параметров, которые можно использовать для улучшения производительности и стабильности связи. Ниже приведен список рекомендуемых параметров Citect.ini при использовании драйвера OPC с OFS. Также следует иметь в виду, что начиная с версии Vijeo Citect 7.2 доступен драйвер OFSOPC, разработанный специально для связи с OFS. В нем по умолчанию заданы оптимальные для связи с OFS параметры.

 

[OPC]UseOPC2=1

OPC DA v2.0 имеет гораздо больше возможностей чем OPC v1.0a (например асинхронная связь). И OFS и Vijeo Citect поддерживают OPC v2.0, поэтому рекомендуется активировать этот параметр. 

[OPC]LeaveTagsActive=0

При использовании OFS рекомендуется не оставлять активными не нужные дескрипторы. По умолчанию каждый блок элементов OPC, который не запрашивался в течение 5 секунд, будет автоматически деактивирован в OFS. Таким образом, OFS будет запрашивать только те элементы, которые необходимы в настоящий момент, тем самым минимизируя нагрузку на ПЛК.

[OPC]FillCacheOnStartup=0

Если установить FillCacheOnStartup=1, то при запуске системы все элементы OPC будут активированы на 5 секунд (при параметрах LeaveTagsActive=0, ItemLifeTime=5000), после чего все ненужные элементы будут деактивированы. В новых версиях Citect это не требуется. Активируя новый элемент, OPC драйвер Vijeo Citect всегда ждет чтобы его параметр качества стал ‘good’, либо пока не истечет заданное время (параметр [OPC]Timeout, по умолчанию 3 секунды), прежде чем ответить серверу ввода-вывода. Таким образом, нет опасности что будут отображаться некорректные данные или будут сгенерированы ложные сигналы аварии.

[OPC]FailOnBadData=1

Рекомендуется всегда отображать #COM при получении элементов с параметром качества ‘bad’. Текущий режим работы драйвера OPC таков, что как только хотя бы один элемент в блоке имеет параметр качества ‘bad’, всему блоку будет присвоен параметр ‘bad’. Однако, вызванные этим неудобства могут быть минимизированы посредством присвоения небольшого значения параметру [OPC]Block.

[OPC]FailOnUncertain=1

Элемент OPC может получить параметр качества ‘uncertain’ во время переключения серверов ввода-вывода (при использовании резервированных серверов). Однако рекомендуется установить этот параметр равным 1, с тем чтобы при переключении между серверами ввода-вывода переменные отображали #COM вместо значений, которые могут быть устаревшими.

 Дополнительные параметры:

 [OPC]Block=(от 5 до 50)

Установка низкого значения для данного параметра может быть полезной для многих проектов, так как это сильно снизит число элементов OPC, активируемых Vijeo Citect. Как результат, это минимизирует нагрузку на ПЛК.

Однако, могут возникнуть побочные эффекты, выражающиеся в ухудшении производительности Vijeo Citect, так как низкое значение параметра Block вызовет увеличении числа запросов, выдаваемых драйвером OPC. Ухудшение производительности может быть наиболее заметным когда одновременно необходимо активировать большое число элементов (например при запуске, переходе на другую страницу и т.д.). Таким образом, точная настройка этого параметра должна производиться при тестировании реального проекта.

 [OPC]MaxPending=255

При использовании маленького значения параметра [OPC]Block, может сложиться ситуация, когда элементы будут постоянно активироваться и деактивироваться из-за того, что драйвер OPC не будет успевать достаточно быстро отправлять запросы. Увеличение [OPC]MaxPending до 255 позволит драйверу OPC параллельно отправлять гораздо большее число запросов, таким образом существенно увеличив производительность.

 [OPC]ReadAfterWrite=2

При установке этого параметра после каждой записи элемента немедленно будет производиться его синхронное считывание. Это предотвратит возможные потери данных когда производится несколько последовательных записей в один элемент OPC за малый промежуток времени.

 [OPC]RefreshBeforeArrayWrite=2

Запись в массивы данных OPC требует синхронного считывания чтобы определить текущее содержимое массива перед записью каждого элемента. Это может производиться с использованием кэш-памяти OPC сервера, однако для OPC серверов которые не используют механизм сквозного кэширования (таких как OFS) это может приводить к потере данных  

[OPC]UseAsyncWrites=1

Использование асинхронной записи очень сильно улучшает производительность при записи и может быть необходимо в случае записи массивов.

Асинхронная запись поддерживается только в стандарте OPC 2, поэтому для использования параметра [OPC]UseAsyncWrites=1 необходимо также установить параметр [OPC]UseOPC2=1 

Вы нашли ответ на свой вопрос?
Как мы можем улучшить информацию?