Temporizadores
Esta página apresenta os itens de temporização no projeto, sendo associado ao Kernel, modelos ou ao Viewer.
Timers
Este item é utilizado para temporizar a execução de uma ação cíclica ou não,
que pode ser definida via Script. A temporização pode estar associada ao Kernel,
a modelos ou ao Viewer dependendo do local em que foi definida.
Identificação |
||
|---|---|---|
Propriedade |
Descrição |
Default |
Nome do item |
Define o nome do item que será exibido na árvore do painel de projeto e será utilizado quando necessário referenciar o mesmo. |
Item_NNN |
Comentário |
Permite a inclusão de um comentário acerca do objeto. Este campo não é obrigatório. |
(Nenhum) |
Timer
Este item configura um temporizador. Pode-se nele selecionar o script
a ser executado ao término de cada espera do temporizador, assim como
o tempo de espera e se a operação é cíclica ou não.
Identificação |
||
|---|---|---|
Propriedade |
Descrição |
Default |
Nome do item |
Define o nome do item que será exibido na árvore do painel de projeto e será utilizado quando necessário referenciar o mesmo. |
Item_NNN |
Comentário |
Permite a inclusão de um comentário acerca do objeto. Este campo não é obrigatório. |
(Nenhum) |
Argumentos |
Neste campo pode-se inserir uma string que será o valor da propriedade Argument do item. A string fornecida é uma forma geral de passagem de parâmetros para os scripts associados ao objeto durante sua execução. |
(Nenhum) |
Descrição |
Texto opcional que permite a inclusão de uma breve descrição do item associado. Este campo é apenas documental. |
(Nenhum) |
Propriedades Específicas |
||
|---|---|---|
Propriedade |
Descrição |
Default |
Inicia habilitado |
Define se o timer será ou não inicializado como habilitado. |
Não |
Cíclico |
Define se o timer terá ou não operação cíclica, ou seja, a execução do script será feita a partir do intervalo definido no campo intervalo. |
Não |
Intervalo (ms) |
Define o tempo de espera para execução do script associado. |
50000 |
Eventos |
||
|---|---|---|
Propriedade |
Descrição |
Default |
On Timer Script |
Ação a ser executada após o intervalo de espera definido no campo de intervalo. Necessita do nome do script a ser executado. |
(Nenhum) |
Gerenciamento de Temporizadores
Modelo de Dados
Fig. Modelo de dados
objTimerList = Timers.ListTimers()
Descrição:
retorna um objeto lista de timers.
Parâmetros de saída:
objTimerList - Lista de timers.
Exemplo de utilização:
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Retorna lista de timers
local timerlist =Timers.ListTimers()
-- lista todos os timers
for pos,t in ipairs(timerlist) do
printTimer(t)
end
objTimer = Timers.Get(string textTimerPath)
compativel versão >= 1.3.19
Descrição:
retorna um objeto timer.
Parâmetros de entrada:
textTimerPath - string com o caminho do timer.
Parâmetros de saída:
objTimer - Objeto timer. Se não existir retorna nil.
Exemplo de utilização:
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Obtem um objeto timer
local timer = Timers.Get("Viewers.Timers.Timer_001")
printTimer(timer)
objTimer = Timers.GetTimer(string textTimerPath) -Deprecated
compativel versão >= 1.3.18
Descrição:
Retorna um objeto timer. Esta função não deve ser utilizada nas versões maiores que 1.3.18.
Parâmetros de entrada
textTimerPath - string com o caminho do timer.
Parâmetros de saída:
objTimer - Objeto timer. Se não existir retorna nil.
Exemplo de utilização:
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Obtem um objeto timer
local timer = Timers.GetTimer("Viewers.Timers.Timer_001")
printTimer(timer)
Timer
ret = timer:Cancel() -Deprecated
compativel versão >= 1.3.18
Descrição:
Desabilita o timer. Esta função não deve ser utilizada nas versões maiores que 1.3.18.
Parâmetros de saída:
ret: Se a operação de desabilitar o timer ocorrer com sucesso retorna nil.
Exemplo de utilização
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Obtem um objeto timer
local timer = Timers.GetTimer("Viewers.Timers.Timer_001")
printTimer(timer)
-- Desabilita o timer
ret = timer:Cancel()
Sleep(1000) --Este tempo deve ser maior que o intervalo configurado para o timer
--Obtem objeto timer atualizado
local timer = Timers.GetTimer("Viewers.Timers.Timer_001")
printTimer(timer)
ret = timer:Disable()
compativel versão >= 1.3.19
Descrição:
Desabilita o timer.
Parâmetros de saída:
ret: Se a operação de desabilitar o timer ocorrer com sucesso retorna nil.
Exemplo de utilização:
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Obtem um objeto timer
local timer = Timers.Get("Viewers.Timers.Timer_001")
printTimer(timer)
-- Desabilita o timer
ret = timer:Disable()
Sleep(1000) --Este tempo deve ser maior que o intervalo configurado para o timer
--Obtem objeto timer atualizado
local timer = Timers.Get("Viewers.Timers.Timer_001")
printTimer(timer)
ret = timer:Enable(integer interval)
Descrição:
Habilita o timer com um intervalo de execução definido.
Parâmetros de entrada:
interval: Intervalo de tempo(ms) para execução do script associado ao timer. Se o intervalo for vazio ou zero desabilita a execução do timer.
Parâmetros de saída:
ret: Se a operação de habilitar o timer ocorrer com sucesso retorna nil.
Exemplo de utilização:
function printTimer(t)
print("Name = " .. t.Name)
print("IsCyclic = " .. tostring(t.IsCyclic))
print("ScriptName = " .. t.ScriptName)
print("Interval = " .. t.Interval)
print("Enabled = " .. tostring(t.Enabled))
end
-- Obtem um objeto timer
local timer = Timers.Get("Viewers.Timers.Timer_001")
-- Habilita timer
ret = timer:Enable(1000)
ret = timer:SetScript(string pathScript)
Descrição:
Define o script a ser executado pelo timer.
Parâmetros de entrada:
pathScript: Caminho completo do script a ser executado pelo timer.
Parâmetros de saída:
ret: Se a operação de associação do script ao timer ocorrer com sucesso retorna 0, caso contrario retorna -1.
Exemplo de utilização:
-- Troca dinâmica do script associado ao Timer
local timer = Timers.Get("Viewers.Timers.Timer_001")
print(timer.ScriptName)
ret = timer:SetScript("Viewers.Scripts.ScriptGroup_001.Script_001")
print("Ret = " .. ret)
local timer = Timers.Get("Viewers.Timers.Timer_001")
print(timer.ScriptName)
-- Se for um timer de instância, podemos acessar a variável "Instance"
origem = Instance.Name -- obtém o nome da instância a que pertence este timer
if (origem == "Injetora1") then
tag_path = "Instances.GrupoInjetor.Injetora1.Tags.Local.CfgGrp.Limite"
else
tag_path = "Instances.GrupoInjetor.Injetora2.Tags.Local.CfgGrp.Limite"
end
-- Acessa um Tag da instância
local Tag = Tags. Get(tag_path)
local err = Tag: ReadCache()
if err == 0 then -- sucesso na leitura
x = Tag.Value
-- incrementa o valor do Tag
x = x + 10;
if (x > 200) then
x = 0
end
Tag.Value = x
Tag:WriteValue()
end