Skip to content

Действия раздела «Данные»

Значок в палитре: •⌕ · даёт: объекты · раздел «Данные» · find-objects · нужен прогон · начинает схему

Отбирает объекты проекта по условию: свойства модели, ключи словарей, цепочки условий.

Фраза на фигуре у только что поставленного шага: найти все объекты — все подряд, условий нет

Условие, источник и порядок у «Найти объекты» и «Взять N-й» общие — отличие только в том, сколько объектов действие отдаёт. Полный разбор — на странице «Найти объекты» и «Взять N-й».

СтрокаОбяз.ПринимаетЧто это
Объектыдаобъект · словарь · текст · число · да / нетОбъекты, словари или значения, среди которых ищут.
ИмяЧто на нём окажется
НайденоОбъекты проекта, прошедшие условие.

Где искать — настройка где, по умолчанию все объекты

Источник объектов: все объекты прогона или одно семейство.

Значение в файле схемыНа экранеПояснение под пунктом
все объектыто жевесь прогон: объекты ПЛК, а устройства DevStudio — если прогон их загружал
объекты ПЛКто жечасть того же прогона: заведённые на ПЛК
устройства Modbusустройства Modbus — DevStudioустройства Modbus DevStudio — грузит только парсинг HMI с «DS ModBus»
устройства OPCто жеустройства OPC DevStudio — грузит только парсинг HMI с «DS OPC Device»
сетевые коммутаторыто жекоммутаторы сети DevStudio — грузит только парсинг HMI с «DS Diagnostic»
обжтайпыто жене прогон: обжтайпы проекта, у них свои поля
в пришедшемто жене прогон, а то, что нашёл шаг выше
карта полевых теговто жене прогон: шаблоны полевых тегов на тип объекта
уровни тревогто жене прогон: уровни тревог AlphaAlarms ПЛК этой строки
глобальные объекты HMIто жене прогон: глобальные объекты HMI, например Severity
данные симуляторато жене прогон: тех. объекты моделей ПЛК, собранные для симулятора
модули Unimodто жене прогон: узлы глобального словаря Unimod
устройства с листов MB.устройства Modbus — ПЛК (листы MB.)не прогон: устройства Modbus с листов MB. книги ПЛК — кадры и датчики

Значок в палитре: N⌕ · даёт: один из списка · раздел «Данные» · find-first · нужен прогон · начинает схему

Берёт из подходящих один — под указанным номером: объект, словарь или текст из списка. Номер считается с единицы.

Фраза на фигуре у только что поставленного шага: взять первый объект — условий нет

Номер считается с единицы: инженер говорит «второй порог», и вычитать единицу за него должен шаг. В GAP на этом месте стоит thresholds[num - 1] — вычитание там не про смысл, а про то, что массив считается с нуля.

Отдельного действия «взять первый» нет: оно отличалось бы одним числом. А это же действие с источником в пришедшем и без условий уже означает «взять из них первый».

До десятого номера фраза шага говорит словом: «первый», «второй», «третий»… дальше — «№ 11».

СтрокаОбяз.ПринимаетЧто это
Объектыдаобъект · словарь · текст · число · да / нетОбъекты, словари или значения, среди которых ищут.
НомернеттекстНомер значением: из ячейки, из шага выше. Не подключён — берётся настройка.
ИмяЧто на нём окажется
ОбъектОбъект под этим номером среди подходящих либо пусто.

Где искать — настройка где, по умолчанию объекты ПЛК

Значение в файле схемыНа экранеПояснение под пунктом
все объектыто жевесь прогон: объекты ПЛК, а устройства DevStudio — если прогон их загружал
объекты ПЛКто жечасть того же прогона: заведённые на ПЛК
устройства Modbusустройства Modbus — DevStudioустройства Modbus DevStudio — грузит только парсинг HMI с «DS ModBus»
устройства OPCто жеустройства OPC DevStudio — грузит только парсинг HMI с «DS OPC Device»
сетевые коммутаторыто жекоммутаторы сети DevStudio — грузит только парсинг HMI с «DS Diagnostic»
обжтайпыто жене прогон: обжтайпы проекта, у них свои поля
в пришедшемто жене прогон, а то, что нашёл шаг выше
карта полевых теговто жене прогон: шаблоны полевых тегов на тип объекта
уровни тревогто жене прогон: уровни тревог AlphaAlarms ПЛК этой строки
глобальные объекты HMIто жене прогон: глобальные объекты HMI, например Severity
данные симуляторато жене прогон: тех. объекты моделей ПЛК, собранные для симулятора
модули Unimodто жене прогон: узлы глобального словаря Unimod
устройства с листов MB.устройства Modbus — ПЛК (листы MB.)не прогон: устройства Modbus с листов MB. книги ПЛК — кадры и датчики

Какой по счёту — настройка номер, по умолчанию 1

Считается с единицы. Учитывается, когда вход «Номер» не подключён.

Значок в палитре: ▤ · даёт: текст · раздел «Данные» · take-field · начинает схему

Берёт одно поле у каждого объекта или ключ у каждого словаря. Порядок сохраняется.

Фраза на фигуре у только что поставленного шага: взять у них поле …

Не то же, что «Перейти по связи»: полем достаётся то, что у объекта записано.

Значение поля отдаётся таким, какое оно есть. Колонка экселя — текст, а поле ModbusDevice — объект со своими полями, и после него законно продолжать объектными действиями. Поле-словарь отдаётся словарём целиком, поле-список разворачивается в элементы.

Опечатка в имени поля даёт пустоту на объект, а не обрыв: справочника имён нет, имя вписывают руками. А вот пустой список-поле даёт ноль значений, а не одно пустое — иначе счёт найденного сдвигался бы на единицу.

СтрокаОбяз.ПринимаетЧто это
Объектыдаобъект · словарьОбъекты проекта или словари.
ПоленеттекстИмя поля значением. Не подключён — берётся настройка.
ИмяЧто на нём окажется
ЗначенияЗначения поля, по одному на объект или словарь.

Объекты — настройка объекты, обязательна

У чего брать поле: у пришедших по связи объектов, у строки, для которой считается ячейка, или у её ПЛК.

ЗначениеПояснение под пунктом
эта строкаколонки строки, для которой считается ячейка: Units, TAG…
ПЛК этой строкиопции ПЛК этой строки: SplitRegex, ComposeRegex, defaultTAMap…

Поле или ключ — настройка поле, обязательна, список берётся из проекта (поля объекта)

Поле объекта или ключ словаря. Учитывается, когда вход «Поле» не подключён.

Значок в палитре: →◇ · даёт: объекты · раздел «Данные» · follow-link

Переходит от объекта к связанным с ним: строкам обжтайпа, устройству, порогам, листу.

Фраза на фигуре у только что поставленного шага: перейти по связи «обжтайп»

Три связи из четырёх ищут по всему прогону: обжтайп подбирается по имени среди всех обжтайпов, лист — по имени листа среди всех объектов, пороги — правилом имён, перенесённым из GAP. Ничем из того, что есть в палитре, это не выражается.

Пороги приходят упорядоченными — тем же порядком, каким их сортирует GAP перед тем, как брать по номеру. Без этого «второй порог» значил бы «какой попадётся».

Подробно: Связи объекта.

СтрокаОбяз.ПринимаетЧто это
ОбъектыдаобъектОбъекты, от которых идут.
ИмяЧто на нём окажется
НайденоОбъекты на другом конце связи, подряд у всех пришедших.

Связь — настройка связь, обязательна, по умолчанию обжтайп

ЗначениеПояснение под пунктом
обжтайпстроки листа обжтайпа: каналы, атрибуты, объявления
устройство Modbusустройство, к которому подключён объект; у объекта оно одно
порогипороги датчика, упорядоченные так же, как в GAP
листобъекты того же листа-источника, включая сам объект

Значок в палитре: ▤ · даёт: текст · раздел «Данные» · read-file · начинает схему

Читает текстовый файл по пути, собранному шагами выше, и отдаёт его текст целиком.

Фраза на фигуре у только что поставленного шага: прочитать файл

Заведён ради MakeThresholdFeedbackText и MakeModuleDiagnosticText: у обеих текст — шаблон .jsm, лежащий рядом с шаблоном обжтайпа, и путь к нему известен только на проекте.

Пустой файл — пустота, а не пустая строка: дальше по схеме пустота проходит сама, без лишней развилки.

СтрокаОбяз.ПринимаетЧто это
ПутьдатекстПолный путь к файлу — обычно собран шагами выше.
ИмяЧто на нём окажется
ТекстТекст файла целиком; пустой файл — пустота.

Если файла нет — настройка если файла нет, по умолчанию оборвать счёт

ЗначениеПояснение под пунктом
оборвать счёткак у GAP: ячейка без значения, в отчёте — путь
отдать пустотудальше уходит пустота, её ловит «Если пусто»