You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! now i have a problem when i called the function readAllItems or writeItems, there is a part in the code that block
if (self.isWriting() || self.writeInQueue) {
outputLog("You must wait until all previous writes have finished before scheduling another. ", 0, self.connectionID);
return 1; // Watch for this in your code - 1 means it hasn't actually entered into the queue.
}
//readAllItems
if (self.isWaiting()) {
outputLog("Waiting to read for all R/W operations to complete. Will re-trigger readAllItems in 100ms.", 0, self.connectionID);
clearTimeout(self.rereadTimer);
self.rereadTimer = setTimeout(function() {
self.rereadTimer = undefined; //already fired, can safely discard
self.readAllItems.apply(self, arguments);
}, 100, arg);
return;
}
in the logs, just show the outputlog of this two codes, and don't continue with the rest of the code, i know that because there are other logs that should show up but don't.
here my code:
exports.getPLCValues = function(s7) {
logger.verbose('<INVOKE> controller:getPLCValues');
/**
* Returns the values readed from the plc or an error
*/
return new Promise((resolve, reject) => {
/**
* Call the method of the nodes7 library to read the variables
* indicated when the s7 connection started.
*/
s7.readAllItems(function(anythingBad, values) {
logger.debug('Reading values from PLC.');
if (anythingBad) {
logger.error(
'<RETURN> controller:valuesReady Something went wrong reading values.'
);
const err = 'Something went wrong reading values.';
reject(err);
}
logger.verbose('<RETURN> controller:getPLCValues');
resolve(values);
});
});
};
exports.setPLCValues = function(variable, value, nodes7) {
logger.verbose('<INVOKE> controller:setPLCValues Variable to write: ' +
variable + ', value to set: ' + value);
/**
* Returns the values readed from the plc or an error
*/
return new Promise((resolve, reject) => {
/**
* Call the method of the nodes7 library to read the variables
* indicated when the s7 connection started.
*/
nodes7.writeItems(variable, value, function(anythingBad) {
logger.debug('Setting: ' + variable + ', to: ' + value);
if (anythingBad) {
logger.error(
'<RETURN> controller:valuesReady Something went wrong writing values. ' + anythingBad
);
const err = 'Something went wrong writing values';
reject(err);
}
logger.verbose('<RETURN> controller:setPLCValues');
resolve('success');
});
});
};
I don't really know why this happen, and i hope anyone can help me. If you need more information please tell me. Thank!
The text was updated successfully, but these errors were encountered:
Hi! now i have a problem when i called the function readAllItems or writeItems, there is a part in the code that block
in the logs, just show the outputlog of this two codes, and don't continue with the rest of the code, i know that because there are other logs that should show up but don't.
here my code:
I don't really know why this happen, and i hope anyone can help me. If you need more information please tell me. Thank!
The text was updated successfully, but these errors were encountered: