O BLOCODE pode ser utilizado para qualquer tipo de microcontrolador. Para deixar tudo ainda mais flexível, o usuário pode definir o conteúdo de diversas partes do software como declarações globais e as funções plc_setup()
, plc_scan()
e plc_loop()
.
O programa do usuário (que fica na área de desenho e será chamado de programa em blocos) no BLOCODE é executado num loop contínuo junto com essas funções. A sequência é a seguinte:
Inicialização:
plc_setup()
;Loop:
plc_scan()
;plc_loop()
;O programa gerado começa executando a Global Area e depois plc_setup()
. Depois, o programa fica em loop contínuo executando plc_scan()
, o programa do usuário e plc_loop()
.
No menu Projeto Global Area você pode fazer declarações que devem ser globais para o programa.
Em geral, essa área é usada para declarar as variáveis associadas aos pinos de entrada e saída ou incluir bibliotecas extras para o projeto. Por exemplo:
#define PLC_I1_PIN 10
#define PLC_O1_PIN 13
BOOL PLC_I1 = 0;
BOOL PLC_O1 = 0;
Aqui definimos as variáveis PLC_I1
e PLC_O1
que serão posteriormente utilizadas no projeto. Também definimos, através do #define
, pinos físicos para associar essas variáveis posteriormente.
Nessa função colocamos comandos para serem executados ao ligar o dispositivo. Aqui geralmente configuramos os pinos de entrada e saída. Por exemplo:
pin_mode(PLC_I1_PIN, INPUT);
pin_mode(PLC_O1_PIN, OUTPUT);
Nessa função colocamos o que deve ser executado antes do programa em blocos. Geralmente fazemos a leitura das entradas. Por exemplo:
PLC_I1 = digitalRead(PLC_I1_PIN);
Nessa função colocamos o que deve ser executado após o programa em blocos. Geralmente fazemos a escrita nas saídas, associando as variáveis com os pinos físicos. Por exemplo:
digitalWrite(PLC_O1_PIN, PLC_O1);