Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modbus.tcp.connect(502 , 'AServer', {debug:null},(err, connection) => {
- if (err) {
- console.log(`Error Message ${err.message}`);
- throw err;
- }
- console.log("Connection established");
- console.log('Hello Loop');
- setInterval(() => {
- console.log('Start');
- startTime = process.hrtime();
- async.series([
- (next) => {
- let value=0, beenHere1=false, beenHere2=false, beenHere3=false, beenHere4=false, beenHere5=false, beenHere6=false, beenHere7=false,
- beenHere8=false, beenHere9=false, beenHere10=false;
- connection.readHoldingRegisters({ address: 0x0029, quantity: 10}, (err, res) => {
- if (err) throw err;
- // console.log(`Μηχανή 1 Counter ${res.response.data[0].readUInt16BE(0)}`);
- value = res.response.data[0].readUInt16BE(0);
- //detect value zeroing
- if (value===0) counter1=0;
- //application load
- if ((counter1 < value) && beenHere1===false) {
- counter1 = value;
- storeCounter(1, counter1);
- beenHere1=true;
- }
- //store the value if the it has been incremented
- while (value - counter1){
- counter1++;
- storeCounter(1, (counter1));;
- }
- // console.log(`Μηχανή 2 Counter ${res.response.data[1].readUInt16BE(0)}`);
- value = res.response.data[1].readUInt16BE(0);
- if (value===0) counter2=0;
- if ((counter2 < value) && beenHere2===false) {
- counter2 = value;
- storeCounter(2, counter2);
- beenHere2=true;
- }
- while (value - counter2){
- counter2++;
- storeCounter(2, (counter2));;
- }
- // console.log(`Μηχανή 3 Counter ${res.response.data[2].readUInt16BE(0)}`);
- value = res.response.data[2].readUInt16BE(0);
- if (value===0) counter3=0;
- if ((counter3 < value) && beenHere3===false) {
- counter3 = value;
- storeCounter(3, counter3*2); //Two pieces per pressing
- beenHere3=true;
- }
- while (value - counter3){
- counter3++;
- storeCounter(3, (counter3*2));;
- }
- // console.log(`Μηχανή 4 Counter ${res.response.data[3].readUInt16BE(0)}`);
- value = res.response.data[3].readUInt16BE(0);
- if (value===0) counter4=0;
- if ((counter4 < value) && beenHere4===false) {
- counter4 = value;
- storeCounter(4, counter4);
- beenHere4=true;
- }
- while (value - counter4){
- counter4++;
- storeCounter(4, (counter4));;
- }
- // console.log(`Μηχανή 5 Counter ${res.response.data[4].readUInt16BE(0)}`);
- value = res.response.data[4].readUInt16BE(0);
- if (value===0) counter5=0;
- if ((counter5 < value) && beenHere5===false) {
- counter5 = value;
- storeCounter(5, counter5);
- beenHere5=true;
- }
- while (value - counter5){
- counter5++;
- storeCounter(5, (counter5));;
- }
- // console.log(`Μηχανή 6 Counter ${res.response.data[5].readUInt16BE(0)}`);
- value = res.response.data[5].readUInt16BE(0);
- if (value===0) counter6=0;
- if ((counter6 < value) && beenHere6===false) {
- counter6 = value;
- storeCounter(6, counter6);
- beenHere6=true;
- }
- while (value - counter6){
- counter6++;
- storeCounter(6, (counter6));;
- }
- // console.log(`Μηχανή 7 Counter ${res.response.data[6].readUInt16BE(0)}`);
- value = res.response.data[6].readUInt16BE(0);
- if (value===0) counter7=0;
- if ((counter7 < value) && beenHere7===false) {
- counter7 = value;
- storeCounter(7, counter7);
- beenHere7=true;
- }
- while (value - counter7){
- counter7++;
- storeCounter(7, (counter7));;
- }
- // console.log(`Μηχανή 8 Counter ${res.response.data[7].readUInt16BE(0)}`);
- value = res.response.data[7].readUInt16BE(0);
- if (value===0) counter8=0;
- if ((counter8 < value) && beenHere8===false) {
- counter8 = value;
- storeCounter(8, counter8*2); //two pieces per pressing
- beenHere8=true;
- }
- while (value - counter8){
- counter8++;
- storeCounter(8, (counter8*2));;
- }
- // console.log(`Μηχανή 9 Counter ${res.response.data[8].readUInt16BE(0)}`);
- value = res.response.data[8].readUInt16BE(0);
- if (value===0) counter9=0;
- if ((counter9 < value) && beenHere9===false) {
- counter9 = value;
- storeCounter(9, counter9);
- beenHere9=true;
- }
- while (value - counter9){
- counter9++;
- storeCounter(9, (counter9));;
- }
- // console.log(`Μηχανή 10 Counter ${res.response.data[9].readUInt16BE(0)}`);
- value = res.response.data[9].readUInt16BE(0);
- if (value===0) counter10=0;
- if ((counter10 < value) && beenHere10===false) {
- counter10 = value;
- storeCounter(10, counter10);
- beenHere10=true;
- }
- while (value - counter10){
- counter10++;
- storeCounter(10, (counter10));;
- }
- return next();
- });
- },
- (next) => {
- connection.readHoldingRegisters({ address: 0x003B, quantity: 3}, (err, res) => {
- if (err) throw err;
- let value = 0, beenHere14=false, beenHere15=false, beenHere16=false;
- // console.log(`Μηχανή 14 Counter ${res.response.data[0].readUInt16BE(0)}`);
- value = res.response.data[0].readUInt16BE(0);
- if (value===0) counter14=0;
- if ((counter14 < value) && beenHere14===false) {
- counter14 = value;
- storeCounter(14, counter14*2);
- beenHere14=true;
- }
- while (value - counter14){
- counter14++;
- storeCounter(14, (counter14*2));;
- }
- // console.log(`Μηχανή 15 Counter ${res.response.data[1].readUInt16BE(0)}`);
- value = res.response.data[1].readUInt16BE(0);
- if (value===0) counter15=0;
- if ((counter15 < value) && beenHere15===false) {
- counter15 = value;
- storeCounter(15, counter15*2);
- beenHere15=true;
- }
- while (value - counter15){
- counter15++;
- storeCounter(15, (counter15*2));;
- }
- // console.log(`Μηχανή 16 Counter ${res.response.data[2].readUInt16BE(0)}`);
- value = res.response.data[2].readUInt16BE(0);
- if (value===0) counter16=0;
- if ((counter16 < value) && beenHere16===false) {
- counter16 = value;
- storeCounter(16, counter16);
- beenHere16=true;
- }
- while (value - counter16){
- counter16++;
- storeCounter(16, (counter16));;
- }
- return next();
- });
- },
- (next) => {
- connection.readHoldingRegisters({ address: 0x0033, quantity: 5}, (err, res) => {
- if (err) throw err;
- let value=0, beenHere17=false, beenHere18=false, beenHere19=false,
- beenHere20=false, beenHere21=false;
- // console.log(`Μηχανή 20 Counter ${res.response.data[0].readUInt16BE(0)}`);
- value = res.response.data[0].readUInt16BE(0);
- if (value===0) counter20=0;
- if ((counter20 < value) && beenHere20===false) {
- counter20 = value;
- storeCounter(20, counter20);
- beenHere20=true;
- }
- while (value - counter20){
- counter20++;
- storeCounter(20, (counter20));
- //storeCounter(20, 1); // try with one to see if results are better exploitable
- }
- // console.log(`Μηχανή 21 Counter ${res.response.data[1].readUInt16BE(0)}`);
- value = res.response.data[1].readUInt16BE(0);
- if (value===0) counter21=0;
- if ((counter21 < value) && beenHere21===false) {
- counter21 = value;
- storeCounter(21, counter21);
- beenHere21=true;
- }
- while (value - counter21){
- counter21++;
- storeCounter(21, (counter21));;
- }
- // console.log(`Μηχανή 17 Counter ${res.response.data[2].readUInt16BE(0)}`);
- value = res.response.data[2].readUInt16BE(0);
- if (value===0) counter17=0;
- if ((counter17 < value) && beenHere17===false) {
- counter17 = value;
- storeCounter(17, counter17*2);
- beenHere17=true;
- }
- while (value - counter17){
- counter17++;
- storeCounter(17, (counter17*2));;
- }
- // console.log(`Μηχανή 18 Counter ${res.response.data[3].readUInt16BE(0)}`);
- value = res.response.data[3].readUInt16BE(0);
- if (value===0) counter18=0;
- if ((counter18 < value) && beenHere18===false) {
- counter18 = value;
- storeCounter(18, counter18*2);
- beenHere18=true;
- }
- while (value - counter18){
- counter18++;
- storeCounter(18, (counter18*2));;
- }
- // console.log(`Μηχανή 19 Counter ${res.response.data[4].readUInt16BE(0)}`);
- value = res.response.data[4].readUInt16BE(0);
- if (value===0) counter19=0;
- if ((counter19 < value) && beenHere19===false) {
- counter19 = value;
- storeCounter(19, counter19);
- beenHere19=true;
- }
- while (value - counter19){
- counter19++;
- storeCounter(19, (counter19));;
- }
- return next();
- });
- },
- (next) => {
- connection.readHoldingRegisters({ address: 0x003E, quantity: 2}, (err, res) => {
- if (err) throw err;
- let value=0, beenHere62=false, beenHere63=false;
- value = res.response.data[0].readUInt16BE(0);
- if (value===0) counter62=0;
- if ((counter62 < value) && beenHere62===false) {
- counter62 = value;
- storeCounter(62, counter62);
- beenHere62=true;
- }
- while (value - counter62){
- counter62++;
- storeCounter(62, (counter62));
- }
- value = res.response.data[1].readUInt16BE(0);
- if (value===0) counter63=0;
- if ((counter63 < value) && beenHere63===false) {
- counter63 = value;
- storeCounter(63, counter63);
- beenHere63=true;
- }
- while (value - counter63){
- counter63++;
- storeCounter(63, (counter63));
- }
- console.log(`Access Data Duration ${process.hrtime(startTime)}`);
- console.log('End');
- return next();
- });
- }
- ], (err) => {
- if (err)
- {
- connection.close(()=>{
- console.log("connection closed");
- });
- throw err;
- }
- });
- }, 1000)
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement