Updated: ...
//LLEGIR PLC
const Modbus = require('modbus-serial');
//nueva conexión Modbus TCP
const client = new Modbus();
const ip = '192.168.1.100'; // Dirección IP del PLC Siemens
const port = 502; // Puerto Modbus TCP del PLC Siemens
//conecta al PLC
client.connectTCP(ip,{port}).then(()=>{
console.log('Conexión exitosa al PLC');
//lee una variable del PLC (ejemplo: registro 1000)
client.readHoldingRegisters(1000,1).then((data)=>{
console.log('Valor de la variable en el registro 1000:', data.data);
}).catch((error) => {
console.error('Error al leer la variable:', error);
}).finally(() => {
client.close(); // Cierra la conexión después de leer
});
}).catch((error) => {
console.error('Error al conectar al PLC:', error);
});
//ESCRIURE AL PLC
const Modbus = require('modbus-serial');
//nueva conexión Modbus TCP
const client = new Modbus();
const ip = '192.168.1.100'; // Dirección IP del PLC Siemens
const port = 502; // Puerto Modbus TCP del PLC Siemens
//conecta al PLC
client.connectTCP(ip, { port })
.then(() => {
console.log('Conexión exitosa al PLC');
const addressToWrite = 2000; // Dirección del registro para escribir (ajusta según tu configuración)
const valueToWrite = 1; // Valor para encender el dispositivo (por ejemplo, 1 para encender)
// Escribe el valor en el registro del PLC
client.writeRegisters(addressToWrite, [valueToWrite])
.then(() => {
console.log('Valor escrito correctamente en el PLC');
})
.catch((error) => {
console.error('Error al escribir en el PLC:', error);
})
.finally(() => {
client.close(); // Cierra la conexión después de escribir
});
})
.catch((error) => {
console.error('Error al conectar al PLC:', error);
});
[root][~]# cat /proc/sys/vm/max_map_count
65530
[root][~]# sysctl vm.max_map_count=262144
[root][~]# cat /proc/sys/vm/max_map_count
262144