Hallo,
Ik heb al gezocht en aan een oplossing zitten denken maar ik begrijp me er nog steeds niet zo goed uit, vandaar dat ik het hier even vraag.
Ik moet met javascript visualisaties maken van parameters uit een PLC (Programmable Logic Controller) zodat wanneer mijn html pagina op de controller geplaatst wordt, men er naartoe kan surfen en de status van digitale en analoge in/uitgangen kan bekijken. Hier heb ik een functie (die niet werkt) die met behulp van een SSI commando de waarde van een bepaald adres in de PLC gaat opvragen.
[JS]
function readData(adres){
var url = getUrl();
var value;
$.get(url + '/READPI?ADR=' + adres + '&FORMAT=%d', function(data){value = data;});
return value;
}
[/JS]
Het SSI commando stuur ik met behulp met van een functie van Jquery, namelijk $.get(). De controller antwoord hierop met een bepaalde decimale waarde en ik weet dat deze waarde in de variabele 'data' terecht komt, maar de variabele 'data bestaat enkel in de scope van de callback functie. Ik zou graag deze variabele overal in mijn script willen kunnen gebruiken door bijvoorbeeld er voor te zorgen dat de functie 'readData', de variabele 'data' of de waarde in 'data' als return parameter heeft.
het enige dat me niet lijkt te lukken is de data returnen op een bepaalde manier, verder is er niets mis met de functie getUrl() en het SSI commando, ik wil gewoon de variabele data die enkel beschikbaar is in de callback functie, beschikbaar maken buiten deze functie.
Hopelijk heb ik mezelf een beetje goed kunnen uitleggen en weet er iemand misschien een oplossing.
grtz stijn
Ik heb al gezocht en aan een oplossing zitten denken maar ik begrijp me er nog steeds niet zo goed uit, vandaar dat ik het hier even vraag.
Ik moet met javascript visualisaties maken van parameters uit een PLC (Programmable Logic Controller) zodat wanneer mijn html pagina op de controller geplaatst wordt, men er naartoe kan surfen en de status van digitale en analoge in/uitgangen kan bekijken. Hier heb ik een functie (die niet werkt) die met behulp van een SSI commando de waarde van een bepaald adres in de PLC gaat opvragen.
[JS]
function readData(adres){
var url = getUrl();
var value;
$.get(url + '/READPI?ADR=' + adres + '&FORMAT=%d', function(data){value = data;});
return value;
}
[/JS]
Het SSI commando stuur ik met behulp met van een functie van Jquery, namelijk $.get(). De controller antwoord hierop met een bepaalde decimale waarde en ik weet dat deze waarde in de variabele 'data' terecht komt, maar de variabele 'data bestaat enkel in de scope van de callback functie. Ik zou graag deze variabele overal in mijn script willen kunnen gebruiken door bijvoorbeeld er voor te zorgen dat de functie 'readData', de variabele 'data' of de waarde in 'data' als return parameter heeft.
het enige dat me niet lijkt te lukken is de data returnen op een bepaalde manier, verder is er niets mis met de functie getUrl() en het SSI commando, ik wil gewoon de variabele data die enkel beschikbaar is in de callback functie, beschikbaar maken buiten deze functie.
Hopelijk heb ik mezelf een beetje goed kunnen uitleggen en weet er iemand misschien een oplossing.
grtz stijn