CODESYS
CODESYS (Acrônimo do inglês Controller Development System, também estilizado como CoDeSys) é um ambiente de desenvolvimento para controladores programáveis de acordo com a norma IEC 61131-3.
Introdução
[editar | editar código-fonte]O CODESYS é desenvolvido e comercializado pela 3S-Smart Software Solutions GmbH, uma empresa alemã situada na cidade de Kempten, na Baviera. A versão 1.0 foi lançada em 1994 e atualmente encontra-se na versão 3.5. Sua interface de desenvolvimento é gratuita e não é orientado à um tipo específico de hardware de controlador programável ou sistema embarcado, inclusive não dependendo do fabricante do hardware. É amplamente utilizado na indústria para diversos tipos de automações, variando de lógicas simples à robótica, controle de movimento e CNC. [1]
Engenharia
[editar | editar código-fonte]Todas as cinco linguagens de programação definidas na IEC 61131-3[2] estão disponíveis na interface de desenvolvimento do CODESYS e podem ser utilizadas em uma mesma aplicação. São elas:
- ST (Structured Text) Texto Estruturado
- IL (Instruction List) Lista de Instruções
- SFC (Sequential Flow Chart) Diagrama de Fluxo
- LD (Ladder) Linguagem ladder
- FBD (Function Block Diagram) Diagrama de bloco
O CODESYS contêm adicionalmente a linguagem gráfica CFC (do inglês Continuous Function Chart) que não é descrita na IEC 61131-3, que pode ser compreendida como um diagrama de blocos com posicionamento livre, onde o programador pode posicionar os blocos e efetuar a conexões de dados utilizando o mouse com funções do tipo arrastar e soltar.
O compilador interno monta o código de máquina (código binário) a partir da aplicação desenvolvida e transfere ao dispositivo de destino, a partir do qual é possível testar o sistema utilizando os avançados recursos de depuração (debug), como a monitoração de variáveis, breakpoints, osciloscópio e data-logger. Na ausência de um dispositivo também é possível executar a simulação da aplicação.[3]
Tipos de Variáveis
[editar | editar código-fonte]Abaixo estão as definições de tipos de variáveis utilizadas no CODESYS:[4]
Tipo | Memória | Limite Mínimo | Limites Máximo | Observações |
---|---|---|---|---|
BOOL | 1 bit | False (0) | True (1) | |
BYTE | 8 bits | 0 | 255 | |
WORD | 16 bits | 0 | 65535 | |
DWORD | 32 bits | 0 | 4294967295 | |
LWORD | 64 bits | 0 | 264-1 | |
SINT | 8 bits | -128 | 127 | |
USINT | 8 bits | 0 | 255 | |
INT | 16 bits | -32768 | 32767 | |
UINT | 16 bits | 0 | 65535 | |
DINT | 32 bits | -2147483648 | 2147483647 | |
UDINT | 32 bits | 0 | 4294967295 | |
LINT | 64 bits | -263 | 263-1 | |
ULINT | 64 bits | 0 | 264-1 | |
REAL | 32 bits | -3.402823e+38
|
3.402823e+38 | |
LREAL | 64 bits | -1.7976931348623158e+308 | 1.7976931348623158e+308 | |
TIME | 32 bits | 0 ms | 4294967295 ms | |
TIME_OF_DAY | 32 bits | 0 (00:00:00AM:000) | 4294967295 (11:59:59 PM:999) | |
LTIME | 64 bits | 0 | 213503d23h34m33s709ms551us615ns | |
DATE | 32 bits | 0 (01.01.1970) | 4294967295 (2106-02-07) | |
DATE_AND_TIME | 32 bits | 0 (1970-01-01, 00:00:00) | 4294967295 (2106-02-07,06:28:15) | |
STRING | 1 byte por caractere + 1 | Codificação ASCII | ||
WSTRING | 1 byte por caractere + 1 | Codificação Unicode |
A alocação de memória para variáveis do tipo STRING e WSTRING depende da declaração, se não for definida uma dimensão o sistema alocará 80 caracteres para a variável por padrão. A memória alocada sempre será 1 byte por caractere + 1 byte (por exemplo: a declaração STRING[67]ocupará 68 bytes na memória).
Runtime
[editar | editar código-fonte]Implementando o CODESYS Runtime System em um Sistema embarcado, por exemplo, é possível programa-lo através da Interface de Desenvolvimento CODESYS. O Runtime pode ser implementado em diversos dispositivos atualmente (como o Raspberry Pi), limitando aos recursos disponíveis, porém, diferente da Interface de Desenvolvimento, o Sistema de Runtime não é totalmente gratuito, dependendo de Licenciamento para operar em equipamentos para produção.[5]
Tecnologia Fieldbus
[editar | editar código-fonte]Vários tipos de redes de comunicação industrial, também conhecidos como bus de campo, podem ser utilizadas, como PROFIBUS, EtherCAT, CANopen, PROFINET e Ethernet/IP que podem depender do hardware do sistema. Alguns protocolos podem ser encontrados em alguns sistemas no formato de bibliotecas adicionais e também podem depender ou não de hardware específico.
Visualização
[editar | editar código-fonte]Um sistema integrado ao ambiente de desenvolvimento do código permite a criação de interfaces manipuláveis utilizando botões, textos dentre outros elementos dinâmicos que podem ser conectados às variáveis do projeto. Estas interfaces gráficas podem ser usadas para facilitar o comissionamento e testes de equipamentos tanto durante o desenvolvimento aliado, por exemplo, à simulação, ou refletindo o estado real do equipamento conectado.
Existe a possibilidade de utilizar estes recursos em dispositivos de visualização dedicados, permitindo o uso como terminal de operação dos equipamentos após a fase de desenvolvimento.
SoftMotion
[editar | editar código-fonte]Trata-se de uma solução modular para controle de movimentos complexos com um controlador programável que atenda a IEC 61131-3, está completamente integrado ao ambiente do CODESYS, fornecendo:
- Bibliotecas para decodificação, interpolação, Transformadas cinemáticas, e controle de movimento de acordo com as diretivas da PLCopen MotionControl.[6]
É possível obter bibliotecas completas para controle de robôs paralelos, ou tipo SCARA, por exemplo, sem necessidade de desenvolver a cinemática e permitindo integrar com a lógica do ambiente em um único controlador.[7]
Segurança - Safety
[editar | editar código-fonte]O CODESYS pode incluir o sistema de segurança no mesmo projeto de controle com categoria SIL2 ou SIL3, dependendo da aplicação e do controlador programável.[8]
Uso na indústria
[editar | editar código-fonte]Diversos fabricantes de controladores programáveis utilizam a plataforma CODESYS. Em alguns casos a plataforma é personalizada para adicionar recursos próprios dos fabricantes, ou bibliotecas dedicadas.
O CODESYS Device Directory é uma lista com vários equipamentos que utilizam a tecnologia CODESYS, onde os engenheiros e técnicos do setor podem comparar diferentes recursos disponíveis.
Referências
- ↑ «Título ainda não informado (favor adicionar)». www.codesys.com
- ↑ «Título ainda não informado (favor adicionar)». www.plcopen.org
- ↑ «Título ainda não informado (favor adicionar)» (PDF). www.codesys.com
- ↑ «Título ainda não informado (favor adicionar)». help.codesys.com
- ↑ «Título ainda não informado (favor adicionar)». www.codesys.com
- ↑ «Título ainda não informado (favor adicionar)». www.plcopen.org
- ↑ «Título ainda não informado (favor adicionar)». www.codesys.com
- ↑ «Título ainda não informado (favor adicionar)». www.codesys.com