Witam,
w node.js korzystam z następującej biblioteki (nodes7):
Aktualnie skupiam się jedynie na odczycie danych "readAllItems".
Pytanie brzmi, czy da się przekształcić poniższy kod na funkcję typu promises tak aby po wywołaniu (async await) zwróciła mi otrzymane dane tj. values z valuesReady?
Założenia:
do funkcji **initiateConnection **muszę przekazać parametr adr = '192.168.0.5',
do funkcji connected chcę przekazać parametr variables = {// adresy zmiennych do odczytu}
i na koniec z funkcji valuesReady zwrócić otrzymane dane
var nodes7 = require('nodes7');
var conn = new nodes7;
var doneReading = false;
var doneWriting = false;
var variables = {
TEST5: 'DB1,REAL4',
};
conn.initiateConnection({port: 102, host: '192.168.0.2', rack: 0, slot: 1}, connected);
function connected(err) {
if (typeof(err) !== "undefined") {
// We have an error. Maybe the PLC is not reachable.
console.log(err);
process.exit();
}
conn.setTranslationCB(function(tag) {return variables[tag];});
conn.addItems(['TEST5']);
conn.readAllItems(valuesReady);
}
function valuesReady(anythingBad, values) {
if (anythingBad) { console.log("SOMETHING WENT WRONG READING VALUES!!!!"); }
console.log(values); // <------------ TUTAJ OTRZYMUJĘ ODCZYTANE DANE
doneReading = true;
if (doneWriting) { process.exit(); }
}