Estou criando uma lógica em um data source meta, e quando a executo o Scada até trava com incontáveis mensagens com este erro:
’Teste Hidrantes Meta’: Erro de script no data point “SaidaDSM_1”: Não foi possível converter resultado “org.mozilla.javascript.Undefined@f7aa8a” para Numérico
A sua função ou possui um return que não informa um valor numérico ou o não possui um return.
Provavelmente deve haver um problema de lógica no seu script. Corrigindo o problema o erro sumirá.
Caso você queira testar: procure comentar o código de seu script e substituí-lo apenas por uma linha contendo return 123;. O valor deverá ficar fixo em 123; se o erro continuar ocorrendo, aí pode ser um problema mais sério.
@Celso, então, continuou com o erro, porém, em minha lógica havia dois “if’s”, e quando retirei um deles o resulto saiu correto. O Data source meta não aceita um if dentro de outro?
Em tese aceita todo código válido para a biblioteca Rhino (é uma mistura de Javascript com Java), então deveria aceitar sim. Se você puder mandar um print/trecho do código fica mais fácil de analisar se existe algum erro de sintaxe.
No começo eu sofri para achar a documentação porque o site da Rhino é confuso e alguns links que eu procurei estavam quebrados. Mas finalmente achei esse site com a documentação (em inglês):