Para criar uma Função, acesse Blocos Criar/Editar Função. Será solicitado que você dê um nome para a Função (não utilize nomes que já existem na biblioteca padrão do BLOCODE).
Após escolher um nome para o bloco, será apresentada a tela para editar o código da Função.
Neste exemplo o nome da Função foi "MYFUNC". O BLOCODE preenche automaticamente os locais necessários com o nome da função.
Na aba HEADER .h é gerado o seguinte código:
//##BLOCK
//##NAME MYFUNC
//##ISFUNCTION
//##DESCRIPTION Block small description
/*
//##DOC
Bloc documentation..
- You can use `Markdown`
//##ENDDOC
*/
#define MYFUNC_type BOOL
/*************************
//##VAR_INPUT
BOOL I1;
SINT I2;
//##END_VAR
//##VAR_OUTPUT
MYFUNC_type Q;
//##END_VAR
*************************/
MYFUNC_type MYFUNC(BOOL I1, SINT I2);
//##END_BLOCK
É possível editar as variáveis de entrada e saída do bloco e as seguintes informações:
Markdown
para o texto.#define MYFUNC_type BOOL
trocando BOOL
pelo tipo de dado que sua função irá retornar, se necessário.//##VAR_INPUT
e //##END_VAR
. E as variáveis de saída são colocadas uma por linha entre //##VAR_OUTPUT
e //##END_VAR
.NOTA: Edite também a linha MYFUNC_type MYFUNC(BOOL I1, SINT I2);
para que as variáveis fiquem iguais as definidas acima. Por exemplo, se foi definido o seguinte:
//##VAR_INPUT
BOOL I1;
SINT I2;
UINT I3
//##END_VAR
Então a linha em questão deverá ficar: MYFUNC_type MYFUNC(BOOL I1, SINT I2, UINT I3);
. A ordem dos parãmetros deve ser igual a ordem definida entre //##VAR_INPUT
e \\##END_VAR
.
Na aba IMPLEMENTATION .c é gerado o seguinte código:
MYFUNC_type MYFUNC(BOOL I1, SINT I2){
if(I1 == 0){
return I2;
}
return 0;
}
NOTA: Aqui também deve-se editar a linha MYFUNC_type MYFUNC(BOOL I1, SINT I2){
de modo que os parâmetros fiquem iguais aos da aba HEADER .h.
A função MYFUNC
é executada a cada ciclo de execução do programa. A variável st
é um ponteiro para a estrutura de dados do bloco. O usuário deve editar essa função para que a Função tenha o comportamento desejado.