IMPLEMENTAÇÃO DE UM CLP BASEADO NA IEC-61131 SOBRE MICROCONTROLADOR POPULAR E DE BAIXO CUSTO
Por: kamys17 • 8/10/2018 • 2.631 Palavras (11 Páginas) • 395 Visualizações
...
A estrutura funcional básica de um CLP é definida conforme ilustrado na Figura 1. Essas funções devem comunicar-se entre si e com os sinais da máquina ou processo a ser controlado.
[pic 1]
Figura 1. Estrutura funcional básica de um CLP (fonte: IEC- 61131-1).
Para (CHMIEL, MIROSŁAW et al., 2014), a CPU de um CLP pode ser concebida de várias maneiras, sendo que a sua arquitetura é o fator preponderante para o tempo de execução de uma rotina de controle.
Em um CLP, o módulo CPU é responsável pelo armazenamento do programa de aplicação, pelo armazenamento de dados, pelo sistema operacional e pela execução das funções do programa aplicativo. A CPU processa os sinais obtidos de sensores, bem como os do armazenamento interno de dados, e gera sinais para os atuadores e para o armazenamento de dados internos, em conformidade com o programa de aplicação.
Conforme (M. CHMIEL et al., 2011), CPU’s de CLP´s são frequentemente concebidos como sistemas com múltiplos processadores. Dispositivos FPGA oferecem grandes oportunidades para a construção e avaliação de CPU’s para controladores lógicos programáveis, sendo possível desenvolver-se sistemas micro processados dedicados completos capazes de executar programas de controle de forma eficiente com base em um microprocessador totalmente customizado. Dispositivos programáveis tornam possível, também, trocar a abordagem cíclica-sequencial por uma implementação de hardware massivamente paralela.
Ainda de acordo com (M. CHMIEL et al., 2011), a maneira mais simples para implementação da CPU de um CLP é através da utilização de um microprocessador, já que tal concepção de uma unidade central resulta diretamente da execução cíclica e sequencial de programas de controle por controladores.
3 Lista de instruções
A (INTERNATIONAL ELECTROTECHNICAL COMMISSION, 2003) define 5 tipos de linguagem para programação do CLP, sendo duas delas textuais - Texto Estruturado (ST) e Lista de Instruções (IL) - e três gráficas - Ladder (LD), Diagrama de Blocos (FBD) e Sequenciamento Gráfico de Funções (SFC).
Segundo (CHMIEL et al., 2015), a lista de instruções pode ser considerada como o conjunto de instruções nativas dos CLP’s, já que, na maioria dos ambientes de programação, os programas desenvolvidos nas demais linguagens são convertidos para IL.
A IL é reconhecida como a linguagem mais parecida com a linguagem Assembler, utilizada por muitos microcontroladores, segundo (CHMIEL, MIROSLAW et al., 2015). A IL é composta por uma sequência de instruções, onde cada instrução é formada por um operador e por um ou mais operandos (INTERNATIONAL ELECTROTECHNICAL COMMISSION, 2003a). Cada operador pode, ainda, vir acompanhado de um modificador.
Na Tabela 1 são listados os principais operadores básicos da IL. A IL é baseada em operações de valor único, ou seja, cada instrução tem seu resultado gravado como o valor atual (CR) e tal resultado é utilizado, então, pela próxima instrução a ser executada.
Tabela 1. Principais operadores da linguagem Lista de Instruções.
Operador
Código
Descrição/ significado
LD
1
Carrega o operando para o Acumulador
LDN
2
Carrega operando negado para o Acumulador
ST
3
Armazena o conteúdo do Acumulador no local especificado pelo operando
STN
4
S
5
Seta o operando para 1 caso o resultado atual seja Boolean 1
R
6
Seta o operando para 0 caso o resultado atual seja Boolean 1
AND
7
Função booleana AND
ANDN
8
AND(
9
ANDN(
10
OR
11
Função booleana OR
ORN
12
OR(
13
ORN(
14
XOR
15
Função booleana XOR
XORN
16
XOR(
17
ADD
18
Função aritmética Soma
ADD(
19
SUB
20
Função aritmética Subtração
SUB(
21
MUL
22
Função aritmética Multiplicação
MUL(
23
DIV
24
Função aritmética Divisão
DIV(
25
MOD
...