Un número de administración de punto de medición , también conocido como MPAN , número de suministro o número S , es una referencia de 21 dígitos que se utiliza en Gran Bretaña para identificar de forma única los puntos de suministro de electricidad , como las residencias domésticas individuales. El equivalente de gas es el Número de referencia del punto del medidor y el equivalente de agua / aguas residuales para clientes que no son domésticos es el ID del punto de suministro. El sistema se introdujo en 1998 con el fin de proporcionar un entorno competitivo para las empresas eléctricas y permite a los consumidores cambiar de proveedor fácilmente, además de simplificar la administración. Aunque el nombre sugiere que un MPAN se refiere a un medidor en particular, un MPAN puede tener varios medidores asociados, [1] o de hecho ninguno cuando es un suministro no medido. Una fuente que recibe energía del operador de red ( DNO ) tiene una MPAN de importación, mientras que los proyectos de generación y microgeneración que retroalimentan a la red de la DNO tienen MPAN de exportación. [1]
Estructura
Una MPAN se divide comúnmente en dos secciones: el núcleo y los datos de la línea superior. El núcleo son los últimos 13 dígitos y es el identificador único. Los datos de la línea superior dan información sobre las características del suministro y son responsabilidad del proveedor.
Se requiere que el MPAN completo se muestre en las facturas de electricidad (las casillas en la línea superior e inferior generalmente no están alineadas). [2]
Los datos básicos están en la segunda línea, los datos complementarios en la primera.
Clase de perfil (PC)
Los dos primeros dígitos de un MPAN completo reflejan su clase de perfil. [3]
00 | Suministro de media hora (importación y exportación) |
---|---|
01 | Doméstico sin restricciones |
02 | Medidor de economía nacional de dos o más tarifas |
03 | No doméstico sin restricciones |
04 | Economía no nacional 7 |
05 | No doméstico, con capacidad de grabación de máxima demanda (MD) y con factor de carga ( LF ) menor o igual al 20% |
06 | No doméstico, con capacidad de grabación MD y con LF menor o igual al 30% y mayor al 20% |
07 | No doméstico, con capacidad de grabación MD y con LF menor o igual al 40% y mayor al 30% |
08 | No doméstico, con capacidad de grabación MD y con LF superior al 40% (también todos los MSID de exportación que no son de media hora) |
Los suministros de la clase de perfil 00 se miden cada media hora (HH), es decir, registran el consumo de electricidad cada media hora de cada día, y los suministros de las otras clases de perfil no se miden cada media hora (NHH). Un suministro de NHH debe actualizarse a HH donde: [4]
Cualquier Sistema de Medición donde el promedio de las demandas eléctricas máximas mensuales en los tres meses de mayor demanda, ya sea en:
- una. los doce meses anteriores; o
- B. el período desde el cambio significativo en la demanda más reciente (el que sea más corto)
supera los 100kW.
Los datos de HH se registran con el medidor y se recopilan mediante una descarga en el sitio o mediante métodos de comunicación remota como GSM , SMS , GPRS o línea telefónica. [2]
Las MPAN de importación de NHH nacionales siempre tienen una clase de perfil de 01 o 02. Las MPAN de exportación de NHH nacionales se les asigna una clase de perfil de 08. [3]
Código de interruptor de tiempo del medidor (MTC)
El MTC es un código de 3 dígitos que refleja los diversos registros que puede tener un medidor, como una tarifa única, una división de día / noche o una hora del día estacional. [5] [6]
001-399 | Específico de DNO |
400–499 | Reservado |
500–509 | Códigos para sistemas de medición relacionados, comunes en la industria |
510–799 | Códigos para sistemas de medición relacionados - específicos de DNO |
800–999 | Códigos comunes en la industria |
Clase de factor de pérdida de línea (LLFC)
La clase de factor de pérdida de línea o LLFC [7] es un código alfanumérico que se utiliza para identificar los cargos relacionados con el uso de distribución del sistema (DUoS) para la MPAN. La figura refleja tanto la cantidad de infraestructura de distribución utilizada para abastecer el punto de salida como la cantidad de energía perdida por el calentamiento de cables, transformadores, etc. [2]
Centro
El núcleo de MPAN son los últimos 13 dígitos de la MPAN e identifica de forma única un punto de salida. Consiste en un ID de distribuidor de dos dígitos, seguido de un identificador único de ocho dígitos, luego de dos dígitos y un solo dígito de control.
ID de distribuidor
Gran Bretaña está dividida en catorce áreas de distribución. Para cada área, una sola empresa, el operador de la red de distribución , tiene una licencia para distribuir electricidad. [8] Efectivamente transportan electricidad desde la Red Nacional hasta los puntos de salida (cada uno con un MPAN único y una posibilidad de varios metros) donde se encuentran los clientes. El propietario de la red de distribución cobra a los proveedores de electricidad por transportar la electricidad en su red. Sus regiones con licencia de DNO son las mismas áreas geográficas que las antiguas juntas eléctricas nacionalizadas . [8]
IDENTIFICACIÓN | Nombre | Operador | Número de teléfono | ID de participante del mercado [9] | ID de grupo GSP [10] |
---|---|---|---|---|---|
10 | Inglaterra del este | Redes eléctricas del Reino Unido | 0800 029 4285 | EELC | _A |
11 | East Midlands | Distribución de energía occidental | 0800 096 3080 | EMEB | _B |
12 | Londres | Redes eléctricas del Reino Unido | 0800 029 4285 | Londres | _C |
13 | Merseyside y norte de Gales | SP Energy Networks | 0330 10 10 444 | MANW | _D |
14 | West Midlands | Distribución de energía occidental | 0800 096 3080 | MIDE | _MI |
15 | Inglaterra nororiental | Powergrid del norte | 0800 011 3332 | NEEB | _F |
dieciséis | Noroeste de Inglaterra | Electricidad Noroeste | 0800 048 1820 | NORUEGA | _GRAMO |
17 | Escocia del norte | Redes eléctricas de Escocia y el sur | 0800 048 3516 | HYDE | _PAG |
18 | Escocia meridional | SP Energy Networks | 0330 10 10 444 | SPOW | _NORTE |
19 | Sureste de Inglaterra | Redes eléctricas del Reino Unido | 0800 029 4285 | SEEB | _J |
20 | Inglaterra del Sur | Redes eléctricas de Escocia y el sur | 0800 048 3516 | SUR | _H |
21 | Gales del Sur | Distribución de energía occidental | 0800 096 3080 | SWAE | _K |
22 | Suroeste de Inglaterra | Distribución de energía occidental | 0800 096 3080 | SWEB | _L |
23 | Yorkshire | Powergrid del norte | 0800 011 3332 | YELG | _METRO |
Además de los operadores de redes de distribución mencionados anteriormente que tienen licencia para un área geográfica específica, también hay operadores de redes de distribución independientes (IDNO). Éstos poseen y operan redes de distribución de electricidad que son en su mayoría extensiones de red conectadas a la red de distribución existente, por ejemplo, para dar servicio a nuevas urbanizaciones.
Scottish Hydro Electric Power Distribution también proporciona servicios de distribución en el sur de Escocia como IDNO y Southern Electric Power Distribution proporciona servicios de IDNO en todas las demás áreas de Inglaterra y Gales. Otros IDNO no tienen un área "base". [11]
IDENTIFICACIÓN | Nombre | Concesionario | ID de participante de mercado [9] |
---|---|---|---|
24 | GTC | Redes de energía independientes | IPNL |
25 | ESP Electricidad | ESP Electricidad | LENG |
26 | Energéticos | Conexiones de servicios públicos globales (Electric) Ltd | GUCL |
27 | GTC | The Electricity Network Company Ltd | ETCL |
28 | EDF IDNO | UK Power Networks (IDNO) Ltd | EDFI (ya no vive) |
29 | Harlaxton Energy Networks Ltd | HARL | |
30 | Peel Electricity Networks Ltd | PENL | |
31 | UK Power Distributions Ltd | UKPD | |
32 | EAN | Energy Assets Networks Ltd | UDNL |
33 | EPN | Eclipse Power Networks Ltd | GGEN |
35 | FEAL | Fulcrum Electricity Assets Ltd | FEAL |
36 | Vattenfall Network Limited | VATT |
Estado MPAN
El suministro identificado por el MPAN puede estar en uno de cuatro estados: desconectado, desenergizado, vivo y nuevo.
- Desconectado: el cable de servicio se ha retirado y la MPAN no se volverá a utilizar.
- Desenergizado: el cable de servicio está en su lugar, pero se ha quitado el fusible. El contador permanece conectado a la red de distribución, pero no se puede utilizar electricidad.
- En vivo: tanto el cable de servicio como el fusible están en su lugar. El suministro está en pleno funcionamiento.
- Nuevo: Se ha generado una nueva MPAN, sin embargo, la línea superior (datos complementarios que consisten en la clase de perfil y el código de conmutación de tiempo del medidor) aún no está completa. El cable de servicio puede estar instalado o no.
Estos términos no están estandarizados de ninguna manera. Por ejemplo, un suministro desconectado puede denominarse suministro "muerto".
Exportar MPAN
La gran mayoría de las MPAN son MPAN de importación, donde se consume energía. Sin embargo, si un suministro se exporta a la red de distribución, se emite una MPAN de exportación. Si un suministro importa y exporta, se emiten tanto una MPAN de importación como una MPAN de exportación.
Microgeneracion
Anteriormente, las MPAN de exportación requerían la instalación de un medidor compatible cada media hora. Desde 2003, ha sido posible que los proyectos de microgeneración , con una capacidad de 30 kW o menos, tengan un medidor que no sea de media hora para exportar nuevamente a la red de distribución. La aceptación fue lenta, y la primera MPAN de exportación de microgeneración se emitió en junio de 2005. Es posible que algunos proveedores no se molesten en registrar la MPAN de exportación en MPAS ya que los ingresos son muy pequeños. La capacidad de exportación superior a 30 kW debe medirse cada media hora.
Punto de suministro medido
El Punto de suministro medido (MSP) es el punto en el que se encuentra el medidor que mide el consumo de un cliente. Por lo tanto, también es el punto en el que termina el suministro del operador de la red de distribución o el cable lateral del operador de la red del edificio y comienza el equipo del cliente. Para establecer firmemente el MSP de un suministro, el MPAN debe estar asociado con un número de serie del medidor .
Aunque es común que un MPAN esté asociado con un número de serie de medidor, en algunos casos existe una relación de varios a varios. Por ejemplo, un medidor podría estar asociado con una MPAN de importación y una exportación, o una MPAN podría medirse con tres medidores separados.
Código de prácticas de medición [12]
Código | Distancia | Configuración |
---|---|---|
COP10 | menos de 72 kW | Un medidor de corriente completo HH instalado. Introducido para febrero de 2009. [13] |
COP5 | menos de 1MW | Un medidor HH instalado. |
COP3 | 1MW a 10MW | Dos contadores instalados, principal y de control, ambos registrando la misma carga. El medidor principal que se utiliza para la facturación. |
COP2 | 10MW a 100MW | Dos contadores instalados como en COP3, pero contadores de clase de mayor precisión. |
COP1 | > 100 MW | Muy pocos sitios en el Reino Unido a este nivel, generalmente centrales eléctricas y conexiones con la Red Nacional . |
Suministros no medidos
Es posible que los suministros pequeños predecibles no estén medidos. [14] Algunos ejemplos son las luces de la calle, señales de tráfico, letreros, bolardos, quioscos telefónicos, circuito cerrado de televisión y pantallas publicitarias.
Para que un equipo se conecte a la red de distribución a través de una conexión no medida, su consumo no debe exceder los 500 vatios y debe funcionar de manera predecible, sin previsión de que se encienda manualmente a solicitud del usuario final. Generalmente, el equipo estaría en funcionamiento y con suministro eléctrico las 24 horas del día, o bien estaría controlado por una fotocélula, como suele ser el caso de las luces de las calles.
Es responsabilidad del cliente mantener un inventario preciso y actualizado de los suministros no medidos e informar al UMSO (Operador de suministros no medidos) de todos los cambios en el equipo conectado.
Las autoridades locales más grandes tienden a intercambiar su energía no medida cada media hora. Para ello, emplean a un administrador de contadores [15] [16] que utilizará los datos diarios de una matriz de unidades de control fotoeléctrico (PECU) que luego se utilizan para calcular el consumo de energía. Una matriz PECU es un dispositivo que contiene un número representativo de las fotocélulas que utiliza la autoridad en sus semáforos o semáforos. [17] Al negociar la energía sin medidor cada media hora, la autoridad pagará con precisión la energía consumida por su equipo sin medidor declarado, y debido a que los datos se descargan a diario, la autoridad verá que sus facturas de energía cambian a lo largo del año para representar los cambios de temporada. y niveles de iluminación diarios.
Sin embargo, si los suministros no medidos se comercializan como no cada media hora, la UMSO asume la responsabilidad de calcular un EAC (Consumo anual estimado). Esto se hace mediante una fórmula simple que tiene en cuenta los vatios del circuito del equipo y las horas anuales de funcionamiento. Por ejemplo, un equipo que está en uso las 24 horas del día tendrá 8766 horas anuales. Para, digamos, una cámara CCTV con una potencia nominal de 24 vatios de circuito, el EAC sería 210,384kWh, calculado como vatios de circuito × horas anuales dividido por 1000.
Si el equipo es alumbrado público se utiliza el mismo proceso; sin embargo, las horas anuales cambiarán a medida que a cada fotocélula se le asigne un número determinado de horas anuales que indican cómo y cuándo se encienden y apagan las luces. Estas horas anuales han sido establecidas por Elexon y el cliente no las acuerda localmente con la UMSO.
Una vez que se ha realizado un cálculo de EAC, se proporciona un Certificado EAC al proveedor de electricidad designado por el cliente para su facturación, y se envía una copia electrónica del EAC al recolector de datos designado. El DNO aplica un cargo por uso de distribución del sistema al proveedor de electricidad por la entrega de la electricidad al equipo no medido del cliente.
Configuración de liquidación estándar (SSC)
Cada suministro que no es de media hora tiene un código de cuatro dígitos llamado Configuración de liquidación estándar (SSC), que especifica la cantidad de registros que tiene un medidor y las veces que cada registro registra el uso de electricidad. Las horas en que un registro está grabando se especifican con un código de régimen de patrón de tiempo (TPR) de cinco dígitos. Así, por ejemplo, un suministro con SSC 0943 tiene dos registros con TPR 00404 y 00405. El registro TPR 00404 registra de 01:00 a 02:30 y de 08:00 a 23:30, y el registro 00405 registra el resto del tiempo. . [18]
Sistema de administración de puntos de medición
Cada DNO opera un sistema de administración de puntos medidores (MPAS) que contiene la siguiente información para cada MPAN:
- Proveedor
- Recopilador de datos (DC)
- Agregador de datos (DA)
- Operador de medidor (MOP) o administrador de medidor para HH sin medidor
- Cliente
- Dirección del punto de salida
- MPAN asociados
- Estado MPAN
- Clase de perfil (PC)
- Clase de factor de pérdida de línea (LLFC)
- Clase de interruptor de tiempo del medidor (MTC)
- Grupo GSP
MPRS es el nombre del paquete de software que implementa el sistema MPAS para todos los DNO. [19] Dado que la mayoría de los operadores de redes de telefonía móvil utilizan MPRS, a menudo se utiliza indistintamente con el término MPAS.
ECOES
ECOES (Electricity Central Online Inquiry Service) es un sitio web que permite a los usuarios y partes autorizadas de la industria buscar detalles de suministro (pasados y presentes) utilizando elementos como el número de línea inferior de 13 dígitos de MPAN, el número de serie del medidor o el código postal. El usuario puede determinar una amplia gama de datos relacionados con el suministro, incluida la dirección completa, los detalles del medidor, el estado de activación actual y también las partes designadas (es decir, el proveedor, distribuidor, MOP, DC y DA). El sitio se completa a partir de la información enviada por el proveedor con respecto al sistema de medición. [20]
Solo los usuarios no domésticos (con dos MPAN válidos que no sean de Clase 1 o 2) pueden registrarse para acceder a este servicio. [21]
Verifique el módulo de dígitos
Comprobar dígito
El último dígito en el MPAN es el dígito de control y valida los 12 anteriores (el núcleo) mediante una prueba de módulo 11. El dígito de control se calcula así:
- Multiplica el primer dígito por 3
- Multiplica el segundo dígito por el siguiente número primo (5)
- Repita esto para cada dígito (falta 11 en la lista de números primos para los propósitos de este algoritmo)
- Sume todos estos productos
- El dígito de control es la suma módulo 11 módulo 10. [22]
Ejemplos de verificación de MPAN |
---|
El algoritmo en Java es: int checkDigit ( String toCheck ) { int [] primes = { 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 }; int suma = 0 ; for ( int i = 0 ; i < primes . length ; i ++ ) { sum + = Character . getNumericValue ( toCheck . charAt ( i )) * primes [ i ] ; } devuelve la suma % 11 % 10 ; } En Matlab: verificación de función = dígitos de control ( MPANCore ) % MPANCore es una matriz de celdas de cadenas de 13 dígitos.% Check es un vector booleano del mismo tamaño que MPANCore.% (100.000 MPAN en 0,05 segundos).núcleo = doble ( char ( MPANCore ) ' ) - 48 ; c = núcleo ( 1 : 12 , :); p = [ 3 5 7 13 17 19 23 29 31 37 41 43 ] ' * unidades ( 1 , tamaño ( c , 2 )); m = mod ( mod ( suma ( p . * c ), 11 ), 10 ); k = núcleo ( 13 , :); comprobar = m == k ; En Pascal / Delphi: función CheckDigit ( MPANCore : matriz de Byte ) : Integer ; const Primes : matriz [ 0 .. 11 ] de Byte = ( 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ) ; var i : número entero ; comenzar Resultado : = 0 ; para i : = 0 a 11 hacer Resultado : = Resultado + ( MPANCore [ i ] * Primes [ i ]) ; Resultado : = Resultado mod 11 mod 10 ; terminar ; En Ruby: # donde mpan es una cadena def check_digit ( mpan ) primes = [ 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ] ( 0 .. 11 ) . inyectar ( 0 ) { | suma , n | suma + ( mpan [ n , 1 ]. to_i * primos [ n ] ) } % 11 % 10 final En Visual Basic: Función pública mpancheck ( mpan As String ) como booleano 'Michael Diarmid (EDF) ' Actualizado el 08/04/2010 MD 'Devuelve Verdadero / Falso si MPAN es válido En caso de error GoTo inval Dim c como variante , suma como entero , i como byte c = matriz ( 0 , 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ) Para i = 1 a 12 suma = suma + ( Mid ( mpan , i , 1 ) * c ( i )) Siguiente i If Right ( mpan , 1 ) = (( sum Mod 11 ) Mod 10 ) Entonces mpancheck = True Else inval : mpancheck = False End If Función final En VisualBasic.Net 2010: Función pública mpancheck ( mpan As String ) como booleano 'Michael Diarmid (EDF) ' Actualizado el 08/04/2010 MD 'Devuelve Verdadero / Falso si MPAN es válido ' Revisado por Tym Huckin (16/03/2012) para VB 2010 En caso de error GoTo inval Dim c como objeto , suma como entero c = Nueva Lista ( De Entero ) De { 0 , 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 } Para i = 1 a 12 suma = suma + ( Mid ( mpan , i , 1 ) * c ( i )) Siguiente i Si sRight ( mpan , 1 ) = (( suma Mod 11 ) Mod 10 ) Entonces Devuelve Verdadero Else inval : Devuelve Falso Fin Si Fin Función Pública Función sRight ( sString Como cadena , ILEN Como Entero ) Como Cadena Dim SRET Como Cadena = "" Intenta Si ILEN > = Len ( sString ) Entonces SRET = sString extremo Si SRET = Medio ( sString , Len ( sString ) - ( iLEN - 1 ), iLEN ) Catch ex As Exception sRET = "" End Try Return sRET Función final O VB.Net 2010, evitando el uso de la biblioteca de compatibilidad VB6: '' ' C ª#: /// Como fórmula en Excel 365: 'MPAN en la celda A1= SI (DERECHA (MOD (SUM (MID (A1, SECUENCIA (12), 1) * {3; 5; 7; 13; 17; 19; 23; 29; 31; 37; 41; 43}), 11) ) = DERECHA (A1), "Correcto", "MPAN no válido") En Python: def check_digit ( mpan ): "" "Verifique el dígito MPAN. Args: mpan: los primeros 12 dígitos del número MPAN, excluido el dígito de control. "" " devuelve suma ( primo * int ( dígito ) para primo , dígito en \ zip ([ 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ], mpan )) % 11 % 10 En PL / SQL: crear o reemplazar la función mpan_check ( mpan en varchar2 ) return boolean es --CDP ATKINSON res integer : = 0 ; TYPE prime_tab ES VARRAY ( 12 ) OF integer ; primos prime_tab : = prime_tab ( 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ); comenzar para i en 1 .. 12 bucle res : = res + to_number ( substr ( mpan , i , 1 ) ) * primes ( i ); ciclo final ; volver a_char ( mod ( mod ( res , 11 ) , 10 )) = substr ( mpan , 13 , 1 ); end mpan_check ; En JavaScript: función checkMPAN ( mpan ) { var primes = [ 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ]; var suma = 0 ; var m = mpan . toString (); if ( m . longitud - 1 === primos . longitud ) { for ( var i = 0 ; i < primes . length ; i ++ ) { suma + = parseInt ( m . charAt ( i )) * primos [ i ]; } devuelve la suma % 11 % 10 === parseInt ( m . charAt ( 12 )); } devolver falso ;} En PHP: función checkMPAN ( $ mpan ) { $ primes = array ( 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ); $ suma = 0 ; $ mpan = str_split ( $ mpan ); if (( count ( $ mpan ) - 1 ) == count ( $ primes )) { for ( $ i = 0 ; $ i < count ( $ primes ); $ i ++ ) { $ sum + = $ mpan [ $ i ] * $ primos [ $ i ]; } return (( $ suma % 11 % 10 ) == end ( $ mpan )) ? verdadero : falso ; } else { devolver falso ; } } En SQL Server: CREAR FUNCIÓN is_valid_mpan ( @ MPAN VARCHAR ( 50 ) ) DEVOLUCIONES INT AS COMENZAR --Tim Foster (01/04/2013) DECLARE @ is_mpan INT , @ x INT = 1 , @ suma INT = 0DECLARE @ arr TABLE ( id INT IDENTIDAD ( 1 , 1 ), val INT )INSERT INTO @ arr ( val ) VALORES ( 3 ), ( 5 ), ( 7 ), ( 13 ), ( 17 ), ( 19 ), ( 23 ), ( 29 ), ( 31 ), ( 37 ), ( 41 ), ( 43 )MIENTRAS @ x <= 12 EMPEZAR SELECCIONAR @ suma = @ suma + ( SUBSTRING ( @ mpan , @ x , 1 ) * val ) FROM @ arr DONDE id = @ xSELECCIONAR @ x = @ x + 1 FIN SI DERECHA ( @ mpan , 1 ) = (( @ sum % 11 ) % 10 ) COMENZAR SELECCIONAR @ is_mpan = 1 FIN ELSE COMENZAR SELECCIONAR @ is_mpan = 0 FINREGRESAR @ is_mpan END En MySQL: CREAR DEFINER = ` root '@` `% FUNCIÓN ` is_valid_mpan ` ( MPAN varchar ( 13 )) RETURNS int ( 11 ) comenzaráDECLARE is_mpan INT ; DECLARAR x INT ; DECLARAR suma INT ; declare ret int ;establecer x = 1 ; establecer suma = 0 ;CREAR TEMPORAL TABLA SI NO EXISTE arr SELECCIONAR 1 ` Identificación del ` , 3 ` val ` unión todo SELECT 2 ` Identificación del ` , 5 ` val ` unión todo SELECT 3 ` Identificación del ` , 7 ` val ` unión todo SELECT 4 ` Identificación del ` , 13 ` val ` unión todo SELECT 5 ` Identificación del ` , 17 ` val ` unión todo SELECT 6 ` Identificación del ` , 19 ` val ` unión todo SELECT 7 ` Identificación del ` , 23 ` val ` unión todo SELECT 8 ` Identificación del ` , 29 ` val ` unión todo SELECT 9 ` Identificación del ` , 31 ` val ` unión todo SELECCIONAR 10 ` Identificación del ` , 37 ` val ` unión todo SELECCIONAR 11 ` Identificación del ` , 41 ` val ` unión todo SELECCIONAR 12 ` Identificación del ` , 43 ` val ` ;MIENTRAS x <= 12 HACERSELECCIONE ( SUBSTRING ( mpan , x , 1 ) * val ) en ret FROM arr DONDE id = x ;conjunto suma = suma + ret ;establecer x = x + 1 ; END mientras ; SI ES CORRECTO ( mpan , 1 ) = (( suma % 11 ) % 10 ) entonces establezca is_mpan = 1 ; ELSE establece is_mpan = 0 ; terminar si ;drop TEMPORARY table arr ; RETURN is_mpan ;terminar ; En Swift 3 es: func isValid ( mpan : String ) -> Bool { let primes = [ 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 ] let chars = Array ( caracteres mpan . ). mapa ({ Int ( String ( $ 0 ))}). flatMap ({ $ 0 }) return zip ( primos , caracteres ). reducir ( 0 ) { $ 0 + $ 1 . 0 * $ 1 . 1 } % 11 % 10 == caracteres . último ! } En Apex (Salesforce): / ** * @description Valida una MPAN. Escrito por Adam Dry, junio de 2018. Apex versión 43 * @param mpan el MPAN de 13 dígitos, incluido el dígito de control al final * / public Boolean mpanIsValid ( String mpan ) { List < Integer > primes = new List < Integer > { 3 , 5 , 7 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 }; // Leer el dígito de control en una variable Integer Entero checkDigit = Entero . valueOf ( mpan . right ( 1 )); String strTest = mpan . subcadena ( 0 , 12 ); Entero productTotal = 0 ; para ( Entero i = 0 ; i <= 11 ; i ++ ) { Integer testDigit = Integer . valueOf ( strTest . Substring ( i , i + 1 )); productTotal + = ( testDigit * primes [ i ] ); } Entero computedCheck = Math . mod ( Math . mod ( productTotal , 11 ), 10 ); Resultado de validación booleano = ( computedCheck == checkDigit ); return validationResult ; } |
Ver también
- Software de contabilidad energética
- Operador de medidor
- Electricidad de red
- Operador de red de distribución
- Industria de la energía eléctrica
- Facturación de electricidad en el Reino Unido
enlaces externos
- Se pueden encontrar definiciones específicas de los códigos de interruptores de tiempo del medidor en la página de documentación de MRASCo .
- ECOES (Servicio de consulta en línea de Electricity Central)
- Implementaciones del algoritmo de dígitos de control MPAN
Referencias
- ^ a b Elexon . "Liquidación de Exportación de Microgeneración" (PDF) . Archivado desde el original (PDF) el 9 de octubre de 2007.
- ^ a b c Energy Linx (2007). "MPAN (Número de administración de puntos de medición)" . Consultado el 22 de febrero de 2007 .
- ^ a b Elexon . "BSCP516 - Código de compensación y liquidación" (PDF) . Archivado desde el original (PDF) el 19 de marzo de 2012 . Consultado el 25 de julio de 2011 .
- ^ Elexon (25 de junio de 2015). "Cambio de clase de medida y cambio de clase de perfil" (PDF) . Archivado desde el original (PDF) el 17 de agosto de 2016 . Consultado el 5 de julio de 2016 .
- ^ MRASCo. "La guía aproximada de los MTC" (PDF) . Archivado desde el original (PDF) el 13 de enero de 2016 . Consultado el 5 de febrero de 2011 .
- ^ Elexon. "Tabla de clases de interruptores de tiempo del medidor" . Archivado desde el original el 26 de abril de 2011 . Consultado el 23 de agosto de 2011 .
- ^ "Clase (s) de factor de pérdida de línea" . Glosario de Elexon . Consultado el 27 de enero de 2013 .
- ^ a b EnergyLinx (2007). "MPAN Solicitud (Número Administración Meter Point Solicitar" . Consultado el 2007-02-22 .
- ^ a b Elexon . "Rol del participante del mercado" . Consultado el 20 de diciembre de 2009 .[ enlace muerto ]
- ^ Elexon . "Grupo GSP" . Consultado el 22 de junio de 2010 .[ enlace muerto ]
- ^ Ofgem . "Aviso bajo la sección 11 de la Ley de Electricidad de 1989" (PDF) . Archivado desde el original (PDF) el 30 de diciembre de 2005 . Consultado el 22 de febrero de 2007 .
- ^ Ver "Copia archivada" . Archivado desde el original el 13 de agosto de 2007 . Consultado el 16 de noviembre de 2008 .CS1 maint: copia archivada como título ( enlace )
- ^ "Implementación del cambio" .[ enlace muerto ]
- ^ "Suministros no medidos" . ELEXON . Consultado el 3 de enero de 2019 .
- ^ Power Data Associates Ltd. "Administrador de contadores" .
- ^ ICTIS (Reino Unido) Ltd. "Administrador de contadores" .
- ^ "Matrices de unidades de control fotoeléctrico" . Asociados de datos de energía . Consultado el 1 de enero de 2019 .
- ^ Elexon ( 12 de diciembre de 2011 ). "¿Qué son las configuraciones de liquidación estándar?" . Consultado el 5 de julio de 2016 .
- ^ St. Clements Services Ltd. "Sistema de registro de puntos de medición" . Consultado el 29 de mayo de 2008 .
- ^ MRASCO. "Acceso a datos ECOES" . Consultado el 11 de julio de 2009 .
- ^ "Briefing_Note_on_Customer_Access_NDC_2" (PDF) . ECOES . MRASCO . Consultado el 25 de junio de 2015 .
- ^ Asociación de Minoristas de Energía. "Definición de elemento de datos v1 final" (PDF) . pag. 23. Archivado desde el original (PDF) el 2007-09-25 . Consultado el 25 de febrero de 2014 .