{"_id":"@autexis/nodes7","_rev":"2-531b559f496fa46274d9b276b7cbd5f6","name":"@autexis/nodes7","dist-tags":{"latest":"1.1.2"},"versions":{"1.1.1":{"name":"@autexis/nodes7","version":"1.1.1","keywords":["S7","Siemens","PLC","RFC1006","iso-on-tcp","mpi","s7-200","s7-300","s7-400","s7-1200","s7-1500","profinet"],"license":"GPL-3.0-or-later","_id":"@autexis/nodes7@1.1.1","maintainers":[{"name":"joel.wasmer.autexis","email":"joel.wasmer@autexis.com"},{"name":"remo_koethe","email":"remo.koethe@autexis.com"},{"name":"atx-dgr","email":"david.grimbichler@autexis.com"},{"name":"thomas.frei.autexis","email":"thomas.frei@autexis.com"}],"contributors":[{"name":"Guilherme Francescon","email":"guilherme@st-one.io"},{"name":"Autexis","email":"info@autexis.com"}],"homepage":"https://gitlab.com/autexis/oss/packages/nodes7#readme","bugs":{"url":"https://gitlab.com/autexis/oss/packages/nodes7/issues"},"dist":{"shasum":"823eead3c65ca66e122a65c6bd789d7acb354a46","tarball":"https://registry.npmjs.org/@autexis/nodes7/-/nodes7-1.1.1.tgz","fileCount":25,"integrity":"sha512-ecSRKPuV2g6E5cYnlaPxMuJzeFV3N8yq3oen0AwtZQ/AZ9xDE6HuTaWC4Re0QGGR00JB20yPIMoZaX56VTh01g==","signatures":[{"sig":"MEYCIQCpHlkt+c5wLr4UWB6Q2j57fbfsRhqvnXMt+gtvlEWoCAIhAJcHgPpWAodnn5RlYCy2+HA5HykZHqsR+Sk3F1oBKLtM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386092},"main":"src/index.js","engine":{"node":">= 10.0.0"},"gitHead":"7dc55aa3461b494663352e89ddc97d185b84daad","scripts":{"doc":"jsdoc2md --files src/**.js > doc/API.md","test":"nyc --reporter=html --reporter=text --reporter=text-summary mocha --timeout=3000 test/**/**.spec.js"},"_npmUser":{"name":"atx-dgr","email":"david.grimbichler@autexis.com"},"repository":{"url":"git+https://gitlab.com/autexis/oss/packages/nodes7.git","type":"git"},"_npmVersion":"10.8.2","description":"A javascript library to communicate with Siemens S7 PLCs","directories":{},"_nodeVersion":"20.19.4","dependencies":{"iso-on-tcp":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.2.0","mocha":"^8.1.3","jsdoc-to-markdown":"^6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/nodes7_1.1.1_1763580264126_0.6967861918343508","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@autexis/nodes7","description":"A javascript library to communicate with Siemens S7 PLCs","version":"1.1.2","contributors":[{"name":"Guilherme Francescon","email":"guilherme@st-one.io"},{"name":"Autexis","email":"info@autexis.com"}],"keywords":["S7","Siemens","PLC","RFC1006","iso-on-tcp","mpi","s7-200","s7-300","s7-400","s7-1200","s7-1500","profinet"],"repository":{"type":"git","url":"git+https://gitlab.com/autexis/oss/packages/nodes7.git"},"main":"src/index.js","scripts":{"test":"nyc --reporter=html --reporter=text --reporter=text-summary mocha --timeout=3000 test/**/**.spec.js","doc":"jsdoc2md --files src/**.js > doc/API.md"},"engine":{"node":">= 10.0.0"},"license":"GPL-3.0-or-later","devDependencies":{"chai":"^4.2.0","jsdoc-to-markdown":"^6.0.1","mocha":"^8.1.3","nyc":"^15.1.0"},"dependencies":{"iso-on-tcp":"^0.1.0"},"_id":"@autexis/nodes7@1.1.2","gitHead":"90ef1dc614b429d492c6053820ee8147856623e2","bugs":{"url":"https://gitlab.com/autexis/oss/packages/nodes7/issues"},"homepage":"https://gitlab.com/autexis/oss/packages/nodes7#readme","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-A1SBlAtcT/eot+3Ivph4GEmo6uc1EoxyCL7qkIMOoSuMl4hIZHavb8uNwjLoOPI6kQWqC/+ZeO9WREZ8Rwqc9g==","shasum":"4e6ed6ade67325b4ae0bfd561bea6e509196d51f","tarball":"https://registry.npmjs.org/@autexis/nodes7/-/nodes7-1.1.2.tgz","fileCount":21,"unpackedSize":385009,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDKvVPmPJFBQU8gJHHUt+P47cC+Z8BRZBmvPS9ck4Yr7AiEAmY2MHssaDXejVRPciyFGKKSDbxHWvFXkREEROiHJXQU="}]},"_npmUser":{"name":"atx-dgr","email":"david.grimbichler@autexis.com"},"directories":{},"maintainers":[{"name":"joel.wasmer.autexis","email":"joel.wasmer@autexis.com"},{"name":"remo_koethe","email":"remo.koethe@autexis.com"},{"name":"atx-dgr","email":"david.grimbichler@autexis.com"},{"name":"thomas.frei.autexis","email":"thomas.frei@autexis.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nodes7_1.1.2_1763581283575_0.26089631551465975"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-19T19:24:24.059Z","modified":"2025-11-19T19:41:24.085Z","1.1.1":"2025-11-19T19:24:24.370Z","1.1.2":"2025-11-19T19:41:23.806Z"},"bugs":{"url":"https://gitlab.com/autexis/oss/packages/nodes7/issues"},"license":"GPL-3.0-or-later","homepage":"https://gitlab.com/autexis/oss/packages/nodes7#readme","keywords":["S7","Siemens","PLC","RFC1006","iso-on-tcp","mpi","s7-200","s7-300","s7-400","s7-1200","s7-1500","profinet"],"repository":{"type":"git","url":"git+https://gitlab.com/autexis/oss/packages/nodes7.git"},"description":"A javascript library to communicate with Siemens S7 PLCs","contributors":[{"name":"Guilherme Francescon","email":"guilherme@st-one.io"},{"name":"Autexis","email":"info@autexis.com"}],"maintainers":[{"name":"joel.wasmer.autexis","email":"joel.wasmer@autexis.com"},{"name":"remo_koethe","email":"remo.koethe@autexis.com"},{"name":"atx-dgr","email":"david.grimbichler@autexis.com"},{"name":"thomas.frei.autexis","email":"thomas.frei@autexis.com"}],"readme":"# autexis/nodes7\n\n> [!important] THIS IS A FORK\n> This is a fork of [st-one-io/nodes7](https://github.com/st-one-io/nodes7)\n\nNodeS7 is a library that allows communication to S7-200/300/400/1200/1500 PLCs using the Siemens S7Communication protocol over ISO-on-TCP (RFC1006) or MPI/PPI/DP USB Adapters.\n\nNiether the software nor the authors are affiliated with Siemens in any way. S7-200, S7-300, S7-400, S7-1200 and S7-1500 are trademarks of Siemens AG.\n\nThis is a complete rewrite of and inspired on the awesome work of [plcpeople/nodeS7](https://github.com/plcpeople/nodeS7).\n\n\n## WARNING\nFully test everything you do. The authors, contributors or anything or anybody related can be hold liable for injuries caused by the usage of this software. In situations where writing to a random area of memory within the PLC could cost you money, back up your data and test this really well.  If this could injure someone or worse, consider other software.\n\n\n## Usage Example\n\n```js\nconst { S7Endpoint, S7ItemGroup } = require('nodes7');\n\nlet plc = new S7Endpoint({ host: '192.168.0.1', rack: 0, slot: 1 });\n\nplc.on('error', e => console.log('PLC Error!', e));\nplc.on('disconnect', () => console.log('PLC Disconnect'));\nplc.once('connect', async () => {\n\tconsole.log('connected!');\n\n\t// check the documentation for all available functions\n\tawait plc.getTime(); //gets the PLC's current date/time\n\tawait plc.blockCount(); //gets a count of blocks from the PLC of each type\n\n\t// you can use the S7ItemGroup to perform optimized read/write of variables\n\n\tlet itemGroup = new S7ItemGroup(plc);\n\n\tlet vars = {\n\t\tTEST1: 'MR4', \t\t\t// Memory real at MD4\n\t\tTEST2: 'M32.2', \t\t// Bit at M32.2\n\t\tTEST3: 'M20.0', \t\t// Bit at M20.0\n\t\tTEST4: 'DB1,REAL0.20',\t// Array of 20 values in DB1\n\t\tTEST5: 'DB1,REAL4',\t\t// Single real value\n\t\tTEST6: 'DB1,REAL8',\t\t// Another single real value\n\t\tTEST7: 'DB1,INT12.2'\t// Two integer value array\n\t}\n\titemGroup.setTranslationCB(tag => vars[tag]); //translates a tag name to its address\n\titemGroup.addItems(Object.keys(vars));\n\n\tconsole.log(await itemGroup.readAllItems());\n\n\tawait plc.disconnect(); \t//clean disconnection\n});\n```\n\n## Documentation\n\nPlease check the [API documentation](doc/API.md), specially the [S7Endpoint](doc/API.md#S7Endpoint) and [S7ItemGroup](doc/API.md#S7ItemGroup) sections\n","readmeFilename":"README.md"}