Original Artigo
Acesso e Sistema de Interligação para o Centro de Imunologia Molecular
Controle de Acesso e Interligação Sistema para o centro de imunologia molecular
ing. Marcel Pedreira Marcel1, Dr. Valery Moreno VEGA2
1. Centro de Imunologia Molecular, Havana, Cuba, E-mail: [email protected].
2. Departamento automático, Faculdade de Engenharia Elétrica, Instituto Superior Politécnico José Antonio Echeverría, Havana, Cuba. E-mail: [email protected].
Resumo
no presente trabalho O design e desenvolvimento de um sistema de controle de acesso e intertravamento no centro de imunologia molecular porque Os sistemas comerciais desse tipo instalados nesse centro não atendem a todas as necessidades. O sistema proposto consiste em dois cartões eletrônicos: o controlador de porta e o controlador de intertravamento, ambos foram desenvolvidos com base no microcontrolador microchip programado usando o compilador CCS PCW. Esses cartões são capazes de se comunicar com dispositivos de leitura de código de barras, proximidade, biométrico ou qualquer outro que transmite pelo protocolo Wiegand. Eles também devem ser configurados para operar de maneira desejada, para isso, um aplicativo de software de parametrização foi desenvolvido usando QT, como framework e implementando práticas eficientes de engenharia de software. Este aplicativo se comunica com os controladores via RS232 com o protocolo Modbus.
Palavras-chave: Controle de acesso, intertravamento, microcontrolador, modbus, wiegand, engenharia de software.
Abstract
Este artigo mostra o desenho e o desenvolvimento de um sistema de controle e intertravamento para o centro de imunologia molecular, porque os sistemas comerciais instalados neste centro não atendem a todas as necessidades . O sistema proposto consiste em duas placas eletrônicas: o controlador de porta e o controlador de intertravamento, ambos foram desenvolvidos com base no microcontrolador pic microcontrolador de microchip usando o compilador CCS PCW. Esses cartões são capazes de se comunicar com dispositivos como leitura de código de barras, proximidade, biométrica ou qualquer outra que transmita pelo protocolo Wiegand. Eles também devem ser configurados para operar de maneira desejada e, portanto, o aplicativo de software foi desenvolvido usando o QT como framework e implementando práticas efetivas de engenharia de software. Este aplicativo se comunica com os controladores via RS232 usando o protocolo Modbus.
Palavras-chave: Controle de Acesso, Interligação, Microcontrolador, Modbus, Wiegand, Engenharia de Software.
Introdução
O conceito de controle de acesso foi usado em vários contextos, ele está associado a conceitos de segurança de computadores e redes de computadores. No entanto, neste trabalho, o sistema é encaminhado para os vinculados às portas de uma edificação. Sob estes princípios, um sistema de controle de acesso administra a entrada em áreas restritas e impede que pessoas não autorizadas ou indesejáveis tenham a liberdade de acessar certas instalações. Da mesma forma, você pode ter conhecimento de assistência pessoal, cronogramas de renda e graduação, e também ser capaz de ter um controle histórico de entradas de pessoas a todas as áreas.
Os sistemas de controle de acesso são formados por vários dispositivos ou componentes. Os controladores de porta constituem o elemento fundamental ou de inteligência em um sistema de controle de acesso. Por outro lado, os dispositivos de leitura são usados para a identificação do usuário por meio de alguma tecnologia, como código de barras, radiofrequência ou biometria. Os elementos finais de ação são responsáveis pelo bloqueio físico das portas, eles podem ser parafusos ou bloqueios eletrônicos, Eletromagnets, etc. Além disso, esses sistemas normalmente apresentam um software de supervisão que opera em todos os controladores organizados na rede e, assim, realizam monitoramento e controle. Também é possível integrar circuitos de televisão fechados, sistemas de combate a incêndios, contra intrusos e mecanismos de intertravamento Usando este último, o acesso a uma área comum entre duas portas pode ser bloqueado quando um deles foi aberto.
O Centro de Imunologia Molecular (CIM), pertencente ao Pólo Científico no Ocidente da Capital Cubana, é uma instituição especializada na pesquisa, desenvolvimento e fabricação de produtos biofarmacêuticos para a luta contra o câncer de Cultura de células de mamíferos de acordo com os regulamentos de boas práticas de produção (GMP). Este centro, bem como outro polo dedicado à biotecnologia, tem áreas de produção chamadas quartos limpos especialmente projetados para obter baixos níveis de contaminação.Estes quartos têm seus parâmetros ambientais estritamente controlados: partículas no ar, temperatura, umidade, fluxo de ar, pressão interna, iluminação, etc.1
O sistema de controle de acesso desempenha um papel importante na obtenção de tal objetivo. Atualmente, dois sistemas de controle de acesso e intertravamento de diferentes fabricantes estão em operação em operação: Kantech e Siemens. Esses sistemas têm as seguintes desvantagens em sua inscrição:
· Arquitetura fechada. Há incompatibilidade em termos de protocolos de comunicação, bases de dados etc. Por esta razão, a informação é fragmentada ou dividida, o que torna difícil uma gestão a nível central.
· Suporte técnico. As dificuldades foram apresentadas à obtenção de cartões de proximidade e estão atualmente exaustos que os trabalhadores existentes precisam de entrar em uma determinada área que não têm os meios para fazê-lo.
Apesar de sistemas bem eficientes e robustos, foram dadas circunstâncias particulares nas quais não são eficazes ou incapazes de resolver o problema usando o sistema apenas com as opções que ele traz por definição.
Por este motivo, a necessidade de implementar um novo controle de acesso e controle de intertravamento foi levantado, que é totalmente desenvolvido no CIM.éte permitirá o gerenciamento central de informações e um nível mais alto de configuração, personalização e expansão, permitindo fornecer as necessidades não resolvidas pelos sistemas de pagamento instalados no momento.
Neste documento, o processo de desenvolvimento do sistema proposto é descrito para resolver o problema anterior. Na seção 2, uma descrição é dada, aproximadamente, do referido sistema, enfatizando os elementos que os compõem, bem como os protocolos usados. Na seção 3, o desenho dos controladores é detalhado, informar hardware e firmware, obrigatório para operação. A seção 4 aborda todo o processo de desenvolvimento da aplicação de software de parametrização de cada um dos controladores. Finalmente, a seção 5 descreve os resultados obtidos na implementação do sistema em escala piloto.
Visão geral do sistema proposto
A solução apresentada consiste em um sistema composto de dois elementos fundamentais: o controlador de porta e o controlador de intertravamento. Ambos são cartões eletrônicos com diferentes propósitos dentro do sistema.
A função do controlador da porta é, como indica o nome, o controle das portas. Um controlador desse tipo pode controlar um máximo de duas portas. Desta forma, é responsável por receber o pedido de acesso que vem do elemento de identificação, determine se o código de chegada tem acesso pela porta especificada de acordo com a configuração prévia e, se positiva ou válida, então desbloqueie a porta em questão. A Figura 1 mostra a conexão deste controlador. Deve-se notar que isso é capaz de receber a codificação enviada de qualquer leitor que implemente o formato de protocolo Wiegand 26. Este protocolo está aberto e é considerado um padrão dentro dos sistemas de controle de acesso. Desta forma, a comunicação com uma ampla gama de dispositivos de leitura que ocorrem no momento é garantida.
Outro elemento associado ao sistema é um dispositivo para detectar o caso que um usuário deseja sair de uma premissa através de alguns Porta controlada, isto é, na parte oposta onde o leitor está localizado. Estes casos são chamados de REX (Solicitação de saída) na maioria dos sistemas de controle de acesso, e um elemento está incluído no hardware do sistema que notifica, através de um sinal, esta ação para o controlador. Este item pode ser um sensor de presença ou um botão simples.2
O controlador de intertravamento é responsável por adicionar a capacidade de intertravamento ao sistema. Este mecanismo consiste em bloquear uma ou mais portas depois de detectar a abertura de uma determinada porta. Isso é feito, é claro, com uma configuração prévia do controlador, onde esta relação ou interação entre as portas é estabelecida. Este sistema pode ter muitos usos ou aplicativos e, no caso de CIM, é usado para reduzir os riscos de contaminação cruzada, um conceito associado ao GMP no qual uma pessoa que sai da área limpa pode induzir a poluição ao que está entrando. A figura 2 mostra a conexão deste dispositivo.
Estes dispositivos devem ser configurados ou parametrizados, para que eles executem a função desejada. Para isso, é desenvolvida uma ferramenta de software que se comunica com estas por meio de uma porta RS-232 usando um PC. O protocolo de comunicação entre o aplicativo e os dispositivos é Modbus.Este protocolo aberto foi implementado para que os controladores possam se comunicar com o maior número de software quanto possível, facilitando assim furtuasimplementações ou instalações para o sistema, como a possibilidade de supervisão central através de um SCADA, para citar um exemplo.
Os dois cartões são baseados em microcontroladores de microchip pic, devido à grande difusão que existe desses dispositivos e para a disponibilidade destes com suas ferramentas associadas para implementar e verificar aplicativos desse tipo na CIM. A programação dos microcontroladores foi feita usando o compilador CCS PCW, para as razões do conhecimento do autor e também para a disponibilidade legal do referido software no centro. Os testes de configuração de hardware dos dispositivos foram realizados usando o PicsChool, uma ferramenta que consiste em um modelo ou protoboard para o ajuste de aplicativos usando microcontroladores de foto. O aplicativo de parametrização foi desenvolvido usando a estrutura QT, por ser uma poderosa plataforma de código aberto muito transmitida neste momento.
Wiegand Protocol
Este protocolo é unidirecional e permite a transferência de dados de um leitor para o controlador. Embora tenha sido concebido para os leitores do efeito Wiegand, dada a sua eficiência nesta área, também foi implementado em leitores com outra tecnologia, como os da proximidade ou radiofrequência e mesmo em teclados numéricos. O protocolo estabelece linhas de dados, energia e sinalização. As linhas de sinalização são aquelas usadas para o manuseio de chifre e os LEDs, que normalmente possuem esses leitores, enquanto a transmissão de dados é realizada por meio de três encadeamentos:
· Data1: Linha para enviar lógicas.
· Data0: Linha para enviar zeros lógicos.
· GND: fixo de referência de ambos.
A Figura 3 representa graficamente este sistema de transmissão. No estado de descanso, as linhas Data1 e Data0 estão em alto nível. Para transmitir um bit em `1’se Enviar um pulso de baixo nível de 50 ìS por linha Data1, enquanto o Data0 permanece alto. Pelo contrário, para transmitir um pouco no que é feito é enviar um pulso baixo, da mesma duração, mas pela linha Data0 enquanto a linha Data1 permanece alta. A separação entre cada pulso e a próxima é de cerca de 2 ms.
Usando este sistema Qualquer número de bits pode ser transmitido. Há, no entanto, um consenso internacional para usar um certo número de bits e a interpretação deles. O formato mais comumente usado e, portanto, o funcionário deste projeto é o Wiegand26, que especifica que o primeiro bit (B0) é a paridade dos primeiros 12 bits transmitidos (B1: 12), os próximos oito (B1: B8) constituem Um inteiro de 8 bits chamado Facilitycode, os seguintes 16 bits (B9: B24) representam um inteiro de 16 bits chamados Usercode e o último bit (B25) é a paridade ímpar dos últimos 12 bits transmitidos (B13: B24). 2
modbus protocolo
O protocolo Modbus é baseado na arquitetura mestre / escravo. Projetado em 1979 pela empresa Modicon para sua faixa de PLC, tornou-se um protocolo de comunicação padrão factual no setor e é que goza de maior disponibilidade para a conexão de dispositivos inteligentes. É principalmente devido às seguintes razões:
· É público.
· Sua implementação é fácil e requer pouco desenvolvimento.
· Lidar com blocos de dados sem ter restrições.
Às vezes, na literatura, ela se refere ao Modbus como uma estrutura de mensagens, porque não especifica uma camada física, por loque pode ser implementada usando diferentes padrões, como RS232, RS422, RS485 e, até mesmo, Sobre Ethernet. Existem duas variantes com diferentes representações numéricas dos dados e detalhes do protocolo ligeiramente desigual: Modbus RTU e Modbus ASCII. Há também uma versão TCP Modbus, mas sim, é o formato RTU definindo a transmissão através de pacotes TCP / IP. A variante usada neste projeto é a RTU.
Em uma rede Modbus, cada dispositivo tem um viciado. Qualquer dispositivo pode enviar pedidos, embora o habitual seja permitir que apenas o professor e os escravos sejam limitados a responder os pedidos dele. Uma mensagem Modbus enviada do mestre para um escravo contém o endereço do escravo, o comando ou o pedido a ser feito, os dados associados ao comando e uma informação redundante ou verifique a soma para garantir a integridade da recepção.O protocolo estabelece uma ampla variedade de comandos ou funções, e neste projeto somente aqueles associados ao valor do valor de vários registros escravos (WriteMultipleregisters) e a solicitação do conteúdo dos referidos registros (readholderingregisters) são usados. Deve-se notar que o padrão oficial define registros de 16 bits entre outras especificações.3
Então, como já referido acima, neste projeto Modbus RTU Protocol no RS232, onde o PC é o dispositivo mestre e o Os controladores são escravos, embora conecte um de cada vez. Por esse motivo, não há necessidade de especificar instruções para cada um dos escravos, uma vez que todas as mensagens enviadas pelo professor são transmitidas ou transmissão (endereço 0) e só serão recebidas pelo único escravo conectado a ele. No entanto, a implementação deste protocolo fornece a possibilidade de expandir o sistema resultante para facilitar, sem muitas alterações significativas, introduzindo um sistema de supervisão ou SCADA e conectando os controladores, formando uma rede Modbus.
Desenvolvimento dos controladores
Como anteriormente observado, os cartões representando os controladores que compõem o sistema proposto são baseados em microcontroladores pic. Neste caso, um 16f877 foi usado para cada cartão. Estende a um microcontrolador de 8 bits, pertencente à faixa média desta família e que satisfaz perfeitamente os requisitos de ambos os aplicativos, me dizem memória, número de entradas e saídas entre outros aspectos. Abaixo está a configuração do circuito dos cartões acima mencionados, bem como o firmware agendado nos microcontroladores para sua operação adequada.
Hardware do controlador da porta
Na Figura 4 Um esquema da configuração de hardware do cartão que representa o controlador da porta é exibido.
As linhas do alto nable da porta B foram usadas para receber os dados enviados dos dois leitores que podem ser conectados Para um controlador, conforme descrito acima no protocolo Wiegand, cada leitor usa duas linhas para transmissão de dados: Data0 e Data1. Ele foi conectado nessa maneira de usar a interrupção da mudança de status nas quatro entradas mais significativas na porta B. Desta forma, qualquer variação em qualquer um desses pinos interrompe a operação do microcontrolador coincidindo com a chegada de um pouco pertencente ao pulso treinar correspondente a um código enviado por um leitor. Outras seis linhas de entrada / saída do microcontrolador, desta vez configuradas como saídas, foram usadas para o manuseio de leitores. Neste caso, eles foram reservados para a conexão de três encadeamentos de sinalização que proporcionam a maioria dos leitores que implementam o protocolo acima mencionado para a ativação dos LEDs vermelhos e verdes, bem como o chifre.
A memória externa foi conectada usando a interface I2C e que encarregado de armazenar os códigos dos usuários autorizados para acessar qualquer uma das portas pertencentes ao controlador em questão. Foi decidido que a memória era externa por duas razões fundamentais:
1. A memória interna do EEPROM do microcontrolador não atende às necessidades do espaço.
2. Ele facilita a manutenção e a reconfiguração do sistema como exportação / importação dos dados é possível.
A estrutura dessa memória é mostrada na Figura 5. Como pode ser visto, quatro locais são usados para um código de usuário. O primeiro é salvo pelo código de instalação, que como indicado acima é um 8 número de bits. O código do usuário é então armazenado, que é 16 bits, portanto, dois locais são usados para isso, no primeiro destes, a parte superior e na segunda parte inferior desse número. Finalmente, a quarta localização do código é ocupada pela política de acesso, o que nada mais é do que um número que identifica o tipo de acesso que o proprietário do usuário do código em questão tem. A Tabela 1 refere os tipos de acesso e seu número de política de acesso correspondente.
o número máximo de usuários Para um controlador, foi definido em 256, quantidade que satisfaz perfeitamente as necessidades do aplicativo. Então, com a estrutura antes exposta, é necessária uma memória EEPROM I2C de 1kx8 locais. Para este propósito, foi utilizado o circuito integrado ST24W08MR, que constitui uma memória com as características necessárias.
O canal assíncrono da porta serial, ou uso do microcontrolador, foi reservado para a conexão do cartão em um PC e execute a configuração ou parametrização do controlador por esta rota.É portanto, que as linhas de porta serial foram acopladas a um max232, um circuito integrado que adapta os níveis de tensão que lida com o microcontrolador para o padrão RS-232. Desta forma, o PC é comunicado com o microcontrolador usando o protocolo Modbus.
Mais duas linhas de entrada / saída do microcontrolador foram usadas (configuradas como saídas) para a unidade das portas. Isso pode ser baseado em vários tipos de fechamento eletrônico: soquete, eletromagnet etc. e, de qualquer forma, deve-se notar que esses elementos são alimentados por 24VDC ou 12VDC. Em seguida, o circuito necessário para a unidade baseado em relé foi acoplado a essas duas saídas de microcontroladora.
Três outras linhas de entrada / saída do microcontrolador (desta vez configuradas como entradas) foram usadas para detectar os sinais REX que, conforme indicado acima, eles podem prosseguir de um botão ou um sensor de presença. Em qualquer caso, o dispositivo do sensor deve ser conectado a uma das entradas destinadas a isso, dependendo da porta lidada. A configuração do hardware do controlador de porta inclui um circuito de condicionamento desses sinais digitais para as entradas do microcontrolador, bem como uma lógica para que uma ativação de qualquer um desses sinais a interrompi pela linha correspondente à interrupção externa.4-5 5 5p>
firmware do controlador de porta
O papel do controlador da porta é a recepção do código enviado de qualquer um dos dois leitores através do protocolo Wiegand e compará-lo com os armazenados na memória externa de modo que, se houver uma coincidência e a política de acesso for aplicada, o acesso é dado à porta em questão. O firmware do microcontrolador obtido usando o compilador CSS PCW, conforme referido anteriormente, usando a linguagem C para programação. Este compilador possui várias instalações para o programador, neste trabalho os drivers fornecidos por esta ferramenta para o manuseio de dispositivos I2C e para a implementação de um dispositivo Modbus escravo, respectivamente. Em seguida, o programa é preso fundamentalmente em três funções:
1. A principal função: Main.
2. O recurso de atendimento de interrupção devido à mudança de status em qualquer um dos quatro pinos mais significativos na porta B.
3. A função de cuidados externos de interrupção.
Na Figura 6, o diagrama de fluxo da função principal é mostrado. Nesta função, o que é feito está constantemente levantando a chegada de uma mensagem Modbus. Se sim, é identificado, que é o comando enviado do professor através da mensagem em questão, e é feito a ação correspondente, que nada mais é do que a leitura ou escrita dos registros, e uma resposta ao professor é enviada. Os comandos que são usados nesta aplicação são lidos reinam-se reinam-se, para ler pelo mestre dos registros que armazenam os códigos de usuário do controlador conectado, e WriteMultipleregisters caso você deseja modificar o conteúdo desses registros.3
A Figura 7 oferece um fluxograma da característica de cuidados à interrupção por mudança de estado nos quatro bits mais significativos da porta B. O objetivo fundamental desta função é a atualização do buffer de código Wiegand, porque será executado com a chegada de um pouco correspondente ao referido código. Esta interrupção pode ser apresentada por um flanco de queda e um dos pinos mais significativos no porto B., analisando a operação do protocolo Wiegand, exposto anteriormente, pode-se inferir que a chegada de um pouco para alguns Das linhas de dados, representadas por um pulso de baixo nível, causou duas interrupções por alteração de status no PIN conectado à referida linha. Por esta razão, foi decidido atualizar o buffer de código Wiegand apenas com a detecção do flanco de pulso do pulso correspondente à chegada de um bit, portanto, é necessário primeiro ler a porta e descartar os possíveis casos em que A interrupção foi motivada por um flanco de aumento. Se sim, isto é, que a interrupção foi motivada por uma desvantagem, o PIN é identificado pelo qual o pulso é produzido para atualizar o buffer de código com ‘1’ ou ‘0’ como apropriado (data0 ou data1) e Defina a porta de onde vem o código. Finalmente, ele é verificado se o final do código foi atingido, caso em que deve ser determinado se o código de chegada for autorizado, ou seja, se for armazenado na memória do código do usuário. Caso afirmativo, o acesso é concedido se aplicado o política de acesso.
A função de atenção à interrupção externa A única coisa que ele faz é determinar pela qual as duas portas ocorreram o REX e depois permitem o acesso. Entende-se concedendo acesso por uma porta, a ação desbloqueada do controlador por um período de tempo de cinco segundos.
Hardware do controlador de intertravamento
Na Figura 8 Um esquema da configuração de hardware do cartão representando o controlador de intertravamento é mostrado.
Como você pode ver, o hardware do controlador de intertravamento é muito mais simples em comparação com o do controlador de porta. É formado, em sua estrutura básica, por oito insumos digitais com os circuitos de condicionamento correspondentes às entradas do microcontrolador e oito saídas para o relé. Como o controlador da porta, o canal de USART do microcontrolador é usado para comunicação com o PC através do protocolo Modbus, portanto, o uso do circuito integrado Max232 também é necessário acima.4-5
firmware do controlador de intertravamento
A função básica do controlador de intertravamento nada mais é do que examinar as entradas e, dependendo do que é lido e a configuração anterior, ative as saídas correspondentes. A configuração é feita através de um aplicativo de parametrização que é executado em um PC e que é conectado ao cartão via RS-232, que salva na memória interna EEPROM do microcontrolador. A estrutura desta memória é mostrada na Figura 9. Como pode ser visto, nos seus locais, um número que codifica as saídas que devem ser ativadas quando qualquer entrada é ativada. Este formulário, nos dois primeiros locais. Encontre a codificação do Saídas para a entrada 0, então a de entrada 1 e assim por diante. Dois locais foram usados para cada entrada porque o protocolo Modbus usa registros de 16 bits.
O algoritmo da função principal do programa (principal) é mostrado na Figura 10. É baseado fundamentalmente no Constante lendo a porta que constitui as entradas do controlador e, em seguida, mapeada com a configuração armazenada na memória e, dessa maneira, formam o resultado que é removido pela porta de saída. Abaixo está pesquisado pela chegada de uma mensagem de protocolo Modbus e, em caso afirmativo, é da forma de mimo que no programa do controlador de porta. Ou seja, o comando enviado do professor é identificado através da mensagem recebida, a ação correspondente é executada e uma resposta ao mestre é enviada.
Desenvolvimento do aplicativo de parametrização
Para a configuração dos controladores, foi necessário desenvolver um aplicativo de software para que, facilmente, amigável e intuitivo, o operador realizará a referida parametrização Este aplicativo deve entrar em contato usando a porta serial RS-232 do PC com drivers para, dessa maneira, escreva e leia a configuração implementando o protocolo Modbus. O desenvolvimento foi realizado usando o Quadro QT, pelas razões anteriormente expressas, com C ++ como linguagem de programação.
Foi decidido implementar um pedido de parametrização diferente para cada controlador para motivos de conforto e clareza. No entanto, os dois são muito semelhantes, e diferem em pequenos aspectos sobre como lidar com os dados e representar as informações. Isso ficará melhor doente como o processo de desenvolvimento dos aplicativos é abordado, o que é descrito abaixo.
Aplicação de parametrização do controlador de porta
Para o caso do controlador da porta, um levantamento dos requisitos do usuário foi prosseguido, em um começo, para fazer uma pesquisa.
Requisitos funcionais:
1. O aplicativo deve ser conectado ao controlador, ler a configuração existente e representar as informações.
2. O usuário deve ter a possibilidade de adicionar e modificar os códigos, bem como a política de acesso.
3. O aplicativo deve atualizar o driver quando solicitado, para baixar todas as alterações possíveis na configuração do usuário.
Requisitos não funcionais:
1. Uso de língua espanhola em todo o projeto.
2. Use um formato e estilo uniforme em todas as janelas do aplicativo.
A partir do levantamento dos requisitos do usuário, então os casos de uso são definidos, cujo diagrama é mostrado na Figura 11. O ator do sistema é o administrador, que é o único operador do sistema capaz de modificar e monitorar o configuração dos controladores.
A partir dos casos de uso, então o estágio de análise é definido que fará parte da arquitetura como software e relacionamentos com cada outro. Para o design do aplicativo, foi utilizada uma estrutura de duas camadas, composta da camada de apresentação, que representa a interface com o usuário e a camada de negócios onde a lógica do aplicativo é executada, bem como acesso de dados.
A Figura 12 mostra um diagrama de classes do aplicativo. A camada de negócios é formada por uma única classe: tontroller, que encapsula todas as operações a serem feitas com os controladores. O acesso de dados é feito usando a biblioteca de código aberto do FieldTalk, que permite o gerenciamento simples do protocolo Modbus sem ter que dominar muitos detalhes disso. A camada de exibição, ou apresentação, está intimamente relacionada à estrutura QT, que fornece as classes necessárias para o desenvolvimento da interface do usuário, ou GUI do aplicativo de software. A interface é composta de uma janela principal, que herda da classe QmainWindow da própria biblioteca QT, duas janelas são criadas dinamicamente do tipo QDialog, para casos em que o operador deseja editar os códigos ou definir os parâmetros da conexão com o controlador respectivamente.6-7
deve ser notado que a classe TController, que é de onde o acesso aos dados através do Biblioteca Fieldalk, tem um membro que constitui o modelo de dados, informou códigos e política de acesso, que são exibidos na exibição. Aqui, um padrão de design muito disseminado tem sido usado no desenvolvimento de software chamado Modelo Vista Controller (M-V-C), onde o processamento dos dados de sua apresentação é separado facilitando a reutilização e a manutenção. O QT Framework fornece uma implementação mais fácil desse padrão, para que um modelo dos dados seja criado, criando um objeto do tipo QrasilTardItemMMODEL e está associado a um objeto visual do tipo QTableView através do qual as informações do modelo são apresentadas e modificadas. Desta forma, o processamento de dados e a camada de apresentação são feitos na camada de negócios como uma interface com o usuário.7-8
Depois de ter o design das classes, é feito uma análise mais profunda de uso casos, mas de uma perspectiva diferente, desde a sequência de interações cronológicas entre objetos individuais do sistema para que cada caso de uso possa ser totalmente executado.9
A Figura 13 exibe a sequência de eventos para o caso de uso Connect Controller. Neste caso, na janela principal do aplicativo, o objeto MainWindow da classe TmainWindow, a possibilidade é fornecida por meio de um botão que o usuário ordena a conexão com o controlador.Insmmedy, uma janela de diálogo é dada onde a possibilidade de especificar os parâmetros de A conexão, informar a porta do PC, velocidade, etc. Este último é criado criando um objeto de conexão herdadaDialog do QDialog que apresenta os campos associados aos parâmetros mencionados e retorna seus valores, uma vez que o usuário aceita a janela de diálogo.
Quando o objeto MainWindow recebe informações, um objeto da classe TController é criado e executa o método OpenProtocol do referido objeto para abrir a conexão com os parâmetros especificados. Em seguida, o objeto do controlador executa o comando ReadHolderingRegister pertencente ao protocolo Modbus, através do qual a configuração atual do controlador conectado é lida. Com esta informação, então o modelo de dados é atualizado, com o qual um sinal ou mensagem é enviada para a atualização automática da visualização pelo mecanismo QT para o padrão MVC mencionado acima.10
O caso de usar Adicionar código, cuja seqüência é ilustrada na Figura 14, inicia uma vez que o usuário pressione o botão correspondente na janela principal. Quando o objeto MainWindow recebe o sinal deste evento, ele cria um objeto da classe Editialog herdada de Qdialog, onde os campos necessários para editar o novo código serem adicionados são fornecidos. Quando o usuário terminar a edição, o modelo dos dados pertencentes ao objeto Controller é atualizado e automaticamente, inicia um sinal para a atualização deles na exibição.7
A sequência para o caso de uso de código de edição é semelhante ao de adicionar código, a diferença reside em uma ligeira alteração no modo de atualização dos dados no modelo, já que aqui não é adicionado um novo registro, mas é determinado Qual é o registro que você quer mudar e prosseguir para sua modificação.
Finalmente, a Figura 15 mostra a sequência de eventos para o caso do uso do controlador de atualização.Quando o usuário especifica no botão na janela principal, a instância do objeto MainWindow a função de objeto de atualização do controlador. Esta função executa o comando WriteMultipleregisters correspondente ao protocolo Modbus, que grava a configuração dos dados presentes no modelo na configuração de memória da configuração de memória o controlador conectado.
Aplicação de parametrização do controlador de intertravamento
Neste caso, o produto final é semelhante ao do controlador da porta, e a diferença está na apresentação das informações. As janelas são as mesmas, exceto que os elementos que os fazem mudar. Desta forma, a janela principal, em vez de apresentar uma tabela para representar os códigos do controlador da porta, neste caso, o que está disponível é uma árvore, onde as saídas que dependem são exibidas em cada entrada. Da mesma forma, esta informação é baseada em um modelo que faz parte de uma classe TController pertencente à camada de negócios. Da mesma forma, a janela de diálogo para editar a configuração muda sua composição.
Os requisitos do usuário são semelhantes, exceto para o requisito funcional do controlador de porta, porque no caso do controlador de intertravamento, códigos não são adicionados, eles são simplesmente saídas relacionadas com as entradas. Portanto, o diagrama de uso do uso tem uma ligeira alteração, eliminando casos de uso de código de adição e edição e incorporar um novo caso de uso chamado de configuração de edição, que é ilustrado na Figura 16. A sequência de eventos para este caso é semelhante Para o de adicionar e editar o código no controlador da porta, apenas a janela de configuração diferente.
Após a simulação correspondente dos controladores usando o software Proteus, foi possível Assembléia do hardware deles em Picschool, que, como afirmado acima, consiste em uma espécie de Protobro onde os protótipos de aplicativos baseados em microcontroladores PIC podem ser testados. O resultado esperado para o controlador da porta foi que ele recebeu corretamente o código Wiegand enviado de um leitor de proximidade pertencente ao sistema Kantech. Também deve ser comunicado corretamente com a aplicação de parametrização usando o protocolo Modbus e, de acordo com a configuração estabelecida por meio deste aplicativo, fornecendo acesso aos códigos programados. Da mesma forma, no caso do controlador de intertravamento, que foi perseguido, foi que ele responde corretamente na interação entre as entradas e as saídas, de acordo com a configuração prévia realizada através do aplicativo de configuração.
Os testes foram feitos gradualmente, ou por etapas. No caso do controlador de porta, a comunicação Modbus foi verificada pela primeira vez através de um aplicativo de terceiros, que se comporta como um mestre, em execução no PC conectado ao kit através da porta serial RS232. Com este software, foi possível verificar se as respostas do controlador para os comandos foram enviados estavam corretos. Em seguida, foi usado para usar o aplicativo de parametrização desenvolvido e um leitor de proximidade do sistema Kantech, que transmite usando o protocolo Wiegand foi conectado. Pode-se verificar se os códigos configurados e programados no controlador por meio do aplicativo de parametrização foram aceitos pelo controlador como correto imediatamente após ser inserido através do leitor, comportando-se corretamente em seu papel como controlador de porta.
Da mesma forma, o software de terceiros foi usado para o controlador de intertravamento para verificar a comunicação Modbus. As entradas foram acopladas aos switches presentes no PicsChool e nas saídas para os LEDs. Desta forma, as saídas poderiam ser verificadas, ativadas com a ativação das entradas que respeitam a configuração programada através do software que funcionou como mestre Modbus. Em seguida, continuando com os testes, o software de terceiros foi substituído pelo aplicativo de parametrização desenvolvido, e também foi comportado. Portanto, pode-se concluir que o desenvolvimento de controladores de escala piloto foi realizado satisfatoriamente e fora seu trabalho corretamente, conforme esperado.
Com relação ao uso de microcontroladores, 19 linhas de entrada / saída do 32 Disponível no PIC16F877 foram usadas no controlador da porta, mas o restante pode ser usado em expansões ou adaptações futuras, se você quiser conectar os controladores de rede , por exemplo. O canal i2C foi usado, bem como o uso e três fontes de interrupção. O firmware ocupou 57% da memória ROM ou programa e usa 65% da RAM, ou memória de dados.No caso do controlador de intertravamento, que tem um microcontrolador semelhante, uma parte da entrada / saída total disponível também foi usada, neste caso 18. Da mesma forma, as linhas restantes podem ser necessárias para uma expansão pela necessidade de pesquisar um Maior número de entradas, ou operar maior quantidade de saídas, citando dois exemplos. O uso do canal e apenas uma fonte de interrupção também foi usada. O firmware ocupou 20% da ROM e usa 39% de RAM.4
no trabalho foi exposto a concepção e desenvolvimento de um sistema de controle de acesso e intertravamento, que incluiu a configuração, ambos os controladores como o aplicativo de parametrização. Esses elementos foram testados jogando resultados satisfatórios. O sistema trará várias vantagens e benefícios em sua implementação no CIM, como maior suporte técnico e personalização de Unamayor. O desenvolvimento do aplicativo de parametrização foi feito levando em conta uma estrutura por camadas, bem como a utilização do padrão de design M-V-C, garantindo maior manutenção e reutilização do código, elementos-chave em boa engenharia de software. No desenvolvimento dos controladores, igualmente, vários fatores foram levados em conta para maior desempenho e compatibilidade do sistema, tais como:
· Uso de protocolo Wiegand em comunicação com os leitores.
· Uso do protocolo Modbus na comunicação com o aplicativo de parametrização que é executado no PC.
· Memória externa Use para armazenar a configuração no caso do controlador de porta, o que facilita a manutenção ou substituição deles, permitindo a importação / exportação dos dados.
O sistema obtido funciona de forma autônoma. No entanto, a maneira pela qual foi projetada fornece possibilidades de expansão sem muita complicação, integrá-la a um sistema de supervisão ou SCADA com a implementação de uma rede Modbus.
Referências
1. Pedreira, M. “Supervisão de acesso às instalações do centro de imunologia molecular”. Tese de diploma. Cujae, 2008.
2. Cosentino, L. “Controle de Acesso, Elementos de Identificação”. Rnds. 2008, 168 p.
3. Pefhany, S. Modbus Protocol. 2000.
4. Microchip Technology Inc. Folha de dados PIC16F87XA. 1998.
5. Breijo, e. Compilador CCS e Simulador Proteus para microcontroladores de foto. México: Marcombo, 2008. 276 p. ISBN: 978-970-15-1397-2.
6. EELS, P. estratégias de camadas. Cupertino: software racional, 2002. 13 p.
7. Thelin, J. Fundações do Desenvolvimento de Qt. Nova York: Aprensa, 2007. 528 p. ISBN: 978-1-59059-831-3
8. Gamma, E., Helm, R., Johnson, R., Vlissides, J. Projetos de design: Elementos do software de objeto de objeto reutilizável. 1997. 431 p.
9. Schmuller, J. Aprendendo UML 24 horas. 2004. 398 p.
10. Fieldalk Inc. Fieldtalk Modbus Master C ++ Biblioteca Manual de software. 2009.