Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

71239-18: АКИП-1101A, АКИП-1102A, АКИП-1103A, АКИП-1104A, АКИП-1105A Источники питания постоянного тока

Назначение

Источники питания постоянного тока АКИП-1101А, АКИП-1102A, АКИП-1103A, АКИП-1104A, АКИП-1105А (далее источники питания) предназначены для питания различных устройств стабилизированным постоянным напряжением и током.

Описание

Принцип действия источников питания основан на выпрямлении напряжения сети входным мостовым выпрямителем с последующей стабилизацией ключевым широтноимпульсным регулятором и преобразованием в выходное напряжение трансформаторным преобразователем и выходным выпрямителем. Выпрямленное выходным выпрямителем напряжение через фильтр поступает на нагрузку и на схему сравнения тока и напряжения с заданными значениями, которые устанавливаются регуляторами настройки выходных тока и напряжения от 0 до максимального значения. Полученный разностный сигнал управляет цепью обратной связи стабилизатора. Источники питания АКИП-1101А, АКИП-1102А, АКИП-1103А имеют один основной выход напряжения и тока (с нормируемыми метрологическими характеристиками) и два дополнительных (выходы с фиксируемыми значениями напряжения и силы тока, с ненормируемыми метрологическими характеристиками), а источники питания АКИП-1104А, АКИП-1105А имеют только один основной выход напряжения и тока.

Источники питания выполнены в виде моноблока со съемным сетевым шнуром питания. На передней панели расположены регуляторы выходных напряжения и тока, цифровые индикаторы текущих значений тока и напряжения, индикаторы режима стабилизации – тока и напряжения, кнопки управления, гнезда выходного напряжения. На задней панели находятся держатель предохранителя и разъем для подключения сетевого шнура питания. На задней панели источников питания АКИП-1104А, АКИП-1105А дополнительно имеются клеммы цепи обратной связи и выходного напряжения для подключения удаленной нагрузки, а также разъемы для параллельного соединения источников. На задней панели источника питания АКИП-1105А дополнительно имеются разъёмы интерфейсов USB и ETHERNET. Источник питания АКИП-1105А дополнительно позволяет формировать выходное напряжение пилообразной, трапециидальной, прямоугольной и произвольной форм.

Для предотвращения от несанкционированного доступа источники имеют наклейки, закрывающие стык панелей корпуса или головки винтов крепления корпуса.

Внешний вид источников питания представлен на рисунках 1-2. Схема пломбировки от несанкционированного доступа приведена на рисунке 3.

Программное обеспечение

Источники имеют встроенное программное обеспечение (ПО), которое записывается в постоянную память микроконтроллера на этапе изготовления источников с помощью специального оборудования (программатора). Метрологические характеристики источников нормированы с учетом влияния встроенного ПО.

Уровень защиты программного обеспечения от непреднамеренных и преднамеренных изменений в соответствии с Р 50.2.077-2014 – «средний».

Идентификационные данные ПО приведены в таблице 1.

Таблица 1 – Характеристики программного обеспечения

Идентификационные данные (признаки)

Значение

Идентификационное наименование ПО

firmware

Номер версии (идентификационный номер ПО)

не ниже 1. 0

Технические характеристики

приведены в таблице 2.

Таблица 2 – Метрологические и технические характеристики источников

Характеристика

Значение

АКИП-

1101A

АКИП-

1102A

АКИП-

1103A

АКИП-

1104A

АКИП-

1105A

1

2

3

4

5

6

Число каналов с регулируемыми параметрами (основные выходы)

1

Максимальная выходная мощность, Вт

В полном диапазоне токов и напряжений (ЦмаксТмакс)

80

Число дополнительных каналов с фиксированными значениями напряжения и силы тока

2

отсутствует

Диапазон воспроизведения выходного напряжения на основном выходе, В

от 1 до 20

от 1 до 36

от 1 до 60

от 0,5 до 36

1

2

3

4

5 6

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

±(0,002-Шых+50)

±(0,005-Шых+50)

Нестабильность выходного напряжения при изменении напряжения питания, мВ, не более

±25

±4

Нестабильность выходного напряжения при изменении силы тока нагрузки от 1макс до 0, мВ, не более

±70

±30

Уровень пульсаций выходного напряжения (от пика до пика), мВ, не более

120

150

180

55

Диапазон воспроизведения силы тока на основном выходе, А

от 0,25 до 3

от 0,25 до 3

от 0,25 до 1,6

от 0 до 5

Пределы допускаемой абсолютной погрешности воспроизведения выходной силы тока, мА

–    от нижнего предела диапазона до 1 А

–    св. 1 А до верхнего значения диапазона

±15

±(0,005Твых+6)

±(0,005Твых+5)

±(0,005Твых+5)

Нестабильность силы тока при изменении напряжения питания, мА, не более

±50

±10

Нестабильность силы тока при изменении напряжения на нагрузке, мА, не более

±20

±10

Характеристики дополнительных каналов

–    значение напряжения* на выходе для канала 1, В

–    значение напряжения на выходе для канала 2, В

–    максимальное значение силы тока на выходе для канала 1, А

–    максимальное значение силы тока на выходе для канала 2, А

3,3 или 5 12 2 1

Значения напряжения сети питания, В

от 100 до 240

Частота сети питания, Гц

50/60

Потребляемая мощность, В-А, не более

190

115

Габаритные размеры, мм (ширинахвысотахглубина)

70х150х250

54х127х330

Масса, кг

2

1,9

Рабочие условия применения:

–    температура окружающего воздуха, °С

–    относительная влажность воздуха при 30 °С, %, не более

от +5 до +40 80

Примечания * переключаемое

ивых – значение напряжения на выходе источника по встроенному индикатору, мВ; 1вых – значение силы тока на выходе источника по встроенному индикатору, мА

Знак утверждения типа

наносится на переднюю панель источников питания методом наклейки и на титульный лист руководства по эксплуатации типографским способом.

Таблица 3 – Комплектность источников питания

Наименование и обозначение

Количество, шт.

Примечание

Источник питания

1

Измерительные провода

2

Кабель для параллельного соединения источников

1

только для АКИП-1104А и АКИП-1105А

Кабель питания

1

Кабель USB и программное обеспечение

1

только для АКИП-1105А

Руководство по эксплуатации

1 экз.

Поверка

осуществляется по документу ПР-09-2018МП «ГСИ. Источники питания постоянного тока АКИП-1101А, АКИП-1102А, АКИП-1103А, АКИП-1104А, АКИП-1105А. Методика поверки», утвержденному АО «ПриСТ» 23 марта 2018 г.

Основные средства поверки:

мультиметр цифровой 2002 (Госреестр № 25787-08, 3 разряд по ГОСТ 8.027-2001), источник питания APS-77100 (Госреестр № 63133-16), шунт токовый PCS-71000 (Госреестр № 61767-15), нагрузка электронная АКИП-1303 (Госреестр № 38205-08), осциллограф цифровой запоминающий WaveRunner 62Xi-A (Госреестр № 40909-09).

Допускается применение аналогичных средств поверки, обеспечивающих определение метрологических характеристик поверяемых СИ с требуемой точностью.

Знак поверки, в виде оттиска поверительного клейма, наносится на свидетельство о поверке.

Сведения о методах измерений

приведены в эксплуатационном документе.

Нормативные документы

ГОСТ 22261-94 «Средства измерений электрических и магнитных величин. Общие технические условия»

ГОСТ 8.027-01. ГСИ. Государственный первичный эталон и государственная поверочная схема для средств измерений постоянного электрического напряжения и электродвижущей силы

ГОСТ 8. 022-91. ГСИ. Государственный первичный эталон и государственная поверочная схема для средств измерений силы постоянного электрического тока в диапазоне от 1 10″16 до 30 А Техническая документация изготовителя

Поверка источника питания АКИП-1102 – Реестр 37469-08 – Методика поверки – Свидетельство об утверждении – РЦСМ

Источники питания постоянного тока импульсные АКИП-1101, АКИП-1102, АКИП-1103, АКИП-1104, АКИП-1105 (далее источники питания) предназначены для воспроизведения напряжением и силы постоянного тока с широкими пределами регулировки. Источники питания предназначены для питания различных устройств стабилизированным постоянным напряжением и током с широкими пределами регулировки и могут использоваться в лабораторных и промышленных условиях. Поверка источника питания АКИП-1102 проходит в аккредитованной лаборатории РЦСМ и занимает от 1 до 5 дней.

Описание и поверка источника питания АКИП-1102

Принцип действия источников питания АКИП-1101, АКИП-1102, АКИП-1103, АКИП-1104, АКИП-1105 основан на выпрямлении напряжения сети входным мостовым выпрямителем с последующей стабилизацией ключевым широтноимпульсным регулятором и преобразованием в выходное напряжение трансформаторным преобразователем и выходным выпрямителем. Выпрямленное выходным выпрямителем напряжение через фильтр поступает на нагрузку и на схему сравнения тока и напряжения с заданными значениями, которые устанавливаются регуляторами настройки выходных тока и напряжения от 0 до максимального значения. Полученный разностный сигнал управляет цепью обратной связи стабилизатора.

Преимущества

Источники питания АКИП-1101, АКИП-1102, АКИП-1103 имеют один диапазон выходного напряжения и тока, а источники питания АКИП-1104, АКИП-1105 позволяют выбирать один из трёх диапазонов выходного напряжения и тока. Источники питания выполнены в виде моноблока со съемным сетевым шнуром питания. На передней панели расположены регуляторы выходных напряжения и тока, цифровые индикаторы текущих значений тока и напряжения, индикаторы режима стабилизации — тока и напряжения, кнопки управления, гнезда выходного напряжения. На задней панели находятся держатель предохранителя и разъем для подключения сетевого шнура питания. На задней панели источников питания АКИП-1104, АКИП-1105 дополнительно имеются клеммы цепи обратной связи и выходного напряжения для подключения удаленной нагрузки. На задней панели источника питания АКИП-1105 дополнительно имеются разъёмы для подключения цепей дистанционного управления и интерфейсов USB и ETHERNET. Источник питания АКИП-1105 дополнительно позволяет формировать выходное напряжение пилообразной, трапециидальной и прямоугольной формы.

Особенности АКИП-1102 — импульсного источника питания:

  • Импульсный источник, мощность 80 Вт
  • 3 модели: 20 В/5 А, 36 В/3 А, 60 В/1,6 А
  • Режимы стабилизации тока и напряжения
  • Два 3-х разрядных индикатора (ток и напряжение)
  • Отключаемый выход
  • Малые геометрические размеры.

Поверка проводится по разделу «МЕТОДИКА ПОВЕРКИ» руководства по эксплуатации «Источники питания постоянного тока импульсные АКИП-1101, АКИП-1102, АКИП-1103, АКИП-1104, АКИП-1105 фирмы «Manson Engineering Industrial Ltd», Китай», согласованной ГЦИ СИ Сергиево-Посадского филиала ФГУ «Менделеевский ЦСМ» 05 марта 2008 г.
Основные средства поверки:

  • вольтметр универсальный цифровой типа В7-78/1 Ипост от 0 до 100 В,
  • класс точности 0,005,1пост от 0 до 3 А класс точности 0,1;4
  • микровольтметр ВЗ-57 (0,3-100) мВ класс точности 2,5-4;
  • мера сопротивления РЗ10 0,01 Ом (Imax= 10 А), класс точности 0,02;
  • нагрузка электронная программируемая PEL-300.
Обзор

Microsoft Power Fx — Power Platform

  • Статья
  • 20 минут на чтение

Power Fx — это язык с низким кодом, который будет использоваться в Microsoft Power Platform. Это универсальный, строго типизированный, декларативный и функциональный язык программирования.

Power Fx представлен понятным для человека текстом. Это язык с низким кодом, с которым производители могут работать непосредственно в строке формул, подобной Excel, или в текстовом окне Visual Studio Code. «Низкий» в low-code объясняется лаконичным и простым характером языка, упрощающим общие задачи программирования как для создателей, так и для разработчиков. Это обеспечивает полный спектр разработки от без кода для тех, кто никогда раньше не программировал, до «профессионального кода» для опытных профессионалов, без обучения или переписывания обрывов между ними, что позволяет различным командам сотрудничать и экономить время и деньги.

Примечание

  • Microsoft Power Fx — это новое название языка формул для приложений на основе холста в Power Apps. Этот обзор и связанные с ним статьи находятся в стадии разработки, поскольку мы извлекаем язык из приложений на основе холста, интегрируем его с другими продуктами Microsoft Power Platform и делаем его доступным с открытым исходным кодом. Чтобы узнать больше о языке и испытать его сегодня, начните с Начало работы с формулами в приложениях на основе холста в документации Power Apps и подпишитесь на бесплатную пробную версию Power Apps.
  • В этой статье мы ссылаемся на создателей , когда описываем функцию, которая может использоваться на любом конце спектра навыков программирования. Мы называем пользователя
    разработчиком
    , если функция является более сложной и, вероятно, выходит за рамки возможностей обычного пользователя Excel.

Power Fx связывает объекты вместе с декларативными формулами, подобными электронным таблицам. Например, представьте свойство Visible элемента управления пользовательского интерфейса как ячейку на листе Excel со связанной формулой, которая вычисляет его значение на основе свойств других элементов управления. Логика формулы автоматически пересчитывает значение, аналогично тому, как это делает электронная таблица, что влияет на видимость элемента управления.

Кроме того, Power Fx при необходимости предлагает императивную логику. На листах обычно нет кнопок, которые могут отправлять изменения в базу данных, но в приложениях они часто есть. Один и тот же язык выражений используется как для декларативной, так и для императивной логики.

Power Fx будет доступен как программное обеспечение с открытым исходным кодом. В настоящее время он интегрирован в приложения на основе холста, и мы извлекаем его из Power Apps для использования в других продуктах Microsoft Power Platform и в качестве открытого исходного кода. Дополнительная информация: Microsoft Power Fx на GitHub

Эта статья представляет собой обзор языка и принципов его разработки. Чтобы узнать больше о Power Fx, см. следующие статьи:

  • Типы данных
  • Операторы и идентификаторы
  • Таблицы
  • Переменные
  • Императивная логика
  • Глобальная поддержка
  • Грамматика выражений
  • грамматика формулы YAML

Думайте о электронной таблице

Что, если бы вы могли создать приложение так же просто, как рабочий лист в Excel?

Что, если бы вы могли воспользоваться своими знаниями в области электронных таблиц?

Эти вопросы вдохновили на создание Power Apps и Power Fx. Сотни миллионов людей ежедневно создают рабочие листы в Excel; давайте обеспечим им простое создание приложений с использованием знакомых им концепций Excel. Отделив Power Fx от Power Apps, мы собираемся ответить на эти вопросы об автоматизации построения, виртуальном агенте или других областях.

Все языки программирования, включая Power Fx, имеют выражения : способ представления вычислений над числами, строками или другими типами данных. Например, масса * ускорение на большинстве языков выражает произведение массы на и ускорения на . Результат выражения можно поместить в переменную, использовать в качестве аргумента процедуры или вложить в большее выражение.

Power Fx делает еще один шаг вперед. Выражение само по себе ничего не говорит о том, что оно вычисляет. Создатель должен поместить его в переменную или передать функции. В Power Fx вместо того, чтобы просто написать выражение, не имеющее конкретного значения, вы пишете формула , которая связывает выражение с идентификатором. Вы пишете сила = масса * ускорение как формулу для вычисления сила . Когда масса или ускорение изменяются, сила автоматически обновляется до нового значения. Выражение описывало вычисление, формула давала этому вычислению имя и использовала его как рецепт. Вот почему мы называем Power Fx языком формул .

Например, эта формула из Stack Overflow ищет строку в обратном порядке. В Excel это выглядит следующим образом.

Скриншот строки формул в Excel с формулой: =ВПРАВО(A1,ДЛИН(A1)- НАЙТИ(“|”, ПОДСТАВИТЬ(A1,” “,”|”, ДЛСТР(A1)-ДЛСТР(ЗАМЕНИТЬ(A1,” “,””)))) Ячейка A1 содержит текст «Привет, мир! Приятно познакомиться!» Ячейка A2 содержит текст «вы!»

Power Fx работает по той же формуле, но ссылки на ячейки заменены ссылками на свойства управления:

Снимок экрана строки формул Power Fx в Power Apps. Формула =ВПРАВО(Ввод.Текст,Длина(Ввод.Текст)- НАЙТИ(“|”, ПОДСТАВИТЬ(Ввод.Текст,” “,”|”, Лен(Ввод.Текст)-Лен(Подстановка(Ввод.Текст,” “,””)))) В поле ввода под формулой появится текст «Привет, мир! Приятно познакомиться!» появляется, буква за буквой. В то же время в поле Метка появляются буквы последнего слова. Когда в поле ввода появится полный текст, слово «вы!» появится в поле Метка.

При изменении значения элемента управления Input элемент управления Label автоматически пересчитывает формулу и показывает новое значение. Здесь нет обработчиков событий OnChange , которые были бы распространены в других языках.

Другой пример, использующий формулу Заливки цвета экрана. При изменении ползунков, управляющих красным, зеленым и синим цветом, цвет фона автоматически изменяется по мере его пересчета.

Нет событий OnChange для ползунков, как это было бы распространено в других языках. Невозможно явно установить значение свойства Fill . Если цвет не работает должным образом, вам нужно взглянуть на эту формулу, чтобы понять, почему она не работает. Вам не нужно искать в приложении фрагмент кода, который устанавливает свойство в неожиданное время; нет элемента времени. Правильные значения формулы всегда сохраняются.

Поскольку ползунки установлены на темный цвет, метки для красного, зеленого и синего меняют цвет на белый для компенсации. Это делается с помощью простой формулы для свойства Color для каждого элемента управления надписями.

Что хорошо в этом, так это то, что он изолирован от того, что происходит с цветом Fill : это два совершенно разных вычисления. Вместо больших монолитных процедур логика Power Fx обычно состоит из множества независимых формул меньшего размера. Это упрощает их понимание и позволяет вносить улучшения, не нарушая существующей логики.

Power Fx — декларативный язык, как и Excel. Создатель определяет, какое поведение они хотят, но система должна определить и оптимизировать, как и когда это сделать. Чтобы сделать это практичным, большая часть работы выполняется с помощью чистых функций без побочных эффектов, что делает Power Fx также функциональным языком (опять же, как и Excel).

Всегда активны

Отличительной чертой рабочих листов является то, что они всегда активны, а изменения отражаются мгновенно. На рабочем листе нет режима компиляции или запуска. Когда формула изменяется или вводится значение, рабочий лист немедленно пересчитывается, чтобы отразить изменения. Любые обнаруженные ошибки немедленно отображаются и не мешают остальной части рабочего листа.

То же самое реализовано с Power Fx. Инкрементный компилятор используется для постоянной синхронизации программы с данными, с которыми она работает. Изменения автоматически распространяются через график программы, влияя на результаты зависимых вычислений, которые могут управлять свойствами элементов управления, такими как цвет или положение. Инкрементный компилятор также предоставляет широкие возможности редактирования формул с помощью IntelliSense, предложений, автозаполнения и проверки типов.

На анимации ниже номер заказа отображается в элементе управления меткой, зависящем от ползунка, несмотря на то, что на метках под ним есть две ошибки. Приложение очень живое и интерактивное. Первая попытка исправить формулу вводом .InvalidName приводит к немедленной красной строке и отображению ошибки, как и должно быть, но приложение продолжает работать.

При вводе . Employee это приводит к тому, что панель данных добавляет таблицу «Сотрудники», извлекаются метаданные для этой таблицы и немедленно предлагаются варианты столбцов. Мы просто перешли связь из одной таблицы в другую, и система внесла необходимые коррективы в ссылки приложения. То же самое происходит при добавлении .Клиент .

После каждого изменения ползунок сохраняет свое последнее значение, и все переменные сохраняют свое значение. На протяжении всего времени номер заказа продолжал отображаться на верхней этикетке, как и должно быть. Приложение все время работало, обрабатывая реальные данные. Мы можем сохранить его, уйти, а другие могут открыть и использовать его так же, как Excel. Здесь нет этапа сборки, нет компиляции, есть только этап публикации, чтобы определить, какая версия приложения готова для пользователей.

Младший код

Power Fx описывает бизнес-логику в кратких, но мощных формулах. Большую часть логики можно свести к одной строке с большим количеством выразительности и контроля для более сложных нужд. Цель состоит в том, чтобы свести к минимуму количество концепций, которые должен понимать производитель, — в идеале не больше, чем пользователь Excel уже должен знать.

Например, чтобы найти имя сотрудника для заказа, вы пишете Power Fx, как показано на следующей анимации. Помимо концепций Excel, единственная добавленная концепция, используемая здесь, — это точка 9.0031 “.” обозначение для детализации структуры данных, в данном случае .Employee.'First Name' . Анимация показывает сопоставление между частями формулы Power Fx и концепциями, которые необходимо явно закодировать в эквивалентном JavaScript.

Давайте более подробно рассмотрим все, что Power Fx делает для нас, и свободу, которую он имеет для оптимизации, потому что формула была декларативной:

  • Асинхронный : Все операции с данными в Power Fx являются асинхронными. . Создателю не нужно указывать это, и ему не нужно синхронизировать операции после завершения вызова. Создателю вообще не нужно знать об этой концепции, ему не нужно знать, что такое обещание или лямбда-функция.

  • Локальные и удаленные : Power Fx использует один и тот же синтаксис и функции для данных, которые находятся локально в памяти и удаленно в базе данных или службе. Пользователю не нужно думать об этом различии. Power Fx автоматически делегирует серверу все, что может, для более эффективной обработки фильтров и сортировок.

  • Реляционные данные : “Заказы” и “Клиенты” – это две разные таблицы со связью “многие к одному”. Запрос OData требует “$expand” со знанием внешнего ключа, аналогично присоединению в SQL. В формуле нет ничего из этого; на самом деле, ключи базы данных — это еще одна концепция, о которой разработчику знать не нужно. Создатель может использовать простую точечную нотацию для доступа ко всему графу отношений из записи.

  • Проекция : при написании запроса многие разработчики пишут select * from table , что возвращает все столбцы данных. Power Fx анализирует все столбцы, которые используются во всем приложении, даже в зависимостях формул. Проекция автоматически оптимизируется, и, опять же, производителю не нужно знать, что означает «проекция».

  • Получить только то, что необходимо : В этом примере функция LookUp подразумевает, что должна быть извлечена только одна запись, и это все, что возвращается. Если запрашиваются дополнительные записи с помощью Функция Filter — для которой могут соответствовать тысячи записей — за раз возвращается только одна страница данных, порядка 100 записей на страницу. Пользователь должен провести пальцем по галерее или таблице данных, чтобы увидеть больше данных, и они будут автоматически введены для него. Производитель может рассуждать о больших наборах данных, не задумываясь об ограничении запросов данных управляемыми фрагментами.

  • Запускается только при необходимости : Мы определили формулу для Text свойство элемента управления label. При изменении выбранной переменной LookUp автоматически пересчитывается, и метка обновляется. Создателю не нужно было писать обработчик OnChange для Selection и не нужно было помнить, что эта метка зависит от него. Это декларативное программирование, как обсуждалось ранее: производитель указывает, что он хочет иметь в этикетке, а не как или когда это должно быть извлечено. Если эта метка не видна, потому что она находится на невидимом экране, или ее Свойство Visible имеет значение false, мы можем отложить этот расчет до тех пор, пока метка не станет видимой, и эффективно устранить его, если это случается редко.

  • Перевод синтаксиса Excel : Excel используется многими пользователями, большинство из которых знают, что амперсанд ( и ) используется для объединения строк. В JavaScript используется знак плюс ( + ), а в других языках используется точка (. ).

  • Отображаемые имена и локализация : Имя используется в формуле Power Fx, а nwind_firstname используется в эквиваленте JavaScript. В Microsoft Dataverse и SharePoint есть отображаемое имя для столбцов и таблиц в дополнение к уникальному логическому имени. Отображаемые имена часто более удобны для пользователя, как в этом случае, но у них есть еще одно важное качество, заключающееся в том, что их можно локализовать. Если у вас многоязычная команда, каждый член команды может видеть имена таблиц и полей на своем родном языке. Во всех случаях использования Power Fx обеспечивает автоматическую отправку в базу данных правильного логического имени.

Без кода

Вам не нужно читать и писать Power Fx, чтобы начать выражать логику. Существует множество настроек и логики, которые можно выразить с помощью простых переключателей и конструкторов пользовательского интерфейса. Эти инструменты без кода были созданы для чтения и записи Power Fx, чтобы гарантировать, что у кого-то будет достаточно места для дальнейшего развития, признавая при этом, что инструменты без кода никогда не предложат всю выразительность полного языка. Даже при использовании со сборщиками без кода панель формул находится в центре Power Apps, чтобы информировать создателей о том, что делается от их имени, чтобы они могли начать изучать Power Fx.

Давайте рассмотрим несколько примеров. В Power Apps панель свойств содержит переключатели и ручки без кода для свойств элементов управления. На практике большинство значений свойств являются статическими. Вы можете использовать построитель цвета, чтобы изменить цвет фона галереи . Обратите внимание, что строка формул отражает это изменение, обновляя формулу до другого вызова RGBA . В любой момент вы можете перейти к строке формул и сделать еще один шаг — в этом примере, используя ColorFade для настройки цвета. Свойство цвета по-прежнему отображается на панели свойств, но при наведении курсора появляется значок fx , и вы перенаправляетесь в строку формул. Это полностью работает двумя способами: удаление вызова ColorFade возвращает цвет к тому, что панель свойств может понять, и вы можете использовать его снова, чтобы установить цвет.

Вот более сложный пример. В галерее представлен список сотрудников Dataverse. Dataverse обеспечивает просмотр данных таблицы. Мы можем выбрать одно из этих представлений, и формула изменится, чтобы использовать Функция фильтра с этим именем представления. Два раскрывающихся меню можно использовать для выбора нужной таблицы и просмотра, не касаясь строки формул. Но допустим, вы хотите пойти дальше и добавить сортировку. Мы можем сделать это в строке формул, и панель свойств снова покажет значок fx и направит изменения в строку формул. И снова, если мы упростим формулу до того, что панель свойств сможет читать и записывать, ее снова можно будет использовать.

Это были простые примеры. Мы считаем, что Power Fx — отличный язык для описания взаимодействий без кода. Он лаконичен, мощен и прост в анализе, а также обеспечивает достаточный запас, который так часто необходим, с «отсутствием обрывов» вплоть до low-code.

Код Pro

Создатели low-code иногда создают вещи, которые требуют помощи эксперта или передаются профессиональным разработчикам для поддержки и улучшения. Профессионалы также понимают, что разработка с низким кодом может быть проще, быстрее и дешевле, чем создание профессионального инструмента. Не во всех ситуациях требуются все возможности Visual Studio.

Профессионалы хотят использовать профессиональные инструменты для максимальной производительности. Формулы Power Fx могут храниться в исходных файлах YAML, которые легко редактировать с помощью Visual Studio Code, Visual Studio или любого другого текстового редактора и позволяют помещать Power Fx в систему контроля версий с помощью GitHub, Azure DevOps или любого другого исходного кода. система контроля.

Power Fx поддерживает компоненты на основе формул для совместного использования и повторного использования. Мы объявили о поддержке параметров свойств компонентов, что позволяет создавать чисто определяемые пользователем функции с дальнейшими улучшениями.

Кроме того, Power Fx отлично подходит для объединения компонентов и услуг, созданных профессионалами. Стандартные соединители обеспечивают доступ к сотням источников данных и веб-служб, настраиваемые соединители позволяют Power Fx взаимодействовать с любой веб-службой REST, а компоненты кода позволяют Power Fx взаимодействовать с полностью настраиваемым JavaScript на экране и странице.

Простой

Power Fx предназначен для целевой аудитории разработчиков, члены которой не прошли обучение в качестве разработчиков. Везде, где это возможно, мы используем знания, которые эта аудитория уже знает или может быстро усвоить. Количество концепций, необходимых для успеха, сведено к минимуму.

Простота полезна и для разработчиков. Для аудитории разработчиков мы стремимся быть языком с низким кодом, который сокращает время, необходимое для создания решения.

Консистенция Excel

Язык Microsoft Power Fx во многом заимствован из языка формул Excel. Мы стремимся использовать знания и опыт Excel многих производителей, которые также используют Excel. Типы, операторы и семантика функций максимально приближены к Excel.

Если у Excel нет ответа, мы затем обращаемся к SQL. SQL является вторым наиболее часто используемым декларативным языком после Excel и может предоставить рекомендации по операциям с данными и строгой типизации, которых нет в Excel.

Декларативный

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

Например, на листе Excel автор определяет отношения между ячейками, но Excel решает, когда и в каком порядке оцениваются формулы. Точно так же формулы в приложении можно рассматривать как «пересчет» по мере необходимости на основе действий пользователя, изменений в базе данных или событий таймера.

Функциональный

Мы предпочитаем чистые функции, не имеющие побочных эффектов. Это приводит к более простой для понимания логике и дает компилятору больше свободы для оптимизации.

В отличие от Excel, приложения по своей природе изменяют состояние — например, в приложениях есть кнопки, которые сохраняют изменения в записи в базе данных. Поэтому некоторые функции имеют побочные эффекты, хотя мы ограничиваем их настолько, насколько это практически возможно.

Состав

Там, где это возможно, добавленная функциональность хорошо сочетается с существующей функциональностью. Мощные функции можно разбить на более мелкие части, которые легче использовать независимо друг от друга.

Например, элемент управления Gallery не имеет отдельных свойств Sort и Filter . Вместо этого функции Sort и Filter объединены в одно свойство Items . Пользовательский интерфейс для выражения поведения Sort и Filter накладывается поверх свойства Items с помощью двустороннего редактора для этого свойства.

Строго типизированный

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

Поддерживаются полиморфные типы, но прежде чем их можно будет использовать, их тип должен быть прикреплен к статическому типу, и этот тип должен быть известен во время компиляции. Функции IsType и AsType предназначены для типов тестирования и литья.

Вывод типа

Типы выводятся из их использования без объявления. Например, установка переменной в число приводит к тому, что тип переменной устанавливается как число.

Использование конфликтующего типа приводит к ошибке времени компиляции.

Десятичные разделители с учетом региональных настроек

В некоторых регионах мира в качестве десятичного разделителя используется точка ( . ), а в других — запятая ( , ). Это то, что делает Excel. Это обычно не делается в других языках программирования, которые обычно используют каноническую точку ( . ) в качестве десятичного разделителя для всех пользователей по всему миру. Чтобы быть максимально доступным для производителей всех уровней, важно, чтобы 3,14 было десятичным числом для человека во Франции, который использовал этот синтаксис всю свою жизнь.

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

Десятичный разделитель авторского языка Десятичный разделитель Power Fx Разделитель списка Power Fx Цепной оператор Power Fx
. (точка) . (точка) , (запятая) ; (точка с запятой)
, (запятая) , (запятая) ; (точка с запятой) ;; (двойная точка с запятой)

Дополнительная информация: Глобальная поддержка

Не объектно-ориентированный

Excel не является объектно-ориентированным, как и Power Fx. Например, в некоторых языках длина строки выражается как свойство строки, например "Hello World".length в JavaScript. Excel и Power Fx вместо этого выражают это с точки зрения функции, как Len("Hello World") .

Компоненты со свойствами и методами являются объектно-ориентированными, и Power Fx легко с ними работает. Но там, где это возможно, мы предпочитаем функциональный подход.

Расширяемый

Создатели могут создавать свои компоненты и функции с помощью самого Power Fx. Разработчики могут создавать свои компоненты и функции, написав JavaScript.

Подходит для разработчиков

Хотя производители являются нашей основной целью, мы стараемся быть дружественными к разработчикам везде, где это возможно. Если это не противоречит принципам проектирования, описанным ранее, мы делаем вещи так, чтобы разработчик это оценил. Например, в Excel нет возможности добавлять комментарии, поэтому мы используем строчные и встроенные комментарии в стиле C.

Развитие языков

Развитие языков программирования необходимо и сложно. Все справедливо обеспокоены тем, что изменение, каким бы благонамеренным оно ни было, может нарушить существующий код и потребовать от пользователей изучения нового шаблона. Power Fx серьезно относится к обратной совместимости, но мы также твердо верим, что не всегда сможем сделать все правильно с первого раза, и мы вместе узнаем, что лучше, как сообщество. Мы должны развиваться, и Power Fx с самого начала разработала поддержку эволюции языка.

Штамп версии языка прилагается к каждому сохраняемому документу Power Fx. Если мы хотим внести несовместимое изменение, мы напишем то, что мы называем «преобразователь обратной совместимости», который автоматически переписывает формулу при следующем редактировании. Если изменение является чем-то значительным, о чем нам нужно сообщить пользователю, мы также отобразим сообщение со ссылкой на документы. Используя это средство, мы по-прежнему можем загружать приложения, созданные с помощью предварительных версий Power Apps много лет назад, несмотря на все изменения, произошедшие с тех пор.

Например, мы представили функцию ShowError для отображения сообщения об ошибке на красном фоне.

Пользователям это понравилось, но они также попросили нас показать способ показа баннера успеха (зеленый фон) или информационного баннера (синий фон). Итак, мы придумали более общую функцию Notify , которая принимает второй аргумент для типа уведомления. Мы могли бы просто добавить Notify и оставить ShowError как было, но вместо этого мы заменили ShowError с Уведомить . Мы удалили функцию, которая ранее была в продакшене, и заменили ее чем-то другим. Поскольку было бы два способа сделать одно и то же, это вызвало бы путаницу, особенно у новых пользователей, и, самое главное, добавило бы сложности. Никто не жаловался, все оценили изменение, а затем перешли к следующей функции уведомлений.

Так выглядит то же приложение при загрузке в последнюю версию Power Apps. От пользователя не требовалось никаких действий, чтобы это преобразование произошло, оно произошло автоматически при открытии приложения.

Благодаря этому средству Power Fx может развиваться быстрее и агрессивнее, чем большинство языков программирования.

Нет неопределенного значения

Некоторые языки, такие как JavaScript, используют концепцию неопределенного значения для неинициализированных переменных или отсутствующих свойств. Для простоты мы избегаем этой концепции. Экземпляры, которые не определены в других языках, обрабатываются либо как ошибка, либо как пустое значение. Например, все неинициализированные переменные начинаются с пустого значения. Все типы данных могут принимать пустое значение.

Типы данных
Операторы и идентификаторы
Таблицы
Переменные
Императивная логика
Глобальная поддержка
Грамматика выражений
Грамматика формул YAML
Формулы в приложениях на основе холста Power BI · Power Query

Крис Уэбб

Одна из самых популярных записей в блоге, которые я написал за последние годы, — это запись о том, как можно использовать параметры RelativePath и Query для функции Web. Contents() M, чтобы обеспечить успешное обновление наборов данных, использующих веб-службы в качестве источников данных. Служба Power BI. Очень неприятно, когда вы пишете какой-то сложный M-код в Power BI Desktop и обнаруживаете, что ваш набор данных не может быть обновлен после публикации! Хотя на момент написания эта проблема все еще присутствует, вчерашнее объявление о новой опции «Пропустить тестовое подключение» для источников данных в службе Power BI означает, что существует больше сценариев, в которых ваши наборы данных могут быть обновлены.

Как я уже упоминал в этом исходном посте, трюк с использованием параметров RelativePath и Query с Web.Contents() работает только в том случае, если первый параметр, переданный в Web.Contents(), является URL-адресом, который сам по себе может вызываться без ошибка. Например, следующее выражение:

Веб.Контент(
"http://www.myservice.com",
[Относительный путь = "привет",
Запрос=[q="SearchTerm"]
])
 

… будет успешно обновляться в службе Power BI только в том случае, если http://www. myservice.com может быть доступен как URL-адрес сам по себе без возврата ошибки. Я полагаю, это связано с тем, что этот URL-адрес используется, когда служба Power BI готовится выполнить запрос, чтобы проверить, действительны ли сохраненные учетные данные. Как говорится в сообщении в блоге, существует обходной путь, при котором фиктивные значения параметров запроса могут использоваться в этом первом параметре, но это не будет работать во всех случаях. Вместо этого теперь вы можете включить параметр «Пропустить тестовое соединение» для источника данных в службе Power BI, и набор данных будет обновляться, даже если http://www.myservice.com сам по себе возвращает ошибку.

Точно так же эта новая опция помогает, когда вы используете ключи API, переданные через параметры запроса для аутентификации. В Power BI Desktop и Excel Get&Transform/Power Query у вас есть возможность использовать тип проверки подлинности веб-API для хранения конфиденциальных ключей API, которые необходимо безопасно передавать через параметры URL-адреса, а не внедрять их в свой M-код. К сожалению, это пока не поддерживается в службе Power BI, и (как я узнал в ходе недавней консультации) существуют другие сложности с использованием анонимной аутентификации. Например, предположим, что вам нужно вызвать веб-службу с выражением M примерно так:

Web.Contents("http://www.myservice.com?key=password123")
 

… где параметр запроса ключа содержит ключ API, используемый для аутентификации. Если вы настроите этот источник данных на использование анонимной проверки подлинности в Power BI Desktop или Excel, он будет обновлен без проблем. Однако после публикации в службе Power BI вы не сможете обновить свой набор данных, если не включите параметр «Пропустить тестовое соединение», поскольку служба Power BI, по-видимому, удаляет любые параметры запроса из URL-адреса при проверке соединения. . В этом случае, если он удалит ключевой параметр, вызов, очевидно, завершится ошибкой, потому что он удалил средства аутентификации.

Этот новый параметр не означает, что каждый набор данных теперь можно обновить. Насколько я вижу, если вы динамически генерируете URL-адрес для использования с Web.Contents() и , не используйте параметры RelativePath и/или Query, вы не сможете обновить свой набор данных, потому что служба Power BI не будет возможность проанализировать ваш код, чтобы узнать, какие URL-адреса в нем присутствуют. Я подозреваю, что если вы видите предупреждение «Некоторые источники данных не могут быть перечислены из-за запросов, созданных вручную» в диалоговом окне «Параметры источника данных» в Power BI Desktop (о котором я писал здесь), вы не сможете обновить свой набор данных. в службе Power BI, но мне нужно провести дополнительное тестирование, чтобы быть уверенным.

Как всегда, если вы проверите это самостоятельно, пожалуйста, дайте мне знать о любых интересных вещах, которые вы найдете, оставив комментарий!

Нравится:

Нравится Загрузка…

Меня зовут Крис Уэбб, и я работаю в команде Power BI CAT в Microsoft. Я веду блог о Power BI, Power Query, службах аналитики SQL Server, службах аналитики Azure и Excel. Просмотреть все сообщения Криса Уэбба

Нравится:

Нравится Загрузка…

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

Адрес электронной почты

Присоединяйтесь к 32 276 другим подписчикам

Поиск
  • Понимание ошибки «Ключ не соответствует ни одной строке в таблице» в Power Query в Power BI или Excel
  • Power BI TMDL и объявления контроля версий из SQLBits
  • Создание таблицы измерения даты в Power Query
  • Обновление запросов Excel Power Query с помощью VBA и Power Automate для настольных компьютеров
  • Подключение к REST API с аутентификацией OAuth3 в Power Query/Power BI
  • Использование RelativePath и параметров запроса с Web.Contents() в Power Query и Power BI M Code
  • Data Wrangler: опыт, аналогичный Power Query, для пользователей Python
  • Сохранение существующих данных в наборе данных Power BI и добавление к нему новых данных с помощью добавочного обновления
  • Сколько данных можно загрузить в Power BI?
  • Почему Power Query не знает, свернется ли мой шаг?
CategoriesSelect CategoryAccessAccessibilityAdaptive CardsADLSgen2AggregationsAnalysis ServicesAzure Analysis ServicesAzure Data CatalogAzure Data ExplorerAzure Data FactoryAzure Data Lake Storage Gen2Azure Data ShareAzure Machine LearningAzure SQL DBBIBigQueryBIMLBing PulseBISMBooksBusinessClient ToolsCloudCommon Data ModelCommon Data ServiceCube FormulasCustom Data ConnectorsData ExplorerData MiningData VisualisationData WranglerDatabricksDataflowsDAXDirectQueryDynamic ArraysDynamic M ParametersETLEventsExcelFlowGeminiGeoFlowGet & TransformGet DataGoogleIncremental RefreshLayerscapeLicensingLobeLog AnalyticsMMadisonMaster Data ServicesMDXMigrationMobileMultidimensionalNodeXLODataOff-topicOffice 2013Office 365Office ScriptsOn Premises Data GatewayOn the internetOpen Source BIOrganisation Data TypesPaginated reportsParquetPASSPDWPerformance TuningPerformancePointPodcastsPower AutomatePower BIPower BI APIPower BI DesktopPower BI EmbeddedPower BI Report BuilderPower MapPower PagesPower QueryPower ViewPowerPivotPremiumProcessingProject ManagementPyramidPythonQ&ARandom ThoughtsRefreshReporting ServicesSanddanceSecuritySnowflakeSQL ServerSynapseTabularTechnitrainTM1TMDLTranslationsUncategorizedVBAVersion controlVideo TrainingVisioVisualisationWeb ServicesWindow Functions Архивы Выбрать месяц Март 2023 Февраль 2023 Январь 2023 Декабрь 2022 Ноябрь 2022 Октябрь 2022 Сентябрь 2022 Август 2022 Июль 2022 Июнь 2022 Май 2022 Апрель 2022 Март 2022 Февраль 2022 Январь 2022 Декабрь 2021 Ноябрь 2021 Октябрь 2021 Сентябрь 2021 1 2 Июнь 2021 Август 2021 Июль 2020 Март 2021 Февраль 2021 Январь 2021 Декабрь 2020 Ноябрь 2020 Октябрь 2020 Сентябрь 2020 Август 2020 Июль 2020 Июнь 2020 Май 2020 Апрель 2020 Март 2020 Февраль 2020 Январь 2020 Декабрь 2019Ноябрь 2019 г. Октябрь 2019 г. Сентябрь 2019 г. август 2019 г., июль 2019 г., июнь 2019 г., май 2019 г., апрель 2019 г. Март 2019 г. Февраль 2019 г., январь 2019 г. Декабрь 2018 г., ноябрь 2018 г., октябрь 2018 г., сентябрь 2018 г., август 2018 г., июль 2018 г., июнь 2018 г., май 2018 апрель 2018 г. Март 2018 г. Февраль 2018 г. Январь 2018 г. Декабрь 2018 г. Ноябрь 2017 г. Октябрь 2017 г. Сентябрь 2017 г. Август 2017 г., июль 2017 г., июнь 2017 г., май 2017 г., апрель 2017 г. Март 2017 г. Февраль 2017 г. Январь 2017 г. Декабрь 2016 г., ноябрь 2016 г., октябрь 2016 г. Сентябрь 2016 г., август 2016 г., июль 2016 г., июнь 2016 г., май 2016 г., апрель 2016 г. Март 2016 г., Февраль 2016 г., январь 2016 г. Декабрь 2015 г. Ноябрь 2015 г. Октябрь 2015 г. Сентябрь 2015 г. август 2015 г., июль 2015 г., июнь 2015 г., май 2015 г., апрель 2015 г. Март 2015 г., февраль 2015 г. Январь 2015 г. Декабрь 2014 г., ноябрь 2014 г., октябрь 2014 г. Сентябрь 2014 г., август 2014 г., июль 2014 г., июнь 2014 г., май 2014 г. Апрель 2014 г.

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

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