io (inputs & outputs)
io
Função global utilizada para realizar leitura e controle das IOs (DIs, DOs, AIs e AOs).
io.readDI
Retorna o status booleano da entrada digital solicitada.
io.readDI(DI);
Resposta: true/false
Exemplo
Saber o status booleano na entrada digital 2 (DI2):
io.readDI(2);
Resposta: true
(nível lógico alto / em 1) ou false
(nível lógico baixo / em 0) .
io.readDO
Retorna o status booleano da saída digital solicitada. Caso precise ler o status da saída de erro, o valor -1
corresponde a saída de erro 1 e o valor -2
a saída de erro 2.
io.readDO(DO);
Resposta: true/false
Exemplo
Saber o status booleano na saída digital 3 (DO3):
io.readDO(3);
Resposta: true
(nível lógico alto / em 1) ou false
(nível lógico baixo / em 0) .
io.setDO
Seta o status booleano da saída digital solicitada. Caso precise comandar a saída de erro, o valor -1
corresponde a saída de erro 1 e o valor -2
a saída de erro 2.
io.setDO(DO, value);
Resposta: true/false
Exemplo
Comutar a saída digital 4 (DO4) para nível lógico alto (em 1):
io.setDO(4, true);
Resposta: Responde se o comando foi aceito (true
) ou o comando foi recusado (false
) devido a presença da variável de controle das DOs.
io.readAI
Retorna o valor lido na entrada digital solicitada na escala de real já interpolada, de acordo com o tipo de sinal de entrada.
io.readAI(AI, mode, y0, y1);
mode | Descrição |
---|---|
"i" | entrada de corrente 4-20 mA |
"i1" | entrada de corrente 0-20 mA |
"v" | entrada de tensão 0-10 V |
"v1" | entrada de tensão 2-10 V |
"v2" | entrada de tensão 0-5 V |
"v3" | entrada de tensão 1-5 V |
"v4" | entrada de tensão 0-3.3 V |
Resposta: float
em escala real de acordo com os parâmetros de entrada configurados para interpolação linear.
Exemplo
Saber o valor em escala real para um sensor conectado na entrada analógica 1 (AI1).
Características do sensor Modo: corrente 4-20 mA; Escala: conversão 0 a 10 unidades reais (exemplo 0 a 10 metros).
io.readAI(1, 'i', 0, 10);
Resposta: float
interpolado para escala do sensor.
io.readAIraw
Retorna o valor lido na entrada digital solicitada na escala de engenharia.
io.readAIraw(AI);
Resposta: int
em escala de engenharia (8 bits ou 12 bits conforme modelo)
Para mais informações sobre a escala de engenharia consultar guia de escala das variáveis analógicas
io.do_lastchange
Retorna o tempo em milissegundos desde a última mudança do status da entrada digital solicitada.
io.do_lastchange(DO, status = any);
Resposta: int
tempo em milissegundos desde a última mudança.
O parâmetro status é um parâmetro booleano opcional para indicar qual o status deve ser retornado. Por exemplo, se o interesse for só pelo status de tempo da saída digital em true, o parâmetro só vai retornar o tempo desde a última mudança se a saída digital estiver em true.
Exemplo 1
Saber o tempo desde que a saída digital foi comutada, sem se importar se o status atual dela é true/false
.
io.do_lastchange(1);
Resposta: int
tempo desde que a saída digital foi comutada.
Exemplo 2
Saber o tempo desde que a saída digital foi comutada, mas somente se a respectiva saída digital estiver em true
.
io.do_lastchange(1, true);
Resposta: int
caso a saída digital esteja em false será retornado 0
. Caso a saída digital esteja em true
será retornado o tempo desde que a saída digital foi comutada (nesse caso de false
para true
).
di
Função global utilizada para realizar leitura de dados obtidos através da entradas digitais (DIs).
di.setDIcicles
Seta o número de ticks do processador para considerar uma mudança de status da entrada digital. O mesmo parâmetro definido em webserver. Essa função deve ser chamada na inicialização do programa.
di.setDIcicles(ticks);
di.lastchange
Retorna o tempo em milissegundos desde a última mudança do status da entrada digital solicitada.
di.lastchange(DI, status = any);
Resposta: int
tempo em milissegundos desde a última mudança.
O parâmetro status é um parâmetro booleano opcional para indicar qual o status deve ser retornado. Por exemplo, se o interesse for só pelo status de tempo da entrada digital em true, o parâmetro só vai retornar o tempo desde a última mudança se a entrada digital estiver em true.
Exemplo 1
Saber o tempo desde que a entrada digital foi comutada, sem se importar se o status atual dela é true/false
.
di.lastchange(1);
Resposta: int
tempo desde que a entrada digital foi comutada.
Exemplo 2
Saber o tempo desde que a entrada digital foi comutada, mas somente se a respectiva entrada digital estiver em true
.
di.lastchange(1, true);
Resposta: int
caso a entrada digital esteja em false será retornado 0
. Caso a entrada digital esteja em true
será retornado o tempo desde que a entrada digital foi comutada (nesse caso de false
para true
).
di.timer
Retorna o horímetro em segundos desde o último reset do contador da respectiva entrada digital. Tanto o contador de nível alto quanto o de nível baixo registram o tempo considerando o tempo que o equipamento ficou ligado, desconsiderando o tempo que o equipamento não esteve energizado.
di.timer(DI, status = true, period = 'g');
Resposta: int
tempo em segundos desde o último reset do contador.
Onde:
- DI: número da entrada digital solicitada;
- status: contador de tempo para nível alto (true) ou nível baixo (false), se não informado: true;
- period: período de contagem do horímetro, sendo os possíveis valores;
'g'
: geral/global (valor padrão, se não informado);'d'
: Tempo no dia atual;'m'
: Tempo no mês atual;'y'
: Tempo no ano atual;
Exemplo 1
Retornar o tempo do horímetro em nível alto na entrada digital 1.
di.timer(1, true);
Resposta: int
tempo em segundos que a entrada digital 1 ficou em high
desde o último reset.
Exemplo 2
Retornar o tempo do horímetro em nível baixo na entrada digital 1.
di.timer(1, false);
Resposta: int
tempo em segundos que a entrada digital 1 ficou em low
desde o último reset.
Exemplo 3
Retornar o tempo do horímetro do dia em nível alto na entrada digital 1.
di.timer(1, true, 'd');
Resposta: int
tempo em segundos que a entrada digital 1 ficou em high
no dia atual.
Exemplo 4
Retornar o tempo do horímetro do mês em nível baixo na entrada digital 2.
di.timer(2, false, 'm');
Resposta: int
tempo em segundos que a entrada digital 2 ficou em low
no mês atual.
Exemplo 5
Retornar o tempo do horímetro do ano em nível alto na entrada digital 1.
di.timer(1, true, 'y');
Resposta: int
tempo em segundos que a entrada digital 1 ficou em high
no ano atual.
di.timer_m
Retorna o horímetro em minutos, basicamente a mesma função di.timer
divido por 60 para a resposta ser em minutos.
di.timer_m(DI, status = true);
Resposta: double
tempo em minutos desde o último reset do contador.
Exemplo 1
Retornar o tempo do horímetro em nível alto na entrada digital 1.
di.timer_m(1, true);
Resposta: double
tempo em minutos que a entrada digital 1 ficou em high
desde o último reset.
Exemplo 2
Retornar o tempo do horímetro em nível baixo na entrada digital 1.
di.timer_m(1, false);
Resposta: double
tempo em minutos que a entrada digital 1 ficou em low
desde o último reset.
di.timer_h
Retorna o horímetro em horas, basicamente a mesma função di.timer
divido por 3600 para a resposta ser em minutos.
di.timer_h(DI, status = true);
Resposta: double
tempo em horas desde o último reset do contador.
Exemplo 1
Retornar o tempo do horímetro em nível alto na entrada digital 1.
di.timer_h(1, true);
Resposta: double
tempo em horas que a entrada digital 1 ficou em high
desde o último reset.
Exemplo 2
Retornar o tempo do horímetro em nível baixo na entrada digital 1.
di.timer_h(1, false);
Resposta: double
tempo em horas que a entrada digital 1 ficou em low
desde o último reset.
di.timer_adjust
Altera o valor salvo no registrador do horímetro em segundos.
Essa função escreve na memória retentiva do equipamento, não utilize ela em escritas repetidas exaustivas pois isso afeta a vida útil da memória retentiva.
di.timer_adjust(DI, value, status = true, period = 'g');
Resposta: true/false
.
Onde:
- DI: número da entrada digital solicitada;
- value: valor em segundos para ajustar o horímetro;
- status: contador de tempo para nível alto (true) ou nível baixo (false), se não informado: true;
- period: período de contagem do horímetro, sendo os possíveis valores;
'g'
: geral/global (valor padrão, se não informado);'d'
: Tempo no dia atual;'m'
: Tempo no mês atual;'y'
: Tempo no ano atual;
Exemplo 1
Ajustar o tempo do horímetro em nível alto na entrada digital 1 para o valor 0.
di.timer_adjust(1, 0, true);
Resposta: true/false
.
Exemplo 2
Ajustar o tempo do horímetro em nível baixo na entrada digital 1 para o valor 0.
di.timer_adjust(1, 0, false);
Resposta: true/false
.
Exemplo 3
Ajustar o tempo do horímetro do dia em nível alto na entrada digital 1 para o valor 3600 (1 hora).
di.timer_adjust(1, 3600, true, 'd');
Resposta: true/false
.
Exemplo 4
Ajustar o tempo do horímetro do mês em nível baixo na entrada digital 2 para o valor 7200 (2 horas).
di.timer_adjust(2, 7200, false, 'm');
Resposta: true/false
.
Exemplo 5
Ajustar o tempo do horímetro do ano em nível alto na entrada digital 1 para o valor 0.
di.timer_adjust(1, 0, true, 'y');
Resposta: true/false
.
di.pulse
Retorna a contagem de pulsos acumulados desde o último reset do contador da respectiva entrada digital solicitada.
di.pulse(DI, mode = true, period = 'g');
Resposta: int
contagem de pulsos desde o último reset do respectivo contador.
Onde:
- DI: número da entrada digital solicitada;
- mode: contador de pulsos para bordas de subida (true) ou bordas de descidas (false), se não informado: true;
- period: período de contagens do contador, sendo os possíveis valores;
'g'
: geral/global (valor padrão, se não informado);'d'
: Quantidade de pulsos no dia atual;'m'
: Quantidade de pulsos no mês atual;'y'
: Quantidade de pulsos no ano atual;
Exemplo 1
Verificar a contagem de pulsos do contador de bordas de subida na DI1.
di.pulse(1);
Resposta: int
contagem de pulsos desde o último reset do contador.
Exemplo 2
Verificar a contagem de pulsos do dia do contador de bordas de subida na DI1.
di.pulse(1, 'd');
Resposta: int
contagem de pulsos do dia atual.
Exemplo 3
Verificar a contagem de pulsos do mês do contador de bordas de descida na DI1.
di.pulse(1, false, 'm');
Resposta: int
contagem de pulsos das bordas de descidas do mês atual.
di.pulse_adjust
Altera o valor salvo no registrador do contador de pulsos.
Essa função escreve na memória retentiva do equipamento, não utilize ela em escritas repetidas exaustivas pois isso afeta a vida útil da memória retentiva.
di.pulse_adjust(DI, value, mode = true, period = 'g');
Resposta: true/false
.
Exemplo 1
Ajustar o contador de pulsos da entrada digital 1 para o valor 0.
di.pulse_adjust(1, 0);
Resposta: true/false
.
Exemplo 2
Ajustar o contador de pulsos do dia da entrada digital 1 para o valor 100.
di.pulse_adjust(1, 100, true, 'd');
Resposta: true/false
.
Exemplo 3
Ajustar o contador de pulsos do mês das bordas de descida da entrada digital 1 para o valor 50.
di.pulse_adjust(1, 50, false, 'm');
Resposta: true/false
.
Exemplo 4
Ajustar o contador de pulsos do ano da entrada digital 2 para o valor 1000.
di.pulse_adjust(2, 1000, true, 'y');
Resposta: true/false
.