# Introdução à programação de controladores lógicos programáveis

Este livro tem uma coleção para a criação de versões nos formatos HTML, PDF, ODT, ZIM, ePUB ou para encomendas para a PediaPress.

## Automação

Esse livro não deve conter coisas como história da automação ou do CLP ou qualquer coisa parecida.
Aqui devem estar maneiras para se desenvolver melhor a linguagem Ladder. Para entendimento desse livro é bom que o leitor já tenha estudado lógica de programação e eletrônica digital.

## Introdução à programação

Esse livro foi iniciado porque várias pessoas tem uma certa dificuldade nesse tipo de programação, às vezes por não entender a lógica da estrutura da linguagem, às vezes por não entender a ferramenta e em muitas outras por pensar que essa linguagem é difícil por ser usada em grandes projetos, alguns com uma complexidade considerável.
Em primeiro lugar, é muito importante entender lógica de programação. Muitos dizem que Ladder, por ser uma linguagem simples que foi feita para eletricistas, não tem qualquer pré requisito. É só conhecer os comandos. Em parte isso é verdade mas não é tão simples assim. Tudo isso depende do equipamento, CLP, que você vai fazer.
Um CLP simples e antigo pode ser programado por qualquer pessoa dependendo do ciclo, mas algumas marcas de CLPs têm alguns pré-requisitos como instrumentação e eletrônica digital e a lógica de programação, a principal. Muitos podem dizer que isso não tem a ver. Mas essa é uma ferramenta poderosíssima na hora de programar. Usando ou lógica de programação ou estruturada ou com uso de fluxogramas, tudo fica mais fácil no programa e o principal: essa ferramenta te tira de qualquer apuro, naquelas horas em que, ao programar, você não sabe pra onde ir.

## Conhecendo um CLP

Um CLP pode ser dividido da seguinte maneira:
* ENTRADAS
* PROCESSAMENTO
* SAÍDAS
Onde: Entrada => Qualquer dispositivo que envie um sinal para o CLP
Saídas => Qualquer dispositivo que receba um sinal do CLP
Processamento => Bloco responsável pela leitura das entradas e execução das Saídas. Essa execução será feita respeitando a programação que foi enviada para o CLP.
Para o processamento do programa Ladder, para esse tipo de programação, é muito importante sabermos o tempo e o funcionamento do Scan (Varredoura), que nada mais é que o tempo que o processador lê as entradas e atualiza os valores no programa. Após isso ele executa as saídas. É também adicionado à varredura todos os outros programas que são fixos no processador como watch dog, e outros.

## Entender muito bem a tarefa

Para iniciar um programa em qualquer linguagem, a primeira coisa a fazer, que muitos esquecem, é o ciclo da máquina. Quando se tem o domínio desse pode-se facilmente criar um fluxograma. Fazendo assim, o programa perde um pouco de sua complexidade. Muitos pulam esse importante passo pois julgam ser apenas para iniciantes, mas, na verdade é uma boa documentação inicial de um programa e serve também para uma manutenção posterior.

## Conhecimento das ferramentas disponíveis 2 mais importante

Esse conhecimento também é imprescindível para um programador conhecer o funcionamento da ferramenta onde se vai programar. Juntei aqui algumas ferramentas genéricas, ou seja, que existem na maioria dos IDEs.

## Escrevendo o primeiro programa simples em linguagem textual

A linguagem textual a qual me refiro é uma linguagem que independe de sintaxes especiais, essa funciona como um fluxograma mas sem os símbolos.
Isso é feito por muitos programadores que não têm um tempo suficiente para fazer um fluxograma bem visual. Essa linguagem funciona como um pilar para sustentação do programa, mas o fluxograma é mais recomendado por ser bem mais visual, sem dizer que serve como uma boa documentação do programa.
Para iniciar nosso programa vamos imaginar um sistema simples de alimentação de uma esteira.
(figura)
Antes de iniciar qualquer ciclo é muito importante que saibamos qual será a posição inicial do sistema. Temos também que levar em consideração se essa posição inicial tem que ser forçada ou se ela é a posição natural do sistema.

## Maneiras de programar (dominó e borboleta)

Programando tive a oportunidade de conhecer dois caminhos para se programar. Esses caminhos não tem um nome definido, eu estou nomeando eles nesse livro apenas para diferenciá-los, pois cada programador adota um e eu repito eu que os estou nomeando.
O primeiro Dominó funciona como uma fila de dominós, a cada passo do programa construímos um selo que será um pré requisito para entrarmos no próximo passo. No final do ciclo todos os selos são derrubados e o programa fica na dependência de alguma coisa para iniciar o primeiro selo, esse acionamento normalmente é dado pelo operador ou por um dispositivo externo.
Esse método é o mais simples, pois você tem um controle muito grande sobre o ciclo e também, no start-up, você sempre saberá onde está o problema pois esse estará onde o selo não está energizado.
O segundo nomeei Borboleta, pois faço uma analogia desse método à teoria do efeito borboleta. Esse método consiste em um programa bem enxuto onde temos um selo principal que segura todo o programa que tem apenas uma linha por lógica, sem nenhum selo e sem o uso das bobinas set e reset.
Esse método é o mais complicado de se programar pois fica muito difícil fazer um programa usando poucos auxiliares, mas resulta em um programa de manutenção fácil e de uma maravilhosa visualização.

## Principais Fabricantes

Omron, Siemens, Allen Bradley, WEG, Scheneider, Atos, Delta, Mitsubishi entre outros.