Административный номер точки измерения - Википедия - Meter Point Administration Number
А Административный номер точки учета, также известный как MPAN, Номер поставки или же S-номер, это 21-значный номер, используемый в Великобритания однозначно идентифицировать электричество точки снабжения такие как индивидуальные домашние резиденции. Газовым эквивалентом является Контрольный номер точки измерения и эквивалент воды / сточных вод для потребителей, не являющихся бытовыми, составляет ID точки поставки. Система была введена в 1998 году с целью создания конкурентной среды для электроэнергетических компаний, позволяющей потребителям легко менять поставщика, а также упрощая администрирование. Хотя название предполагает, что MPAN относится к определенному счетчику, MPAN может иметь несколько связанных с ним счетчиков,[1] или вообще нет там, где это неограниченное предложение. Источник питания, получающий питание от оператора сети (DNO ) имеет Импорт MPAN, а поколение и микрогенерация проекты, возвращающиеся в сеть DNO, получают экспортные MPAN.[1]
Структура
MPAN обычно делится на две части: основные и верхние данные. Ядро - это последние 13 цифр и уникальный идентификатор. Данные в верхней строке предоставляют информацию о характеристиках поставки и являются обязанностью поставщика.
В счетах за электроэнергию необходимо указывать полный MPAN (поля в верхней и нижней строке, как правило, не выровнены).[2]
Основные данные находятся во второй строке, дополнительные данные - в первой.
Класс профиля (ПК)
Первые две цифры полного MPAN отражают класс профиля.[3]
00 | Получасовая поставка (импорт и экспорт) |
---|---|
01 | Без ограничений внутри страны |
02 | Одомашненный Счетчик экономичности двух и более ставок |
03 | Без ограничений внутри страны |
04 | Не для дома Экономика 7 |
05 | Не для дома, с возможностью записи максимальной нагрузки (MD) и с коэффициентом загрузки (LF ) меньше или равно 20% |
06 | Не для дома, с возможностью записи MD и LF менее или равным 30% и более 20% |
07 | Не для дома, с возможностью записи MD и LF меньше или равным 40% и больше чем 30% |
08 | Не для домашнего использования, с возможностью записи MD и с LF более 40% (также все MSID, экспортируемые не через полчаса) |
Расходы профильного класса 00 измеряются каждые полчаса (HH), то есть они регистрируют потребление электроэнергии каждые полчаса каждого дня, а поставки других классов профиля измеряются не через полчаса (NHH). Предложение NHH должно быть повышено до HH, если:[4]
Любая система измерения, в которой среднее значение максимальной ежемесячной потребности в электроэнергии за три месяца наибольшей нагрузки, либо в:
- а. предыдущие двенадцать месяцев; или же
- б. период с момента последнего значительного изменения спроса (в зависимости от того, что короче)
превышает 100кВт.
Данные HH регистрируются измерителем и собираются путем загрузки на месте или с помощью методов удаленной связи, таких как GSM, SMS, GPRS или телефонная линия.[2]
Внутренние MPAN импорта NHH всегда имеют класс профиля 01 или 02. Внутренним MPAN экспорта NHH назначается класс профиля 08.[3]
Код переключателя времени измерителя (MTC)
MTC - это трехзначный код, который отражает различные регистры, которые может иметь счетчик, например, единичный тариф, разделение дня и ночи или сезонное время суток.[5][6]
001–399 | DNO специфический |
400–499 | Зарезервированный |
500–509 | Коды для связанных систем измерения - общие для всей отрасли |
510–799 | Коды для родственных систем измерения - специфические для DNO |
800–999 | Коды, общие для всей отрасли |
Класс коэффициента потерь в линии (LLFC)
Класс коэффициента потерь в линии или LLFC[7] используется для определения связанных Распространение Использование системы (DUoS) взимает плату за MPAN. Цифра отражает как объем распределительной инфраструктуры, используемой для снабжения точки выхода, так и количество энергии, потерянной из-за нагрева кабелей, трансформаторов и т. Д.[2]
Основной
Ядро MPAN представляет собой последние 13 цифр MPAN и однозначно определяет точку выхода. Он состоит из двухзначного идентификатора дистрибьютора, за которым следует восьмизначный уникальный идентификатор, затем две цифры и одна контрольная цифра.
ID дистрибьютора
Великобритания разделена на четырнадцать регионов сбыта. Для каждой области отдельная компания, оператор распределительной сети, имеет лицензию на распределение электроэнергии.[8] Они эффективно переносят электричество из Национальная сеть до точек выхода (каждый имеет уникальный MPAN и возможность нескольких метров), где находятся клиенты. Владелец распределительной сети взимает плату с поставщиков электроэнергии за передачу электроэнергии в их сети. Их лицензированные регионы DNO являются теми же географическими зонами, что и предыдущие. национализированные электрические щиты.[8]
Я БЫ | Имя | Оператор | Телефонный номер | ID участника рынка[9] | Идентификатор группы GSP[10] |
---|---|---|---|---|---|
10 | Восточная Англия | UK Power Networks | 0800 029 4285 | EELC | _A |
11 | Ист-Мидлендс | Western Power Distribution | 0800 096 3080 | EMEB | _B |
12 | Лондон | UK Power Networks | 0800 029 4285 | ЛОНД | _C |
13 | Мерсисайд и Северный Уэльс | SP Energy Networks | 0330 10 10 444 | MANW | _D |
14 | западное Средиземье | Western Power Distribution | 0800 096 3080 | MIDE | _E |
15 | Северо-Восточная Англия | Северная энергосистема | 0800 011 3332 | NEEB | _F |
16 | Северо-Западная Англия | Электричество Северо-Запад | 0800 048 1820 | NORW | _ГРАММ |
17 | Северная Шотландия | Шотландские и Южные электрические сети | 0800 048 3516 | HYDE | _П |
18 | Южная Шотландия | SP Energy Networks | 0330 10 10 444 | SPOW | _N |
19 | Юго-Восточная Англия | UK Power Networks | 0800 029 4285 | SEEB | _J |
20 | Южная Англия | Шотландские и Южные электрические сети | 0800 048 3516 | ЮГ | _ЧАС |
21 | Южный Уэльс | Western Power Distribution | 0800 096 3080 | SWAE | _K |
22 | Юго-Западная Англия | Western Power Distribution | 0800 096 3080 | SWEB | _L |
23 | Йоркшир | Северная энергосистема | 0800 011 3332 | YELG | _M |
Помимо упомянутых выше операторов распределительных сетей, имеющих лицензию для определенной географической зоны, существуют также независимые операторы распределительных сетей (IDNO). Они владеют и эксплуатируют электрические распределительные сети, которые в основном являются расширениями сети, подключенными к существующей распределительной сети, например для обслуживания новостроек.
Шотландское гидрораспределение электроэнергии также предоставляют услуги распространения в Южной Шотландии как IDNO и Южный распределительный щит предоставлять услуги IDNO во всех других регионах Англии и Уэльса. Другие IDNO не имеют «базовой» зоны.[11]
Я БЫ | Имя | Лицензиат | Идентификатор участника рынка[9] |
---|---|---|---|
24 | GTC | Независимые энергетические сети | IPNL |
25 | ESP Электричество | ESP Электричество | ДЛИНА |
26 | Энергетика | Global Utilities Connections (Electric) Ltd | GUCL |
27 | GTC | ООО "Электросетевая компания" | ETCL |
28 | EDF IDNO | UK Power Networks (IDNO) Ltd | EDFI (больше не живу) |
29 | Harlaxton Energy Networks Ltd | HARL | |
30 | Пил Электричество Сети Лтд | ПЕНЛ | |
31 | UK Power Distributions Ltd | UKPD | |
32 | EAN | Energy Assets Networks Ltd | UDNL |
35 | FEAL | Fulcrum Electricity Assets Ltd | FEAL |
36 | Vattenfall Network Limited | НДС |
Состояние MPAN
Источник питания, идентифицированный MPAN, может находиться в одном из четырех состояний: отключен, отключен, под напряжением и новый.
- Отключено: сервисный кабель удален, MPAN не будет использоваться повторно.
- Обесточен: сервисный кабель на месте, но предохранитель удален. Счетчик остается подключенным к распределительной сети, но электричество использовать нельзя.
- Под напряжением: Сервисный кабель и предохранитель на месте. Поставка полностью работоспособна.
- Новое: был создан новый MPAN, однако верхняя строка (дополнительные данные, состоящие из класса профиля и кода переключения времени измерителя) еще не завершена. Сервисный кабель может быть установлен или не установлен.
Эти условия ни в коем случае не стандартизированы. Например, отключенное питание может называться «мертвым» источником питания.
Экспорт MPAN
Подавляющее большинство MPAN - это импортные MPAN, в которых потребляется энергия. Однако, если поставка экспортируется в торговую сеть, выдается экспортный MPAN. Если поставка и импорт, и экспорт, то выдается как импортный MPAN, так и экспортный MPAN.
Микрогенерация
Раньше для экспортных MPAN требовалось установить счетчик, совместимый с получасовым интервалом. С 2003 года появилась возможность микрогенерация проекты с мощностью 30 кВт или ниже, чтобы иметь неполчасовой счетчик для экспорта обратно в распределительную сеть. Внедрение было медленным: первый экспортный MPAN микрогенерации был выпущен в июне 2005 года. Некоторые поставщики могут не беспокоиться о регистрации экспортного MPAN в MPAS, поскольку выручка очень мала. Экспортная мощность более 30 кВт должна измеряться каждые полчаса.
Отмеренная точка подачи
Точка измерения потребления (MSP) - это точка, в которой находится счетчик, измеряющий потребление потребителем. Таким образом, это также точка, в которой либо оператор распределительной сети Поставка или боковой кабель оператора сети здания прекращается, и начинается установка оборудования заказчика. Чтобы надежно установить MSP поставщика, MPAN должен быть связан с серийный номер счетчика.
Хотя MPAN обычно ассоциируется с серийным номером одного счетчика, в некоторых случаях существует связь «многие ко многим». Например, один метр может быть связан как с импортным, так и с экспортным MPAN, или один MPAN может быть измерен тремя отдельными счетчиками.
Свод правил измерения[12]
Код | Классифицировать | Конфигурация |
---|---|---|
COP10 | менее 72 кВт | Установлен один счетчик полного тока HH. Представлен в феврале 2009 г.[13] |
COP5 | менее 1 МВт | Установлен один счетчик ДН. |
COP3 | От 1 МВт до 10 МВт | Установлено два счетчика, основной и контрольный, регистрирующие одинаковую нагрузку. Основной счетчик, используемый для выставления счетов. |
COP2 | От 10 МВт до 100 МВт | Установлено два счетчика как в КС3, но более высокого класса точности. |
COP1 | > 100 МВт | Очень мало сайтов в Великобритании на этом уровне, как правило, электростанции и соединения с Национальная сеть. |
Неизмеренные поставки
Возможно, что небольшие предсказуемые запасы не будут измеряться.[14] Примеры: уличные фонари, светофоры, знаки, болларды, телефонные киоски, Кабельное телевидение и рекламные дисплеи.
Для того, чтобы оборудование было подключено к распределительной сети через безлимитное соединение, его потребление не должно превышать 500 Вт, и оно должно работать предсказуемым образом, без возможности включения его вручную по запросу конечного пользователя. Обычно оборудование либо работает и получает электричество 24 часа в сутки, либо управляется фотоэлементом, как это часто бывает с уличными фонарями.
Заказчик несет ответственность за ведение точного и актуального инвентаря неизмеренных расходных материалов и за информирование UMSO (Оператора неизмеренных расходных материалов) обо всех изменениях в подключенном оборудовании.
Более крупные местные власти, как правило, торгуют своей неизмеренной энергией на получасовой основе. Для этого они нанимают администратора счетчика.[15][16] который будет использовать ежедневные данные из массива фотоэлектрических блоков управления (PECU), которые затем используются для расчета потребления энергии. Массив PECU - это устройство, которое содержит репрезентативное количество фотоэлементов, которые власти используют в своих уличных фонарях или светофорах.[17] Продавая электроэнергию без учета измерения каждые полчаса, орган власти будет точно платить за электроэнергию, потребляемую их заявленным неизмеренным оборудованием, а поскольку данные загружаются ежедневно, орган будет видеть, что их счета за электроэнергию меняются в течение года, чтобы отражать изменения в сезоне и дневном освещении уровни.
Если, однако, торговля неизмеренными запасами осуществляется не почасово, UMSO берет на себя ответственность за расчет EAC (расчетного годового потребления). Это делается с использованием простой формулы, которая учитывает мощность схемы оборудования и годовые часы работы. Например, оборудование, которое используется 24 часа в сутки, будет иметь 8766 часов в год. Например, для камеры видеонаблюдения с номинальной мощностью 24 Вт EAC будет 210,384 кВт · ч, рассчитанное как мощность схемы × годовые часы, разделенные на 1000.
Если оборудование уличное освещение, то используется тот же процесс; однако годовые часы будут меняться, поскольку каждому фотоэлементу назначается установленное количество часов в году, которое указывает, как и когда включается и выключается свет. Эти годовые часы были установлены Elexon и не согласовываются с UMSO на местном уровне заказчиком.
После того, как расчет EAC был произведен, назначенному заказчиком поставщику электроэнергии предоставляется сертификат EAC для выставления счетов, а электронная копия EAC отправляется назначенному сборщику данных. DNO делает Распространение Использование системы плата с поставщика электроэнергии за доставку электроэнергии на неизмеренное оборудование потребителя.
Стандартная конфигурация расчетов (SSC)
Каждый полчаса Supply имеет четырехзначный код, называемый стандартной конфигурацией расчетов (SSC), который определяет количество регистров счетчика и время, в течение которого каждый регистр регистрирует потребление электроэнергии. Время записи регистра указывается с помощью пятизначного кода Time Pattern Regime (TPR). Так, например, источник с SSC 0943 имеет два регистра с TPR 00404 и 00405. Регистр 00404 TPR записывает с 01:00 до 02:30 и с 08:00 до 23:30, а регистр 00405 записывает все остальное время. .[18]
Система администрирования Meter Point
Каждый DNO управляет системой администрирования точек измерения (MPAS), которая содержит следующую информацию для каждого MPAN:
- Поставщик
- Сборщик данных (ОКРУГ КОЛУМБИЯ)
- Агрегатор данных (DA)
- Оператор счетчика (MOP) или Meter Administrator для HH без измерений
- Покупатель
- Адрес выхода
- Связанные MPAN
- Состояние MPAN
- Класс профиля (ПК)
- Класс коэффициента потерь в линии (LLFC)
- Класс реле времени счетчика (MTC)
- GSP Group
MPRS - это название программного пакета, реализующего систему MPAS для всех DNO.[19] Поскольку MPRS используется большинством DNO, он часто используется как синоним термина MPAS.
ЭКОЭС
ECOES (Центральная онлайн-справочная служба по электроэнергии) - это веб-сайт, который позволяет пользователям и уполномоченным отраслевым сторонам искать сведения о поставках (в прошлом и в настоящее время), используя такие вещи, как 13-значный номер нижней строки MPAN, серийный номер счетчика или почтовый индекс. Пользователь может определить широкий спектр данных, относящихся к поставке, включая полный адрес, детали счетчика, текущее состояние подачи питания, а также назначенных сторон (например, поставщика, дистрибьютора, MOP, DC и DA). Сайт заполняется на основе информации, присланной поставщиком относительно системы учета.[20]
Только небытовые пользователи (с двумя действующими MPAN, которые не относятся к классу 1 или 2) могут зарегистрироваться для доступа к этой услуге.[21]
Проверить модуль разряда
Контрольная цифра
Последняя цифра в MPAN является контрольной цифрой и подтверждает предыдущие 12 (ядро) с использованием теста модуля 11. Контрольная цифра рассчитывается следующим образом:
- Умножьте первую цифру на 3
- Умножьте вторую цифру на следующее простое число (5)
- Повторите это для каждой цифры (пропущено 11 в списке простых чисел для целей этого алгоритма)
- Сложите все эти продукты
- Контрольная цифра - это сумма по модулю 11 по модулю 10.[22]
Примеры проверки MPAN |
---|
Алгоритм в Java:int контрольная цифра(Нить Проверять) { int[] простые числа = {3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43}; int сумма = 0; за (int я = 0; я < простые числа.длина; я++) { сумма += Характер.getNumericValue(Проверять.диаграмма(я)) * простые числа[я]; } возвращаться сумма % 11 % 10;} В Matlab: функцияпроверить =контрольные цифры(MPANCore)% MPANCore - это массив ячеек из 13-значных строк.% Check - это логический вектор того же размера, что и MPANCore.% (100 000 MPAN за 0,05 секунды.)основной = двойной(char(MPANCore)')-48; c = основной(1:12,:);п = [3 5 7 13 17 19 23 29 31 37 41 43]' * те(1, размер(c, 2));м = мод(мод(сумма(п.*c), 11), 10); k = основной(13,:); проверить = м == k; В Pascal / Delphi: функция Контрольная цифра(MPANCore : множество из Байт): Целое число;const Простые числа : множество [0..11] из Байт = (3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43);вар я : целое число;начинать Результат := 0; за я := 0 к 11 делать Результат := Результат + (MPANCore[я] * Простые числа[я]); Результат := Результат мод 11 мод 10;конец; В Ruby: # где mpan - строкаdef контрольная цифра(мпан) простые числа = [3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43] (0..11).вводить(0) { |сумма, п| сумма + (мпан[п, 1].to_i * простые числа[п]) } % 11 % 10конец В Visual Basic: Общественные Функция mpancheck(мпан В качестве Нить) В качестве Булево Майкл Диармид (EDF) 'Обновлено 08.04.2010 MD 'Возвращает True / False, если MPAN действителен На Ошибка Идти к бесценный Тусклый c В качестве Вариант, сумма В качестве Целое число, я в качестве Байт c = Множество(0, 3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43) За я = 1 К 12 сумма = сумма + (Середина(мпан, я, 1) * c(я)) Следующий я Если Правильно(мпан, 1) = ((сумма Мод 11) Мод 10) потом mpancheck = Истинный Ещебесценный: mpancheck = Ложь Конец Если Конец Функция В VisualBasic.Net 2010: Общественные Функция mpancheck(мпан В качестве Нить) В качестве Булево Майкл Диармид (EDF) 'Обновлено 08.04.2010 MD 'Возвращает True / False, если MPAN действителен Редакция Tym Huckin (16.03.2012) для VB 2010 На Ошибка Идти к бесценный Тусклый c В качестве Объект, сумма В качестве Целое число c = Новый Список(Из Целое число) Из {0, 3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43} За я = 1 К 12 сумма = сумма + (Середина(мпан, я, 1) * c(я)) Следующий я Если sRight(мпан, 1) = ((сумма Мод 11) Мод 10) потом Возвращаться Истинный Ещебесценный: Возвращаться Ложь Конец Если Конец Функция Общественные Функция sRight(sSTRING В качестве Нить, ИЛЕН В качестве Целое число) В качестве Нить Тусклый sRET В качестве Нить = "" Пытаться Если ИЛЕН >= Лен(sSTRING) потом sRET = sSTRING Конец Если sRET = Середина(sSTRING, Лен(sSTRING) - (ИЛЕН - 1), ИЛЕН) Ловить бывший В качестве Исключение sRET = "" Конец Пытаться Возвращаться sRET Конец Функция Или VB.Net 2010, избегая использования библиотеки совместимости VB6: '' '<резюме> '' 'Проверяет номер MPAN '' ' '' ' По крайней мере, последние 13 цифр номера MPAN, включая контрольную цифру, '' 'выражается строкой '' ' В C #: 1 /// <резюме> 2 /// Проверяет номер MPAN. 3 /// 4 /// По крайней мере, последние 13 цифр номера MPAN, включая контрольную цифру, 5 /// выражается в виде строки. 6 /// В виде формулы в Excel 365: 'MPAN в ячейке A1 = IF (RIGHT (MOD (SUM (MID (A1, SEQUENCE (12), 1)), {3; 5; 7; 13; 17; 19; 23; 29; 31; 37; 41; 43 }), 11)) = ВПРАВО (A1), «Правильно», «Недопустимый MPAN») В Python: def контрольная цифра(мпан): "" "Проверить цифру MPAN. Аргументы: mpan - первые 12 цифр номера MPAN, исключая контрольную цифру. """ возвращаться сумма(основной * int(цифра) за основной, цифра в \ застегивать([3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43], мпан)) % 11 % 10 В PL / SQL: Создайте или же заменять функция mpan_check(мпан в varchar2) возвращаться логический является - CDP АТКИНСОН res целое число := 0; ТИП prime_tab ЯВЛЯЕТСЯ ВАРРЕЙ(12) ИЗ целое число; простые числа prime_tab := prime_tab (3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43);начинать за я в 1..12 петля res := res + to_number( substr( мпан, я, 1) ) * простые числа (я); конец петля; возвращаться to_char(мод(мод(res , 11) , 10)) = substr(мпан,13,1);конец mpan_check; В JavaScript: 1функция checkMPAN(мпан) { 2 вар простые числа = [3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43]; 3 вар сумма = 0; 4 вар м = мпан.нанизывать(); 5 6 если (м.длина - 1 === простые числа.длина) { 7 за (вар я = 0; я < простые числа.длина; я++) { 8 сумма += parseInt(м.диаграмма(я)) * простые числа[я]; 9 }10 возвращаться сумма % 11 % 10 === parseInt(м.диаграмма(12));11 }1213 возвращаться ложный;14} В PHP: функция checkMPAN($ mpan){ $ простые = множество(3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43); $ сумма = 0; $ mpan = str_split($ mpan); если ((считать($ mpan) - 1) == считать($ простые)) { за ($ i = 0; $ i < считать($ простые); $ i++) { $ сумма += $ mpan[$ i] * $ простые[$ i]; } возвращаться (($ сумма % 11 % 10) == конец($ mpan)) ? истинный : ложный; } еще { возвращаться ложный; }} В SQL Server: СОЗДАЙТЕ НАЗНАЧЕНИЕ is_valid_mpan ( @мпан VARCHAR(50) )ВОЗВРАТ INTВ КАЧЕСТВЕ НАЧИНАТЬ - Тим Фостер (4 января 2013 г.) ЗАЯВИТЬ @is_mpan INT ,@Икс INT = 1 ,@сумма INT = 0 ЗАЯВИТЬ @обр СТОЛ (я бы INT ЛИЧНОСТЬ(1, 1), вал INT) ВСТАВЛЯТЬ В @обр(вал) ЗНАЧЕНИЯ(3),(5),(7),(13),(17),(19),(23),(29),(31),(37),(41),(43) ПОКА @Икс <= 12 НАЧИНАТЬ ВЫБРАТЬ @сумма = @сумма + (ПОДСТАВКА(@мпан, @Икс, 1) * вал) ИЗ @обр КУДА я бы = @Икс ВЫБРАТЬ @Икс = @Икс + 1 КОНЕЦ ЕСЛИ ВЕРНО(@мпан, 1) = ((@сумма % 11) % 10) НАЧИНАТЬ ВЫБРАТЬ @is_mpan = 1 КОНЕЦ ЕЩЕ НАЧИНАТЬ ВЫБРАТЬ @is_mpan = 0 КОНЕЦ ВОЗВРАЩАТЬСЯ @is_mpanКОНЕЦ В MySQL: СОЗДАЙТЕ ОПРЕДЕЛЕНИЕ=`корень`@`%` НАЗНАЧЕНИЕ `is_valid_mpan`(мпан варчар(13)) ВОЗВРАТ int(11)начинать ЗАЯВИТЬ is_mpan INT; ЗАЯВИТЬ Икс INT; ЗАЯВИТЬ сумма INT; объявить Ret int; набор Икс = 1; набор сумма = 0; СОЗДАЙТЕ ВРЕМЕННЫЙ СТОЛ ЕСЛИ НЕТ СУЩЕСТВУЮТ обр ВЫБРАТЬ 1 `я бы`, 3 `вал` союз все ВЫБРАТЬ 2 `я бы`, 5 `вал` союз все ВЫБРАТЬ 3 `я бы`, 7 `вал` союз все ВЫБРАТЬ 4 `я бы`, 13 `вал` союз все ВЫБРАТЬ 5 `я бы`, 17 `вал` союз все ВЫБРАТЬ 6 `я бы`, 19 `вал` союз все ВЫБРАТЬ 7 `я бы`, 23 `вал` союз все ВЫБРАТЬ 8 `я бы`, 29 `вал` союз все ВЫБРАТЬ 9 `я бы`, 31 `вал` союз все ВЫБРАТЬ 10 `я бы`, 37 `вал` союз все ВЫБРАТЬ 11 `я бы`, 41 `вал` союз все ВЫБРАТЬ 12 `я бы`, 43 `вал`; ПОКА Икс <= 12 ДЕЛАТЬ ВЫБРАТЬ (ПОДСТАВКА(мпан, Икс, 1) * вал) в Ret ИЗ обр КУДА я бы = Икс; набор сумма = сумма + Ret; набор Икс = Икс + 1; КОНЕЦ пока; ЕСЛИ ВЕРНО(мпан, 1) = ((сумма % 11) % 10) тогда набор is_mpan = 1; ЕЩЕ набор is_mpan = 0; конец если; уронить ВРЕМЕННЫЙ стол обр; ВОЗВРАЩАТЬСЯ is_mpan;конец; В Swift 3 есть: func действует(мпан: Нить) -> Bool { позволять простые числа = [3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43] позволять символы = Множество(мпан.символы).карта({Int(Нить($0))}).flatMap({$0}) возвращаться застегивать(простые числа, символы).уменьшать(0) { $0 + $1.0 * $1.1} % 11 % 10 == символы.последний! } В Apex (Salesforce): 1 /** 2 * @description Проверяет MPAN. Написано Адамом Драй, июнь 2018 г. Версия Apex 43 3 * @param mpan 13-значный MPAN, включая контрольную цифру на конце 4 */ 5 общественный Булево mpanIsValid(Нить мпан) { 6 7 Список<Целое число> простые числа = новый Список<Целое число>{3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43}; 8 9 // Считываем контрольную цифру в целочисленную переменную10 Целое число контрольная цифра = Целое число.значение(мпан.верно(1));1112 Нить strTest = мпан.подстрока(0, 12);13 Целое число productTotal = 0;1415 за (Целое число я = 0; я <= 11; я++) {16 Целое число testDigit = Целое число.значение(strTest.Подстрока(я, я + 1));17 productTotal += (testDigit * простые числа[я]);18 }1920 Целое число computedCheck = Математика.мод(Математика.мод(productTotal, 11), 10); 21 Булево validationResult = (computedCheck == контрольная цифра);2223 возвращаться validationResult;24 } |
Смотрите также
- ПО для учета энергии
- Оператор счетчика
- Сети электроэнергии
- Оператор торговой сети
- Электроэнергетика
- Счет за электричество в Великобритании
внешняя ссылка
- Конкретные определения кодов таймеров счетчиков можно найти на MRASCo. страница документации.
- ECOES (Центральная онлайн-справочная служба по электроэнергии)
- Реализации алгоритма контрольной цифры MPAN
Рекомендации
- ^ а б Элексон. «Урегулирование экспорта микрогенерации» (PDF). Архивировано из оригинал (PDF) 9 октября 2007 г.
- ^ а б c Энергия Linx (2007). «MPAN (административный номер точки измерения)». Получено 2007-02-22.
- ^ а б Элексон. «BSCP516 - Балансировочно-расчетный кодекс» (PDF). Архивировано из оригинал (PDF) на 2012-03-19. Получено 2011-07-25.
- ^ Элексон (2015-06-25). «Изменение класса измерений и изменение класса профиля» (PDF). Архивировано из оригинал (PDF) на 2016-08-17. Получено 2016-07-05.
- ^ MRASCo. «Грубый путеводитель по ЦПМ» (PDF). Архивировано из оригинал (PDF) на 2016-01-13. Получено 2011-02-05.
- ^ Элексон. "Таблица классов переключателя времени счетчика". Архивировано из оригинал 26 апреля 2011 г.. Получено 2011-08-23.
- ^ "Класс (ы) коэффициентов потерь в линии". Глоссарий Elexon. Получено 2013-01-27.
- ^ а б EnergyLinx (2007). "Запрос MPAN (запрос административного номера точки счетчика)". Получено 2007-02-22.
- ^ а б Элексон. «Роль участника рынка». Получено 2009-12-20.[мертвая ссылка ]
- ^ Элексон. «ГСП Групп». Получено 2010-06-22.[мертвая ссылка ]
- ^ Ofgem. «Уведомление в соответствии с разделом 11 Закона об электроэнергии 1989 г.» (PDF). Архивировано из оригинал (PDF) 30 декабря 2005 г.. Получено 2007-02-22.
- ^ Видеть «Архивная копия». Архивировано из оригинал на 2007-08-13. Получено 2008-11-16.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Реализация изменений».[мертвая ссылка ]
- ^ «Неизмеренные припасы». ЭЛЕКСОН. Получено 3 января 2019.
- ^ Power Data Associates Ltd. «Администратор счетчика».
- ^ ICTIS (UK) Ltd. «Администратор счетчика».
- ^ "Фотоэлектрические блоки управления". Power Data Associates. Получено 1 января 2019.
- ^ Элексон (2011-12-12). «Что такое стандартные конфигурации расчетов?». Получено 2016-07-05.
- ^ St. Clements Services Ltd. «Система регистрации точек учета». Получено 2008-05-29.
- ^ MRASCO. «Доступ к данным ECOES». Получено 2009-07-11.
- ^ "Briefing_Note_on_Customer_Access_NDC_2" (PDF). ЭКОЭС. MRASCO. Получено 25 июн 2015.
- ^ Ассоциация энергосбытов. "Определение элемента данных v1, финал" (PDF). п. 23. Архивировано из оригинал (PDF) на 2007-09-25. Получено 2014-02-25.