Alguém pode me explicar este erro?

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.

1 curtida

@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.

Segue print do código que produzia este erro. Mas como comentei, após incrementar um if dentro do outro ele funciona perfeitamente.

A propósito, tem algum arquivo ou tutorial, sei la, que pudesse me auxiliar no estudo dessa “linguagem”?

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):

1 curtida