wincc скрипт сохранения в файл

Форум АСУТП

Клуб специалистов в области промышленной автоматизации

wincc скрипт сохранения в файл

Скрипты (или dll) для передачи данных из WinCC 7 в MS SQL

Скрипты (или dll) для передачи данных из WinCC 7 в MS SQL

Сообщение dragonIMV » 29 янв 2015, 11:38

Re: Скрипты (или dll) для передачи данных из WinCC 7 в MS SQ

Сообщение dragonIMV » 29 янв 2015, 23:02

wincc скрипт сохранения в файл

Re: Скрипты (или dll) для передачи данных из WinCC 7 в MS SQ

Сообщение Exactamente » 29 янв 2015, 23:35

viewtopic.php?f=13&t=5977
😀
Сначала подумал, что я немножко не так свою тему называл.

ODK есть, набор библиотек, в нём db.dll, там же хелп вроде как. #include db.h и функцями из дллки читаете/пишете.

Re: Скрипты (или dll) для передачи данных из WinCC 7 в MS SQ

Сообщение dragonIMV » 30 янв 2015, 07:39

Re: Скрипты (или dll) для передачи данных из WinCC 7 в MS SQ

Сообщение LexSL » 30 янв 2015, 09:12

ODK он и в Африке ODK, вроде бы не менялся очень давно.
Сам пользуюсь хелпом именно от 6 версии.

Сам бы я сделал следующее: приложение или служба, которая
1. стартует вместе с WinCC,
2. подключается к WinCC (DMConnect),
3. загружает список имен тегов, отвечающих за значения датчиков
4. Подписывается\отписывается на изменение тегов (DMBeginStartVarUpdate, DMEndStartVarUpdate, DMStopAllUpdates)
5. По приходу нового значения записывает в базу данных полученное значение
примерно так.

Re: Скрипты (или dll) для передачи данных из WinCC 7 в MS SQ

Сообщение dragonIMV » 30 янв 2015, 09:21

Именно с SQL все таки, требование такое у заказчика. Причем уже потом они сами это переводят в базу Access. Ну да переубедить их не вышло, так что в SQL надо.
И выгружается не массово архив какой то, а после каждой производственной операции.
От предыдущего проекта осталась dll, которая это делает, но она выгружает лишь часть тегов, а теперь оборудования куда больше стало. И по этой старой dll никаких исходников разумеется нет. Причем в самой dll прописана и база данных и логин и т.д., что неудобно.

Так что буду «курить» мануалы по ODBC тогда, по вашей ссылке. Уже пробовал сделать, с наскока не вышло на С сделать. На VB вот за 10 минут dll написал, работает. Но к WinCC присобачить никак не смог в итоге. Все таки зря в VB намудрили dll с классами и методами, вместо обычных процедур и функций.

Источник

Самоучитель по WinCC OA. Часть 3. Глобальные скрипты (control scripts)

Запрограммированое в предыдущей части поведение задвижки… нелогично. В обработчике нажатия кнопки «Открыть» или «Закрыть» мы непосредственно задавали значение элемента под названием Position. При том, что в самом DPT у нас уже предусмотрены команды «Открыть» и «Закрыть».

Datapoint type «Flap»

Разумеется, в реальной жизни для управления каким-либо агрегатом мы, как правило, задаем значение соответсвующей команды, представленной в виде переменной контроллера. Поскольку реального контроллера в этом workshop пока нет, мы будем имитировать поведение технологического оборудования посредством скрипта.

Но для начала изменим обработчик нажатия на кнопки «Открыть» и «Закрыть».

Скрипт на нажатие кнопки «Open»

Измененный скрипт кнопки «Open»

Обратите внимание, что этот скрипт задает значение двум DPE, но, как было сказано в конце прошлой части, это выполняется одним сообщением. Выставляется команда «Открыть» и сбрасывается команда «Закрыть», это своего рода «защита от дурака» (которая, в принципе, должна и так быть в прикладной программе контроллера, но мы перестраховываемся).

Аналогично поступаем со скриптом кнопки «Close»

Проверим выполнение скрипта нажатия кнопок, меняются ли переменные команд в модуле Para

Нажатие кнопки «Open» Нажатие кнопки «Close»

Разумеется, в настоящий момент положение заслонки не меняется, так как нет обработчика команд. По нажатию кнопок сейчас должны менять свои значения тэги open и close соответствующей точки данных.

Для создания скрипта мы должны в gedi найти в дереве проекта Scripts, нажать правую кнопку мыши и выбрать Add New CTRL Script

Дадим осмысленное имя файла скрипта, я его назвал Model

После нажатия ОК скрипт появляется в дереве проекта

Далее двойным кликом на файле открываем скрипт для редактирования. Теперь необходимо продумать поведение модели и структуру самого скрипта. С учетом ярко-выраженного событийного поведения всей системы WinCC OA, этот скрипт должен вызывает функцию dpConnect, завязанную на одну из переменных команд управления задвижкой. Разберемся по шагам.

Вызываем dpConnect на изменение значения переменной команды. В данном случае у нас очень упрощенная модель, защита от дурака реализована в скриптах нажатия кнопки, поэтому достаточно будет привязаться и к одной команде.

Создаем callback функцию на изменение значения команды в рамках модели поведения.

Другие варианты поведения модели неверны с точки зрения идеалогии WinCC OA. Если в самом «глобальном» скрипте вызывать dpGet для чтения значения переменной команды, то этот скрипт надо вызывать постоянно, с определенной периодичностью.

Напоминаю, что у функции dpConnect есть два аргумента. Первый аргумент — имя callback-функции (я назвал ее OnOpen_CB), второй — имя точки данных, на которую происходит подписка. Итого, в упрощенном виде, без каких-либо проверок функция main скрипта Model выглядит так:

Далее напишем саму callback-функцию. У нее тоже два аргумента — имя точки данных (тип данных string) и «новое» значение этой точки данных (должно соответствовать типу данных «исходной» точки). Получается вот такая заготовка.

Дописываем обработчик, он очень простой. Если значение команды «открыть» равно «истина», то задаем положение задвижки, равное 90. Если значение равно «ложь», то значение — 0.

Теперь этот созданный скрипт необходимо как-то вызвать. Для исполнения «глобальных» скриптов используется Control Manager. Следовательно, требуется добавить в список менеджеров системы вызов еще одного менеджера (Control), где в качестве параметра задается имя исполняемого скрипта. В системе есть уже один вызов Control. И его трогать не следует во избежание нехороших последствий. Разве что, вы работаете с системой на уровне эксперта, но тогда зачем вам читать эти заметки?

Существующий список менеджеров

В консоли WinCC OA нажимаем кнопку Append new manager, выбираем в появившемся окне менеджер Control. Для первого запуска свежесозданного скрипта имеет смысл выбрать режим запуска (Start mode) ручной (manual), чтобы не наблюдать попытки перезапуска в случае ошибок в самом скрипте. В качестве параметров вызова менеджера необходимо указать его номер в системе. В нашем случае это будет номер 2. Почему 2? Потому что менеджер с номером 1 в системе уже существует. Менеджеры одного типа в системе должны запускаться со своим уникальным номером. Именно одного типа. Это значит, что в системе может быть ui с номером 1 и ctrl с номером 1, а вот два ui (или ctrl) с одним и тем же номером быть не должны. Поэтому в качестве агрумента запуска я указываю строку «-num 2». Кроме того, требуется передать имя исполняемого скрипта. Вызов нового менеджера выглядит следующим образом:

Свойства Control менеджера для симуляции задвижки

Остается нажать кнопку ОК и запустить менеджер вручную кнопкой Manager Start либо мышью через вспывающее меню (новый менеджер при этом должен быть выделен в списке). Если все сделано правильно, то добавленный менеджер позеленеет и примет статус 2.

Скрипт симуляции успешно запущен

Теперь остается проверить работу симуляции.

По нажатию кнопки Open визуализируется открытие Кнопка Close визуализирует закрытие

Следует обратить внимание на то, что Control Manager запускает скрипт (точнее, свою функцию main) один раз при старте. После выполнения функции main() необходимые callback функции продолжают находится в памяти ПК, они исполняются при выполнении условий, указанных в dpConnect (по изменению значения переменной). Однако, если в сам скрипт были внесены изменения, то необходимо вручную остановить соответствующий экземпляр control-менеджера и запустить его заново. Без останова-запуска изменения не будут приняты.

Сам control manager при запуске создает свой отдельный процесс. Его функция main выполняется в отдельной нитке (потоке, thread). Callback функция (в нашем случае OnOpen_CB) так же запускается в отдельном потоке. После выполнения функция main перестает работать, но callback продолжает находится в памяти ПК (в своем потоке) и вызывается при изменениях «подписанной» переменной.

Источник

Форум АСУТП

Клуб специалистов в области промышленной автоматизации

wincc скрипт сохранения в файл

WinCC скрипт

WinCC скрипт

Сообщение Digitex » 01 авг 2016, 07:49

wincc скрипт сохранения в файл

WinCC скрипт

Сообщение Exactamente » 01 авг 2016, 14:58

WinCC скрипт

Сообщение Digitex » 02 авг 2016, 09:29

wincc скрипт сохранения в файл

WinCC скрипт

Сообщение Exactamente » 02 авг 2016, 13:11

Determines the value of a tag of data type «64-bit floating point value». In addition, the status and the quality code of the tags are returned.

double GetTagDoubleStateQC(Tag Tag_Name, PDWORD lp_dwstate, PDWORD pdwQualityCode);

Pointer to a DWORD in which the status of the tag is stored after the function has been completed.

Pointer to a DWORD in which the quality code of the tag is stored after the function is complete.

Value of the tag in the data type «double».

WinCC скрипт

Сообщение Digitex » 03 авг 2016, 05:57

WinCC скрипт

Сообщение Digitex » 04 авг 2016, 13:33

wincc скрипт сохранения в файл

WinCC скрипт

Сообщение Marrenoloth » 04 авг 2016, 14:24

wincc скрипт сохранения в файл

WinCC скрипт

Сообщение Exactamente » 04 авг 2016, 15:48

А вы полностью логику-то расскажите. После ввода значения вручную оно совсем навсегда остаётся таким? Или только пока А не зименилось?

Ещё костыльный вариант, который подойдёт при условии, что когда у вас, например, А == 1, никто в В не поставит 20 или 30 (соответствующие А == 2 или А == 3).

Источник

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para

Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде моментов WinCC OA радикально отличается от обычных распространенных SCADA, поэтому для начала необходимо усвоить базис.

Перед усвоением этого базиса я рекомендую в общем ознакомиться с архитектурой построения WinCC OA. Лучший способ такого ознакомления — найти в Интернете записи вебинаров и выступлений эксперта по WinCC OA Кондрашкина Андрея. Рекомендую эту запись. Андрей Геннадьевич — очень мощный специалист и прекрасный докладчик. Настоящий цикл заметок, собственно говоря, и основан на его двухдневном вводном обучении.

Можно углубиться в изучении вопроса и дальше, например — ознакомиться с аддонами SmartSCADA или Preactor, но это выходит очень далеко за рамки базового понимания системы. Самое главное, что необходимо вынести из этого ролика — это понимание архитектуры WinCC OA. Например, то, что система состоит из отдельных законченных функциональных единиц, которые называются «менеджерами». Менеджер выполняет строго свою заданную роль. Центральным звеном всей системы является менеджер событий (event manager или EV). Есть менеджер визуализации, User Interface или ui. Есть драйвера, например — s7. Есть менеджер для выполнения скриптов, control. Все менеджеры общаются друг с другом посредством центрального EV по стандартному протоколу TCP/IP, вне зависимости от того, находятся они на одном физическом ПК, или разнесены на несколько.

Вторая важная отличительная черта, которую необходимо понять. OA — это система событийная. В ней почти отсутствует постоянный polling данных. Изменение показаний на экране оператора произойдет только в случае изменения значения соответсвующей переменной в контроллере.

Третье. Все или почти все реализовано скриптами (»Что нельзя запрограммировать на Ассемблере, можно спаять» (с) ) и текстовыми файлами. Необходимо зажечь лампочку на мнемосхеме? Скрипт. Причем скрипт, который подвязывается к изменению переменной и выполняющий определенные действия только по этому изменению автоматически.

Итак, приступаем. В первую очередь необходимо найти установщик и поставить саму систему на свой компьютер. Инсталяцию, я думаю, можете запросить в ближайшем к вам бюро Сименс. Что касается самого процесса установки, то он весьма шустрый, инсталлятор занимает порядка 1 ГБ. Процесс установки в подавляющем числе случаев проблем не вызывает. По крайней мере, на мой программатор, на котором уже трудится то ли 3, то ли 4 версии одного только TIA Portal, система установилась. В самых плачевных случаях, когда операционка забита всем, чем можно и нельзя, процесс установки может идти с ошибками, в частности — ругаться на майкрософт редистрибьютабелс. Тогда необходимо завершить установку и грохнуть все редистрибьюталсы вручную, обычно помогает. Как вариант- применять все в рамках свежей виртуальной машины. В процессе инсталляции рекомендую отметить галочками драйвер S7plus и русскоязычную справку, а так же установить демо-примеры.

Пару слов про лицензию. Хорошая новость — без лицензии система работает. И позволяет вести разработку. Плохая новость — каждые 30 минут все пользовательские интерфейсы (ui) будут закрываться. В WinCC OA инженерная среда (эти менеджеры называются «para» для редактирования базы данных и «gedi» для редактирования визуализации) тоже является пользовательским интерфейсом, поэтому и она тоже будет закрываться без возможности нажать кнопку «сохранить». Помните это — только 30 минут работы. Таймер в 30 минут накопительный. Вы можете поработать 10 минут, закрыть все ui и открыть заново, но таймер не начнет считать время с 30 минут, а лишь с 20. В общем, работа без лицензии требует изрядной внимательности, увлечься разработкой можно, но чревато потерями результатов труда.

И, напоследок. Все примеры и все скриншоты у меня приведены для англоязычной среды разработки. С моей точки зрения необходимо работыть в инженерных средах без перевода, языковой минимум инженера — уметь читать документацию на английском языке. Однако, если кто-нибудь из читателей предпочитает русский язык, то у меня есть для них хорошая новость — все переведено «из коробки». По умолчанию WinCC OA запускает интерфейс на языке операционной системы, у меня он английский. Для того, чтобы задать конкретный язык, необходимо закрыть все работающие модули и программы WinCC OA и открыть в редакторе файл C:\Siemens\Automation\WinCC_OA\3.16\config\config

Путь файла может отличаться, если вы выбрали другий путь установки или у вас используется другая версия WinCC OA.

Если изменить lang = «auto» на lang = «ru_RU.utf8», то система запустится на русском языке.

Символ # коментирует (фактически — отменяет) строчку конфигурации lang, и в результате актуальной является следующая строчка lang, в которой уже явно прописан русский язык:

Способ попроще — кнопка в меню «администратора проектов»

Приступим к созданию проекта. Для этого необходимо запустить программу WinCC OA Project Administrator.

Когда кому-нибудь потребуется лицензировать систему, то вам понадобиться hardware code хоста в случае, если лицензия идет через простой shield-file. Для этого в верхнем меню есть кнопка «Get hardware code».

Далее создаем новый пустой проект. Для этого наверху есть кнопка «New project». Если вы работаете с версией 3.17, необходимо выбрать Legacy Standart Project.

Новый проект в серии 3.16

Выбираем стандартный проект.

Указываем имя проекта и путь. Оставляем галочку Runnable (запускаемый) и при необходимости выбираем языки проекта. В версии 3.17 дополнительное появляется галочка «Use NextGenArchiver», не надо ее выбирать, она касается системы трендов «нового поколения», в то время, как эти заметки основаны на «старом поколении». Английский язык должен быть выбран обязательно. Если планируется многоязычный проект, то набор языков необходимо определить прямо на этом этапе. На курсах по WinCC OA на этом акцентируют особое внимание. Использование русских букв в названии файлов и папок не рекомендуется.

Нажимаем ОК и отказываемся от задания пароля суперпользователя (root). В нормальной жизни максимальные права должны, конечно, быть закрыты, но в рамках учебного примера в этом нет необходимости.

Через несколько секунд появится окно с подверждением создания проекта.

Сразу покажу, как редактировать конфиг-файл проекта. Выбираем проект (на скрине выше он уже выбран) и нажимаем кнопку «Change project properties», далее нажимаем кнопку «Edit config file» и выбираем файл конфигурации проекта.

Редактирование проекта Выбор конфиг-файла проекта Редактирование конфига проекта

Очень многое в системе делается через конфиг. Важное замечание. Конфиг-файл всегда должен заканчиваться пустой строкой. Закроем конфиг-файл и запустим проект. Для запуска проекта необходимо нажать на кнопку с зеленым светофором. После этого на экране появится весьма много окон.

Предупреждение об отсутствии лицензии. Ну, тут остается только нажать кнопку ОК. Окно со вводом root’ового пароля. В нашем случае пароль не задан, так же жмем ОК. Сразу после этого откроется окно с редактором gedi, но сейчас нас больше интересует окно WinCC OA Console

В этом окне мы видим всю структуру и состояние менеджеров нашего проекта. С его помощью можно управлять менеджерами: добавлять, исключать, запускать, останавливать и так далее. Посмотрим, какие интересные менеджеры у нас есть по умолчанию.

Process Monitor. Этот менеджер есть на любом хосте системы (даже если на хосте нет Event Manager). С помощью pmon работает система дигностики WinCC OA, благодаря ему видны все менеджеры, все распределенные системы, состояние этих менеджеров, загрузку каждого процессора, объем дисковой информации и так далее.

Control Manager. Контрол — это менеджер, отвечающий за исполнение скриптов. В данном случае, как я понимаю, запускается ядро системы (или системные скрипты).

Последний менеджер — ui в режиме gedi, среда разработки.

В правой части находятся кнопки управления менеджерами. Слева от имени менеджера находится численная индикация его состояния.

Например, сейчас я остановил менеджер ui, его код состояния 0 (остановлен) и цвет красный (может быть белым, если менеджер еще не стартовал в системе). Код 1 — менеджер запускается, код 2 — менеджер в работе, код 3 — неопределенное состояние. Если менеджер подсвечивается фиолетовым цветом, это означает, что он пытался запуститься, падал по ошибке и подняться снова, но превышено количество повторных запусков.

Далее откроем менеджер gedi (в моем случае — запустим gedi через консоль) и через него откроем редактор para

В редакторе gedi нажать кнопку, выделенную на скриншоте Модуль редактирования данных para

Para предназначен для создания типов точек данных и самих точек данных. В общем понимании тип точки данных, data point type — это объявление структуры, а сама точка данных (data point) является непосредственным экземпляром структуры этого типа. Да, именно так организована база данных сигналов в системе WinCC OA. Грамотно составить модель данных — это очень важный шаг, и его необходимо продумать еще на начальном этапе.

Например, аналоговый датчик содержит в себе как само значение аналогового сигнала, флаги состояния (достоверность, выход за границы и т.д.), а так же все уставки (пределы измерения, аварийные и предупредительные уставки, например). Задвижка? Концевики открыто и закрыто, промежуточное состояние, команды открыть/закрыть, задание времени контроля выполнения команды (таймаут на открытие/закрытие) и т.д.

Создадим тип точки данных

Создать тип точек данных Объявить имя типа точек данных

Имя DPT (data point type) — Flap. Далее посредством правой кнопки мыши и пункта меню Add node создаем следующую структуру.

Задать структуру типа точек данных

Добавим еще один уровень вложенности

Получается следующая структура. Входа (inputs) клапана — это его положение (Position) и расход (Flow), команды (Commands) клапана — открыть (Open) и закрыть (Close), аварии клапана — момент (Torque). Данная структура в настоящий момент состоит только из узлов, листьев (конечных элементов) нет. А ведь те же Position и Flow должны быть аналоговыми величиными, а Open, Close и Torque — булевыми. Чтобы привести структуру в завершенный вид надо назначить его листьям тип данных:

Назначение типов переменных для «листьев» структуры Конечный вид типа точек данных Flap

Для упрощения Position и Flow — тип данных int, остальные конечные элементы — bool. По нажатию кнопки ОК в списке появляется тип данных Flap (пока еще без экземпляров, без DP, так как создан только DPT).

Создан тип точек данных

Если навести курсор на Flap и нажать правую кнопку мыши, то появится меню, из которого выбираем «Create datapoint»

Создать точку данных типа Flap Указать имя точки данных

Точке данных необходимо присвоить имя. Я создам сразу три DP: Flap1, Flap2 и Flap3.

Развернем DP с именем Flap1

Развернутый вид DP Flap1 в модуле para

Тут мы видим, что кроме созданных узлов иерархии и конечных точек появились еще и элементы, которые мы не создавали. Их имена начинаются с нижнего подчеркивания: _original, _common и _lock. В системе WinCC OA они называются конфиги. Каждый конфиг отвечает за какую-то функциональность. Это позволяет настраивать каждый DPE (datapoint element) индивидуально.

Конфиг original для элемента точки данных

original — это один из самых главных конфигов DPE. Он содержит значение DPE в системе и его метку времени. В настоящий момент значение равно 0, а метка времени 01.01.1970. Метка времени задается по аналогии с unix time, поэтому отсчет времени ведется с 1970 года. Изменим значение Flap1.Inputs.Position.original прямо в конфигураторе para

Задание значения для DPE

Мы видим не только новое значение и метку времени его изменения, но так же и пользователя, и имя менеджера и номер системы, откуда пришло изменение. Так же доступны и вспомогательные биты (variable bits). Первые 5 или 6 бит выставляются системой (признак качества, например), а остальные доступны для назначения пользователем.

Обратите еще внимание, что поле Original Value доступно для ввода (в настоящий момент времени все эти DPE — внутренние тэги, так как не привязаны ни к какому драйверу), а Online Value — нет. В большинстве случаев эти значения совпадают. Original — это, грубо говоря, то, что «прилетает с поля», а Online — значение переменной в самой системе. Когда они могут не совпадать? Например, если мы реализовали функционал контроля выхода переменной за пределы. Например, если с поля прилетает значение 12, в то время, как максимальное значение — 10, то мы можем задать Online = 10 и выставить бит плохого качества.

Кликнем правой кнопкой по DPE Position (Flap1) и посмотрим, какие еще конфиги бывают в системе, и за что некоторые из них отвечают.

Добавление конфига к DPE

Archive settings отвечает за помещение значения в историческую базу данных.

Alert settings — за журнал тревог и сообщений.

Periphery address — значение переменной берется с драйвера или OPC-сервера и является внешним тэгом. Именно эти DPE считаются в лицензии. То есть, количество тэгов в проекте — это количество DPE, на которые навесили конфиг «переферийный адрес».

Command conversion и Message conversion — преобразование из инженерных в «физические» (там все, что угодно может быть — код АЦП, миллиамперы и т.д.) величин и обратно.

Default value и Value Range — отвечают за допустимый диапазон значений и подстановку, в случае недостоверности значения.

Smoothing — сглаживание значения аналоговой величины. Весьма важный конфиг с точки зрения производительности системы. Актуален в случае, если драйвер производит постоянный опрос (polling) значения с контроллера. При отсутствии этого конфига каждое новое значение переменной, полученное с ПЛК (например, период опроса для драйвера s7 по умолчанию составляет 100 мс или 10 раз в секунду), будет улетать в сторону EV. Но зачем грузить менеджер событий (как и всю систему) пустой обработкой? В этом случае можно настроить порог, по превышению которого система будет учитывать изменение значения и отдавать его в обработку. В противном случае драйвер продолжает работать тихо, сам по себе, никуда далее сообщения не отсылая. Возможностей выстроить склаживания дано достаточно, начиная с простого сравнения «новое/старое».

Authorization — назначение уровня прав доступа к переменной

Datapoint function — простая математическая обработка значения. Разберем на примере. Создадим конфиг Datapoint function для DPE Flap3.Inputs.Position

Появляется конфиг _dp_fct, жмем кнопку Configure и выполняем следующие действия

Нажать «Configure» Вызвать окно выбора точек данных для первого параметра В качестве первого параметры выбрать Flap1.Inputs.Position Добавить параметр к список Теперь задан параметр p1

Так мы задали первый параметр для функции обработки. Аналогичным образом (или просто заменив Flap1 на Flap2 в строчке с названием «p..=») зададим второй параметр.

Далее в нижней части в строчке «Function» пишем «p1 + p2»

..и жмем ОК. Смотрим конфиг _original для DPE Flap3.Inputs.Position

В принципе, все правильно, так как положение Flap1 у нас равно 10 (недавно задавали его значение вручную), а Flap2 равно 10, итого 0 + 10 = 10.

Кстати, обратите внимание, что конфиги навешиваются на DPE индивидуально, а не являются частью DPT (типа точки данных). В этом случае возникает закономерный вопрос — а что делать в случае массивого тиражирования объектов в системе? Ладно, если точек данных три, а если три тысячи? Настраивать каждую вручную — излишне трудозатратно и неэффективно. В этом случае есть два варианта. Первый — использование Master Datapoint. Это своего рода шаблон, на базе которого можно проводить тиражирование. Проблема в том, что при необходимости внести нестандартную для общей канвы конфигурацию, это будет сделать затруднительно. Второй способ — это экспорт данных во внешний мир, тиражирование DP в Excel и последующий импорт обратно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *