BRPI0618932A2 - Sistemas, e, aparelho para a implementação de uma malha travada em fase - Google Patents

Sistemas, e, aparelho para a implementação de uma malha travada em fase Download PDF

Info

Publication number
BRPI0618932A2
BRPI0618932A2 BRPI0618932-6A BRPI0618932A BRPI0618932A2 BR PI0618932 A2 BRPI0618932 A2 BR PI0618932A2 BR PI0618932 A BRPI0618932 A BR PI0618932A BR PI0618932 A2 BRPI0618932 A2 BR PI0618932A2
Authority
BR
Brazil
Prior art keywords
power line
data clock
frequency
transponders
phase
Prior art date
Application number
BRPI0618932-6A
Other languages
English (en)
Inventor
Siddharth Malik
Sayre A Swarztrauber
Original Assignee
Quadlogic Controls Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quadlogic Controls Corp filed Critical Quadlogic Controls Corp
Publication of BRPI0618932A2 publication Critical patent/BRPI0618932A2/pt

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D4/00Tariff metering apparatus
    • G01D4/002Remote reading of utility meters
    • G01D4/004Remote reading of utility meters to a fixed location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/54Systems for transmission via power distribution lines
    • H04B3/546Combination of signalling, telemetering, protection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D2204/00Indexing scheme relating to details of tariff-metering apparatus
    • G01D2204/40Networks; Topology
    • G01D2204/45Utility meters networked together within a single building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5429Applications for powerline communications
    • H04B2203/5433Remote metering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2203/00Indexing scheme relating to line transmission systems
    • H04B2203/54Aspects of powerline communications not already covered by H04B3/54 and its subgroups
    • H04B2203/5462Systems for power line communications
    • H04B2203/5466Systems for power line communications using three phases conductors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02B90/20Smart grids as enabling technology in buildings sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S20/00Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
    • Y04S20/30Smart metering, e.g. specially adapted for remote reading

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Abstract

SISTEMAS, E, APARELHO PARA A IMPLEMENTAçãO DE UMA MALHA TRAVADA EM FASE. Em um aspecto, a invenção inclui um sistema compreendendo: uma fonte de relógio de dados mestre; um ou mais transponders; e uma pluralidade de transceptores de linha de potência remotos; onde toda a referida pluralidade de transceptores estão conectados a uma grade de distribuição de potência em corrente alternada comum; e onde cada um da dita pluralidade de transceptores possui uma localização e é operável para monitorar uma forma de onda de tensão de uma linha de potência que prevalece na mencionada localização. Em um outro aspecto, a invenção compreende um sistema, o qual consiste em: transponders e transceptores de linha de potência remotos, cada um conectado a uma grade de distribuição de potência em corrente alternada comum, cada grade operável para monitorar a forma de onda de tensão da linha de potência que prevalece em sua própria localização, e gerar freqúências selecionáveis a partir da citada forma de onda de linha de potência local de uma frequência de p/q vezes a frequência da citada linha de potência, onde p e q são números inteiros positivos maiores do que ou iguais a 1.

Description

"SISTEMAS, E, APARELHO PARA A IMPLEMENTAÇÃO DE UMA MALHA TRAVADA EM FASE"
Referência cruzada para Pedidos Relacionados Este pedido reivindica o benefício do Pedido de Patente Provisório
U.S. No. 60/739.375, depositado ém 23 de Novembro de 2005, e do Pedido de Patente Provisório U.S. No. 60/813.901, depositado em 15 de Junho de 2006. Os conteúdos inteiros daqueles pedidos são aqui incorporados por referência.
Fundamentos
Há sistemas de portadora de linha de potência (PLC) de leitura de medidor automatizada (AMR) que provêem comunicação de PLC entre um concentrador de dados em uma subestação e um medidor instalado abaixo da linha de potência, no território de serviço de baixa tensão. No entanto, aqueles sistemas mais correntes apresentam deficiências, que incluem ponto único de acesso, capacidade limitada, baixas taxas de dados,, equipamento adicional no intuito de contornar o transformador de distribuição e, acima de tudo, falta de escalabilidade. São requeridas taxas de dados muito reduzidas, no sentido de prover confiabilidade de comunicação global, o que se traduz diretamente em uma limitação de escalabilidade. Por exemplo, sistemas da técnica anterior têm utilizado transmitir e receber freqüências tão baixas como na faixa de áudio, no sentido de passar através de transformadores de distribuição. Algumas de tais freqüências múltiplas inteiras da freqüência de linha (η χ flinha, onde η não excede 100), e outras são simples frações da freqüência de linha (flinha/(2n), onde n>1). A técnica anterior empregando a técnica mais recente permite que um sinal de consumo de energia seja superposto sobre o sinal de potência em uma freqüência mais baixa do que aquela do sinal de potência propriamente dito. Isto coloca uma limitação nas taxas de dados que o sistema é capaz de entregar. A limitação em escalabilidade é primariamente causada pelo número limitado de medidores que são comunicados um de cada vez, e a programação manual requerida quando mudanças no território de serviço forem realizadas. Sobretudo, as deficiências dos sistemas atuais que incluem falta de confiabilidade, flexibilidade e escalabilidade.
Sistemas PLC tornam possível analisar perturbações de rede usando conectividade elétrica. Usando sistemas PLC, o suprimento de eletricidade pode ser verificado muito mais diretamente se comparado a sistemas que dependem de cobertura sem fio. Várias PLC da técnica anterior têm utilizado mecanismos de consulta para detectar interrupções, enquanto outros mantiveram o medidor e coletor de dados continuamente em comunicação. Também, há sistemas da técnica anterior que relatam um evento de interrupção por um sistema alimentado por bateria que sente a perda de potência e ativa um modem que comuta a informação de perda de potência. Uma desvantagem de tais sistemas é que quando muitos medidores perdem potência simultaneamente, as mensagens de "último suspiro" concorrentes podem criar consideráveis colisões e ruído.
Sistemas tipo SCADA usam transceptores em subestações e vários pontos de infra-estrutura (por exemplo, transformadores de distribuição e alimentadores de subestação) para verificar o estado da rede de transmissão de potência. Estes transceptores monitoram constantemente a operação de tais instrumentos e comutam informação quando é encontrada uma falha.
O que é necessário são sistemas AMR que requerem intervenção manual mínima e são escaláveis à medida que o número de medidores instalados aumenta, seja devido a procedimentos mandatórios no lugar ou devido a altos custos de energia e a necessidade de eliminar serviços não medidos. A medida que as utilidades se esforçam para reduzir custos operacionais, um sistema que é economicamente escalável e supera alguns ou todos os problemas acima mencionados é altamente desejável. O problema da escalabilidade também implica em que um sistema automatizado que a utilidade pode instalar através do território de serviço inteiro (incluindo estações de geração múltiplas) ou uma sub seção destas (incluindo subestações múltiplas), o que provê um único ponto de controle que provê dados e estado dos medidores instalados, seja necessário. Em adição, qualquer progresso tecnológico que reduz o custo por ponto de medição para um grande sistema (por exemplo, mais de 500 medidores) eliminando qualquer equipamento adicional requerido em cada transformador para sinalização PLC é sempre bem-vindo pelas utilidades.
É uma meta desta invenção apresentar um sistema PLC AMR de duas vias que evita as deficiências acima mencionadas dos sistemas da técnica anterior.
A presente invenção, em pelo menos uma realização, compreende um sistema de comunicação de duas vias para dados de medição de intervalo de leitura através de linhas de distribuição de média tensão (4-33 kV) atravessando dos transformadores de distribuição para os dispositivos de medição em linhas de baixa tensão (120-600 volts), sem requerer qualquer equipamento especial nos transformadores de distribuição, enquanto mantém uma solução AMR confiável e de custo efetivo.
O uso de linhas de potência para sinalização, leitura de medidor, controle de carga e outras finalidades de comunicação têm sido bem documentado (ver, por exemplo, Patente U.S. No. 6.947.854 de Swarztrauber, aqui incorporada por referência). Em uma instalação de rede com uma população de mais de um medidor, e um transponder acessando esta população, a tecnologia descrita por Swarztrauber apresentou um sistema de comunicação PLC que incluía programação do medidor para um canal específico (um de 16 em cada duas faixas que cobrem 15-35 kHz). O transponder poderia programar remotamente o canal de cada medidor, utilizando um "canal base" que todos os medidores poderiam reconhecer, para direcionar cada medidor para seu próprio canal de "repouso", isolado dos outros canais por uma diferença de freqüência suficiente para permitir comunicações simultâneas de cada transponder com cada medidor. Entretanto, à medida que o tamanho do sistema cresce, seguindo o procedimento acima, cada transponder requer pelo menos duas freqüências únicas para evitar interferência de outros dispositivos instalados usando comunicação de RF através das linhas de potência. Em adição, o sistema mantém uma lista de referência cruzada no transponder, listando os medidores para pelos quais o transponder é responsável. Em um ambiente com múltiplos transponders e múltiplos dispositivos polifásicos, o acoplamento cruzado de sinais PLC pode resultar na degradação da velocidade de transferência global.
Sumário
E conseqüentemente um objetivo geral desta invenção prover um método melhorado para gerenciar os problemas de escalabilidade acima referenciados e para prover um considerável melhoramento sobre uma metodologia de PLC existente. .
E também um objetivo desta invenção prover um melhoramento sobre os métodos existentes para executar PLC em um ambiente de alto ruído de linha que resulta em uma alta relação sinal ruído (SNR) e para eliminar a necessidade de duas freqüências únicas para evitar interferência de dispositivos utilizando comunicação PLC ou ruído randômico.
E um outro objetivo desta invenção prover um dispositivo para receber mensagens via portadora de linha de potência usando um microprocessador para decodificar sinais de Codificação de Deslocamento de Freqüência (FSK) ou de Codificação de Deslocamento de Fase (PSK) usando um algoritmo de Transformada de Fourier Rápida (FFT).
E um outro objetivo desta invenção prover um método para obter dados confiáveis e informação de evento recebida de comunicação PLC com medidores, fazendo deduções lógicas, efetuando análise estatística sobre o território de serviço e provendo um serviço adicionado à utilidades. Isto pode incluir, porém não está limitado a um mapa de território de medidor compreensivo que o sistema atualiza dinamicamente e automaticamente à medida que ocorrem mudanças no território do medidor. A solução dinâmica é univocamente determinada pela capacidade dos medidores decodificarem sinais PLC a partir de transponders de varredura múltipla (ST) simultaneamente.
Então, em pelo menos uma realização, a invenção provê um melhoramento sobre a tecnologia da técnica anterior para usar FFT como a base para decodificação simultânea de diversas comunicações de transponder. Para fins de fundamentos, os seguintes são aqui incorporados por referência em sua totalidade: Pedido de Patente U.S. No. 11/198.795, depositado em 4 de Agosto de 2005, de Swarztrauber e outros, e Patente U.S. N. 6.947.854, discutidos acima.
Os objetivos e características acima serão melhor entendidos a partir da descrição detalhada abaixo de certas realizações, selecionadas para fins de ilustração, juntamente com os desenhos. Os especialistas na técnica verificarão que várias implementações e variações são possíveis, sem se desviar do escopo desta invenção.
Uma instalação típica inclui mais de um ST localizado em cada uma das subestações localizadas remotamente, alimentando uma seção do território de serviço de utilidade, via linhas de média tensão terminando em transformadores de distribuição a partir dos quais emanam linhas de baixa tensão. Enquanto medidores são geralmente instalados em premissas de usuário, as utilidades podem instalar um medidor na saída de todo transformador de distribuição, aumentando daí a população de medidores no território de serviço. Mais de um medidor é tipicamente localizado no território de serviço de baixa tensão e se comunica com seu ST. Todos os ST em um sistema são preferivelmente conectados a um servidor remoto que possui um enlace de dados de alta velocidade em uma configuração de LAN ou WAN e constantemente se comunica com todos os ST. O servidor remoto pode ele próprio operar em um relógio que é derivado da freqüência de linha da utilidade. Isto pode ser implementado usando circuitos RTC que usam a freqüência de linha de 60 Hz como uma referência (tal como o CDP68HC68TI da Intersil, um relógio em tempo real de CMOS multifuncional). Com uma configuração conforme acima, todos os ST são conectados sincronizadamente e operam usando um protocolo de rede (tal como Protocolo de Tempo de Rede) de tal modo que todos compartilham o mesmo relógio mestre ditado pelo servidor, mantendo deste modo sincronismo, travando cada ST a uma fonte de tempo comum.
Em um aspecto, a presente invenção habilita medidores individuais a receber, desmodular e interpretar comunicações simultâneas a partir de todos os Transponders em todas as faixas, comunicando-se em diferentes freqüências de uma vez, eliminando a necessidade de um "canal base" e de programar um "canal de repouso". Cada medidor pode observar todos os ST e responder a aquele que lhe requisita dados. Ainda mais, cada medidor pode comunicar informação com vistas a força de sinal de cada Transponder que pode ouvir, até aquele transponder que está requisitando dados. Isto habilita medidores móveis ao "melhor" transponder para cada medidor.
A presente invenção, em pelo menos um aspecto, utiliza a infra-estrutura PLC AMR instalada para prover um Sistema de Gerenciamento de Evento (EMS) que provê um meio mais extensivo, prático e eficiente para relatar eventos e rastrear falhas. A invenção, neste aspecto, auxilia as utilidades e entidades de medição a: (1) deduzir o número de alocações de tempo com erro, com base nos algoritmos de verificação; (2) automatizar a integração de uma infra-estrutura AMR para prover um mapa de rede atualizado dinamicamente; (3) integrar informação de qualidade de potência; (4) usar algoritmos e processamento de aplicação no servidor para verificar pró-ativamente o estado de várias partes da rede; (5) incluir informação de perfil de carga para previsão de energia; (6) efetuar manutenção preventiva; (7) indicar mudança de estado das chaves de rede, trocadores de alimentador e religadores; e (8) relatar tais mudanças a um centro de controle central da utilidade. Por exemplo, coletar informação de rede sobre qualidade de potência pode prover informação sobre partes de um território de rede com transientes. Uma realização provê uma operação de sistema PLC AMR no Modo de Mapeamento Dinâmico que seleciona medidores (randomicamente ou baseado em critérios estrategicamente pré- determinados) e inicia os testes.
Em um aspecto, a invenção compreende um sistema constituído de: uma fonte de relógio de dados mestre; um ou mais transponders; e diversos transceptores remotos de linha de potência; onde todos os citados diversos transceptores são conectados a uma grade de distribuição de potência de corrente alternada comum; e onde cada um dos citados diversos transceptores possui uma localização que é operável para monitorar uma forma de onda de tensão de uma linha de potência que prevalece na citada localização.
Em várias realizações: (1) o sistema é operável para gerar um relógio de dados local a partir da citada forma de onda da linha de potência local de uma freqüência p/q vezes a freqüência da citada linha de potência, onde ρ e q são inteiros positivos maiores ou iguais a 1; (2) a fonte de relógio de dados mestre é operável para transmitir informação relativa à fase e freqüência de seu próprio relógio local aos citados transponders; o relógio de dados locais da fonte de relógio de dados mestre sendo chamado o relógio de dados mestre; (3) citados transponders e citados transceptores remotos operáveis, cada um, para injetar e receber sinais na linha de potência; (4) citado transponder é operável para (a) reconstruir o relógio de dados mestre a partir da informação de fase e freqüência recebida da fonte de relógio de dados mestre e seu próprio relógio de dados locais; e (b) utilizar o relógio de dados mestre reconstruído para alinhar bits de dados injetados na linha de potência; (5) citado transponder remoto de linha de potência é operável para: (a) receber sinais de pelo menos um, porém não necessariamente todos os transponders; e/ou (b) medir a diferença de fase do relógio de dados locais e relógio mestre monitorando os sinais transmitidos de qualquer um ou mais dos transponders; (6) citada fonte de relógio de dados mestre é também um transponder; (7) citado transceptor remoto de linha de potência é capaz de armazenar a citada diferença de fase entre seu relógio local e o relógio de dados mestre, de modo a ser capaz de criar uma cópia do relógio de dados mestre a partir de seu próprio relógio local, sem ter que reconstruir continuamente o relógio de dados, monitorando os sinais recebidos; (8) citados transceptores remotos são também medidores de eletricidade; (9) citados transceptores remotos podem receber e interpretar sinais de mais de um transponder simultaneamente; (10) cada um dos citados transponders é operável para requisitar e receber dados do(s) citado(s) medidor(es) via comunicações de linha de potência, e transmitir citados dados a um computador localizado remotamente; (11) citado transceptor remoto de linha de potência é operável para: (a) medir a fase de uma ou mais formas de onda de tensão presentes em sua localização; e/ou (b) relatar a informação de fase das citadas formas de onda ao transponder; e (12) a informação de fase de forma de onda é correlacionada à informação de medição, para permitir que tensões, correntes e quantidades de potência sejam adicionadas usando adições de vetores para agregar tais quantidades em pontos chave na grade de distribuição de potência.
Em um outro aspecto, a invenção compreende um sistema constituído de: um ou mais transponders e diversos transceptores remotos de linha de potência, cada um conectado a uma grade de distribuição de potência de corrente alternada comum, cada um operável para monitorar a forma de onda de tensão da linha de potência que prevalece em sua própria localização, e gerar freqüências selecionáveis da citada forma de onda de linha de potência local de uma freqüência de p/q vezes a freqüência da citada linha de potência, onde ρ e q são inteiros positivos maiores ou iguais a 1.
Em várias realizações: (1) citados transponders e citados transceptores remotos são operáveis, cada um para injetar e receber sinais da linha de potência; (2) citados sinais possuem cada um uma freqüência de p/q vezes a freqüência de linha, onde ρ e q são selecionáveis a partir do conjunto de todos os inteiros; (3) citados transponders e citados transceptores remotos se alternam entre diferentes freqüências, trocando o fator ρ ou invertendo a fase de uma freqüência fixa, de modo a efetuar modulação FSK ou PSK; (4) os quadros dos bits de dados são uniformes através da população de transponders e transceptores remotos e correspondem ao período e fase do relógio de dados mestre; (5) modulação FSK binária é usada selecionando dois valores de p, pl e p2 para as freqüências dos uns e zeros; (6) o receptor de um transponder ou de um transceptor remoto: (a) utiliza algoritmos de FFT ou DFT calculados sucessivamente sobre os quadros de bits de dados seqüenciais; e/ou (b) desmodula os bits de dados durante cada quadro de dados, comparando as amplitudes dos sinais correspondentes a pl, p2 ao longo do curso de cada quadro de bits.
Em um outro aspecto, a invenção compreende um aparelho para implementar uma PLL compreendendo uma fonte de sinal de entrada, um VCO, um microprocessador, um DAC, um ADC onde o VCO é usado para acionar o relógio do microprocessador; o microprocessador controla o tempo de amostragem do ADC nos instantes determinados por seu relógio de sistema; o ADC monitora a fonte de sinal de entrada; o microprocessador lê o ADC; o microprocessador efetua alguns cálculos de filtragem sobre o sinal do ADC; o microprocessador controla a saída do DAC com base nos citados cálculos; e o DAC controla a entrada do VCO de modo a fechar uma PLL em torno de todos os elementos anteriormente mencionados.
Em várias realizações: (1) o sinal de entrada é uma cópia condicionada da forma de onda da linha de potência A/C; e (2) o DAC é um modulador de largura de pulso seguido de um filtro passa baixa.
Em um outro aspecto, um computador localizado remotamente é operável para identificar mudanças na operação ou conectividade de componentes de rede de distribuição de eletricidade. Em várias realizações: (1) citados componentes compreendem um ou mais dentre: medidores, transformadores, transponders, chaves, e alimentadores; (2) citado computador localizado remotamente é operável para distinguir trocas de medidor de trocas de transformador; (3) citadas trocas compreendem interrupções: (4) citado computador localizado remotamente é operável para calcular a saída de corrente de cada um dentre diversos transformadores; e (5) citado computador localizado remotamente é operável para calcular a saída de corrente em cada um dos citados diversos transformadores, com base em uma soma de vetor de sinais em cada fase.
Breve Descrição dos Desenhos
Figura 1 é um diagrama de uma instalação típica de um sistema preferido; subestações são indicadas como SSp; transformadores de distribuição como Tp; chaves como Up; alimentadores como Fq; e medidores como mp. Os transponders são indicados como STpFqi onde ρ e q são inteiros ei = 1, 2, ou 3 para uma linha de alimentação de 3 fases.
Figura 2 é um diagrama em blocos de um módulo de sintonia automática preferido.
Figura 3 exibe uma instalação de subestação preferida, indicando equipamento em cada fase do alimentador em uma subestação.
Figura 4 exibe especificações de FIR preferidos para 10-25 kHz.
Figura 5 exibe especificações de FIR preferidos para 25-50 kHz.
Figura 6 exibe especificações de FIR preferidos para 70-90
kHz.
Figura 7 ilustra espectros de ruído de linha para 10-100 kHz.
Figura 8 ilustra injeção de sinais PLC em harmônicos semi- ímpares de 60 Hz.
Figura 9 exibe as 12 possibilidades nas quais um quadro FFT recebido pelo medidor pode estar fora de fase com um quadro ST FFT. As linhas pontilhadas correspondem a uma rotação de 30 graus para responder por um transformador delta no trajeto de sinal entre o ST e o medidor.
Figura 10 exibe referência de tempo determinado de servidor = O e ciclos de 30 Hz de vários medidores.
Figura 11 ilustra efeitos de degradação de SNR da decodificação FSK pelo medidor, quando os quadros de dados estão alinhados e não alinhados.
Figura 12 exibe a distribuição da SNR à medida que o medidor Ml tenta alinhar seus quadros de dados com quadros de dados dos ST de entrada.
Figura 13(a) exibe zeros de uma função Sinc; 13(b) exibe zeros superpostos de funções Sinc múltiplas quando os quadros de dados do medidor estão alinhados com os quadros de dados ST.
Figura 14 é um diagrama em blocos de uma aplicação no cliente analógica preferida para medição.
Figura 15 exibe especificações FIR preferidas para decimar dados de medição.
Figura 16 exibe quadros FFT para tensão, indicando os harmônicos.
Figura 17 exibe uma estrutura de diretório típica de um mapa de sistema Figura 18 é um fluxograma de um exemplo de análise lógica em dados PLC recebidos.
Figura 19 é um diagrama em blocos de um medidor D preferido (esta é uma de pelo menos duas versões de um medidor D).
Figura 20 exibe esquemáticos para um painel preferido para implementar as realizações de FFT.
Figura 21 possui esquemáticos preferidos para um painel de potência.
Figura 22 possui esquemáticos preferidos para um painel de extensão I/O.
Figura 23 possui esquemáticos preferidos para um painel de CPU (PCB 202).
Figura 24 possui esquemáticos preferidos para medição, fonte de alimentação e circuitos de transmissão e recepção PLC para um medidor residencial (PCB 240).
Figura 25 possui esquemáticos preferidos para um painel de visualização (PCB 220).
Figura 26 ilustra um microprocessador fazendo parte de uma malha travada em fase.
Descrição Detalhada de Certas Realizações
Um método preferido habilitando comunicação simultânea de múltiplos medidores ST é discutido com respeito a uma implementação SCHl61 do dispositivo. Ver Figura 20.
Tabela 1: Código para Figura 20
<table>table see original document page 13</column></row><table> Notas relativas à Figura 20: (1) todos os capacitores de desacoplamento menores ou iguais a 0,1 μΡ são COG SMD a menos que estabelecido em contrário; (2) todos os capacitores de desacoplamento maiores que 0,1 μΡ são X7R SMD 0805, a menos que estabelecido em contrário; (3) todos os conectores são denotados por Jx; (4) todos as pontes são denotadas por JPx; (5) todas as chaves são denotadas por SWx; e (6) todos os pontos de teste são denotados por TPx.
E mais conveniente usar um cristal de 24,576 MHz para derivar as freqüências PLC. São específicos para pelo menos uma realização:
∙ Uma Malha Travada em Fase (PLL) para travar a amostragem dos fluxos de sinal em um múltiplo da linha AC de entrada (amostragem síncrona para a freqüência da linha de potência).
• Um Oscilador Controlado por Tensão (VCO) em 90-100 MHz controlado por processador digital (DSP) via dois módulos de Moduladores por Largura de Pulso (PWM) acionando diretamente o relógio do sistema, daí tornando o BSP coerente com a PLL. Ver Figura 26.
• Um detector de fase síncrona que responde somente à fundamental da onda de freqüência de linha de entrada e não a seus harmônicos.
• Uma opção para executar esquemas de modulação de Codificação de Deslocamento de Freqüência (FSK) e Codificação de Deslocamento de Fase (PSK).
TRANSFORMADA DE FOURIER RÁPIDA (FFT) USADA EM CERTAS REALIZAÇÕES.
Em pelo menos um aspecto da invenção:
(1) Os transponders usam freqüências que são múltiplas de 60 Hz na faixa de 15-35 kHz. Para FSK, os Transponders preferivelmente usam duas freqüências adjacentes, para PSK estes preferivelmente usam apenas uma freqüência. Os ST precisam ter relógios de sistema precisos a partir dos quais geram as freqüências de portadora - especialmente no caso de PSK. Compartilhando um relógio comum com precisão de 1 ppm usando um dispositivo tal como o Maxim DS4000 TCXO, estas condições são facilmente satisfeitas.
(2) Um banco de transponders deriva um relógio de dados, sincronizando a uma fase particular (por exemplo, a fase "A" de uma linha de tronco com fases A, B e C). Todos os ST (mesmo aqueles em bancos diferentes) podem utilizar o mesmo relógio de dados para separar os bits da transmissão FSK ou PSK.
(3) Os Medidores recebem os dados, passam os mesmos através de um filtro anti-aliasing (anti ondulação) e os amostram:
(a) Um MAX1308 ADC é controlado por um microprocessador MCF5271 para amostrar dados a uma taxa de 60*2048 ou 122880 Hz. (Outros canais do MAX1308 ou MAX1320 são usados para ler tensão e corrente para acumular os dados de medição que serão transmitidos aos Transponders. Os dados de medição são amostrados simultaneamente com os dados de comunicações da linha de potência).
(b) O MAXl308 usa dois flip-flops (multi-vibradores biestáveis) JK para controlar o canal DMA do MCF5271 para colocar os dados de amostra diretamente na memória do Coldfire.
(c) O Coldfire recebe dois quadros de dados (1/60 de um segundo, cada um contendo 2048 pontos) e usa um quadros da parte real de 2048 pontos complexos e o segundo quadro para a parte imaginária de 2048 pontos. Os quadros de dados precisam ser sincronizados com a linha de 60 Hz igualmente.
Como muitos medidores não estão na fase A da linha de 60 Hz, estes precisam buscar a freqüência de relógio correta. Um método típico para buscar preâmbulos válidos compreende dividir a linha de 60 Hz em 8 fases e tentar cada uma das 8 fases até que a fase correta seja encontrada. Em uma realização da presente invenção, este método é somente empregado uma vez pelo medidor, até que este determine a fase correta da linha de 60 Hz, porque uma vez conectado, o medidor jamais trocará de fase. A presente invenção, pelo menos em uma realização, divide a freqüência da linha em mais de 12 partes, para permitir um mínimo de resolução de 30 graus na freqüência de linha. Isto permite os deslocamentos de fase possíveis que podem ocorrer em transformadores de distribuição.
(d) O Coldfire então efetua uma FFT de 2048 pontos complexos (que leva cerca de 9,8 ms a cada 33 ms para cerca de 30% da largura de faixa de computação da CPU). A FFT de 2048 pontos complexos é então decomposta em duas FFT de 2048 bits reais, por métodos bem conhecidos de adicionar e subtrair freqüências espelho positivas e negativas para as partes real e imaginária, respectivamente. Então, cada FFT produz dois bits de dados a cada 33 ms.
(e) O Coldfire então analisa os dados, procurando preâmbulos válidos a partir de tantos Transponders quantos possa examinar. O preâmbulo é um número de 32 bits que é conhecido e compartilhado entre os Transponders e os medidores. E um código que define o começo da mensagem. A análise FSK preferivelmente é executada comparando as amplitudes de compartimentos adjacentes.
(f) Para usar PSK é requerida uma outra etapa. O algoritmo preferido é coletar a informação de fase complexa a partir dos compartimentos únicos em um meio de armazenagem que é suficientemente grande para manter um preâmbulo inteiro (por exemplo, um preâmbulo de 32 bits). O relógio a cristal do medidor tem uma precisão de 30 ppm. Portanto, ao longo de um preâmbulo de 32 bits, o erro de fase é de 180 graus. Isto requer um fator de correção linear de primeira ordem. Enquanto explorando para preâmbulos de 32 bits, o algoritmo verifica inversões de fase em bits adjacentes. Porém, há uma rotação de fase que precisa ser corrigida, e uma fase de partida desconhecida. O sistema preferivelmente tenta encontrar o fator de correção de rotação que é devido ao erro de seu próprio fator de cristal por tentativa e erro, explorando novamente quadros de 32 bits contra 32 possíveis fatores de correção de rotação que manterão o fator de correção dentro de 1 ppm, um erro aceitável. Uma vez que o erro é encontrado, o desvio é muito lento e o medidor pode manter uma gravação do erro de seu próprio cristal em relação à freqüência boa conhecida do banco de transponders. Para obter o erro constante, o algoritmo PSK subtrai uma fase constante de cada ponto na janela de preâmbulo de 32 bits. Se não são encontrados preâmbulos na janela de 32 bits, o algoritmo aguarda os próximos dois bits da FFT, elimina os dois bits mais antigos e traz os dois bits mais novos e repete a exploração para determinar o erro de fase e freqüência entre o Transponder e o próprio medidor. Após a determinação bem sucedida da freqüência de erro, a última exploração para quadros necessita olhar apenas em uma pequena janela de fatores de correção de rotação em torno do erro conhecido. Isto permite a monitoração contínua do erro de freqüência com menos potência de processamento. Uma técnica similar para observar a linha de 60 Hz usando informação de erro de fase é descrita em baudpll.c (incluído no Apêndice abaixo).
CRUZAMENTO DE FREQÜÊNCIAS DE PORTADORA ATRAVÉS DE TRANSFORMADORES DE DISTRIBUIÇÃO
Conforme discutido, a técnica anterior sofre de uma desvantagem de não ser capaz de passar sinais de alta freqüência (começando na faixa de kHz) através de transformadores de distribuição existentes, sem usar qualquer equipamento adicional no transformador. Em outras abordagens, o transformador é contornado usando equipamento adicional dispendioso, deste modo aumentando o custo global do sistema.
Uma realização compreende um arranjo para fazer com que sinal PLC vá através dos Transformadores de Distribuição (DT). E bem estabelecido que o campo magnético nos DT e o ruído na linha apresentam condições longes das ideais para o sinal PLC se propagar para os medidores. Resolver este problema envolve preferivelmente, em uma realização, um processo de duas etapas:
1. Acoplamento de Sinal: um acoplador projetado estrategicamente acopla o sinal de rádio freqüência a cabos de distribuição elétrica subterrâneos ou aéreos de Média Tensão (MT).
2. Sintonia do Acoplador: o acoplador de sinal é automaticamente sintonizado na mais alta eficiência para maximizar a Relação Sinal Ruído (SNR) à medida que a corrente na linha de MT varia.
Preferivelmente, o acoplador introduz uma pequena indutância na linha de MT, que é então sintonizada para uma dada freqüência de portadora por um banco de capacitores, provendo então uma alta SNR para comunicação. A sintonia de sinal preferivelmente utiliza um circuito tanque que automaticamente maximiza o casamento de impedância dos sinais PLC na linha, montando um acoplador no ponto em que começa o tronco. Nenhuma instalação adicional é requerida próximo ao transformador. Isto tem o efeito de maximizar o sinal na linha, pois a baixa impedância da linha tronco provê um trajeto de retorno para a corrente. O acoplador, que preferivelmente compreende um núcleo de ferrite com espiras de fio calculadas enroladas sobre ele, provê uma indutância fixa para o sinal PLC. A capacitância para o circuito tanque é provida por um banco de Comutação de Capacitor (CRB). Um Módulo de Sintonia Automático (ATM) compreende circuitos para controlar os capacitores e relês no CRB.
Um diagrama simplificado do ATM é dado na Figura 2, onde CV é Tensão de Comunicação e CN é Comunicação Neutral.
Para determinar os dados para desempenho da sintonia, o ATM calcula a relação de PEAK1/PEAK2 para todos os valores possíveis (210 = 1024 nesta realização, com CRB com 10 capacitores) das combinações de capacitor, dada uma indutância fixa (levando em conta desvios de indutância devido a temperatura, etc.) e armazena as variáveis ou configurações da melhor relação obtida. Todas as determinações adicionais são feitas relativamente a esta relação. Uma operação típica envolve as seguintes etapas: escolher valor da capacitância, enviar sinal para comutação, aguardar operação do relê, aguardar o estabelecimento da comutação, calcular a relação, comparar com outras relações e enviar sinal para desconectar o relê e aguardar a operação do relê para a acomodação, armazenar o resultado na memória e repetir o processo com outros valores de capacitância.
Em uma realização alternativa, vários melhoramentos podem ser feitos ao processo acima. Como um exemplo, uma outra realização combina unidades de ATM e CRB em uma única Unidade de Sintonia Automática (ATU). Os melhoramentos incluem, porém não estão limitados a:
1. Resolução de sintonia mais fina por aumento de enrolamentos no acoplador, até 24 espiras e escolhas de capacitância aumentada até 4096.
2. Substituir o tom contínuo provido pelo ST por um gerador de sinal embarcado.
3. Calcular a relação PEAKl /PEAK2 (Relação P1/P2) como um número complexo, detectando deste modo ambas amplitude e fase para a relação. Este melhoramento provê um melhor sentido da escolha de indutância e capacitância para o circuito ressonante, reduzindo deste modo a forma randômica de escolha de valores de capacitância. Determinando a fase em adição à amplitude, o comportamento de adiantado/atrasado e conseqüentemente uma escolha ótima de L e C é determinado muito mais rápido. Isto por sua vez resulta na minimização da operação do relê e aumento da vida do relé.
4. Prover níveis de potência de Transmissão ATU compatíveis com até 20W de potência de transmissão PLC em uma faixa de freqüência de 10-110 kHz.
5. Capacidade de sintonizar o acoplador a uma impedância de pelo menos 120 Ohms na ressonância.
Operação de Sintonia
Referindo-se à Figura 2, durante a operação de sintonia, os
Relês Μ, 1 e 2 estão fechados, ao passo que o Relê R está aberto. Como resultado, o resistor de 50 Ohm é selecionado no trajeto em série do transponder e acoplador. Isto é feito para evitar danos ao transmissor ST, de tal modo que, por alguma razão, a impedância do acoplador é infinitamente pequena, o sinal ainda vê uma carga de pelo menos 50 Ohm para executar a sintonia. O Relê M seleciona o acoplador e o processo de sintonia é iniciado. Etapas preferidas compreendem:
1. ST indica ao ATM/CRB que a sintonia pode ser iniciada.
2. ATM/CRB inicia uma requisição para ST enviar tons 15 contínuos de sinal de comunicação.
3. A relação PEAKl /PEAK2 é calculada. Esta relação corresponde a uma tensão DC sentida pelo ATM.
4. Respondendo a este nível de tensão, ATM calcula o valor ótimo de capacitância requerido para ressonância e envia um sinal ao CRB.
5. A capacitância apropriada é selecionada no CRB, obtida pela abertura e fechamento de relês.
6. A relação é calculada novamente com a nova capacitância.
7. O processo se repete para valores múltiplos de capacitância, e quando a relação é tão alta quanto possível, as configurações da capacitância e indutância são armazenadas.
8. Esta informação é conduzida ao ST, e conclui o processo de sintonia.
Operação de Comunicação Normal
Após sintonia, a operação de comunicação PLC normal prossegue: os Relês MeR são fechados e os Relês 1 e 2 são abertos.
Todos os melhoramentos mencionados acima resultam em eficiência e precisão de sintonia melhoradas enquanto maximiza a vida do sistema, reduzindo operações de relê indesejáveis.
Tal configuração de acoplamento é adicionalmente discutida em conexão com a Figura 2 e no Pedido de Patente U.S. No. 11/198.795 mencionado acima.
Devido a enlaces cruzados providos por dispositivos polifásicos, o sinal PLC injetado em uma fase particular de um alimentador em uma subestação pode se acoplar com outras fases do mesmo ou de alimentadores diferentes de outras subestações. Torna-se importante assegurar o retorno apropriado do trajeto de sinal do PLC. Para esta finalidade, um Capacitor de Desvio é preferivelmente instalado em cada fase, através do neutro, na barra de tensão média principal na subestação, conforme mostrado na Figura 3. Esta instalação, não só assegura que o trajeto de retorno do sinal de PLC é o mesmo alimentador, como também que a maior parte do sinal PLC injetado flua através da carga.
USANDO FFT PARA EFETUAR COMUNICAÇÃO PLC
Há três faixas distintas que as realizações da presente invenção podem usar para comunicação PLC: (1) 10-25 kHz para comunicação através de transformadores de distribuição; (2) 25-50 kHz para comunicação de baixa tensão; e (3) 70-95 kHz para efetuar comunicação de acoplador para acoplador de Média Tensão (MT) nos casos em que diversos acopladores são instalados na mesma linha de potência de média tensão.
Uma característica única destas realizações é que os transponders usam freqüências de comunicação na faixa de kHz que são múltiplos racionais da freqüência de número (isto é, da forma (p/q) χ flinha onde ρ e q são inteiros positivos). O sinal PLC é amostrado a cerca de 240 kHz (2^12*60). Dependendo da seleção de uma das faixas de operação de freqüência acima, o filtro de Resposta ao Impulso Finita (FIR) apropriado é aplicado para decimar os dados. As especificações FIR são dadas nas Figuras 4 e 5.
Os especialistas na técnica reconhecerão a necessidade de fazer modificações na implementação corrente, discutidas para incorporar o uso da faixa de freqüência 70-90 kHz devido às especificações de filtro anti- aliasing de aplicação no cliente nesta realização. Realizações da presente invenção usam esta faixa de freqüência para habilitar comunicação entre transponder de varredura múltipla em linhas de média tensão, para longas distâncias. As especificações FIR são dadas na Figura 6.
Dependendo da seleção do filtro FIR apropriado, a decimação é feita para 120 kHz (2n*60) ou 60 kHz (2n*30) no caso de comunicação através de transformadores. Uma FFT de 2048 pontos é então efetuada nos dados decimados. A taxa de dados é então determinada para ser 60 baud ou 30 baud, dependendo da escolha dos filtros FIR. Cada FFT produz dois bits aproximadamente a cada 66 ms ao cruzar através de transformadores de distribuição.
Esta capacidade única de ambos transponders e medidores de executar FFT permite que os medidores recebam, desmodulem e interpretem comunicações simultâneas a partir de todos os transponders em todas as faixas de uma vez, eliminando a necessidade de canais de base e repouso. Cada medidor pode então "escutar" todos os transponders e responder ao que requisita dados dele. Em adição, cada medidor pode comunicar informação relativa à força de sinal de cada transponder que pode ouvir, ao que responde para requisições de dados.
COMUNICAÇÃO PLC EM AMBIENTE DE RUÍDO DE LINHA
É feita uma distinção entre comunicação PLC através de linhas de média tensão (4-35 kV) e de baixa tensão (LV) (<600 V), pois ambos meios de transmissão de potência apresentam um ambiente diferente para sinais PLC. Ao passo que a média tensão apresenta seus próprios desafios, é um ambiente mais quieto para comunicações PLC do que LV, apresentando ruído de descarga corona bem caracterizado. Realizações desta invenção superam o desafio histórico de efetuar comunicação PLC em um ambiente de alto ruído de linha.
Na Figura 7 é mostrado um instantâneo do espectro de ruído de baixa tensão médio em linhas de potência de 60 Hz de 0-100 kHz. Enquanto os níveis de ruído são suficientemente baixos na extremidade mais alta da faixa de freqüência, em 10-25 kHz o ruído sobe mais rápido que o sinal. Pelo menos uma realização da invenção compreende um método para resolver este problema, injetando sinais PLC em harmônicos meio-ímpares da freqüência de linha. Isto é mostrado na Figura 8.
Ao cruzar através de transformadores, uma vez que a FFT é feita a cada 30 Hz e os harmônicos são separados por 60 Hz, os bits de dados residem no compartimento correspondente ao 201,5° e 202,5° harmônico de 60 Hz, conforme mostrado na Figura 8. Ao usar um esquema FSK o algoritmo preferido considera estes dois compartimentos de freqüência e compara a amplitude do sinal nos dois, para determinar 1 ou 0. Este esquema FSK usa duas freqüências e produz uma taxa de dados de 30 baud. Será aparente aos especialistas na técnica que outros esquemas tais como QFSK podem ser implementados para produzir 60 baud.
A vantagem significativa da comunicação nestas freqüências é que resulta em melhoramentos na SNR de mais de 40 dB. Resultados similares são obtidos através de outras faixas de freqüência, onde o piso de ruído é ~80 dB abaixo dos harmônicos.
REMOVENDO AMBIGÜIDADE DE FASE EM COMUNICAÇÃO PLC EM UM AMBIENTE POLIFÁSICO
Os transponders se comunicam alocando janelas de tempo para cada medidor. Na maioria das aplicações, a janela de tempo é de um ciclo de linha de largura. Entretanto, conforme mencionado, ao se comunicar através de transformadores de distribuição, a fenda de tempo pode ser de dois ciclos de linha de largura, conforme mostrado na Figura 10. Dada a habilidade de comunicação simultânea de medidores múltiplos e transponders, cada medidor executa um desvio em seu relógio interno para alinhar seus quadros de dados com os quadros de dados de entrada a partir dos transponders. Isto preferivelmente é obtido:
1. Estabelecendo uma referência t = 0: No sentido de estabelecer alinhamento de quadro de dados entre um ST e o medidor, uma referência de tempo zero para comunicação é requerida. Isto é provido pelo servidor remoto que ele próprio travado em uma fase particular (digamos a fase A). Isto pode ser implementado usando circuitos de Relógio em Tempo Real (RTC) que usam uma freqüência de linha de 60 Hz como a referência de tempo (tal como Intersil CDP68HC68T1, um relógio de tempo real em CMOS multifuncional). Esta referência de tempo é comunicada do servidor para todos os ST via uma rede de alta velocidade.
2. Alinhando quadros de dados de medidor com transponders múltiplos: Quando um medidor é energizado este "ouve" ST múltiplos no território. Entretanto, os medidores são eles mesmos em fases diferentes, e
cada quadro de dados recebido pelo medidor pode suportar várias variações de fase devido à topologia da linha. A probabilidade de erro aumenta à medida que os quadros são mais e mais desalinhados, reduzindo a SNR total e a capacidade de diferenciar entre 1 e 0. A medida que o medidor tenta alinhar seus quadros de dados com vários ST que pode "ouvir", este desloca seus quadros de dados e calcula a SNR para cada combinação possível (24 para quadros de dados de 30 Hz e 12 para quadros de dados de 60 Hz). Adicionalmente, este trava no ST, o que resulta em SNR máxima.
Ao cruzar através de transformadores, ambos ST e medidores executam FFT no PLC e sinais de dados a cada 30 Hz na faixa de 10-25 kHz. Como as PLL em ambos ST e medidor são travadas na linha, os quadros de dados são sincronizados à linha de 60 Hz. Entretanto, os quadros de dados podem se deslocar em fase, devido a:
(a) Várias configurações de transformador que podem existir no trajeto entre o ST e o medidor (delta-estrela, etc.).
(b) Desvios na fase devido ao fato de que os ST são travados em uma fase particular, ao passo que medidores mono e polifásicos podem ser energizados por outras fases.
A relação SNR é maximizada quando o quadro de dados de medidor e os quadros de dados ST são alinhados mais proximamente. De um ponto de vista do medidor, isto requer receber sinais PLC de todos os ST possíveis que este pode "ouvir", decodificar o sinal, verificar a relação SNR alinhando quadro de dados e então respondendo ao ST produzindo SNR máxima. Figura 9 mostra os doze modos possíveis nos quais os quadros de dados podem estar fora de fase. Em adição, como os quadros de dados são disponíveis a cada 30 Hz em uma linha de 60 Hz, há duas possibilidades correspondendo às 2 fases possíveis obtidas dividindo 60 Hz por 2. Daí, há 24 modos em que os quadros de dados de medidor podem ser desalinhados com quadros de dados ST.
A vantagem significativa oferecida pelo travamento dos quadros de dados à freqüência de linha é então explicada: há o número total de ciclos de portadora em cada quadro de dados. Mantendo isto em mente, e lembrando que a transformada de Fourier de uma função retangular produz uma função Sinc (ver Figura 13(a)), quando vários medidores estão se comunicando simultaneamente, com cada um tendo deslocado seu ciclo de relógio de dados interno para alinhar com quadros de dados de entrada, os números da função Sinc se superpõem e nenhuma mácula dos bits de dados e nenhuma degradação da SNR ocorrem (ver Figura 13(b)). Isto produz uma SNR muito alta, mesmo quando medidores múltiplos se comunicam simultaneamente. Esta é precisamente a razão pela qual o sistema entra em um modo de alinhamento de comunicação, no qual: (1) em uma realização, um servidor remoto pode designar o relógio global (que pode ser derivado da freqüência de linha) a todos os ST; (2) os medidores recebem dados simultaneamente de ST múltiplos; (3) os medidores determinam o deslocamento em seus relógio de dados, para alinhar quadros de dados com ST múltiplos; e (4) os medidores travam no ST que resulta em SNR mais alta.
FFT é preferivelmente executada a cada 30 Hz ou 2 ciclos da freqüência de linha de 60 Hz na faixa de freqüência de 10-25 kHz. Em cada quadro do ST, há um número inteiro ímpar de ciclos da freqüência de portadora. O esquema de modulação preferido sendo Codificação de Deslocamento de Freqüência (FSK), se há η ciclos para transmitir o bit 1, o bit 0 é transmitido usando η + 2 ciclos da freqüência de portadora. Torna-se importante para o medidor reconhecer seus próprios 2 ciclos de 60 Hz, no sentido de ser capaz de decodificar seus bits de dados que estão disponíveis a cada 1/30 de um segundo (Figura 10). Na Figura 11, dois ST (STl e ST2) que transmitem bits são interceptados por um medidor (Ml) para o caso em que quadros de dados são alinhados (Caso I) e quando estes são desalinhados por diferentes graus (Casos II e III). Ambos ST usam freqüências diferentes para se comunicar. FSK é usado para decodificar o sinal para bits.
Nos casos II e III, Ml decodifica sinais com quadros de dados desalinhados; daí, há energia que transborda nas freqüências adjacentes (semi- ímpares separadas). Se o nível de sinal que cai no compartimento de freqüência "adjacente" é menor que o piso de ruído, o sinal pode ser decodificado corretamente. Entretanto, se o transbordamento é mais que o piso de ruído (como no Caso III), a capacidade de distinguir entre IeO diminui, e daí a SNR global cai, resultando em um erro na decodificação. Então,
a. Se os quadros estão desalinhados, a mácula dos bits de dados ocorre e a SNR se degrada.
b. No caso em que a freqüência muda e há quadros de dados desalinhados, há uma quantidade substancial de energia que transborda nos compartimentos de FFT adjacentes, interferindo com os outros ST no sistema que se comunica usando freqüências naqueles compartimentos específicos.
Na Figura 11, SNRl > SNR2 > SNR3. É esperado que a distribuição de SNR pareça uma distribuição normal modificada, com um dos ST com o qual os quadros de dados de medidor são alinhados resultando na SNR máxima. O medidor então trava neste ST para comunicação adicional (Figura 12). O medidor trava até que uma troca significativa na relação SNR seja encontrada pelo medidor, em cujo caso o processo se repete.
A técnica acima provê uma melhoria substancial sobre a técnica existente de efetuar PLC através de transformadores de distribuição, sem contornar estes transformadores, enquanto mantendo comunicação robusta e confiável resultando em alta velocidade de transferência.
CADEIA DE SINAL ANALÓGICO NA REALIZAÇÃO PREFERIDA
Esta seção discute o diagrama em blocos do PCB 202 (ver Figura 14) e os blocos podem ter referência cruzada com o esquemático mostrado na Figura 23. Cada canal de medição e comunicação preferivelmente compreende circuitos analógicos de aplicação no cliente seguidos pelo processamento de sinal.
A realização corrente usa um filtro anti-aliasing com ganho fixo, que provê rastreamento de temperatura de primeira ordem, daí eliminando a necessidade de recalibrar os medidores quando são encontrados desvios de temperatura. A aplicação no cliente analógica para canais de tensão (corrente) compreende preferivelmente elementos sensores de tensão (corrente) e um atenuador programável seguido de um filtro anti-aliasing. O atenuador reduz o nível do sinal de entrada, de tal modo que não ocorre corte após o filtro anti-aliasing. O filtro anti-aliasing de ganho constante restaura o sinal para valor pleno na entrada do ADC. Para medição, o filtro anti-aliasing corta freqüências acima de 5 kHz. As entradas são então alimentadas ao ADC, que faz parte do DSP.
Ao passo que é uma prática comum na técnica atual incluir um Amplificador de Ganho Programável (PGA) seguido de um filtro anti- aliasing de baixo ganho, a vantagem oferecida pelo uso, na realização descrita, de um atenuador programável seguido de um grande filtro de ganho fixo i, será aparente aos especialistas na técnica. Em adição, a implementação de ambos filtros anti-aliasing em um único chip é exatamente idêntica usando os mesmos Amplificadores Quad Op juntamente com resistores de 25 ppm e capacitores NPO/COG. Isto provê um meio para ambos canais Vel rastrearem desvios de até primeira ordem, sem recalibrar o medidor.
Em contraste, usando um PGA juntamente com um filtro de baixo ganho, não permitirá rastrear o deslocamento de fase nos sinais VeI introduzidos devido à temperatura. Isto é devido ao fato de que o desvio de fase introduzido pelo PGA é uma função do ganho.
A implementação única que inclui pares dos filtros anti- aliasing assegura que os desvios de fase encontrados em ambos canais de tensão e corrente sejam exatamente idênticos e daí a precisão do cálculo de potência (dada pelo produto de V e I) não é comprometida.
CADEIA DE SINAL DIGITAL EM REALIZAÇÕES PREFERIDAS
Pelo menos uma realização, usa preferivelmente uma Malha Travada em Fase (PLL) para travar a amostragem dos fluxos de sinal em um múltiplo de freqüência de linha AC de entrada. Em uma realização discutida acima, a amostragem é a uma taxa assíncrona com a linha de potência. No circuito de medidor representado pela Figura 23 (também referido aqui como o "medidor D") há um Oscilador Controlado a Tensão (VCO) em 90-100 MHz que é controlado pela máquina de Processamento de Sinal Digital (DSP) via dois Moduladores por Largura de Pulso (PWM). O VCO aciona diretamente o relógio do sistema do chip de DSP (desabilitando a PLL interna), e assim o DSP se torna parte integrante da PLL. Travar o relógio de sistema do DSP na linha de potência facilita o alinhamento da amostragem à forma de onda da linha de potência. O detector de fase deveria funcionar de modo a responder somente à fundamental da onda de 60 Hz de entrada e não a seus harmônicos. Figura 19 é um diagrama em blocos desta implementação DSP preferida.
Uma DSP BIOS ou código de comutação de contexto voluntário provê três pilhas, cada uma para comunicações de segundo plano, comunicações PLC e comunicações seriais. O pequeno micro se comunica com o DSP usando um controlador I2C. O circuito integrado MSP430F2002 mede as fontes de alimentação, porta de soquete, temperatura e tensão de bateria. As tarefas do MSP430F2002 incluem: i. manter um RTC;
ii. medir a tensão de bateria;
iii. medir a temperatura;
iv. medir a fonte de alimentação +U;
v. reiniciar o DSP nos apagamentos parciais;
vi. prover um circuito de vigia adicional; e
vii. prover uma referência de 1 segundo para entrar no DSP
por uma referência de tempo para medir em relação ao relógio de sistema a partir do VCO.
IMPLEMENTAÇÃO DE MEDIÇÃO NA REALIZAÇÃO PREFERIDA
Cada fluxo de dados possui um circuito associado para efetuar amplificação analógica e anti-aliasing.
Cada uma das seções de aplicação no cliente analógica possui um atenuador programável que é controlado pelo código de nível mais alto. O fluxo de dados é amostrado em 60 kHz (2^10*60) e então um filtro FIR é aplicado para decimar o fluxo de dados para -15 kHz (2^8 *60). As especificações do filtro são mostradas na Figura 15.
Uma vez que somente os dados até 3 kHz são de interesse, um aumento de atenuação de 3-12 kHz no FIR decimado é usado com taxa de amostragem de ~15 kHz. As freqüências de 0-3 ou 12-15 kHz são mapeadas em 0-3 kHz. Uma FFT real é efetuada para produzir 2 fluxos de dados que podem ser adicionalmente decompostos em 4 fluxos de dados: Tensão Real e Imaginária e Corrente Real e Imaginária. Isto é obtido adicionando ou subtraindo freqüências espelho positivas e negativas para as partes real e imaginária, respectivamente. Uma vez que o sinal ondulado na faixa de 12-15 kHz cai abaixo de 80 dB, a precisão é alcançada usando o filtro FIR acima discutido. Alternativamente, uma FFT complexa de 256 pontos pode ser efetuada em cada fase do fluxo de dados decimado. Isto produz 2 pares de fluxos de dados - uma parte real, que é a tensão, e uma parte imaginária, que é a corrente. Esta abordagem requer uma FFT complexa de 256 pontos a cada 16,667 milissegundos.
Efetuando resultados da FFT na tensão e corrente seguintes, onde a notação Vriljn denota o m-ésimo harmônico do n-ésimo número de ciclo. Por exemplo, Vn e In corresponde à fundamental do primeiro ciclo e V2i e I21 ao primeiro harmônico do primeiro ciclo, etc., conforme mostrado na Figura 16.
As partes real e imaginária do conteúdo harmônico de qualquer k-ésimo ciclo, são dadas por:
Vmk = Re(Vmk) + Um(Vmk); m = l... M Imk = Re(Imk) + Um(Imk); Jc= 1... η
A parte imaginária da tensão é a medida da falta de sincronização entre a PLL e a freqüência de linha. No sentido de calcular quantidades de medição, os cálculos são feitos no domínio do tempo. No domínio do tempo, a capacidade da FFT oferece a flexibilidade para calcular quantidades de medição usando apenas a fundamental ou incluindo os harmônicos. Usando a forma complexa da tensão e corrente obtidas a partir da FFT, as quantidades de medição são calculadas como:
<formula>formula see original document page 31</formula>
PowerFactor =W/ P
Nas fórmulas acima, quando os harmônicos são incluídos (Vmk & Imk; m = 1... M, k = 1... n), todas as quantidades de medição incluem os efeitos dos harmônicos. Por outro lado, quando somente a fundamental é usada (Vik & Iik) todas as quantidades calculadas representam somente a contribuição de 60 Hz. Como um exemplo, mostramos os cálculos quando somente a fundamente é usada para efetuar cálculos. Somente Vi e Ii são usados para todos os quadros de dados FFT. As seguintes quantidades são calculadas para um dado conjunto de N quadros e uma freqüência de linha de flinha·
<formula>formula see original document page 31</formula>
O fator de potência do deslocamento é dado por:
<formula>formula see original document page 31</formula>
: onde W e VA somente incluem as
<formula>formula see original document page 31</formula>
fundamentais e
<formula>formula see original document page 31</formula> O THD é a medição da distorção harmônica presente e é definido como a relação da soma das potências de todos os componentes harmônicos para a potência da fundamental. Para o n-ésimo ciclo, este é avaliado como:
<formula>formula see original document page 32</formula>
harmônico a partir do n-ésimo ciclo obtido a partir da FFT5 onde
<formula>formula see original document page 32</formula>
Isto provê a flexibilidade para incluir ou excluir os harmônicos ao calcular quantidades de medição. DEDUÇÕES LÓGICAS A PARTIR DE DADOS RECEBIDOS DA COMUNICAÇÃO PLC
Realizações da presente invenção permitem a desmodulação de mensagens a partir de transponder de varredura múltipla e medidores simultaneamente, provendo então uma melhoria significativa das comunicações. Uma vez que é estabelecida uma rede de ST juntamente com medidores preferidos no território de serviço, e a sintonia e acoplamento apropriados são feitos, o sistema preferivelmente opera em três modos distintos:
1. Modo de Alinhamento de Comunicação - Antes de coletar dados dos medidores, os ST enviam uma salva periódica de fluxo de sinal de bits Oel alternados, por ~5 minutos. Todos os medidores no território de serviço são programados para receber este modo de salva. Os medidores alinham seus relógios de dados e escolhem o melhor ST ao qual se comunicar para outros modos de operação de sistema.
2. Modo de Coleta de Dados - Uma vez que os relógios de dados são alinhados com quadros FFT de entrada, cada um dos ST na rede se comunica com os medidores na ultima lista de Referência Cruzada e coleta dados armazenados na memória sos medidores usando PLC, seja sob demanda ou em uma base programada.
3. Modo de Mapeamento Dinâmico - A rede ST inteira preferivelmente coopera para detectar mudanças no território de serviço. Estas podem incluir, mas não são limitadas a:
a. Falha de hardware isolado
i. Falha de hardware de medidor
ii. Falha de Fusível de Transformador
b. Falha de Potência
i. Falha de transformador de distribuição
ii. falha de alimentador
c. Comutação de Alimentadores
i. Falhas de Alimentador
ii. Balanceamento de carga ampla de sistema
d. Adição e atualização de medidores
r
E uma prática comum da utilidade comutar troncos de
alimentador (por exemplo, para obter um alimentador fora de serviço para manutenção, para comutar alimentadores devido a falhas de alimentador, ou para balancear car5gas no sistema). Sob qualquer um destes eventos, o transponder de varredura perde comunicação com os medidores, uma vez que estes não podem mais ser contatados pelo ST. A atualização manual de um tipo de lista de referência cruzada, como efetuado por certa técnica anterior, apresenta uma relação significativa com respeito à escalabilidade do sistema. A presente invenção, em pelo menos um aspecto, equaciona este problema como a seguir:
Consideremos uma configuração de utilidade típica conforme mostrado na Figura 1: B1 e B2 são dois ramos de alimentador conectados a 9 transformadores de distribuição (Ti; i = 1 a 9). Estes transformadores alimentam uma população heterogênea (fase única e polifásicos ) de medidores conectados no lado de baixa tensão secundária. O ramo B1 pode ser alimentado a partir de alimentadores provenientes de qualquer uma das três subestações, pelo uso das chaves U1, U2, U3 e U4. Similarmente, medidores conectados a B2 podem ser alimentados a partir da subestação 2 ou subestação 3, usando chaves U5 e U6. Em adição, há um Sub-ramo que pode ser alimentado a partir de qualquer uma das subestações, usando as chaves de Sub-ramo SBl e SB2. Diretório de Servidor Remoto
O servidor remoto ao qual o sistema dos ST é conectado, mantém um diretório (por exemplo, Protocolo de Acesso de Diretório Peso Leve ou LDAP) que é essencialmente uma estrutura de trabalho hierárquica de objetos, com cada objeto representando uma entidade compartilhada. Uma vez que a configuração de sistema é alimentada no diretório, o algoritmo constantemente atualiza este mapa, à medida que as mudanças são feitas no território. Isto envolve comunicação com os medidores e automaticamente mapear a configuração de sistema, incluindo informação sobre trajetos primários e alternativos para cada medidor. Ver Figura 17.
O diretório então contém informação relativa a vários níveis de abstração no nível do alimentador de rede, nível de fase, nível do transformador de distribuição, e nível do medidor. O servidor roda um programa que monitora o desempenho de comunicação dos vários ST, derivando seus relógios mestre a partir deste. A cada transformador é designado um medidor primário (tipicamente o primeiro medidor conectado, mi) com o qual os ST constantemente se comunicam no sentido de detectar interrupção e outras mudanças no território de serviço.
Por exemplo, SSl alimenta Bl pela chave U1. Neste caso, o diretório compreende a seguinte informação para o medidor mi conectado a Tl em uma tabela de pesquisa: Tabela 2
<table>table see original document page 35</column></row><table>
Os transponders de varredura preferivelmente são denominados de tal modo que o primeiro número é indicativo da subestação correspondente e o número em seguida de F é indicativo do número de alimentador emanado daquela subestação, e o subscrito indica a fase na qual está instalado. Figura 17 exibe uma estrutura de diretório implementada no servidor, que pode ser configurada para informação de vários eventos. Estes eventos podem incluir: (1) dados de consumo básicos; (2) dados de interrupção; (3) informação de qualidade de potência; (4) marcações de verificação de estado de diversas partes da rede; (5) informação de perfil de carga para certos medidores; (6) marcações de manutenção preventiva para parte da infra-estrutura de rede; e (7) marcações de mudança de estado de elementos de rede tais como chaves, trocadores de alimentador, e religadores. Um algoritmo preferido para surgirem marcações de troca de estado de diversos elementos de rede e para localizar interrupções é discutido abaixo.
Para explicar o algoritmo, supomos uma população de m transformadores e η medidores por transformador. A execução do índice i vai de 1 a m e o índice k vai de 1 a n.
Após um período de operação de coleta de dados, típico, o servidor preferivelmente cria uma lista de medidores que falharam na comunicação com seus respectivos ST e daí falharam em relatar dados de consumo. LIST é uma estrutura de dados preferida listando medidores que falharam na comunicação. Referindo-se à Figura 18, preferivelmente,
1. Durante o modo de coleta de dados, os ST se comunicam com os medidores em sua lista de referência cruzada e coletam dados no intervalo de consumo de energia. 2. Todos os medidores que deixam de se comunicar com os ST são agrupados em uma estrutura de dados chamada LIST. Esta estrutura de dados é armazenada no servidor.
3. O servidor determina os trajetos alternativos pelos quais os medidores podem ser acessados, usando a tabela de pesquisa (Tabela 2) em sua memória.
4. Os trajetos alternativos para todos os medidores são traçados.
5. São tiradas conclusões básicas, a interrupção é localizada, são estabelecidas marcações e é provido relatório para a utilidade, enviando um comando ao centro de controle da utilidade.
6. O mapa de serviço em LDAP e a lista de referência cruzada dos ST são atualizados para acessar medidores.
7. As etapas acima continuam a ter lugar após cada período de coleta de dados ser completado.
Implementando as etapas de processo acima, não só o mapa de sistema é atualizado dinamicamente, como a utilidade também obtém notificações imediatas de trocas feitas em um território de serviço (interrupções, comutação de alimentador, etc.). Em adição, se a utilidade decide descontinuar a potência para alguns usuários (tipicamente devido a falha de pagamento mantida), os medidores correspondentes deixam de se comunicar. Esta mudança, uma vez notada pelo EMS, pode ser verificada com a utilidade, interfaceando o servidor remoto com um Sistema de Informação de Usuário (CIS). Isto elimina atualização manual da lista de referência cruzada do medidor para os ST, tornando então o sistema escalável para ambas utilidade e instalações de sub medição.
Conforme discutido, uma característica única de certas realizações desta invenção é a sincronização de todos os relógios de dados de transponder com um relógio de dados global, o que pode ser derivado de um servidor remoto que pode derivar seu próprio relógio de uma das fases da freqüência de linha. Adicionalmente, quando os dispositivos escravos (tipicamente medidores) executam FFT em quadros de dados, estes preferivelmente desviam seus próprios relógios de dados para alinhar quadros FFT com os bits de dados de entrada (ver Figura 9). Uma vez que este desvio é completado, cada medidor tem conhecimento da fase absoluta (fase absoluta com 0 graus referida como "fase A", fase absoluta com 120 graus adiantados referida como "fase B", e fase absoluta com 240 graus adiantados referida como "fase C"). Esta capacidade única habilita a determinação pelo servidor remoto da fase absoluta através do território inteiro do sistema.
Sistemas da técnica anterior não permitem tal determinação da fase absoluta para um medidor. Os medidores em alguns sistemas contém alguma informação relativa a fases, mas somente de fases relativas, uma vez que o medidor "vê" três fases afastadas de 120 graus. Esta ausência de informação relativa a continuidade de fase é também porque se torna difícil determinar exatamente a fase absoluta que alimenta um soquete de parede, em uma sala com soquetes múltiplos, em um dados pavimento com múltiplas salas, em um edifício de multi-pavimentos alimentado a partir de três fases de utilidade.
Realizações da presente invenção provêm a continuidade da informação de fase através do território, a partir do servidor remoto, até transponders instalados em subestações, até medidores instalados no território de baixa tensão. Esta capacidade habilita a identificação da fase absoluta pela qual cada medidor de fase único é energizado no território de serviço.
Dada a capacidade acima, realizações da presente invenção habilitam a reconstrução da carga de um transformador de distribuição por fase, sem instalar realmente um medidor trifásico na saída secundária do transformador. Para uma instalação de utilidade típica consistindo de transformadores múltiplos, isto reduz custos de sistema enquanto provê serviço de valor adicionado. Efetuando uma soma vetorial das correntes nas três fases, a carga total no transformador de distribuição pode ser precisamente determinada na subestação.
A sub medição envolve a alocação de custos de energia dentro propriedade de múltiplos usuários de acordo com o consumo de energia por usuários individuais. Os medidores medem a eletricidade consumida por usuários individuais e comunica os dados de consumo a um Transponder de Varredura, preferivelmente instalado em um ponto de entrada para a propriedade, usando as linhas de potência na propriedade. Estes dados então podem ser acessados a partir do transponder por um computador principal de infra-estruturas de comunicação (por exemplo, sem fio, linha telefônica, GPRS, etc.). Em uma instalação de sub medição preferida, todos os componentes para instalação de média tensão são eliminados, uma vez que ambos ST e medidores são instalados na linha de baixa tensão.
Em um ambiente de sub medição com múltiplos serviços elétricos alimentando um grande edifício, são instalados ST múltiplos, um para cada serviço. Entretanto, devido ao acoplamento cruzado de sinais PLC (via neutro, o que é comum a todos os serviços ou via fase, para cargas de fase), a designação de medidores específicos a cada ST pode ser o processo tedioso. Esta invenção permite que os ST instalados em diferentes serviços sejam conectados a um servidor remoto que pode designar dinamicamente uma lista de referência cruzada de medidor para cada transponder, à medida que o ambiente de comunicação muda.
Um módulo de controle de sub medição preferido compreende um Painel de Potência (ver Figura 21 para esquemático) que também possui os circuitos de transmissão e recepção PLC nele. O Painel de Potência provê potência ao painel da CPU. O módulo de controle também compreende um painel de extensão I/O (ver Figura 22 para este esquemático) que possui várias opções de extensão I/O que habilitam a comunicação de módulos de medição para o painel de CPU.
Um módulo de controle preferido também compreende um Painel de CPU (ver Figura 23 para esquemático) que possui um processador para Processamento de Sinal Digital (DSP).
Para aplicações residenciais, onde são esperados dados limitados (tipicamente somente consumo de energia) uma outra realização pode incluir um medidor de baixo custo com recursos reduzidos comparados ao apresentado na Figura 23. Este circuito de medidor é PCB 240, apresentado na Figura 24.
Cada medidor residencial preferivelmente tem um painel de visor de 9 dígitos (PCB 220; ver Figura 25 para esquemático).
Embora FFT tenha sido descrita aqui em vários contextos, aqueles especialistas na técnica reconhecerão que a Transformada de Fourier Discreta (DFT) poderia também ser usada em cada caso.
As várias realizações descritas acima são providas como uma ilustração somente e não limitam a invenção. Os especialistas na técnica reconhecerão as várias modificações que podem ser feitas às realizações discutidas, sem se afastar do escopo da invenção, que é relatado na reivindicação abaixo. APÊNDICE
FFT UPDATE
******************************************************************* ******
. text
.align 2
.globl fft_executel3
• type fft_executel3, Sfunction
fft_executel3:
/* Move stack to sram, save registers there */ move.1 sram^stack, %aO
movm. 1 #Oxfcfc,<%aO) /* saves d2-d7, a2-a5, fp, sp */
move.l 4(%sp),%a5
move.l 8(%sp),%a4
move. 1 bit_reverse_index, %al
move.l 12(%sp),%a3
move.l 16(%sp),%a2
move.l %aO, %sp
/* put copy of arguments on new stack */ move.l %a5,72(%sp) /* inr */ move.l %a4,76(%sp) /* ini */ move.l %a3,80(%sp) /* outr */ move.l %a2,84 <%sp) /* outi */
/************** decimate ****************/ clr.l %d0
move.w (%al)+,%aO move.w (%a5,%a0.1*2), %a6 move.l %a6,(%a3)+
move.w (%a4,%a0.1*2),%a6 move.l %a6,(%a2)+ addcj.l #l,%dO cmp.l #2047,%d0 jble Ib
/************** fft outer Ioop ****************/ moveq.l #l,%dO
move.1 %dO,60(%sp) /* nab */ move.1 #1024,%d0
move.1 %d0,56(%sp) /* ngrps */ clr.1 52 (%sp) /* stage */
move.l 80(%sp),%a5 move.1 84(%sp),%a4 move.l 60(%sp),%d0 lsl.l #2,%d0 Iea (%a5,%d0.1) , %a2 Iea (%a4,%d0. 1) , %a0 clr.1 48(%sp> move.l 56(%sp),%d0 cmp.l 48(%sp),%d0 jble 6f
move.l 60(%sp),%d0 lsl.l #2,%d0 move.l %d0,%a6
/* waccpxr */
/* waccpxi */ /* nab */
/* waccpyr */ /* waccpyi */
move.l twiddle_real,%a3 move.1 twiddle_imag,%al clr.l %d6 cmp.l 60(%sp),%d6 jbge 5f
move.l 56(%sp),%d7 lsl.l #2,%d7
move.l (%a5),%d0 move.1 (%a4),%d5
move.1 (%a2),%d3
move.l (%a0),%d4
move.1 (%a3),%d2
move.l (%al),%dl
mov.l %d0, %ACCO mov.l %d5, %ACC1 mov.l %d0, %ACC2 mov.l %d5, %ACC3 mac.l %d3, %d2, %ACCO msac.l %d4, %dl, %ACC0 mov.l %ACCO, %d0
move.1 %d0,(%a5)+
mac.l %d3, %dl, %ACC1 mac.l %d4, %d2, %ACC1 mov.l %ACC1, %d0
move.l %d0,(%a4)+
msac.l %d3, %d2, %ACC2 mac.l %d4, %dl, %ACC2 mov.l %ACC2, %d0
move.l %d0,(%a2)+
msac.1 %d3 , %dl, %ACC3 msac.l %d4, %d2, %ACC3 mov.l %ACC3, %d0 move.l %d0,(%a0>+ addq.l #l,%d6 add.l %d7,%a3 add.l %d7,%al cmp.l 60(%sp),%d6 jblt 4b
moveq.l #l,%dO aaa.1 %ao,48<%sp) add.1 %a6,%a5 add.1 %a6,%a4 add.1 %a6,%a2 add.1 %a6,%aO move.1 56(%sp),%d0 cmp.1 48 (%sp),%d0 jbgt 3b
moveq.1 #1,%d0 add.1 %d0,52(%sp) move.1 60(%sp),%d0 add.1 %d0,%d0 move.1 %d0,60(%sp) move.1 56{%sp),%d0 asr.1 #1,%d0 move.1 %d0,56(%sp) moveq.1 #10,%d0 cmp.1 52(%sp),%d0 jbge 2b movm.1 (%sp).#0xfcfc /* restores d2-d7, a2-a5, sp */ rts
ABS.DEF
/* version 2.00 for slash 2 9/8/2000 sas */ #define abs(x) (x<0?-x:x)
ALIGNPH.C
/* align the phases of the meter by trying 18 possibilities from table */
/* normally 6 communication phases on each of 3 relay settings */ /*
version 2 9/28/1994 sas
1) include tryplc def
2) move required receptions and xmit relay array to non vol ram 3) change method of calculating best parms after REQUIRED RECEPTIONS met
a) first isolate best phase, then best delay
*/
/*
version 1 created for tmx5 12/28/1999 sas
1) eliminate searches for delays, because ali TMX-5 automatically search delays on receive
2) add more xmit relays, NUM_XMIT_IDXS per NUM_RCV_IDXS
3) align a meter completely before going on. Write meter_align_stru
to flash
when done.
version 1.02 11/19/2001 sas
1) don't defer a slot in alignph on con-comm - return non comm and Iet do_scan() defer it
version 1.03 2003-06-18
1) clean up Iooping in setpoll
2) fix bug where master edgewait time was set to 20 seconds at end of setpoll
3) change order of search on setpoll - channel 2 first then channel
1
4) search phases first, then channels
*/
# includc "clklink.dcf"
# includc "mtrlink.def"
# include "plc.def"
# include "serlink.def"
#include "copymem.h" #include "plc.h" #include "scan.h" #include "log.h" Sinclude "flash_io.h"
const cmdstru8 init_setpoll_cmd = {Oxa, 0,0,0,0,sizeof (mastcmdastru)/sizeof (Iong) ,0,0} ; const cmdstru8 init_alignph_cmd = {0x0, 0,0,0,0,sizeof (mastcmdOstru) /sizeof (Iong) ,0,0} ;
#pragma region ("data=scanRamInit2")
void (*alignph_default_scan_statep) (void) =alighph_default_scan_state;
void (*setpoll_default_scan_statep) (void) =setpoll_default_scan_state;
#pragma region ("data=scanRamInit3")
void (*alignph_init_statestrp) (void) =alignph_init_statestr;
void (*setpoll_init_statestrp) (void) =setpoll_init_statestr;
#pragma region ("data=scanWarmStart")
void (*alignph_warm_startp) (void) =alignph_warm_start;
void (*setpoll_warm_startp> (void) =setpoll_warm_start;
#pragma region ("data=data")
SCANFN_RET init_setpo!l (SCANFN_ARGS) {
return (STATE_IN1TIALIZED);
} #define SHORT_EDGEWAIT (80)
int chan_switch_table [4] [2] = { {-1,-1}, Il none- quit {1,0}, // Iow channels 1 and 2
{2,3}, //high channels 3 and 4
{4,0} // xlow channels 1 and 5
} :
int setpolLretries, setpolI_rcv_idx,setpoII_changroup,setpolI_chan;
SCANFN_RET setpoll (scanfnargs *sfap) {
messu mess_u ; messghdr messgHdr ; setpollmessg *setpoll_messgp ; setpollstru set_poll ; reg8stru reg8 ;
unsigned int rcv_idx, good_resp; int i, j,k,),n,cg,f1ag; SCANF AN_RET returncd ; int try_cg,default_cg,num_cg ;
int masterEdgewaitTime_save = parmstru.channel.masterEdgewaitTime; comparmstru temp_comm_parm_stru ;
returncd = NO_COMM ;
temp_comm_parm_stru = *sfap->comm_parm_strup ; I* get the Iast time the polL/cg was set */
mess_u = scandatap [sfap->scaji_slot+l] {sfap->metcr_state} ;
default_cg =scan_stru.ptrs.xref_strup->reg8.xref_5.changroup ; num_cg=I ;
if (default_cg!=0) {
++num_cg; }
if (mess_u.messp) {
I* additional changroup to try if it is not 0 and not the
default cg */
try_cg = mess_u.setpolleventp->_settpoll_messg.reg8.setpoll_ 5.changroup;
if (try_cg!=0 && try_cg!=default_cg) {
++num_cg; }
}
else
{
try_cg = default_cg ; {
/* set up a record for the setpoll event */
messgHdr=getMessgHdr (SCAN_DATA,messglen (setpoümessg)); messgHdr.time.rtc = sfap->sp->semo;
mess_u=putNextDailyMessgHdr (&messgHdr) ; if (mess_u.messp) {
setpoll_messgp = &mess_u.setpolleventp->settpoll_messg; reg8.ulong=0
reg8.setpoll_5.changroup = default+cg ; reg8.setpoll_5.fnIndex = SETPOLL_STATE ;
/* put only che first 16 bits of the reg8 save rest for later */ if (0=putWord(&setpolLmessgp->reg8.ushorta[0],reg8.ushorta
[0]))
{
storePointers(mess_u,DAILY_EVENTS,ONLY_ONE_EVENT,NO_WAIT); /* set up the command */
parmstru.parm.prot.cmd.command = init_setpoIl_cmd.command ; parmstru.parm.prot.cmd.size = init_setpoll_cmd.size ; /* set the channel group in the meter to the NEW channel
group */
parmstru.parm.prot.cmd.reg = default_cg ;
/* re-lock the channel number except channel 1 on xlow */
if (freq_range(parmstru.parm.comm_parm_stru.rcvRelay)
=PLC_PH_XLOW_FREQ && parmstru.channelNbr=0) {
parmstru.parm.prot.cmd. flagl =0, }
else
{
parrnstru.parm.prot.cmd. flagl = 1; }
/* Jock the channeJ group */ parmstru.parm.prot.cmd.flag2 = 1;
/* we have 3 channel groups to try - try right now to fix it
using the default parameters rcv_idx, xmit_relay and channel that carne from do_scan *t returned=NO-COMM ;
if (iemp_comm_parm_stru7.xmitRelay && try_cg!=default_cg) {
/* set the channel group to the old group */ changroup = try_cg ; /* signal to acquire channel */ parmstru.ctrl) =ACQUIRE_CHANNEL; while ((parmstru.ctrl&ACQUIRE_CHANNEL) && (1 (parmstru.ctrl&DO_BREAK)) && (scan_ctrl.scanLevel==Run && ! scan_ctrl.pause))
{
scanwaitO ; }
parmstru.channel.masterEdgewaitTime = SHORT_EDGEWAIT ; /* set turn around delay */
good_resp=try_plc (6);
if (good_resp=GOOD_REPLY | | good_resp=GOT STATUS) {
returncd=STATE_COMPLETE; }
else
{ recurncd=NO_COMM; }
)
if (retumcd=NO COMM) {
/* if we already have paramters, try them */
if (temp_comm_parm_stru.xmitRelay) {
/* if we have aligned this meter already, try the existing parms first */
/* set the channel group to the default group */ changroup = default_cg ; f* signai to acquire channci */ parmstru.ctrl | =ACQUIRE_CHANNEL; while ((parmstru.ctrl&ACQUIRE_CHANNEL) && (! (parmstru.ctrl&DO_BREAK)) && (scan_ctrl.scanLevel=RUN && ! scan_ctrl.pause»
{
scanwait () }
/* try 6 times with the default cg before Iooking for ali possibilities */
good_resp=try_p!c(6);
if (good_resp=GOOD_REPLY | | good_resp=GOT_STATUS) {
returncd=STATE_COMPLETE; }
else {
returncd=NO_COMM; }
}
if (returncd == NO_COMM) {
/* re-init the xmit and rcv relay to zero as a flag that we don't have good parameters */
temp_comm_parm_stru.rcvRely = 0; temp_comm_parm_stru.xmitRelay = O;
for (i=0;i<scan_stru.ptrs.xref_strup->ctrl,max_tries && returned=NO_COMM && (scan_ctrl .ScanLeveI==RUN && !scan_ctrl.pause) ;i++)
{
setpolI_retries = i;
/* first try the spec'd channel, then the other
if no reply */
for (k=0; k<2 && (scan_ctrl.scanLevel=RUN && ! scan_ctrl .pause) ; K++ )
{
/* Ioop through channel groups of O and
xrefs changroup */
for (j=0, cg=0 ;j
<num_cg&&returncd=NO COMM;j++,cg=((j=l)?default_cg:try_cg))
{
setpo!I_changegroup = j ; for (rcv_idx=0; rcv_idx <NUM_RCV_IDXS&&returncd==NO_COMM && (scan_ctrl.scanLevel=Run && ! scan_ctrl.pause) ;rcv_idx++) -
{
η = chan_switch_table[freq_range
(rcv_idx)] [k];
if (n>=0) {
/* only use ihis rcv_idx if the mast_mask alio ws it to be used for mas ter mode */
if (releaseCodep->
option.mast_ph_enable & (l«rcv_idx))
{
/* set the relays */
temp_comm_parm_stru.rcvRelay=rcvtbl[rcv_idx] ;
temp_comm_parm_stru.xmitRelay=xinii_relay[rcv_idx];
te mp_co m m_s tru. hard ware
= 0 ;
I* only if the xrnit relay is
enabled */
if
(temp_comm_parm_stru.xmitRelay !-0)
{
setpoll_rcv_idx =
rcv_idx;
sctpolLchan = η; // Ioop through
couplers, if any
temp_comm_parm_stru.hardware=0;
for (1=8; 1>0; 1»=1) {
if (releaseCodep->
option.couplers_mask=0 | | temp_comm_parm_stru.xmitRelay!=0x8)
{
H only Ioop
once through this section if no couplers or not on T=8, set the coupler mask to O
1=0 ; }
else if
(releaseCodep->option couplers_mask && (releaseCodep-> option.couplers mask& 1 )=0)
{
U have
couplers, on T=8, but this coupler is not installed - Ioop to find the bit for an installed coupler
continue; }
else {
// on T==8 and
this coupler is installed, use 1 as the coupler number
}
// check for the
need to change the channel, channel group or coupler number
if [parmstru.channelNbr!=n | | changroup ! = cg | | 1! =temp_comm_parm_stru.hardware)
{
// set the
coupler
parmstru.parm.comm_parm_stru.hardware=temp_comm_parm_stru.hardware = 1;
/* change the
channel */
// set the
changroup = cg ; U signal to
temp_com_parm_stru.channelNbr=n; channel group
parmstru.newChanncl=temp_comm_parm_stru.channelNbr; acquire channel or coupler parmstru.ctr. | =ACQUIRE_CHANNEL;
while
((parmstru.ctrl&ACQUIRE_CHANNEL) && (!(parmstru.ctr]&DO_BREAK)) && (scan_ctrI.scanLevel==RUN && -fscan_ctrl.pause))
{
scanwaitO ; }
)
/* remember that the
meter is Joeked on tbis channeJ */
temp_comm_parm_stru.channelNbr = parmstru.channelNbr;
/* copy the
parameters over to the parmstru *l
parmstru.parm.comm_parm_stru = temp_comm_parm_stru;
parmstru.parm.prot.cmd.command = init_setpoll_cmd.command ;
parmstru.parm.prot.cmd.size = init_setpoll_cmd.size ;
/* set the channel
group */
parmstru.parm.prot.cmd.reg = scan_stru.ptrs.xref_strup->reg8.xref_ 5.changroup;
parmstru.parm.prot.cmd.flag2 = 1;
/* unlock the
channel so that the meter can find us as we switch channels */ parmstru.parm.prot.cmd.flag 1 =0;
parmstru.channel.masterEdgewaitTime = SHORT_EDGEWAIT ; /* set turn around delay *J
good resp=try_plc
(1); returncd =
(good_res==GOOD_REPLY | | good_resp=GOT_STATUS) ? UNLOCKED : NO_COMM ;
}
}
}
}
}
}
}
)
}
}
e)se
{
retumcd=REINIT;
if (returncd==STATE_COMPLETE | | returncd=UNLOCKED) {
set_poJl.flag =
flag = (short) (backTime-mess_u.hdrx->event.time) ; set_poll.comm_parm_stru =
"sfap->comm_parm_strup = temp_comm_parm_stru ; set_poll.pollAddress = sfap->sp->polI_address ;
if (returncd=UNLOCKED) {
/* no Iock the channel on this channel */
/* re-lock the channel number except channel 1 on xlow
*/
Il set up the command to Iock the channel parmstru.parm.prot.cmd.command = O ; if (freq_range(parmstm.parm.comm_parm_stru.rcvRelay)
=PLC_PH_XLOW_FREQ && parmstru.channelNbr=0)
{
parmstru.parm.prot.cmd.flagl =0; )
else {
parmstru.parm.prot-cmd.flagl = 1; }
í* put in the acquired comm parameters */ parmstru.parm.comm_parm_scru = *sfap->_comm_parm_strup; /* set the channel group */ changroup = default_cg ; /* signal to acquire channel */ parmstru.ctrl | =ACQUIRE_CHANNEL; while ((parmstru.ctrl&ACQUIRE_CHANNEL) && (! (pannstru.cttl&DO_Break)) && (scan_ctrl.scanLevel==RUN && ! scan ctrl .pause))
{
scanwait(); }
/* send the command to Iock the channel on this channel
*/
good_resp=try_p!c(6);
/* make sure the meter got the command with the new
comm_par_stru */
if (good_resp=GOOD_REPLY | | good_resp==GOT_STATUS) retumcd=STATE_COMPLETE ; >
else
{
/♦assume that the meter is unlocked */
parmstru.parm.prot.cmd.flag 1 =0; }
}
}
else
{
set_poll.flag =
flag = (short) (mess_u.hdrpx->event.time-backTime-2) ; set_poIl.comm_parm_strup = zero_comm_parm_stru ; *sfap->comm_panm_strup = zero_comm_parm_stru; set_poll.pollAddress = -1 ; returncd=NO_COMM; l
reg8.setpoII_5.changroup = default_cg;
reg8.setpoll_5.channel = sfap->comm_parm_strup->channeINbr ; reg8.setpoll_5.1ocked = pamnstru.parm.prot.cmd.flagI ; if (0==putWord(&setpoll_messgp->reg8.ushorta[l], reg8.ushorta
[1]))
{
putLBuf ((unsigned Jong *) (&setpoll_messgp->set_poll),
(unsigned Iong *) (&set_poll)_messglen(setpollstru)) ; }
else
{
returncd=REINIT; }
}
else
{
returncd=RElNIT; }
/* restore master edgewait time */
parmstru.channel.masterEdgewaitTime = masterEdgewaitTime_save ; return (returncd) ;
}
SCANFN_RET init_alignph (scanfnargs *sfap)
I
return (STATE_IN1TIAL1ZED) ;
}
SCANFN_RET alignph (scanfnargs *sfap) {
return (STATE_COMPLETE) ;
}
#define TPP 1
SCANFN_RET align_comm(scanfnargs *sfap) {
return (STATE_COMPLETE) ;
}
SCANFN_RET setpoll_init_ 1 _statestr(scanfnargs *sfap) SCANFN_RET returncd ; messu mess_u;
sfap->stp->allowed_state_map | =SETPOLL; sfap->stp->requested_state_map | =SETPOLL; retumcd=init_l_statestr (sfap);
if (returcd=STATE COMPLETE) {
mess_u = scandatap [sfap->scan_slot+l] [sfap->meter_state];
if (mess_u.messp) {
if (mess_u.setpolleventp->
setpoll_messg.set_poll.coin_parm_stru.xmitRelay)
{
/* copy over the communication parameters if the xmit
rclay is set property */
*sfap->comm_parm_strup = mess_u.setpolleventp->
setpoII_messg.set_poll.com_parm_stru;
}
/* if poli address was not set to the correct value, set it
again */
if (mess_u.setpolleventp-> setpoll_messg.set_poll.poHAddress!=sfap->sp->poIl_address 11
/ * if channeí group was not set to the correct value.
set it again */
mess_u.setpolleventp->setpoll_messg.reg8.setpoll_ 5.changroup!=scan_stru.ptrs.xref_strup->reg8.xref_5.changroup 11
/ * if meter was Ieft unlocked, try setpoll again * / ! mess_u.setpolleventp->setpon_messg.reg8 .setpoll_
S.Iocked
)
{
sfap->stp->initiali2ed_state_map&=~SETPOLL; sfap->stp->completed_state_map&=~SETPOLL;
sfap->stp->requested_state_map | SETPOLL; }
}
}
return (returncd) ;
}
SCANFN_RET alignph_init_l_statestr (scanfnargs *sfap) {
messu mess_u,setpol!_mess_u; SCAN_RET returncd ;
sfap->stp->al Io wed_state_map|=ALIGNPH;
sfap->stp->requested_state_map|=ALIGNPH;
returncd=init_l_statestr(sfap);
jf (returncd=STATE_COMPLETE) {
mess_u = scandatap [sfap->scan_slot+l] [sfap->meter_state];
if (mess_.messp) {
setpoll_mess_u=scandatap[sfap->scan_slot+1 ] [SETPOLL_STATE]
if (setpoll_mee-u.hdrp && setpoll_mess_u.hdrp-> time.systemTime >= mess_u.hdrp->time.systemTime) t
/* do nothing here, the setpoll is later than the
alignment *J
/* keep the commparmstru data from setpoll over the data
from alignment */
}
else if (mess_u.aligneventp->align messg.align.flag>=0) {
if (mess_u.alighnventp->align_mess.aiign.channelNbr
<NUMCHANS)
{
sfap->comm_parm_strup->xmitRelay = mess_u.aligneventp->align_messg.align.xmit_relay;
sfap->comm_parm_strup->rcvRelay = mess_u.aligneventp->align_messg.align.rcv_relay;
sfap->cornn»_parm_strup->channelNbr = mess_u.aligneventp->align_messg.align.channeÍNbr;
/* makc this state aJlowed and initialized and
completed if complete *f
/* also the set poli state */ sfap->stp->initialized_state_map|=ALIGHNPH;
sfap->stp->comp!eted_state_mapl=ALIGHNPH; }
else {
sfap->stp->initialized_state_map&=-ALIGNPH; sfap->stp->compIeted_state_map&map&=-ALIGHNPH;
sfap->stp->requested_state_map|=ALIGHNPH; }
}
)
)
retum (returncd)
}
void setpoll_default scan_state() {
Xref_temp.re_[SETPOLL_STATE] .interval_minutes = 1440; Xref_temp.re_scan[SETPOLL_STATE) .offset_minutes = 10; Xref_temp.ctrl.allowed_states | = SETPOLL;
}
void a!ignph_default_scan-stateO {
Xref_temp.re_scanfALIGNPH_STATE] .inlervaLminutes = 1440; Xref_temp.re_scan[ALIGNPH_STATEl .offset_minutes = 10; Xref_temp.ctrl.allowed_states | = ALIGNPH ;
}
void alignph_warm_start()
I
scanlvls *cmdp;
cmdp=scanLStru.cmd+ALIGNPH_STATE;
cmdp->do_scan=alignph;
cmdp->init_scan=init_alignph;
cmdp->reset_flash=reinit_flash_alignph; cmdp->rebuild_RAIC=aIignph_init_I_statestr; copymem (16L,cmdp->description, "align cornm") ; copymem (16L,cmdp-> control_cmdr "da") ;
/* if Delta is used, connect each phase to the previous phase with an inversion */
J* test the hdwr to see if the hardware is there for that phase, though */
if (releaseCodep->option.masterXmitDelta) t
xmit_relay IOJ = (releaseCodep-x>ption .plc_phi)? 0x15:0; xmit_relay [1] = (releaseCodep->option'.plc_ph2)? 0x23:0;
xmit_relay [21 = (releaseCodcp-xjption .plc_ph3)? 0x46:0; }
else {
xmit_relay [OJ = (releaseCodep-xjption .plc_phl)? 0x1:0; xmit_relay [1] = (re!easeCodep->option .plc_ph2)? 0x2:0;
xmit_relay [2J = (releaseCodep->option .plc_ph3)? 0x4:0; }
/* the fourth phase is just a datalink phase, not for connection to LT power lines */
/* for MT lines the coupler is outside the ST - so it's Iike a datalink */
xmit_relay [3]={releasecodep->optÍon.plc_ph4)?0x8 :0;
}
void setpoll_warm_start () í
scanlvls *cmdp;
cmdp=scan_sru.cmd+SETPOLL_STATE;
cmdp->do_scan=setpoll; cmdp->init_scan=init_setpoll; cmdp->rebuild_RAIC=setpoll_init_l_statestr; cmdp->reset_flash=reinit_flash_setpoll; copymem (16L, cmdp->description, "set poli") ; copymem (16L, cmdp->control_cmd, "xr -p") ;
)
void alignph_init_statestr(void) {
scanfnargs sfa;
sfa. me te r_state=ALIGNPH_ST ATE; loop_sfap(alignph_init_l_statestr, (&sfa));
}
void setpoll init_statestr(void) {
scanfnargs sfa;
sfa.meter_state=SETPOLL_STATE; loop_sfap(setpoll_init_ 1 _statestr,(&sfa));
}
SCANFN_RET reinit_flash_alignph(scanfnargs *sfap) {
messu mess_u;
SCANFN_RET returncd = STATEJNCOMPLETE ; setpollmessg *setpoll_messgp; reg8stru reg8 ; messghdr messgHdr ;
/* sct up a record for thc setpoll event V
messgHdr=getMessgHdr(SCAN_DATA,messglen(setpollmessg)) ; messgHdr.time.rtc = sfap->sp->semo; mess_u=putNextDaiIyMessgHdr(&messgHdr) ;
if (mess_u. messp) {
setpo!l_messgp = &mess_u. setpolleventp- >setpoll_messg; reg8.ulong=0;
reg8.gen_scan.fnlndex = ALIGNPH_STATE;
if (0==putU LWord(&setpol l_messgp->reg8 .ulong,reg8. ulong)) {
storePointers (mess_u , DAILY_EVENTS,ONLY_ONE_EVENT,NO_WAIT); putWord((unsigned short *) &mess_u.setpolleventp->
setpoll_messg.set_poIl.flag, (unsigned short) (-2)); }
}
return (returncd) ;
}
SCANFNJRET reinit_flash_setpoll (scanfnargs *sfap) {
messu mess_u;
SCANFN_RET returncd = STATEJNCOMPLETE ; setpollmessg *setpoIl_messgp; setpollstru_set_poll; messghdr messgHdr;
Γ set up a record for the setpoll event */
messgHdn=getMessgHdr (SCAN_DATA,messglen(setpollmessg)) ; messgHdr.time.rtc = sfap->sp->semo; mess_u=putNextDailyMessgHdr(&messgHdr);
if (mess_u.messp) {
setpoll_messgp = &mess_u.setpolleventp->setpoll_messg; sfap->reg8.setpoli_5.fnIndex = sfap->meter_state;
if (0=putU LWord(&setpoll_messgp->reg8 .ulong,sfap->reg8 .ulong)) {
set_poll.flag = -2;
set_poll.comm_parm_stru = zero-comm_parm_stru; set_poll.comm_parm_stru.channelNbr = sfap->reg8.setpoll_
5.channel;
set_pol).poUAddress = OxFfff ;
putLBuf ((unsigned Iong *) (&setpoll_messgp->set_poll), (unsigned Iong *) (&set_poll),messglen(setpollstru)) ;
storePointers(mess_u,DAILY_EVENTS,ONLY_ONE_EVENT,NO_WAIT); }
)
return (returncd);
} BAUDPLL.C
/*
baud pll routines
version 1 created 5/24/1999 sas
version 2 modified 9/8/1999 sas
1) do not hang up in baudpüHard wareReset if Iine frequency capture not working
2) check max/min on plcbrint to keep within 40 to 70 Hz range
3) baudPi 1 — nco capture is read ia the subsecond to insure that ali cycles are locked, not just at 1 second boundaries
version 2.00 for flash 2 9/8/2000 sas version 2.01
1) fix baudlnitFlag
2) restore integrator to Iine frequency if it goes too far astray - before it was set to min or max
version 2.02 2/20/2003 sas
1) tighten up the min/max Iimits - they were way too loose
2) fix baudlnitFlag
*/
#include "mtrlink.def" #include "sysclk.def" #include "fsI004.def' #include <math.h> #include "baudpl l.h"
#pragma region ("data=secondBack")
void (*plcBaudSecondp) (void)=plcBaudSecond ;
#pragma region ("data=data")
1*
NJB.! ! ! plcBaudHardwareReset must be executed BEFORE mtrasampHardware Reset
put a !000.0 instead of # in the mod file for this module */
#pragma region ("data+hardwareRest")
void (*pIcBaudHardwareResetp) (void) = plcBaudHard wareReset; #pragma region ("data=dala")
/* global pie baudrate generator integrator - 64 bits */ phaccum plcbrint;
unsigned char baudlnit Counter, baudlnitFlag; /* Ioop constants */ ffdefine KCS (-565L) #define KHS (-10794L)
/* number of seconds after jamming frequency control word before baud is
considered init'd */
#define INIT_INIT_COUNTER 40
#define B AUD_NCO_UPPER OxFOOOOOOO
#define BAUD_NCO_LOWER 0x10000000
const unsigned Iong Kcs = -KCS ; const unsigned Iong Khs = -KHS ;
void setMaxMin (void) ;
unsigned Iong max_plcbrint.min_plcbrint;
/* timer between initialization and sanity checks */ #define BAUD_PLL_TIMER 240 unsigned int baudpl I_timer;
void plcBaudSubsecond (void)
l }
void plcBaudSecond (void) {
/*
routine to do the baud calculation in assembly Ianguage plcbrint is
a
phaccum <defined in flash_8K.def> 64 bit unsigned int NCOread is a
32 bit
signed long. We take its absolute value and remember the sign for
later
Khs and Kcs are unsigned iongs plcbrfcw is an unsigned Iong result
to put
into the fs 1004.plc.baudrate (Lo then Hi in parts) The calculation is as follows
Sign = O ;
if (NCOreadcO) {
sign = I;
NCOread=-NCOrcad ; }
if (sign) {
plcbrint += NCOread*Kcs ; temp_phaccum = plcbrint ; temp_phaccum += NCOreadillKhs ; plcbrfcw = temp_phaccum.high ;
J
else
{
plcbrint -= NCOread*Kcs ; temp_phaccum = plcbrint ; temp_phaccum -= NCOre ad* Khs ;
plcbrfcw = temp_phaccum.high ; }
*/
unsigned Iong plcbrfcw ; IongNCOread ; int sign ;
phaccum temp_phaccum,
*temp_phaccump=&temp_phaccum,
*plcbrintp=&plcbrint;
IongtempRead ; unsigned long D2save ; NCO read = fsl004.plc.baudrateNCO ; if (NCOread<0) {
sign = I;
tempRead =- NCO read )
else {
sign = 0;
tempRead = NCOread ; }
/* add when sign negative because KCS and IGiS are negative */ if (sign)
{
temp_phaccum = plcbrint;
/*plcbrint += NCO read*Kcs ; */ asm (
" MOVE.L {temp_phaccump},AO " MOVE.L {Kcs},DO "MÓVEL {tempRead}, D1 " MOVE.L D2, {D2save} #include "multa64.def' " MOVE.L {D2save }, D2 );
plcbrint = temp_phaccum; /*temp_phaccum +=NCOreadssltKhs ; asm (
*/
"MOVE.L {temp_phaccump J ,AO
"MOVE.L (Kcs)1 DO
"MOVE.L {tempRead), Dl
"MOVEJ- D2, {D2save}
#include "multa64.def'
"MOVE.L {D2save},D2 ): }
else
{
{temp_phaccump) ,AO {KcsJ1DO (tempRead), Dl D2, (D2save) "multa64.def' {D2save}, D2
{
temp_phaccum = plcbrint; /*plcbrint -= NCOread*Kcs asm (
" MOVE.L " MOVE.L " MOVE.L " MOVE.L #include n MOVE.L );
plcbrint = temp_phaccum; /*temp_phaccum NCOread*Khs ;*/ asm (
" MOVE.L {temp_phaccump },AO " MOVE.L {KcsJ.DO " MOVE.L I tempRead), D l " MOVE.L D2, {D2save} #include "multa64.def'
" MOVE.L {D2save),D2 );
)
plcbrfcw = temp_phaccum.high;
/* every BAUD_PLL_TIMER seconds reset Max/min plcbrint and check integrator for sanity */
if (++baudp 11 _ti mer>BAUD_PLL_TIMER) {
baudp 1 l_timer = 0 ; set MaxMinO ;
if (plcbrfcw<min_plcbrint 11 plcbrfcw>ma_plcbrint) {
*/ fix integrator - it went astray */ */ calculate and set the initial value of the integrator based upon IineFrequency measured by mtrsamp*/
plcbrint.high = (unsigned long) (Idexp (lineFrequency* (fsl004.p]c.baudratePrescale+l)/SYSTEM_CLOCK, 34» ; plcbrint.low=0; plcbrfcw=pJcbrint.h»gh;
baudlnitCounter= INIT_BAUD_INIT_COUNTER;
baudInitFlag=FALSE: }
}
fsl004.plc.baudrateLo=(unsigned short) (plcbrfcw); fsl004.pIc.baudrateHi=(unsigned char) (plcbrfcw» 16) ;
if (baudInitCounten>0) {
baudlnitCo unter—; J
else if (baudInitFlag=FALSE) {
baudlnitFlag =TRUE; }
}
void setMaxMin (void) {
max_plcbrint = (unsigned long) (ldexp (lineFrequency* 1.005* (fsl004.plc.baudratePrescale+l)/SYSTEM_CLOCK,34)) ;
min_plcbrint = (unsigned long) (1 dexp(lineFequency*0.995*
(fsl004.plc.baudratePrescale+l)/SYSTEM_CLOCK,34)) ; }
void plcBaudHardwareReset (void) {
unsigned long rtcl, rtc2; unsigned Iong plcbrfcw; /*int ti meout; */
fs 1004.plc.baudratePrescale=23; /* divide by prescale +
1 */
/* calculate and set the initial value of the integrator based upon lineFrequency measure by mtrsamp*/
plcbrint.high = (unsigned long) (ldexp(lineFrequency!i* (fs 1004.plc.baudratePrescale-t-l )/SYSTEM_CLOCK,34)) ; plcbrint.low=0 plcbrfcw=plcbrint.high;
baudlnitCounter= INIT_BAUD_INIT_COUNTER;
baudlnitFlag = FALSE;
SetMaxMinO ;
/* clear the baudrate NCO */
fs 1004.plc.baudrateNCO = OL;
rtcl=rtc2= RTC;
/* wait for powerline zero crossing */
while (!fsl004.power.captureDone && ((rtc2-rtcl) &RTC_MASK)<3) { rtc2 = RTC; }
/* initialize thc baudrate NCO at the zero crossing to achieve inicial phase Iock */
/* the NCO starts onlya fter a byte is written to baudrateHi */ fsl004.plc.baudrateLo=(unsigned short) ((plcbrfcw) &OxFFFF) ; fsl004.plc.baudrateHi=(unsigned char) ((plcbrfcw) »16) ; fs1004.po wer.captureDone=0;
baudp]l_timer=0 ;
BAUDPLL.H
/*
version 2.00 for flash 2 9/8/2000 sas */
void plcBaudSecond(void) ; void plcBaudHardwareReset (void); void plcBaudSusecond (void) ;

Claims (13)

1. Sistema, caracterizado pelo fato de compreender: uma fonte de relógio de dados mestre compreendendo um relógio de dados mestre; um ou mais transponders, cada um compreendendo um relógio de dados local correspondente; e uma pluralidade de transceptores de linha de potência remotos; em que a dita pluralidade de transceptores de linha de potência remotos estão conectados a uma grade de distribuição de potência em corrente alternada comum, em que cada um da dita pluralidade de transceptores de linha de potência remotos possui uma localização e é operável para monitorar uma forma de onda de tensão de uma linha de potência que prevalece na citada localização, pelo qual dito sistema é operável para gerar um relógio de dados local a partir de cada uma das citadas formas de onda de linha de potência local, dito relógio de dados local possuindo uma freqüência de p/q vezes a freqüência da citada forma de onda de tensão, onde ρ e q são números inteiros maiores do que ou iguais a 1, em que a citada fonte de relógio de dados mestre é operável para transmitir informação relativa à fase e freqüência do dito relógio de dados mestre ao dito um ou mais transponders, em que cada um dos citados um ou mais transponders é operável para reconstruir o dito relógio de dados mestre a partir da informação de fase e freqüência recebida da citada fonte de relógio de dados mestre e do seu próprio relógio de dados local do transponder bem como utilizar o relógio de dados mestre reconstruído para alinhar bits de dados injetados sobre a citada localização do transponder na referida linha de potência, em que cada um dos referidos transceptores de linha de potência remotos é operável para receber sinais dos ditos um ou mais transponders e medir a diferença de fase do relógio de dados local e do relógio mestre, monitorando-se os sinais transmitidos a partir de qualquer um ou mais dos transponders, e em que os citados transponders e ditos transceptores de linha de potência remotos são operáveis, cada um, para injetar e receber sinais na linha de potência.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a citada fonte de relógio de dados mestre é um transponder.
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o dito transceptor de linha de potência remoto compreende um relógio de dados local e armazena uma diferença de fase entre o referido relógio local do transceptor e o relógio de dados mestre para criar uma cópia do citado relógio de dados mestre sem ter que reconstruir repetidamente o relógio de dados mediante monitoração dos sinais recebidos.
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais dos citados transceptores de linha de potência remotos compreende(m) um medidor de eletricidade.
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais dos citados transceptores de linha de potência remotos recebe(m) e interpreta(m) sinais de mais de um transponder simultaneamente.
6. Sistema, de acordo com a reivindicação 3, caracterizado pelo fato de que cada um dos ditos um ou mais transponders é operável para requisitar e receber dados via comunicações de linha de potência e transmitir dados a um computador localizado remotamente.
7. Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que o dito computador remoto correlaciona informação de fase de forma de onda à informação de medição para adicionar tensões, correntes, e quantidades de potência usando adições de vetores para localizações selecionadas na grade de distribuição de potência.
8. Sistema, caracterizado pelo fato de compreender: um ou mais transponders, cada um compreendendo um relógio de dados local; e uma pluralidade de transceptores de linha de potência remotos; em que cada um da citada pluralidade de transceptores de linha de potência remotos está conectado a uma grade de distribuição de potência em corrente alternada comum, em que cada um da dita pluralidade de transceptores de linha de potência remotos possui uma localização e é operável para monitorar uma forma de onda de tensão de uma linha de potência que prevalece na citada localização, em que cada um da dita pluralidade de transceptores de linha de potência remotos é operável para gerar, a partir da citada forma de onda de linha de potência local, uma freqüência de p/q vezes a freqüência da dita forma de onda de linha de potência, onde ρ e q são números inteiros positivos maiores do que ou iguais a 1, em que cada um dos ditos um ou mais transponders e da referida pluralidade de transceptores de linha de potência remotos é operável para injetar e receber sinais em uma linha de potência, ditos sinais possuindo, cada um, uma freqüência de p/q vezes a freqüência da linha, onde ρ e q são números inteiros selecionáveis, e em que tais transponders e tais transceptores de linha de potência remotos se alternam entre diferentes freqüências trocando-se ρ ou invertendo-se uma fase de uma freqüência fixa, de modo a efetuar modulação de Codificação de Deslocamento de Freqüência (FSK) ou Codificação de Deslocamento de Fase (PSK).
9. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de que cada um dos referidos transceptores de linha de potência remotos é operável para gerar um relógio de dados local a partir de uma forma de onda de linha de potência local tendo uma freqüência, dito relógio de dados local tendo uma freqüência de p/q vezes a freqüência da citada forma de onda de linha de potência, onde ρ e q são números inteiros maiores do que ou iguais a 1; e dito sistema compreende adicionalmente uma fonte de relógio de dados mestre compreendendo um relógio de dados mestre, em que a dita fonte de relógio de dados mestre é operável para transmitir informação relativa à fase e freqüência do citado relógio de dados mestre aos ditos transponders; em que cada um dos mencionados transponders é operável para reconstruir o referido relógio de dados mestre a partir de informação de fase e freqüência recebida da citada fonte de relógio de dados mestre e do seu próprio relógio de dados local do transponder e, com base no relógio de dados mestre reconstruído, alinhar bits de dados injetados sobre tal localização do transponder na referida linha de potência, em que cada um dos referidos transceptores de linha de potência remotos é operável para receber sinais dos ditos um ou mais transponders e medir a diferença de fase de um relógio de dados local e do relógio de dados mestre, monitorando-se os sinais transmitidos a partir de um ou mais dos mencionados transponders, e em que quadros dos referidos bits de dados são uniformes através dos mencionados transponders e transceptores de linha de potência remotos e correspondem a um período e fase do dito relógio de dados mestre.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que um receptor do referido transponder ou do dito transceptor de linha de potência remoto utiliza algoritmos de Transformada de Fourier Rápida (FFT) ou Transformada de Fourier Discreta (DFT) calculados sucessivamente sobre os quadros de bits de dados seqüenciais e realiza demodulação dos bits de dados a cada quadro de dados, comparando-se as amplitudes dos sinais correspondentes a p1 e p2 ao longo do curso de cada quadro de bits de dados; em que pl e p2 são selecionados para freqüências de uns e zeros usados em modulação de codificação de deslocamento de freqüência (FSK) binária.
11. Aparelho para a implementação de uma Malha Travada em Fase (PLL), caracterizado pelo fato de compreender: um Oscilador Controlado por Tensão (VCO); um microprocessador; um conversor digital para analógico (DAC); e um conversor analógico para digital (ADC); em que o dito VCO aciona um relógio do dito microprocessador, em que o dito microprocessador controla o tempo de amostragem do referido ADC nos instantes determinados pelo mencionado relógio do dito microprocessador, em que o referido ADC monitora uma fonte de sinal de entrada analógico e converte o dito sinal para o formato digital, em que o dito microprocessador está em comunicação com o dito ADC e recebe e filtra o citado sinal de saída digital a partir do referido ADC, em que o dito microprocessador controla a saída do citado DAC, com base no mencionado sinal de saída digital filtrado a partir do referido ADC, e em que o dito DAC controla a entrada do mencionado VCO para fechar a referida PLL.
12. Aparelho, de acordo com a reivindicação 11, caracterizado pelo fato de que o sinal de entrada analógico é uma cópia condicionada de uma forma de onda de uma linha de potência.
13. Aparelho, de acordo com a reivindicação 11, caracterizado pelo fato de que o dito DAC é um modulador de largura de pulso seguido de um filtro passa baixa.
BRPI0618932-6A 2005-11-23 2006-11-22 Sistemas, e, aparelho para a implementação de uma malha travada em fase BRPI0618932A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US73937505P 2005-11-23 2005-11-23
US60/739,375 2005-11-23
US81390106P 2006-06-15 2006-06-15
US60/813,901 2006-06-15
PCT/US2006/045457 WO2007062232A2 (en) 2005-11-23 2006-11-22 Systems and methods for electricity metering

Publications (1)

Publication Number Publication Date
BRPI0618932A2 true BRPI0618932A2 (pt) 2011-09-27

Family

ID=38067964

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0618932-6A BRPI0618932A2 (pt) 2005-11-23 2006-11-22 Sistemas, e, aparelho para a implementação de uma malha travada em fase

Country Status (8)

Country Link
US (3) US20070194949A1 (pt)
EP (1) EP1955161A2 (pt)
AR (1) AR057930A1 (pt)
BR (1) BRPI0618932A2 (pt)
CA (1) CA2630862A1 (pt)
CL (1) CL2006003252A1 (pt)
IL (1) IL191657A0 (pt)
WO (1) WO2007062232A2 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070106797A1 (en) * 2005-09-29 2007-05-10 Nortel Networks Limited Mission goal statement to policy statement translation
US20070133724A1 (en) * 2005-12-12 2007-06-14 General Electric Company Method and apparatus for time synchronization of devices within electrical power systems
US8014964B1 (en) * 2008-08-23 2011-09-06 Khalsa Research and Consultancy Pty Ltd Electrical power and energy measurement method and apparatus
US8243423B2 (en) * 2009-10-30 2012-08-14 Eaton Corporation Expandable meter center employing digital electronic meter assemblies
US8989243B1 (en) * 2010-03-26 2015-03-24 Northern Microdesign, Inc. Power line device with directional coupler
US8325728B2 (en) 2010-09-07 2012-12-04 Landis+Gyr Technologies, Llc Dynamic data routing in a utility communications network
SI2625794T1 (sl) * 2010-10-07 2015-06-30 Enel Distribuzione S.P.A. Postopek in naprava za daljinsko merjenje porabe električne energije preko elektroenergetskega omrežja
JP2012105523A (ja) * 2010-10-15 2012-05-31 Sony Corp 通信装置、配電制御装置、及び配電制御システム
US9461700B2 (en) * 2010-12-02 2016-10-04 Aclara Technologies Llc Mains-synchronous power-line communications system and method
CA2821781C (en) 2010-12-15 2017-11-21 Triacta Power Technologies, Inc. Wireless voltage reference broadcast in a distributed energy metering system
CN103748620A (zh) 2011-04-22 2014-04-23 艾克潘尔基公司 用于分析能量使用的系统和方法
FR2981529B1 (fr) * 2011-10-17 2014-07-04 Alstom Technology Ltd Procede de synchronisation d'un appareillage connecte a un reseau de communication
CN104303203B (zh) 2011-11-28 2018-04-13 艾克潘尔基公司 能源搜索引擎方法及系统
US20130274936A1 (en) * 2012-04-15 2013-10-17 Swan, Llc Broadcast energy demand systems and methods
US20150127601A1 (en) * 2013-11-04 2015-05-07 Florida Power & Light Company System and method for improving and managing smart grid unread meter investigations
US20160050513A1 (en) * 2014-08-15 2016-02-18 Aviacomm Inc. Rf front-end architecture for machine-to-machine applications
US11140798B2 (en) * 2014-11-19 2021-10-05 Schroff Technologies International, Inc. Ventilation control apparatus and method
EP3269022B1 (en) * 2015-03-11 2022-08-31 Hitachi Energy Switzerland AG Method and apparatus for detection of power system disturbance within digital substation
US10816578B2 (en) * 2017-10-17 2020-10-27 Landis+Gyr Llc System and method for filtering harmonic frequencies in an electrical energy meter
CN112511635B (zh) * 2020-12-04 2022-12-27 海南电网有限责任公司信息通信分公司 一种基于智能终端的一体化智能并网调试移动平台
CN116886130B (zh) * 2023-09-08 2023-11-24 北京前景无忧电子科技股份有限公司 一种基于数字信号处理的低压载波智能组网方法与系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218655A (en) * 1974-07-17 1980-08-19 New England Power Service Company Method and apparatus for transmitting intelligence over a carrier wave
US4668934A (en) * 1984-10-22 1987-05-26 Westinghouse Electric Corp. Receiver apparatus for three-phase power line carrier communications
US4700188A (en) * 1985-01-29 1987-10-13 Micronic Interface Technologies Electric power measurement system and hall effect based electric power meter for use therein
US5553094A (en) * 1990-02-15 1996-09-03 Iris Systems, Inc. Radio communication network for remote data generating stations
US5994892A (en) * 1996-07-31 1999-11-30 Sacramento Municipal Utility District Integrated circuit design automatic utility meter: apparatus & method
US5874903A (en) * 1997-06-06 1999-02-23 Abb Power T & D Company Inc. RF repeater for automatic meter reading system
US6262672B1 (en) 1998-08-14 2001-07-17 General Electric Company Reduced cost automatic meter reading system and method using locally communicating utility meters
US6947854B2 (en) * 2000-02-29 2005-09-20 Quadlogic Controls Corporation System and method for on-line monitoring and billing of power consumption
US7247998B2 (en) * 2002-07-31 2007-07-24 Universal Lighting Technologies, Inc. Transient detection of end of lamp life condition apparatus and method
US7321291B2 (en) * 2004-10-26 2008-01-22 Current Technologies, Llc Power line communications system and method of operating the same
US7426123B2 (en) * 2004-07-27 2008-09-16 Silicon Laboratories Inc. Finite state machine digital pulse width modulator for a digitally controlled power supply

Also Published As

Publication number Publication date
US20100213766A1 (en) 2010-08-26
WO2007062232A3 (en) 2008-12-31
US8417471B2 (en) 2013-04-09
EP1955161A2 (en) 2008-08-13
US20070194949A1 (en) 2007-08-23
AR057930A1 (es) 2007-12-26
IL191657A0 (en) 2008-12-29
US8026628B2 (en) 2011-09-27
CL2006003252A1 (es) 2008-01-11
CA2630862A1 (en) 2007-05-31
US20120019297A1 (en) 2012-01-26
WO2007062232A2 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
BRPI0618932A2 (pt) Sistemas, e, aparelho para a implementação de uma malha travada em fase
AU2017279752B2 (en) Methods for discovering, partitioning, organizing, and administering communication devices in a transformer area network
US8452555B2 (en) Apparatus and methods for multi-channel metering
US6947854B2 (en) System and method for on-line monitoring and billing of power consumption
KR101149648B1 (ko) 유무선 통신을 이용한 지중용 원격검침 시스템
JP5921578B2 (ja) 電力線通信におけるチャネル選択
RU2463705C2 (ru) Система связи по распределительным линиям электропередачи
Aruzuaga et al. PRIME interoperability tests and results from field
BRPI0610480A2 (pt) agrupamento de aglomerados de malhas
ES2441617T3 (es) Sistema y método para supervisión y facturación en línea de consumo de potencia
EP1960932B1 (en) Apparatus and methods for multi-channel metering
RU2716900C1 (ru) Система контроля и сбора данных потребления электроэнергии в сетях среднего и низкого напряжения цифрового района электрических сетей
CN101496301A (zh) 用于电力计量的系统和方法
MX2008006720A (en) Systems and methods for electricity metering
KR20180109511A (ko) 검침모뎀과 전력량계간 다중 접속 구성에서 위상 검출을 위한 원격 검침 시스템 및 그 방법
JP2015032947A (ja) 自動検針システム
BR102017008405A2 (pt) módulo conversor de tv (mctv)
Goel et al. Last mile connectivity challenges in Smart Grid
BR102013009608A2 (pt) Disposição construtiva aplicada em sistema de monitoramento de distribuição de energia elétrica
WO2004086646A1 (en) Method and device for data communication
BRPI0806143B1 (pt) Aparelhos para medição de multi-canal de eletricidade

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2161 DE 05/06/2012.