{"versions":{"1.0.0":{"name":"ads-client","version":"1.0.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 3","twincat ads","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"7b4a21d9905ac8229921ebaa7c63d83285efd608","_id":"ads-client@1.0.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-NLWFJk8UzbInE5TkLYKAJM5v0dqktpXmlDKDSXqk2AJMaiUzSMYDien5sU+P3KM9Yjk1e3uXWJtLqao2dgDaDQ==","shasum":"306f217d39084eabc825d38a065bd13316eb7fcd","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.0.0.tgz","fileCount":5,"unpackedSize":165845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekuKWCRA9TVsSAnZWagAAMx8QAJsi1Fr6JxYqPJrwnhvG\npFvqrZ2IXUcN2T4QiYMrywB6KKV7JUJC2XuEI5fjGmL00NBvvERKzni2XW7Z\nK5M1UtiaoNRzt+VCK97ns/4leacwSn85g9rWWAT1rPdNBQ4OmzF3QgL9YGSw\ncWptcrxAwts2UV7DUkAybTERpnESUyL7XS/uaT3VqCV3zyjvld1Y8cvng2IL\n0RKUIj1HLITbDUE+8P+bZoYAR4JTK5kH4d8698rjW5TclY0ucY/rvU9l28ri\nYx3QvbenhKlcMmWdh/KWsRQa+3ToQkxpIRssc8JIeCcECUBXme0wOsKckJ3q\nMwevVwRimynViEHP7hUlKJRxkOXV9t8iN9XlQlF5X+bOo9zOxQ7BzTn6NQyi\nlqUqnNQVucqmBwAvwTvyKGcNFJCKw+uKwxKyrq3YZoPHoncRFrBZzH5TaCX0\ngZ7PX8TUtM4CXcbeq5Ah0BmdW4G3erph8Q3u1qfb+CDgJTR55/+VQu1eUg8T\nAbrAvAArQjH3oL3fld2GduA94PV1PHwc8wogcbAuz03RKp+B7H8tOROy6Aot\nBi989Mw4qAdE2ALcjzhFIrbAVq3NJD6zcYmfiSdYdQ73WrGlw+DAMRYLOFDM\n8+rWgwAWtv+C4sMGw/yjcDuLFGWpasxiLWuyJoJ4V6/ohyEBLk5bIMEIuki4\njZrt\r\n=/nlN\r\n-----END PGP SIGNATURE-----\r\n","size":33852},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.0.0_1586684565600_0.11958494024202548"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:21.360Z","contributors":[]},"1.0.1":{"name":"ads-client","version":"1.0.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 3","twincat ads","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"bc9f6d73daf38b8785e947b1401f732357f1cde2","_id":"ads-client@1.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-D1JmFHEuhQeaP4goPSmIWsg/UCwadQuY8BtiKqOFZRlugKKAUw5oNpDUAs34hzpc/Pa6rvU4jRWscNnYQ1/8jQ==","shasum":"395e4bc4e6fed7617121627187dd1a8f92b802c7","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.0.1.tgz","fileCount":5,"unpackedSize":166723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekusHCRA9TVsSAnZWagAAYMAQAIj0kOLsygf9geGQOJXY\no/P5q2ji4HPOaluRtBK3brFRvDieU7ZDd4X0wVP8LC6n5y6XHSxG9dNh8tg8\nwizq7sbedpnfc7CisJ6wMzuZtSRSNJX17BezqculzruPnGksFbc0tjV7rwPE\nHsiY4dKtd1au4GcFFXHrFBE2+dJzobTTA6fOj7SoU/yQjzm3iPK8OGRYa7lH\nJsTr41hppgf4vNcUj2xShdpezjRJ5sBa5sYGa2Qp8G5uOIovRLEc8HCHjHoo\n3ylgQUV/52vmGK+9os3xSiZ6kt4/GBizj9bC+uuX3TSXLsH4+Clfc9bcTaoA\nOcy1hn8QzW+ySQsh3h/RwGu4TSgFs9nq5lIRzxUetRQ9YMoL2dk+/xJH9GTg\n4pElYbKZqNDTwcBkzJNuN+Ek/T5IMJHw7Ajo3RIVMw4c6mzhfJSMgWi5CfZy\n3bJDn+51aiPce/l4qoOf7Xv/SN4CQWdIDFySclDJKsTeVaxAiMhrt0g/eZbf\nFC7et8fJfQQ64l2vBk0wMkLQy+IFD2AcwRUtcfWzUZGABwoq0Hu42rRdZd+w\n4kkdmTm4ZsPa4losMAUMrnVV2T9eIsOF2CxTNzPD4IqQf2zt5OXKyjpiKXDk\nL+6kgggpQVHqAv5tSAWEDj7ciWIMW5L05bSha5To1lLU5VIXGJfdPJ3iak+q\n/k3S\r\n=aJOv\r\n-----END PGP SIGNATURE-----\r\n","size":34198},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.0.1_1586686727098_0.06959318002020831"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:22.721Z","contributors":[]},"1.0.2":{"name":"ads-client","version":"1.0.2","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 3","twincat ads","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"6fd0db172448d99007c6293069392af50a8d95b7","_id":"ads-client@1.0.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-mt9Z7Ld3fTxX9/at+2E8sZxXpw23Bk3zQVHmR/hdl7l1gcPSFH7WBKjvw4ETKm2Fa3U4bJuWKWcQbd+yujkqTA==","shasum":"355776c784e64eba6000b7dbb1fa8af17795f8d3","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.0.2.tgz","fileCount":6,"unpackedSize":167167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelCiZCRA9TVsSAnZWagAAe1UP/0neyiw3PUick8DmJwaY\nEbpyiKVBsEVuXesfdM3fAwWFWiDnPVnXimskUxJPz3tNrurkaPJq9PQqS8Os\nTPMk7SGpu2T7v1zyLhCpAtIZpmnZj053AngDO9wXlQWZx9jYldHS1qxmLIuN\na16rFOPM2TQNcljc/BJs8aDay7ZInpGaycJKpbap99N+SEy6oH0EJlYObp+j\nUFn30l2e3MB/pzef/7H6pxeIzU7Xy1ZunElkKgYMV/fM8P2eF/sA/Nwk9eh9\n/o5XOQEH0KxRssdGlbX54lRZjTmxpOiw4MpCcS7BLKjxUepSPhNHJHbOc1gd\nDVa62wi3bkFDfeCMBaaG72H98fnRp+/fxnSt//hHki+g+psBX/VPQyciBJpB\nigF6qyX0UKWSPEkcwiqD+ydrnqA0Tsf3rqh4pQhHZhWfydE0dF/pc5qkXtCD\ncl6xv+R1ypd6a+9yeqNdtkx0m6p7RfymMy29LgccVUxRV/G76EglLHxxsYCy\nEgZhRb6UT1b7aIZm7QjBgMzzx7LaFXCx0isIKrx9+FfdYfQwrys7vGuzGH5L\nmpey7tNBMhgkXuYRAw6xIfjlzPcEwhb8wDTvehcekNBRxhrXWqeFfWsgyFR6\nUhNdTNvCul1D4vgU6daADpRvd3/5t7cbDRI6pbZe0ybVOg2Zdzdjy9YnDdho\nzFgE\r\n=Wvkq\r\n-----END PGP SIGNATURE-----\r\n","size":34436},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.0.2_1586768024893_0.8134517384999638"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:23.845Z","contributors":[]},"1.0.3":{"name":"ads-client","version":"1.0.3","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 3","twincat ads","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"2510e123dcebdaa7b637db62fb4be9d3dae2b6cd","_id":"ads-client@1.0.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ssLh/3egBCsK3Di3s1r05TkpeFxY0Jnd7T43LTOL+CNUx3NbaBDNnvuvFDZgdU0vrXgQ8fTejkf6z0QRro23GQ==","shasum":"eeb6d3b5555660d871eefab2e053df956eef5267","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.0.3.tgz","fileCount":6,"unpackedSize":192241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelD1wCRA9TVsSAnZWagAAjckP/iRVfYU7xEo6PzJ3wiA3\ngpjFiuZ/sl5UdGpi/C+Opv/qDUcUOXjAPkwWT6yZrPJxqFgH6d1+v8iQU6I1\nn0Jk6IUIK4LAgObddMgjccSWsf8c2vRlteVw6wel+rW7ljCgDmQZb4UNlGAk\nGOXQN3M7aXPyOMiKVuP8Q6VLkSf1wm/R0bGf+DhN7y6imYdRPiKIurJjwyJM\nruHotZZ95vJAvK80Gtz5eRxtKyVbHpvRKKNb1SqoUFsplnEGRMvCHLY3sDLr\nT2iGKodv37ymbIryX/r0UjvkkVhd6BbcZP6OBL4+ciMdoWj+IRFcSAw2Q6Sa\n7oQAr6hu6gSUM4AgdbfCsA9NqiM7KxuLfWRu0rGcN5h1796WHA45jTQNwMHg\n1P6yPrJCcEQjGiQmMMcM2CDsT22UEWGXzCFwWuvW2s25hSfiBBPDV609eXCV\na/JYw5HT2tMkTrbcUsc8IsBjSomPQLOr8FUjHq5+2ydDnKlteQVl6aPrz2EZ\nz4xWh63ckjPPfPyqi/ojL/WXzjNgBVqfd/NCaUCjcO9SjdzikSDOREaRz2Yc\nLDwrO/7ALXgGyggkcWvZdWYJ+TStbfOfcTEeaH/En0B1myVgMbKnCHrhrrlo\nv7LLGsg2rs/g8qtfGDb5WpCeYezTLqfkeZgZf3PMwfQRg0Dt05wBcuG03s/x\nmk8n\r\n=RxC+\r\n-----END PGP SIGNATURE-----\r\n","size":38849},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.0.3_1586773359530_0.26953833596193255"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:24.963Z","contributors":[]},"1.1.0":{"name":"ads-client","version":"1.1.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"086da7b1ad11ec8e05624546af9f0342e4f5cebc","_id":"ads-client@1.1.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UNnTCQdv4rLc02dBBjD5LZitrEfqckZPEvsEFT58D12ME7VXxeQ+LYOOdiTCC9uWEcJ4m7a4MHYhSso87x22eQ==","shasum":"6a05cb7719f153a024be90223166795f3776fecb","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.1.0.tgz","fileCount":6,"unpackedSize":210466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemLJUCRA9TVsSAnZWagAAeGYP/2LB0LAtV1ci7B9vKAz5\nn+svsx0oDiliykAoItSCy6gUr9IGOJ3uHN4VwQij5BxXbpr03d/0PZEfNwAP\nwr8Nic7VRRmk8K8P+UydrPPIAfUkd8YER9g/zHBqKVWkPyQMBATCW/5RpvSq\nSdoRTSC5rtjcryxtt7ot67VYFWc5yScVvkDbtgGB9eKRYc477XqrMfV3DVPQ\nnX5QpV2XBgYevS6Wlv+3BcyCIMhe54w31pGwDL+n/tTIBEFO9jmX5tno8vGu\n/msdpst37rhZUJrrUiDGxgkzYs9g2a3jWbWSIUFjQrIShG8QyUFwAbeusBwx\nr4FU7Rd4pduqMWT9A0t1G7fVX6r0PBMAPJ61HAOMTz8xuazoejCrg2vwzgIb\nXZEzVpCM0SVZjiFOLxxV66FSzSzrZuW6hhVaKhR1iugJ+6Pu37imu3vlxRJd\nH2di7N6AuPT6X+dzb94xvcdfSRpu3XUZDENwbaA1eiAzKbxh1ZKVwthdfm2d\nhBcQGY/yDrAtrLbnECIgZgRfG9Zy3YK0m/9rLqVWjvepZViZl4nE5bhMk356\nHAqky0PbO9OraAiYvkfhQPm2yTOtyAcPM95yO2roEVCRNnp0KLTE7rYz9kR/\n7j3ZxI+TpMZkMl3vofOaQg/SEx40ts6bIEN2USj0EKrg3dtKUf/UCZrVUPXS\nk2Hx\r\n=JFPZ\r\n-----END PGP SIGNATURE-----\r\n","size":43444},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.1.0_1587065427937_0.31896426885152995"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:26.092Z","contributors":[]},"1.1.1":{"name":"ads-client","version":"1.1.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"288e8475723792f0a1f5224eb9839bf675084e90","_id":"ads-client@1.1.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-PkskUbv1kwpZZWeRet6dAuBIV1J1O/R00suyLAxWTo5hUI1NZxn5QcUY4XaXn8p/YX6FYo068VI1j2CmlEqUnw==","shasum":"be773972ce3df3323d72001d61e77029a52af82d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.1.1.tgz","fileCount":6,"unpackedSize":200077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJencpzCRA9TVsSAnZWagAALjQP/ii2DDmKDMLrHxPl0OpL\nJVqz2+7oRUU7SCfWzgBQT3ASE1a6/Ag7X062Xv6EGJvj2vOpdMwH4skY1Qp4\nzwHC1kZ1UfZyPjbv8my8OsJpJtT8CPC+A6v0hAXKSgo3LcpyBqUZOersa8TZ\nqXOJSGVrWLd6+YwjBDeSHlm+3cddNmybHUOUdMS+nanW11AIDcLc/mvc24xy\nTEAFndCrtDignb6fm8Vpqqgn9A08IhM5iMFZFn0c5uN/vRiqYzMWEaH2OVEE\nea+Bx1U6ikyJXa8f6GzMwx4/qE0/r8AqXOW29NlVrB/VkWWlaJMItvEvPDY1\npRpKavSYbEZWWmvhTy/BOLjL3tyoIfWxUgGDMkbSbRnN2BbDn8/FjbUejZkP\nNNPgAM4gOBVxLOzj6U69QbEjEFVplChW507L44nZ4lpiStkurAvLhOuMejGb\nEY3diMQogXB6Vh4hKxbA7221qNAG44+A3rqUfRMX6z17jrl2QnYP4OwylO9i\nDTAj+mbHoAZkr+Vj+TfgEp1+XEnlYNyOeh7QciteHiMbeiI7hyogB+YcJU8y\nmrPppZhLYKp7V4bkU3EuoK9lFBMe0wKhPYtrgIzo1iFiSUmA6qJGwjYlY5Vz\ncuoJwR5W41lF7+0N9Ij1a1gsQCmgX3VhcZol2EK/TupfWQVYXNzHrKNiYG40\niHcr\r\n=0BDw\r\n-----END PGP SIGNATURE-----\r\n","size":42671},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.1.1_1587399282856_0.04166697234806538"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:27.427Z","contributors":[]},"1.1.2":{"name":"ads-client","version":"1.1.2","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"4c329270d70a220e9dea0496e08e03b038527fa7","_id":"ads-client@1.1.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-hOxu7rP9eYBe0CQ8OGBgiLfAVza4TpolmYaPwTqAK0xeOd0x7erz+AEFpa4fkQavsSsrMrCI79QpJvydOi/RaA==","shasum":"c5dae35d68ad79200862bad1fb55ed08aabbdf87","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.1.2.tgz","fileCount":6,"unpackedSize":200725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoc8hCRA9TVsSAnZWagAA4m8P/0rPm+uJH+cSC7JvkfIc\nyVwMAXRW/77Fw+hsA7/opblDJmIw+Cy0FhYO9do52smjs7BqqCcD2vYerjyK\nUkl3KTC58r5GXT9Yen3il0UrdGKjJum4obsSByTDnBm1TFpMwo9ijGT+iq9T\ndH0rXh9Q6q0hZbtleeFOWo0xEEctoMV/9J32UMe50WZcxE73fOk+mRt04BVA\nF0yYLRN2km80xL93BNNkLobAvWjr0t0huSvNVaA6A6/RkwuoEH5xpjS63v2K\nh7cikYRZGz/fSItd4NHR4nJiXiLNwIBfH3KbFn4xiJiAEwtWW1mbLkC8+H46\nxBXK0CEqjPraMCPJPrXPuhIEc4W8W/K6GCjxtZzgm0ORT7i07lmsEd5c45LA\nRfLS7z2OUkiJqAuUj1Jf5wlg8NYjPVyCnvOn/HRGTzkqW1X3qlLknZ5scldq\nnfBRQ9aCCeg6LYG02ekPB2RIzlbsnifCDT1KIYzJxuktbpl3ctCncjsFD9KK\n0eMVsPA73S/ZYTb2iLGD8a3yid1a5AoTaLQOedGzcmFet4z1gNM6Xc3TPgSb\nNMAc6YGfo/e80+z8ZbapURra9XNFPFT8TcYU1foI6ac6C0zakoNZ3A+FrDF+\n+c6ieEZ/yJxQVu8hWkKD7spCxdiYw+lZHN1GmM0msoFG9OROFaEWIzzgkczD\nsF3D\r\n=Djap\r\n-----END PGP SIGNATURE-----\r\n","size":42755},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.1.2_1587662625132_0.8803533317676437"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:28.565Z","contributors":[]},"1.2.0":{"name":"ads-client","version":"1.2.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"1f0ccd0c91c773d83fc08deb9fe3b40d18210ebd","_id":"ads-client@1.2.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-PeyxafGXUoIj9UzTVn/wX820i5SKrI/HTbYnYhBKi/PLHkixMqrSL1sxDnAgqKOQU50UiwCtKdGfcAWfMJNXQQ==","shasum":"64fe7b24b64eb61aba2972ac3fcdad46d0d097d0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.2.0.tgz","fileCount":6,"unpackedSize":217466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJev/XrCRA9TVsSAnZWagAAfocP/1jcQZKFkytVyu/NG9Cy\nVrrx/hUNVQQhkq48M/Q+uI2dqrPZPqacRssNbPFLeIecgL1ApCPQxZqoDamM\n9Sn2p0YRFRuAWpbhIE8WuBYRaZRQDjEDG8lV6PazhgelUc4Y1KHQWyi5G5/X\n0DoDA1VxwOQHxDCV0vx7snLou5I8hI50j/WOO7U4ohBh5V3Bz8U08jIcuaVd\nmQlmfVx3Knk/vq9skt5181PXZ1D3e3+ApeBw8OpUoJx2wgH+kYeQe+ywapvn\nNleUxlXMsfHaXyLUmweyh/RNYi9seOVmu/mPbeI/JpZNQ/fKlLqSmcXI9NPx\nV9PReWhdB4oBAu8v/H6jirQkSS/jPsmbe9w4STXSMjgQeAmYPdr81Ry1iHeY\nMSrSeiOIAdH2S1vUgzPUNG8F2aj/wiNV7doAvcHDqsC6bgDT+botTWOFE5jT\n3uoOV1yIGnF66Jd2q0SSG7VCXRpMyuqAHB1IgT9kB/kb5MiFfT1fE7n76sx+\nOFwrk9V45aYnxkgJVNnyQF2mdPSMFzWzr5OjnpqjCV2KW2wJMbq1PNrQjCOo\nFSV3frIJt1Sg2KOhxYNAt47S5GXpsZ8Ga8Ol6gmub72Re0PsiKknMHcgL3Ib\nPwFxzhfmzujQTFP7LguZWgmi+IcqTLjU5QzCCbBfXfwhXtQWcXxvddxwctSt\npmZf\r\n=bACb\r\n-----END PGP SIGNATURE-----\r\n","size":46493},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.2.0_1589638635144_0.16057540599771314"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:29.724Z","contributors":[]},"1.2.1":{"name":"ads-client","version":"1.2.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"30300cc46e4469d4ea2e229988506c178c9581c6","_id":"ads-client@1.2.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-mNDRMI9h3jQ6KbVCUuaOZJZOI0TUYK/S+K825iyQ2CQ2pWrm+dfP5/0xo8k85/Z4UJBmF+4sYdSH/r6LqEJvuA==","shasum":"9f6724f19490425b63b351eac8890036b9d500de","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.2.1.tgz","fileCount":6,"unpackedSize":217472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJev/eICRA9TVsSAnZWagAAXOQP/2Ckm2wJBbe0dWYPRe7S\nOUv+s9pTgfRvjdn+8QIrkTurtHty5Ha9a4KhhG7Gvfw7fjTkqxV/xmi/A0Mg\n/EnkmuMCmQ5R3KJtIm63zfTGxEeNRJIZcryYRzCIMYfhyWVSmLrSpIHNDTBI\nlbNCwVuyVH0uvud3dhCijCjjLquS2W8VufBbMsn0kkXn3AQunFHbq7RLQIKp\nKl+E/D+ieMq58lLTugwRZunyFSd5As7oiKI+bCo9XgCzr9ZU1V+dq77jyPbY\nzGr7X01BXYMtglZ71f47jjwNdsOciuqMmr91JGEaVjMOmBcpBsWanpNZ3LIe\nkVy6XQEYUXQ0IUn81cNiyZD/J5eMKaFKLfm1wsMYQlZa7dj5DgvCwSl4yH11\nTopoPWfArLWUKHab97qxWP30X986gJhCfFEAv1NZucOJuCtQZbcRWR80VS2G\n5+RIMm5S3/ZxDIfAzesUaSI/RkjJ5mNyiC4urwzaJzWttq/k73mp/QviP4N1\nsae6UY7RNs7YA+U8T0EZtG2mCuiMBJEFvC+C4mSUBz0DE+j0ByzzP9pH0bdV\n71myysSj88hLV1wZbdBJpv9IiP/wsbsPHKUYvyHl6WsEaSjmLLpvNRwyiBPc\n9MCtCvgqeoqbmcubusiQOyHI0KQg0UYa2JCWP7ZIM8CbHFuUVOYgpE+q4ctT\nWkyT\r\n=CAZq\r\n-----END PGP SIGNATURE-----\r\n","size":46488},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.2.1_1589639048319_0.3586766444873599"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:30.867Z","contributors":[]},"1.3.0":{"name":"ads-client","version":"1.3.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"6718ba4fac079ff5fa5b50d79ec495b5cd0785fb","_id":"ads-client@1.3.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0kRv1kN451tXtp6DT3HIYp5d6UvmEIFzHr2ZfJW4ZvxuK1afrG+30YNkUQ/5z4w8GGav41CaSafFToPTD59K7w==","shasum":"6b0e4c567a46189d8a67c9e3ae73fdd26c0e96e8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.3.0.tgz","fileCount":6,"unpackedSize":243391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyky4CRA9TVsSAnZWagAA+HIP/3sa2ozzgTXqLEpnF8R6\nP2NZb/HnNsSIPjUQPnDD49ISyyz7QPTTqDGI2+pIDjKMQIHfQ4NIywuiBSOT\nSnI0+/o8qLtGWYdugeF4pw+EH9OwaYzi/S2LGqEJnOt7KRaRttY+K6TiJ+qR\nDRBM1kOtEDoSUCbEqLPNJDj2Vg++R+kC4ov30TrIsSXhxkJV7CL4BUx2arlt\naFk8fjbYa7vZ16REB93/gidLhFR+ow5RoZ294S6Ayrhv+eTYfgxz5hu22XUM\nu3RZW/xcGDJcJRLRdIY/DZEP+Un6BMucr1lbM0kdJBZ0Mpeo9bWkLSl3d/9i\nV3TRGRlnLi2WTok2qBmXM44zZlmOrJ/PV3KYn0O7WZVw8yTBf1rIpsBDUlei\n1tt8IT9lI3nWZXuraqiZ94UUlGGg2f86hSh7LaOpQJTBBRuOV9pNkI548JFV\nNOYEX8bjwdwmPz3AU8R2e2ZlZWgnXFJF6Qn17zmxMehh9DhmqWYXUoPtolAw\nbOB3JbFcLfpTAEx2CcwKKphRHQ5Scdbytqc+dTz6EZor2uVaH7BYKUfmrorV\nJxTMQofXja+gB75v9erdQjTuSqtuRv2SF3fDTpoH9eDr7e3SmoSTp+RFdTSI\nVLmY9HVLbI+ski49idawl67c/D3DKR7aPCxeeebmocAnnLR3mwXyO6CpG8Ul\n8CvM\r\n=+hf+\r\n-----END PGP SIGNATURE-----\r\n","size":51916},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.3.0_1590316216134_0.7288870903366"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:32.213Z","contributors":[]},"1.4.0":{"name":"ads-client","version":"1.4.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"8e2f303b643209821fc6a6f92e13059a3b5ee9a4","_id":"ads-client@1.4.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MB3f6f7WpWjia97XpXCavimRqtDHe/91YtC1jGLZD3FvRakkQYUeA5hNHM7lTU56O9mJ0yxHeQGw+yJMKrj4Qw==","shasum":"ad80f6adf1971d258a08e8bf1666bf8e71c8ae35","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.4.0.tgz","fileCount":6,"unpackedSize":243928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez70SCRA9TVsSAnZWagAAwFwP/AmIyhlcB3Sbqj2hn78x\n9NkAlFSt1vwv/6OewGLo6LvLE15n0uXlr2xe/zkbG3MU0vIdbkkXonkuJFMz\nnvV3YauL49lPyNZOzo7trDF+yU1sNzekykXhL60tjXOL2OLpdjrXIhs19K2Z\n9h9sSd1XDAQ1AGReBCR2vFCuWSLERW5S7xSutvEI5nVBpuIXe3v8PqhiFEdb\nypUqLXeRuhc0ELvAYb9jm3b/ARR3qWoISy0VN33CpYffCWKuB/iCQeENRuU0\ncPElcxT5NVjjegwFAczkI1DkT6Wuz4t7e7sJBDUmTAf1gZMGrP9vSLUyEyQ1\nEixy4qpgS7boxFgrreKTU0IwOrVj5jDaQlMEiz05uNsSzB+1si3991w/kyof\nJ3JnoTK2KjlHlLLDUgzBKV2asBNDwSGdVp+5ubWosnN9sy2QrsQAoDt1BF2b\n0+o1YJTPGP9Jyv3CSMZpIVL+qFzd0YFwxWeb6Y8BPE3xi72psASFi3sd8y32\n6fQjPdoiUOh0nv5I8zpBpOmFI1wsGeTOhSMfDvxVuJ0Ws1osGTki8e9fMELd\nBZb2dygpvFYqHrzuD1O74KhnSoDVGU0XaHHOUxAiixbmGYDhad1p3qVilXt/\n5469TDwnm+g1+ZH5hsI2L/8ZjA1KwfVxeJciF/LtuZdG5IeBE/CFyhhCEBDo\nb0pU\r\n=d8LH\r\n-----END PGP SIGNATURE-----\r\n","size":52055},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.4.0_1590672657757_0.168593527266383"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:33.570Z","contributors":[]},"1.5.0":{"name":"ads-client","version":"1.5.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"ecc84fb5e8c447e91d06c5c80a564c816b510db1","_id":"ads-client@1.5.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-THCSoyUJNebXNiUrwWAJRDyxvAKDTYLJkAkjeU2Z6kVDTzYLTvSlrve6uN28GnEZyqJZXKzMVKCWGhNx6YLzDQ==","shasum":"c35c3eaa6f2a5557d67338ee0e8f573a3226364e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.5.0.tgz","fileCount":6,"unpackedSize":255560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0gyZCRA9TVsSAnZWagAAudAP/jj8x6e+EWNvJOFDW321\nW0Ib/rQblUjUJZBYaCSwMEbMjPeRa9M3EyxammuVcPATpnD/OWI8XDbptPD5\nC/xaX/t7TX5p3rO8ktrFUJHUxkLgjQoUz8n+CdIS0iYVoQzS7yoCq6oVpKB7\nMyT3zdDrfguZznK9gM/bF9WLgImY3+JrUNlxNiO8b1AP3++pYoLDVBjGIs6g\ngQDztZucSKZouLA2A/beoPJTnlN1Z47Mspgk5Jaii6MjWziUyvtv7r6KadUa\nNPRZr6LcvjL2DdP2FISBErunq7TiMe6saqglfwIVhkt+G20D87WSxJDKmEn/\ng5LTsDAYR+J0VUp8jQjesNYY5Ii8lkIsB9OSsuYyHWYSDDZeKJpalS9kz8v3\nrxednYDs6h+iYq8MBsgcUCL+0wBTv+T80sunYZuOfosCuYAfVU7QgiEUMO5N\nP6OGWQon/5ZpSBZAJWiuD9tEjliIY79t/DJ1StODcA0EJEwqXekdKwM6+zRC\nW3rTyW+2AXN9nYGp1eA1J6JujdYaBlKMt5tB/fjv+B62yLe8vTQWLP8nndl5\n4E5h1Lt9IotMbwNBoBA6aAunlr31ssF1bmS+koJWz0iJJvwXeypkda8ra/yp\ncXo1XQCHwpcbUETL7q8rjrPwO7XNH5/MLgR3XQPu0zVLsxIEbiLZpNFMfQj6\nKMdI\r\n=z5de\r\n-----END PGP SIGNATURE-----\r\n","size":53877},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.5.0_1590824088374_0.24991248695564017"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:35.310Z","contributors":[]},"1.5.1":{"name":"ads-client","version":"1.5.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"9e3dfe91363d176af74b1bc8526e8b9804c6b323","_id":"ads-client@1.5.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-o+KuEZ/n+eUTHXsqTA4VssEcyJELsXXFF5/tH/BY8yzga5+/yW6/I2898RBnaLqmGdgPYTyteuX6YjclaXP/kA==","shasum":"997b0dd661f33c87329e5019c70204ebd110ca40","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.5.1.tgz","fileCount":6,"unpackedSize":255925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3lsRCRA9TVsSAnZWagAAgdMQAInZDRhtXl2PUkEygfVB\nsW2UgcgivfDQugFTrg4J8BdT/oUn6aoWc49c6YFkr2U9mJDpXJtXInFNULEU\n36BccxYvAYNZIHURWgHDWPUnVArEFzl8ebgqDuFosjMSfWxe63vp7FvwTbg9\nqxYKjL+6ZZyZf8VnEHX2R421w1zNRsqMD2xmzuAxN8MRblJJq+rdYjfVZzpa\nJbgm4pJJt0JXHWQWrUaDYgRFtXMZ/Mp4BN3FRui4d2SZjSxvAniWwjphhkPj\n3PtcVp1xN8u2rNKJvSeyhKHBqG0m4/6DTGmuk363Z5KJ6FWVJsNviHoHGypR\n4V8OxWYhpBG0Ttka8SooPLfbuRA4R04kxArGka8tcl/repTOTaFckpfLsS0z\nlBqAyRD6RK2Q3/fcmcCCvQl/zzl88LlNwLS9uCUlNV7+rdjWNmwScd4Y8RyS\nLIzu5tK/Fv1855VbN7o7fmwR5NDWoBut0GclkM2cY/HLYm5KnoovlGsQZFVT\nhlhYLNHBlHDWrdJsYNP4ZTObJ+M+8RUWbfHNkmUrjOuSsk1Porz3wLFu+OF9\nfsewQmPvBfhdotgQ6JvgODbX9y2TEdiy4UoG6zeKJm8N66vbb4LpOQavkE+6\n4eEEY+SeHX5Ca6X0Tg1M//wL1OYhNOrTi7A8w8Ie1h+47/5ebolal/fq7/nD\nphhl\r\n=R5U0\r\n-----END PGP SIGNATURE-----\r\n","size":54251},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.5.1_1591630608967_0.5474080088977433"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:36.458Z","contributors":[]},"1.6.0":{"name":"ads-client","version":"1.6.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"a97848aaf0639e774535ec9a7f49b114a8bbdcab","_id":"ads-client@1.6.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Yb0is4U6ghoL9nolzd2U9/+pqIHNAuBm2hy3q8sx82CZbUvIBGbQi8EBNZVyHCx24aTg9cEXtl2X47M8oQbRhQ==","shasum":"cdeaeb81a875a861e95725611bea98a84a4f3640","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.6.0.tgz","fileCount":6,"unpackedSize":255910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8OAYCRA9TVsSAnZWagAAXV0P/31l3SMM5c4gU5T/naKz\n78hzLECvBH6dZMmhrDwQJypTlacVC4v2rtaYEwUzTvLiBy5lNl6GOnCFKP6F\nZvLy5XBoXINxfaM7r+BEfnbXrLKAn8/iv0czqAY1thCx7ofLMq4lVIwYpgaF\nqCTG0hANwyMl4yoWI3Xd9weupKJm0kjw3SqYmxz8ZpwqHgfuMrSBfKscKKNK\nzTpFeLMiBU2Kozo7U6Z//uHL0to6DeJ5s2HEyWtneHTm2PyWSnr6MwimvqEC\np6YBVg31L27+ByRsoa1SfltvjseaAInjaLI5DQEuxhiGpkT/yNVBZOF9E0TJ\nqU+e4H4C5m84LW58y2cfaty0p19A0GxJ71XSk6XTYc5kFC8dE5x7xtiGraqM\nLaPeNSmTGjMHSAZBq/My9arTBxPrGWpTJBQLwdtQktzyrITzQvBiSJLoSk1y\nqZYfwwyXe+k0+ENIOOS3mVO56tIMVnpxxOC2V3wdrKj8Y9adtu1lyGQwUsVF\nyrvWtzHuZGbXYIwIi2nRfv02A3JYhqbNM0c24gTTnT33eLUjIZZyJEgIpdcI\nrKQyYmRIQcX5sWRBqIG0CxYgcoTxtKRZbIEyp+eT7pr9DwKG6e8HunJNONqg\nA/Q5eKEW31vAGD7PCO5DdN41elNrH5mxbPXLNfG3yZ2MCNsqZAAQJrV9+Aa4\nFptz\r\n=ie0G\r\n-----END PGP SIGNATURE-----\r\n","size":54272},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.6.0_1592844311382_0.8050560708682846"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:37.598Z","contributors":[]},"1.7.0":{"name":"ads-client","version":"1.7.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"14fcea2c2f89b937211ed34ee61c95dd13449fb8","_id":"ads-client@1.7.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Rp/lKGOAwHbZID9O8tphllz0FIstH3ArqEzPOZ3uFL2zEFisBFatPQIpDr6CE5tinKJPNL6Rd2c9wpRgJG2SMA==","shasum":"0afbe073fb2a96fb855d44ee40f019ceab44b74b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.7.0.tgz","fileCount":6,"unpackedSize":260822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8ixqCRA9TVsSAnZWagAAbiIP/0+/w/yT6MpqLAtlxusZ\nXjasjMCtkALRqFJwGCNu1tt78gOscidMPHKcp0fEg9RjuSoxGS3OaVlcC7BY\nAvSQf4OCS3K4ChbalkFWUdhpo2Mi4eI7YaadV3yO7IwWgtMITmyBiayMADpJ\nW+7rYa/pL8c/SjWRqMRdKZ3V4OCKri7CAxzVT4DALCoUU7pmuTRIBkK8AQ9R\nON40wuuOK6d+QZvDUgva507SdjdHz5UyVECKlvIa9qxKj/JcQlGoKGItMc8l\nRScG8NFEI6vTQuTHzVCpqZyqXzQkPy8zThTpX325iq36tdkAJW1sGfV/t+UD\nXNTuluYoGI8DtR/VrzA6djR65rSAG7A0dttVD39IxpGXQAg0NszqhLiql7sO\nKorWL1geqq4EBXhmRquaCRSux9zy8WwWfARxkU7YoimN8g1Ssp5pEegqOPZX\nn4fubDy2ibcSjqFfW3kjgp+iE/jY5GHvMMVrtaOGOSRs9JtIF9a+kNCWHe3g\nYP+6O8uRq7nVswBCqN9usmO4Xb44V026lP9XWIKMk2/Osndn/RpD/dEBsgx/\nf5CW96agw9lpeR/x+spT7T0goK5nX9F3mnCbSQSaltoZs1hj4DmBI538u5wX\nKcD95XaYnwuufAXP5N/Pn/lGmm9ZPs0mFT3rsmHejQ1W3ViRa+uRxqd7zgdi\n0k32\r\n=ZbrG\r\n-----END PGP SIGNATURE-----\r\n","size":55200},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.7.0_1592929386011_0.9393019570662235"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:38.712Z","contributors":[]},"1.7.1":{"name":"ads-client","version":"1.7.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"27b4a854a27348d5f1f4d0ddf378285e2c80c540","_id":"ads-client@1.7.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-kRoWpmrgA44JhnSGUrDgCmpzHjE3wEKM38oPjU5C/ndz3hrNKH3RCTTr25op5c/8TRmqQ7rZy73GQzQt5eMsSQ==","shasum":"8d31aad9e5b9573825d0f2e4d9a924a29af613d4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.7.1.tgz","fileCount":6,"unpackedSize":262461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe84GVCRA9TVsSAnZWagAAT6oP/0R9wS5L/LnO1MMYbUSx\noAUfAfQ2e+u4IVH1F665rElXfpu4Tsfn8srElFU5HTkihcj6CV+4C3zGMdnM\nAzg6VBDB3nqZ0L8lGTS9zsU7QU3DdKxdwWB0MQcYBicwfcJnuZEd1HtsDmvG\n/LOeWsF8wM+ri9O57n40nbKJGFkBYDBmfI7lyNIA5SpCskJxFKHPo2u6hQ7n\nucvZLSDbGWFXZNSlB+1CPzD+cwEUZ/1uob8ajGnHXQ+gqjDd0nGDwfTJ1/Nh\n0YwD5AAeenHJLe/AA2CIlR20lgmNEeoBTG3Epurw5VxEKCUoNwnJPI5Dz+jY\n65HGyTPd2ITlYmjRxYYyLBsr5UZymJgOx9+PtFqckg8mKPPFfte7ZDIzIVwQ\nSQiGYh5UfrU5FgKvcubdwEk/JY1lmIzwC/tzucevsfrWDcwsYDEB9SZxghcI\n0LbikRP6EMK03EMbnrgCF0OJ+Z/aOolzQutevSGJB0joOnU+JA+4rcoqQ/3U\ntuWvCgkFb/atB1LoN6rFj90mnmWCjc5l1AhmGGp2v7NSgcL5EzJUt0fgvrr8\nI/kMiFYxUmzR9admhUSB78ps1BOCMRZUOZ5CcZRpZ0EqoBm7R3wHWb41raMU\nJAfLzUes+2wzOZAgPFo+JqEzK56WkikSgOS5cht/eB740bpjqcVm1LSKScfX\nI9f0\r\n=Nkxo\r\n-----END PGP SIGNATURE-----\r\n","size":55349},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.7.1_1593016725024_0.1962050987332029"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:40.080Z","contributors":[]},"1.8.0":{"name":"ads-client","version":"1.8.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"d96b37756e4b9d8cbe8784e8d793b34fc06cc8b9","_id":"ads-client@1.8.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-iTb2zPu0EYlJi7sdYUmnmwQVBsxURnF0GgB49MMbgOm/UwJprsnf8Q0Jw4jhhAw4jPaW7lybQHGebEAtqxHKOQ==","shasum":"e6bd5606b0e4454f3d58e7616844b328788e0c0d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.8.0.tgz","fileCount":6,"unpackedSize":279527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/gtOCRA9TVsSAnZWagAAQlwP/RX3yjmlCKH2NaAEDRa4\nGL+VZzYuwo69dc95B6tJCItNMcVelK5NRfkfJTECfG+KDVVnRjXiO5XIeqCs\nVFHygPrtWkJO9Qwelb3MxRo+BJT86kA4iXmk8zPa79DfAcP0Xr+C/IJUjMEK\nJ0kO4Z3myYK0DQo5k3WkdYAbHceLV1H/pzFM5i10Pxy67rz5Y9+2BW+vTO0R\nGDP1vNDmrFT9CR/0WRacrJrjtJQJBnKYz75PBuMNMuHQdcsDvql85W3MuJSu\nNMEgeVEWFjsexPSZK1+jaEI9jVfmhsmmtCD0VEg3dQ4WMpjiO2nYAEAz6/VH\nPtY4i8UzNgkMuXsSdtPR8juCWhBMxuM4T17j5q4jpVoBS4Sa5wEAITaTKwGk\neRQk1ErOCl6vp9fBbkyC0Gc4jPb1cTnaI7x0T1xxorVO05wutAMx4xjuaY/8\nxZV3Yh7sxEcc0Hm7WVDTHXK9KYiBmsdYk4AKMxVZGUt9noCUl2L5v5AO9mMO\nLRwtcRnXdtDzI2hO/7kcC3nzeFmK48o25tJfpsKCf4hvvHV6kEihn0VlRaM8\nWQxDWKEECvL9Ly+wsRffzqJG+jFqW8PBuzFpccaACv+5fAPt2jYxkCQXvKBc\npYLlEk5y/kmt9lZgeMg988cEMKl2Y2gK/ZjSNBKeOn5kLiBVA/LDavnUlS8w\nLv38\r\n=soYN\r\n-----END PGP SIGNATURE-----\r\n","size":59582},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.8.0_1593707342133_0.9052626729529876"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:41.621Z","contributors":[]},"1.9.0":{"name":"ads-client","version":"1.9.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"ff315edb61b4e54c1abeee4075aa295da1617bae","_id":"ads-client@1.9.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-9T9HTJdt5vcFLzaOjvCy/BNI0+2EJFpOP11xQ0LiCTMsGIWE/RlCNwaxLJVc0hdAxsgKnqi46rQTZrNHEqM3PA==","shasum":"a293d5dfccba2938cc553131c3893ab11c27d1e4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.9.0.tgz","fileCount":6,"unpackedSize":285691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAiieCRA9TVsSAnZWagAAuO0QAIpvzDwOEc0ajUNIcCck\nwS+DcmZU8PoPWG+gNajm25hwh5BqMj7CRC53yGphVZbu25/A1FkBsCxbuytR\ne6/gXzhDfX5f6KoqG9ZI9OOtgOwTjcfOAbkKnP1kyU+DnP5o+jOgFe3Ch/Rw\n9BTjej2ctNIs51nBXulKdquyPmIIkQ0cnRngE4LUizXqVMuvUqrKCZFNYyp9\n5JNPqI/A04GquQe8FzX9t+e7JuUgO+cwtI41FqoehKL1HMK3WfzZp2X52PVn\nHEoMpLsFcKkDZKKkWFV6IqzxtprsqaLUJwxZqw07M6LR6FDBY0ELPN0NMook\npuIvOamukYzpbt6XAuZe8OLSwWb0atnNDXXxS4k2AfPwyLkalf6y7USHZyB7\nwMri+TTZtGzhbF1ONLV8n4D8t32St3p0WOIPgTsKi3BSnW7lMip4twHqOsL6\nE/oWq3Fiyng54DConoigOGfhFBSeG5jp6JpllLeskRLRybZt0LQjWoPuLqiQ\nNNvZdV7mCDoFT+fKynd81X/Y1/NEJIwL+T9LjWmrU/YDL9wrp0v+DdYWRrNh\nveOmZ7XwGuSjE15X1PM7l+B0upOKN4qTWuhPpvncynkXowj14SZHCIzhZpVx\nWnLinbUXHgK+SLf4stOd5WgLPYnxqxXRl8RBrdHCVfa8LMmK5SF4wvd8RERk\nhcLV\r\n=4erM\r\n-----END PGP SIGNATURE-----\r\n","size":61138},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.9.0_1593976990400_0.5128381801775597"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:43.146Z","contributors":[]},"1.10.0":{"name":"ads-client","version":"1.10.0","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"efd9a8e32cc7d71743adef0130255de5475517bf","_id":"ads-client@1.10.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sQtusBBEI+4Dz9ZPXMmTxgj1nZLlwBqvdp9Nzht56eG9jnafdiVbWg6ed42akQhAuXrsWMAAN3gChOSa9xSjcw==","shasum":"90a3f062e3fa5f6e4be20862f3fb7a6d1ea394c2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.0.tgz","fileCount":6,"unpackedSize":307811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBxm0CRA9TVsSAnZWagAAXLEP/Rm69tc7M69IXwuCFXtB\nv/sR/D++VbjHu2RAeAFoGGaWC3HcmHaRe0ITkwh3hTcH2VeyzUqmp/7gydQ3\n31pvKT11ODqaK0IpuQkFVLxAOYxRGsINDCs2d1paP4Rg5MvAimuWGY+XZjMV\ndmpla+4LVR83hBOSDS/FkYhObFyzpW9xi28/QAVLWZVSwvB7pIZsNmF+1p6g\nbvQBtZt3Pz9gWTCUYpE96TqD+a//wMi/QF+uVql2C8pvqszm7p+Xpv5XQGRS\nSq05wLP3manALsHcq+RskLxfOKtQgVL4sedaLq5xK4g4KBqsQQM+aDfP3f6w\nmu5tfjDQ/OG6KvdVHELqRrR8ermWashxMeVQrmk+QoPd3MWKtcjS9006VP6m\nODLKYF32ii5CRpp10LpoQfHYdseihnSfJIdYiwv1fW7xWN5ifHY4mwVecvs2\nY8gbmPzBlr87FXTjsUPoSknqZotWbLtW0w7cFQUnWDcl3KqJ6rBWy4G9HqKa\n7wjEVh3Sf0jwMpkTjblt9a8X2U5phI+havBlpBeDs6DAH0y/5/G91mbXOQ4o\n3x+puFSLG8VXqkwamLkX21zX26AdasWQb3Fm24p1JiZJZGwt6EoOqncrEk9e\ngWoQEjwuVK3JD29ZIM+ixUnCA40mk+8Xch3oR4rPyWWi4NoS6J67K/993fyT\n/jjr\r\n=OQLt\r\n-----END PGP SIGNATURE-----\r\n","size":63642},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.0_1594300851560_0.22892183070062"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:45.304Z","contributors":[]},"1.10.1":{"name":"ads-client","version":"1.10.1","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"a32087432c7ba9095ff9c648f804f75e2eb7c34d","_id":"ads-client@1.10.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-uUPOWfqxSzjGfyZhvSb+5JHlA7tLH7nSpGsh9AKUiY4qsxvy2OZhTjZ5LH/TzHxePrK1H7VBaKlacoJXb7HzCg==","shasum":"18a212d873cd1f16e1a27af71420f1f84b990599","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.1.tgz","fileCount":6,"unpackedSize":308110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG+hnCRA9TVsSAnZWagAAjcwP/02UNfmot9mgI79gO6RV\nPDOL4Fxx8Ue2/SCo/6rMTGH4jTqrmsSY79/G7TCOovQl43oBJm0aaPs/tFJl\nKLNGzeRbLMHYM0n/mVJoSh6yU9CyUP5qwHzKL1jypJ5pCgEhKhD/ZD/qSv3Q\nLjBIKWYM/qkJAzFf5Qeyk+sf35n6mV0rTEIjzZiFAYfvX6wQDf2yJwnfdwM4\nqv6EtCmmmF5vl2O84QNSpRF6NG0WZvWr/DwXu5qCbO1j97txMCe1GHLoZfGa\n5bzCi1nFHBPAJJiDBsNntZUdvxFbu9/sYnSzM63R1GnwN2mvtLmhft5o1qpE\nMk1Yz8JgLETyqRFGF/A43fSga0kk4yGeuV83v3NJM2E7m0F4qsvDRjDwzWyM\nRJLlbhdGXBMZgFLreHwF7xfiPfSWGxgPNOo9Qag3dwg58bT7qduwuFIH/0Iz\n7YPft0mweNBdL+ySEMioXD4JNDj2LdMMRXFVuN6c9rXyVfWHjV+RzXVhB35o\ni2s2ur8I1jDiSp9kqtzVsagpi8Dh9agLFfzaku0fHoxN0Wu42ruZH9vBx0an\na6LYiZ9qVm012ov3EhYVwhEA6EMC9WX/Hpa4ONyznyiNle8w6o6TH34Eq4ex\ndMUk0fDMSxzF1ZxksAHif0CDW0UbbC+NLwfqLX8ta9tocV3ZRRodBy6RSJ2f\nKPRc\r\n=AkiF\r\n-----END PGP SIGNATURE-----\r\n","size":63744},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.1_1595664486441_0.7481590978328823"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:46.850Z","contributors":[]},"1.10.2":{"name":"ads-client","version":"1.10.2","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"7fdb5fa30a8f801688ad3a43bf4ea3cf7716b2f7","_id":"ads-client@1.10.2","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-acqGKBke905JsKoMSLX/ujZOC26lAdv+IZEa30dgZ+8wpOb8hjql2m6drVS1pFOSgD4wseEL8eoKNTxeNOKkxw==","shasum":"06f40dfbea0b640c9e74497049ae2291c14a9c82","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.2.tgz","fileCount":6,"unpackedSize":309126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzTyqCRA9TVsSAnZWagAAwc0P+gPoZQlcwYeOqxIUormr\nT4QWh8F9W3wae+moZKSuA7M9FJQ6AgiCvRFF5AXDg/qtr/jAOj0bTRV6BWif\no0VftqDwfp4/yTBioZ/TSeOCGEUpxbS4a6YyJQNvvVE/Vjj3QLDRXfOEz45B\nfP6PYKbA1TpBXD/SDzKF7MxxLwZMNI1ZqPtRA8PO3D2jqhskPg6r8S2+Y3jT\ntActZh8EDcTSZJV6hNt3O5BV2AU/sfHY7dcXRohNw7HIso/LoTMBI9fW5nn3\nThkbZ2XaRhdmcrfbOCsOA3dtGX1gdOKd7wPR7b8s0F478VCE1BjhMrsIVeLw\npQNTUsVmFEFY1webVfWJL48Y+gtWRHcb4EzRlHJOPspGUQ1NaSF2A+MUAxmx\nMFIlQc72/XnL0/pyegcPrX1DoYf1/ycS6zq7hoqGk0MHA+fEd+KfvtGEXgky\n8DeKkmTqaYCdpwoobpTxqnls9jOiDMZ0TVdBDdkY2/G/OQ1eFdipvnlwiUdu\n9Gvv4FBGj3xqyEfEEymOEhIYpdxrAQLRE3bt7ISUn86+YKk6v2A1A4MNPo15\nVHhVKIy+dPgESBpHrToeu85RbB5050Ofv2+XAPmDzFWYVANN29ODnqBDCj2X\nPn2Q/9gsO43zzBRUxNW7X+TPd6M2tDQk2J5rP7/rGuSym6+H7zqCISqqM2dM\nddL3\r\n=XSHt\r\n-----END PGP SIGNATURE-----\r\n","size":64111},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.2_1607285929402_0.46241456859349617"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:48.163Z","contributors":[]},"1.10.3":{"name":"ads-client","version":"1.10.3","description":"Unofficial Node.js library for connecting to Beckhoff TwinCAT automation systems using ADS protocol","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"5554b96ef45956142ef3d6a2754f61183506049b","_id":"ads-client@1.10.3","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-G5NFmw2BDdJGWpYZXzuFBEtRUFFvm0r6rKEW8HlDKBjTPjkWZZju8RCZsKrm2vWBen3zwIDvb4NcStDhoZHjEw==","shasum":"31da4eaf76a39d98d9e7f466d4260e8320c124a7","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.3.tgz","fileCount":6,"unpackedSize":309823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIqPvCRA9TVsSAnZWagAAALoP+QDOELh3wPlSFlUGUcWR\n1LbDTC+hrLmEumqWopyOdPjYhWrzycfB/UtWMnMzaiEFLvDzMGttvFIk1Qbs\nFkQ49QBfRWVotMO2OyPL/QPVZGBfooCQdBgptBotbfiGMVM3oMDvFKsvDYk5\nwazkJ822WdSeZ2isvsBwQKTQXlMrCiFdCNHiCK7WtArtPQpeupf2VBW/21o4\n/AEEvNWSlKAx1ShCMl6PMTYNV8lDJRWnJzLhsFOu2eVZkCzDg9OWQhYkYPhi\nFDbeRi5v+XRddkV/5kYjsEIlB3VmUjfnODmLXoXw6d0Deu4n+gWRxeVss+dq\n5/k/STyzSwuqwZqHI/U5ng3IxLnyDU9qvgljVS1qaS+vpaamUVlfLOhRairw\nlvL8m38Fapx6EfC6vMeHpcPHiCEU+cF+KaHTS7RH8C5UmK2xqstr9DAxSl6r\n08VvducVAz1tDoCU+79EoN3SX+oqDcMd3Ak2zyEauUhmbwuBK/recFU244ME\nujArowKLb4TwFOt4IE7TSfhHb5WenVxCHYww1Zt++dHNBa3NmgOkQJ0l1+5t\n9rDfCKYXg5dQirZP43Jxstj/e0vEJEZNi6tME3ldRmTpEPJU2mQR5gi8SaFp\nnxEbCA/KYnu+h/+UnWHJibOu7uq7O9XxzYV4gHVXsz8yUqPiaqP+W/GKIHxr\nf3Gv\r\n=c9dP\r\n-----END PGP SIGNATURE-----\r\n","size":64371},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.3_1612882926579_0.535130627659189"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:49.688Z","contributors":[]},"1.10.4":{"name":"ads-client","version":"1.10.4","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.1.1","iconv-lite":"^0.5.1","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.4"},"gitHead":"9855a36dfa6cecb8713c07510fe8146a65c0a3e2","_id":"ads-client@1.10.4","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Xaa5ioYBUqgT4uJ7fM6ZVh4//JfxzloPBqKlyTVqAbO4jbblXQ1+eE7zFexSK1nv6hSM4OgFeW1xWWoLnlk2jQ==","shasum":"ab2ed1cbff50cbd8064e5cdb52816556fd726ce0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.4.tgz","fileCount":6,"unpackedSize":315321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcqzwCRA9TVsSAnZWagAAsAsQAKQsSrSqpnPP/+QQZAiS\npDvCMt+rDHdF5m0y/wHmVoLwr4okprtYeUrX5uXQuRBoaxWTET6xnR+22fit\nd888wUI1hvKZeIeALByhJBNfcFW3d3kh1S/yvKMqkOkpnrbl5OLjIKS1z0hi\nh0EE8/X4fv96iP7kRnnzaXGBXu1Olb65rsksfUnvFl+5fxdsrlOzzDWhB5uy\nsMhX77/TFrbnD7246/chctTzEbEnOHtaw0yPMNnoSthaN2mr+WDJ/5UwhjxO\nOaZmXJZGKls6ruCyUZ8LtWT5hbVw11BAA+VBk0QVQqOzTNJaQO0fa8rjleG3\n4Ws7cDpn9w3KGbKQEF+IwF5boVSYPXkfgsEIg011NL4TGDnkNY9oDh4/KlIP\nLW1k/WrP8DEGmPecRHI5Er+1008uxORoSmNTvJfHKH1BSEaQNqrY078sUWel\nkyL2xRLOQWrOqpgoz7mX2btMqihgvZT1I8y7C0mieUITjq9vX4hIlp4haC7I\nY5joIfGAzbNoiX1MDDqPTq1cI63jwnJwHWPL/v4ZXSil7nldqKCFbYJSYWzx\nUjL59fbx6aHoczkXdwlWR6DufI8hVbEHFo7aNBGLqHuQFJ3RBMjaujp/xzVN\nW6B6YsgpxAc7siMYyI6mjfIk09jc8wbh7AHDHpAX9pRFSIiNyAycG78FOdGw\nshvY\r\n=DB2N\r\n-----END PGP SIGNATURE-----\r\n","size":65538},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.4_1618128111504_0.6243198461164681"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:51.275Z","contributors":[]},"1.10.5":{"name":"ads-client","version":"1.10.5","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"da1d10f90621d06a0616ab5eecee557ad88fab68","_id":"ads-client@1.10.5","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-I1eqe/HGEL0XUIbeWXEKlZeInGeWCsXtJheaWj6l/FGO0YyPD1clZ4ssWYLhICZWGFSmXIt7PbG92RTpnfrFaA==","shasum":"50c8dbc33ccf34ef5fef504ef0457bfff20f3fef","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.5.tgz","fileCount":6,"unpackedSize":316381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgs+N5CRA9TVsSAnZWagAAA7AQAJdknWeGUkPUJ71VDHfr\nLfFQHYbjB5qLxNi6uWw1SEZt5kKBuXOMXMnTj4Xs2qAf2I4YAaHu0Zg0SdnD\n5wkLc3WZkzMwyx/GwI4k9GgY+6uGjk7Uw6JDz7rwEg+H+m+8VIVRTXkfNDVX\naa71h2OEiao/N0SE8BAWd2TrcAvPzakct5s5Qan9c5spiCxP+X+ZRRRt2McL\n0MWqAqm2hNdaqZnYOD2I7qdR569nCITCulPBI/9fmVZEjbXN4e+dffqybwP0\nosZPw9KXQNwiT2h+dR3FbqYiVoLDmkQdZCbISMqhlx+UXFm310FG5KmYGyJi\n/5dO61n5TnL3T9yMzbaAESi7CINMOckwS14+fNJ6qsCaXkp3EjBGzmjR5lI9\nYGpROrWhlMylFMs5cwsTfMqSeUMsFz3NNNgpP72OLfP3k0u9tSrbUOF5WVWA\nzx0R9lFj5PN6BWnTzf8m4trwWAa1BmX9jV9v9TyLSp8zEPTadBDsgfr9C0we\nrDfwuMOQD27rhGNotq3lVm6UWX6BhMZWv+TPLtHSquSyxH+85tojIdOX3j/t\n6Xe9hzwaJlzS67ASeQc4cG/w5RKNhFUN8px3sxfCEt3xB9Gk3VUUOXmywyj2\npKV5qkNKEwJmWqjxSbje6nLgKVlymXoOy9yYZJ4oIcVRMbnFja1TluT+Alvd\nQdXS\r\n=k9Ht\r\n-----END PGP SIGNATURE-----\r\n","size":65821},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.5_1622401913183_0.628231353486594"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:53.245Z","contributors":[]},"1.10.6":{"name":"ads-client","version":"1.10.6","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"29549e35d08f83bbca9ae77ea9a17387e7ba3baa","_id":"ads-client@1.10.6","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-f0Sb2689MoCeweqkkpGRDVWGrMRXIdrqMCY0BMnQp+a56RTMlxJQHJgYU2eALLMebORV8q2NvTesOn4SrUbZfA==","shasum":"4ea9d1d768fdec0b78603d22878c9f8c6cc01952","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.6.tgz","fileCount":6,"unpackedSize":317374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1EYiCRA9TVsSAnZWagAA24IP/i4dZz8u6tRLQgOM1kuX\nEhzxOpFEK7BBKS52Ti9i0LD1Ii+XfR6bWSNcV1g/BbMsirfWJl6shshcTWxD\nS7Zh9dlNk5xOs/dW5pZGQCLNM3w1n6L94v2ppfld3SBofftxLOoTjcVA8Oze\nW5rei5fkl3RZJqPYhQJ/fht9gdXVNdqhOvCSdb4zWocib9io04UbZsqqyjhx\nCrm7qjnGvIqcUFjVHKsd5R8LxB9KGWlEkmENFaSc7MLCdLANn+mAltwYYmrZ\nQGnoHLWhjnnhhVKG3IHYXzxyW2QkpXYG4k2nUjWo67cFrNytLfgZdIJtVf9P\nzK58xKGJadpBo5dysPLRxWN8BA62CDH+5h0J4LCitqp+LLhgC0+tW1dJQq/S\n3kAQtSoIdkKK/jdfl0ikvf1yfyYdcjpktd7v3nwBNt6PTV6oOrjZcvbCOTym\nGFBoTryfy2vzwIN5yGtk0SGZIftJYnBxuzlI9ZQ037tB6/59QDn0ro7lpYxR\nc8KWS493VFximF41DwLueTfqJUjCP++1M9xJDZ1WbHkJ8I6WON+V/1/ieXkc\nct7Vaivz4ha3RJKNrvC+mcSp/+mAPOMKSedHdkt3ab6jsww75O3SFcTayFnz\n+kLyEgSfxz9qJTaCzyM6eNl/Kir3E8wEgUNyzhyXCcIdVEbMlOG2ZiCPdS3u\nM04k\r\n=Kgxt\r\n-----END PGP SIGNATURE-----\r\n","size":66037},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.6_1624524321846_0.7026152667960504"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:54.792Z","contributors":[]},"1.10.7":{"name":"ads-client","version":"1.10.7","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"f1a5a07bd0c847b8a92a512c8b99b78eb7838b88","_id":"ads-client@1.10.7","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-W+2XuH3VPrYSX9gtXi5dcUuMmZ2ZjbAUwajUyJeCptWVpPsvUVg9LmDBFl2EPWM/eBd6wwwZ/oXFcj82UCLUsw==","shasum":"47c9009e0784f5e1c45a63faeccf1470535d0093","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.10.7.tgz","fileCount":6,"unpackedSize":318009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2CIVCRA9TVsSAnZWagAAx9MP/A1E+FeV2NKg04Tq0bd1\nIn0FEis4+1djS6mChJ75fPDCVehwdORLVribxkAolaio+gugLMv4BJqIQcYy\nR+bKTNBmbJ71sjzNgNoNvnmGJTsH12YAV08gVWLA7iA74Lu8Bb4ag4wJXMMj\nkIzXM4WegtqeXsFyMcYYAAzIPH9YSWs9DWyHrtpn5ZrYsJFFx9ex+NMMQx03\noS9yJz5uTKZaX/44f1vcWAFwbHT+YRBzIqQmt4OlTosGWiRcmakSPuAunZkJ\nWwHv2JWLBON0AGbtGbJF/VyKCGQRlfMwksnLGRBmYHnAuw29Hi4gIE5i10AJ\nuWzx1Ez2oWed7n91tcAiMXR/wxmlyHRxLG+VX0FyE1bdYnJKJsejXwDDNIYm\nDDafKlgRI12cdsLBVlv1D87mNWjC1+DawJnpZdePry5167uM0P6dHaO1uwo9\n6eT6y5oYIPzDx2NvD69V2Lw/VMg99cOdhNGgCl3RFsLL+DkIMUm/S0PRMyzR\nrHAGk1pRYwo56njmXmdeUkMbvhrDH/3affS0Lm+2BRd0kC0Ux4ZxvYcULL2F\niB5zA1Idf4BlX3EPJ0Hin/P+luVfC9O++9FD7MClo2X+S9OKFMFUbwhP+qXe\n5kRWXy0pYJienX5qXH0pqwE8gr/+AMNHnoVLsNcn6UG9uQ8KcxDEfjL+5tp6\nzLkg\r\n=TdRT\r\n-----END PGP SIGNATURE-----\r\n","size":66136},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.10.7_1624777236936_0.9445731317565145"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:56.139Z","contributors":[]},"1.11.0":{"name":"ads-client","version":"1.11.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"de1f642da1595b982845e5eb57e85d399402344e","_id":"ads-client@1.11.0","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-N8JwgRKfk/X3E5FtZtSdsRB3oCZvUEc0Dbz8cKomSXr0eAEqlzkfhP6Wyn8KPn+hj5BwADJ8+Za3TqMKVAWxpw==","shasum":"52da50671d3c9c3075fb14b9853cf9175b5e7ac3","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.11.0.tgz","fileCount":6,"unpackedSize":321360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg23F0CRA9TVsSAnZWagAAmOwQAKQSINEZJR1CnSZep0+x\nWPCaG1L2D9m0uzIwnABOGB8wa/KnRFxutW2GqWGNIgxi77DbRifTJ2DIgn0q\n2qzDofMZ+AgnvJSpBmJDuWM4c0eU9WTgbTQ+SQfxDTgpqzuqSZLtoIKZyTy7\nntjSjCywaHP6L925q0eHxhGUGuE6I2GdY0yuNyMdfV2wlgHUpqU60VqrCs+g\nhVFEexC3+LB7mL5Jdg9rYbxXE18ZjExh2yninGfhEXv9N1BNYKzvFd1nr9Lk\nN5GWqCDNknUPbMl0mCecc7A3rggANUYOApJXT0KqTt42H1JAfNZDidZgQEEZ\n1EdZmkR8oR3iq8WqSb3GpR3p/D186NxpwsUhlZiePRxgLEzYfy9RnRpKDGL8\ne1cBlqF1wNxWvt/Vsooo9AbUy4Xq8uJhMV/g63fslr4vKEvo45ZtkzqzicVe\nRtBxPtcDJZ2yuYKVzlUbFEGAvezXhjAUivDUcOrSbSqdkVhVR4QTozkZkzpv\nQigFgTrKIV1Ehacqi/nzPXSrRHgQZbWSKtWzeKimYhvefe+gPqj009xZr6Bj\nAF7kOaEfebap8da3TADkdbw/wvNCrjg1Me9a3IGmzTRoXqHKquaEinw+lDq4\nxd2mArxJCg5k6N7mYeD7W5D4o3qWBP83hOQcYM7P6Pp18Sj0txl+11bXY2Zj\ncBN2\r\n=gwL6\r\n-----END PGP SIGNATURE-----\r\n","size":67072},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.11.0_1624994164118_0.26151340070687845"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:57.474Z","contributors":[]},"1.11.1":{"name":"ads-client","version":"1.11.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"47903d15c6333490e2dae22977e5e5f74a2c6a9a","_id":"ads-client@1.11.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4dS4ih2w0s/ftVACZsB1RAFqvkz6oAVSsR3JQbpSK221+xq7th5SPDDm4lDSIFnGE/N6DeEtYI5lVk7eYyy0SA==","shasum":"f83fc7c41e75ed66f1ce8308b72137d3fb741689","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.11.1.tgz","fileCount":6,"unpackedSize":322320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6fe+CRA9TVsSAnZWagAAK9EP/i+z1M5qRqjIEYN+LMB9\ns/DHXe1KVb9gVFLBClkpcVnadLFbT1G5QnX4oJqcffSjzzO1uBeeQZ8YOkMo\nmSkO2TvRwVxAOCDY3A1KAJ6hmunsgufSWgdbukvhpbD85lsuoqVeVaQJCXlP\nqMBWaLKiUJTRGP72cBQ4eVQJDkcNGOrj4oM0waHOqhZI9EDsqpeP8M/JRrBR\nlawkIZbvJO7xbueDcv5kkhhMYAdKlvQReC0U5AdIKubXxP4eIueIZSxzuKmZ\n7ZWJSWqOUKB3ly3rdUFDjs6XUxi1p9q0uGtZDsJNaMNj+cYPBsmLnxmApztr\n9aIIVhC1dXXQ0cRxIazumFYaBbOaezCYja4+RfX9svhW06M/j4I+rcLh2ejJ\ng9J082p7ZlKtgi+WoE12uWDXQO1hZ9RDEn1j5VBZH+Ua7eQHn8wRI5/EKB+P\nAAz99Z2k19Zo80LUEJjqNYVio6LyKRUgghZg46EYRYhN9nu9hcT8UbJD/gSS\nnKdnpj8G9b52HMO56sfIX8uiu5uTXEBlTkxhzqUI+l05HpT0Sqe5rvWJLYld\nrxA7fB3wiMEhE9i2zFdkk43Ib8JF3LQabFpUtCsVG73Wo5RB/o831/PyQHam\nokNiPEdIpC1qq03vDiLnUduJJfud2gxUoKTBDfI30PaasY+nELDdHYtDOwWm\n836b\r\n=8phq\r\n-----END PGP SIGNATURE-----\r\n","size":67282},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.11.1_1625946045661_0.5092659614172035"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:41:59.018Z","contributors":[]},"1.11.2":{"name":"ads-client","version":"1.11.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://jisotalo.github.io/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"d248a00dea1823f3692ba6a7f6cf1044827b97bc","_id":"ads-client@1.11.2","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-g3bygVJ0dN3cmfHE9f46UohvnL+e5jfgL7EbXobfvKqw3ov+0eEl/du5Sl+TGvcE2pKEuB62xyJS0f7U6pcQLw==","shasum":"88b2eacf301efba40b7314a547f4dc8d722bcf09","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.11.2.tgz","fileCount":6,"unpackedSize":323716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBm6ICRA9TVsSAnZWagAAddUP/0Iv0ZKuBm99+ZwJZqjS\nXhFegIMof47LSANxXrFi4E6+AouIyz234qn7ZWbpG22HtI5JC88VWBqnnc3K\nvwWMDzlAcHMxaWVe/MivLq2RKRMizfzReUNXfLruCgdHaxRP//CrqG8WfSTn\ndvSzAf6WyFNyQrnJLZptnn/6Fu0UslKVCIzAk1D+5IAN9Jqs9iC9o5zsnQ2A\nRORtX+X6ngoBzpSb07aX68LEi68XWHW4qlHP2IBf1l73aosFXBeiW4syLT3F\nicutC7OQ+waeGqlljG6tC6r/6V+YoTRvCNuSbRADKt+hoHfQFL8QdaPp5DVA\n8mcgeorvmY1GXN9Iy1rHq0WXJ5fEigEoJYxNTYn2X5kA0wC3v7p4299zWfGo\nQI82fF4GQ23XxF62xh6A5BwhMZkjVoa1Tz5axw2wquJq9g7y0cU2//6Jzx9i\n+GYJvRNS2PO0mpOT0g7+4udy+g5DqsWhe83hPwqB7Q8YKzg1DRKVzMvsmIs1\nBCrPmfA/GQg8+/EPCB7HcSxC6Vkrdqhq5BIG/qWVKYe6EAJ/xUJ753lcB04X\nJ6pH/U+rwcay3bb4wv1ilOsTy3IGiX/r4nx7wXJVPC/dr2V2O2/RDSvQ7Ma7\n0T/AsENQ33V8keK/U7F3KRriPsW7kunam7Ts9PRLbCCJRmDR/I1p4B3IS2KW\nkPTz\r\n=qpqI\r\n-----END PGP SIGNATURE-----\r\n","size":67168},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.11.2_1627811464459_0.25932318502910023"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:42:00.343Z","contributors":[]},"1.11.3":{"name":"ads-client","version":"1.11.3","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"7d610755bb74ad430fb058f4ce3009a818586a3f","_id":"ads-client@1.11.3","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-VbDJaTGO5DiM1Lcc3pvJB4Ts+zXVKUqvdOKCE098OVvdIQq+Ki13qPMC8SqpgIKhQqMDJuRjATcgu/6vKOvmiQ==","shasum":"3a0f7cac5c04e1b9f8d9452a1071d602b01e9bb2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.11.3.tgz","fileCount":6,"unpackedSize":324058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhD3nTCRA9TVsSAnZWagAAY8gP/iPAMFrnyOZ+PIFI75yY\nw8b9pB/Ehdo3OQZSL7dANCMqlnEiuGEKHuIlKmWo08khiKznUke67VwsmtY+\nY0wd7mRgWZXLwuikh0wG8sKglqlsnKotytbLsjm/jynGDJDRm4SWzPBl029K\nwyUaZAZhuhXXGkc0FQQ7Uo50Z2bkWp49bUvA47zMb9nbzbJ+7IfkQ8/IbzL1\noOfwAOAVg8QjVGdWuLWceTVVuTH0hQURxj59eX9TQYMqtkMQOrDI+iYhSjCe\n/rTeDGIu3izvcxweKv1eV80Mr1MSpufHuAf8zGdA7NU76E/apW3ye4WwWgC1\nO7Oa/jKauOoWaeceHyOh5jBR4d68g+1t9RtyiAho+A030+YRSCfjORXMLCwx\nh29+YIUExiEQva71yJk5XumD8GxwHOi4RMxRE1YU4NTkh8NZtUiJNdrUHjyT\nya4Ooayl1iI9j4hsoC9U62G+CpBfaiF2PMjnnRSwuAlQ2sZ9H9VYCFEesfpu\nWZaV9PmJLtbng2LdWyU+Ip5X3WrL1W8PnmDMBOsyBZcB+W/QhMI4R9/bbnmZ\nKd08UotUzEX6O/GhNRgbS1lmN5/2zEfKcYK/ucu3ZCqE3u6oFi6raVafn7iw\n4jup0lkymMp+pkN/ryvwwm05VxrmDlE21xMb76TYA57HuYItAKuAK0bRKILz\nvWzQ\r\n=Bwrt\r\n-----END PGP SIGNATURE-----\r\n","size":67232},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.11.3_1628404179165_0.5048589183688517"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:42:01.660Z","contributors":[]},"1.11.4":{"name":"ads-client","version":"1.11.4","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"2f8cbd3a26c01c6552a94f6d5930a43b54fca65e","_id":"ads-client@1.11.4","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-K7Gxz0qGyWVpowbXRTLJY6dQaY561pfpWbQzY01gCLqebC4fzqxNG0z0m95HkhLdCKdPwXAzOjjj7vdXk29jZg==","shasum":"fa33882864f33c551d465e49bec8afc3bb5b54ec","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.11.4.tgz","fileCount":6,"unpackedSize":325070,"size":67383},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.11.4_1634458659843_0.021833154965757995"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-25T11:42:03.444Z","contributors":[]},"1.12.0":{"name":"ads-client","version":"1.12.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.1","iconv-lite":"^0.5.2","long":"^4.0.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"fe3967eb9d1827b59073e13b850a348d8f9c665c","_id":"ads-client@1.12.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vmgbD1BB3DZLbF2nmnyOk6JFUaLGbpJZ60DmFbBtev0Oivl+RkhCrjKFZAimvpaR1IugX1DxlRM/RvQLxNK7qQ==","shasum":"21755e9341849316c36d67fdf778cfd31297f7ac","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.12.0.tgz","fileCount":6,"unpackedSize":329812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhytJOCRA9TVsSAnZWagAAM3wP/icRFmtYTUuBi0U/Hb1r\n/ApMMUQZJTu4kXDr11hVZcOn1ocPlokHzKi0a350PEHUjMrX6v/dg1AAXtTq\nAcYGtPDLo8D4evoOhfhGT/qXPV1HyGODJmj4vPpuhMdGlwfnhIBsR5gtUNqr\nAe+FY0oBT/Bjn92+jsf9/6ItXDtOBkfCJyqNu0fE/myzwfMUAW3cI3vIfQK4\nlgiyGNlW7BSb8YW5CvSUXca2DGEa8S4b6XESdmNy7CYvI9XojHzzT6tKiXra\ncJck8vC5IPrM3TDY+0Tgg8SPdm60Z9XN2Vl26uDbCO8EBHeUouZYkqqV4aQR\n50lJrwCmdf+7MsgeKdYWH73ryJL5bYJW+d5Dwl+dnZtYZsIccciLt0sT/JFP\nsYK4kHNa9FxHWCkiQbHT+n+UW590M8uger8clivBkWR5VjIvW81gyxeWK3s+\nq0unRt2IMfdnr0Ug2Kyai3D28yWF6opSh3tXgl/Bjlv4z9iAcc5RlLQFt6uQ\nb57GM8s/YE8/Q/RLfGPvz+27D6+q7EcNbgh55a9ygxM0ECgFnKBwtcgubvV2\n9nnMH+VPiDrPV5TKpvAtHj4R3paLv2Oo3ITcia/xZe2jWmnQvbxcbZWzZmM8\nE2vo9ToFHEymd2xq73lvs9l5FnMT3AScyMKGcHaKJTPsAzXLKBvJ8rCp+Ng1\nI0mm\r\n=+yHk\r\n-----END PGP SIGNATURE-----\r\n","size":68320},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.12.0_1640682062520_0.9994007031258105"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-28T09:01:11.024Z","contributors":[]},"1.12.1":{"name":"ads-client","version":"1.12.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"c58b0158c4552dbf44b29e8311ad1737af723674","_id":"ads-client@1.12.1","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-JaUyIrkYJPY3v6oPHaKZyWzdxRKUDqKicTZ1PCyPf2Ib6zLjlabRwe13TfaIluJdyMDFi2yIDpIlu6AMy674fg==","shasum":"5b92c414ebba2158f70f5d9c955e2a4abc815137","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.12.1.tgz","fileCount":6,"unpackedSize":329953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5chlCRA9TVsSAnZWagAA/JgP/04Qca+N4gOz0UPmCpY2\njvSYiPxoCgsNYuptdaEgpbMHrLygi+mNY+GB986eI7pwodCaORD35w1eS4kW\n8atFcaYZGq1USEJf/4zn0gkbFHpPn6aNXjeqDX6Wz9WY+aZhovoRS0FLmUe/\ni8dRrxrhEa/2xXLXlE9MN6xQR19OS2FVm8Sq3X+Cr90LFyf/wbRDLl/0/Ox4\n68/fP4wcOqPYIoGlvTcZrteN8CWl7Zdiupa/dbx72Ej+w3Npv3aG0pGtgq7o\nC/tRKR0Lx03f0FL7J+LOPuyHSG3eDxIcjnyFaVrTVkFMyzRBPPzYorMI8VwX\n4VArDG4Q5aDVYDgQrTwz4p3RE5OM21ywxIlM1sFnmQp1CsoBiIFXUp79b5eg\nSUrAL+7S6JL1VgLcADyYylv/2X4Pnozc+UPxc6km/0iWfPp+jZ2rwoKyRnKU\nx7hA7oKOSVZeALBR+MVF8tHycvXrQfvOiQg9mQR888hnZ3Hmlu69LbRaezQn\n5BRDMMHp89ewvc2mC+dt4Soqgf2g01FTdHSQnbZ1DvumxehiHIyF9dShV1x5\nxqtQZhrig9Fu6DmbIGTNILExTMkgSHqCvGh00H+IWEmlA36DZ14DUYzb+Rfv\nBMRpvqDi7ZNrkd4Fr4dPVDdnBnCdE1YZAiehsdjhPOiHhiC9wkkEllVw4e0A\njwww\r\n=BcWm\r\n-----END PGP SIGNATURE-----\r\n","size":67916},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.12.1_1642448996978_0.13799656462945298"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-17T19:50:03.725Z","contributors":[]},"1.12.2":{"name":"ads-client","version":"1.12.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"34b7dcedc3e0400d35167d76e6757ba1f393fa59","_id":"ads-client@1.12.2","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-cqc0mAGfDZgFoGvLiVfZKRH7wlvk1W42MLCwImWpFsyW0zmYRa4UEsUR1U78FAa+I7C2TmgtOf7cumJ4RN55Dg==","shasum":"2c13606bf8b0217bd65cde1437f79db1ce739527","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.12.2.tgz","fileCount":6,"unpackedSize":330166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB2RACRA9TVsSAnZWagAAqGkP/jxg/1kjBWxwiEag/Lij\n9ExQPU/10qRzj/K0e4BVXvQ/fdwXUvIggQ4ZByZ7w4ITs6GYU44dYGBtN3cq\nDh7UEcTGEDDGcpPA6fvEpSTZW1xjMWXp111leB73EoEW/c25kE+E14a00SIW\nuYEK2uKuWmb+zo3jLVZYuKU4R9/m8ups2VQZ3oPXN7fN7txi/qJb+eqhFSBd\ntGEeKCAgXIzvHdFiKSa2Ia23UjydjNafoWMb0Ja/h4HS/MGRPP/HRJDp0Gbj\nNCjE10YK202JHMY8nPcqKGmmmK6161+ZxayFCnMKB/3nVRvQVH+esqeTy+u8\neMvA7IC1HghPFyWNs+5Gl4gs6NmlAxi4iXEFB5nvmMDbgx+4BdA0MVuQ1Twg\nY6FXsVVTEqIMIc3oZRGTmKoXKlKyKCrF1ZDMAXQRyTui2zBsH7eZADgcvN+e\nZNw+fWkebcJ08WEvKcwKINxe7xV8z7P7eJZznaeRtDeZrALMxZgzfYZNIVEq\nYznVmxxeZapBnQVsisrazuQ5eQW5R+VfhIeV6Q7UP81Ng/D4wWlUsZ7hIER+\nzkIzVSiEmbdmyTxYQQ2kZikZHIhcy88mtlWegxGdr5ai1aQpSH/V2i30DFfS\n4ZQF4kvqJfPt/Vqqga1a+7+G0x64eWjyf+Q0IHTNpPKaz25jOF08GB/Iry8/\ntxx6\r\n=Kagk\r\n-----END PGP SIGNATURE-----\r\n","size":67963},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.12.2_1644651584787_0.9582944713280359"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-12T07:39:50.628Z","contributors":[]},"1.13.0":{"name":"ads-client","version":"1.13.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"d386cc714bd56ad4e0cdca3984dde6296573adbc","_id":"ads-client@1.13.0","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-MVOACBPVLmWoC53qovUCvF2a8oa+n/SCBM4nANJs41izOztsckrvcq/F0DYKqUxt1/M8owwEafNge45Yutv2Sw==","shasum":"215e9274ba394b8ea2dd62ec826b9eecce164636","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.13.0.tgz","fileCount":6,"unpackedSize":332960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiGzmKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOgg//Sg2rDLY8/qLrNql1rI7nlzDBZW8SiLZ9ztf50oCNrMo+hf/j\r\nX+6/GuWSRbgGYf01nv/Eylb61y+eeigWchPJthB1epPMN9jUhZBdKSspqRZe\r\nSpsgWo6HGGRISbGOmMyx960tu96QSYDRVRCMBD+2+DrMhWrru8sABMvBjp4b\r\nj7AL6s4birKeLl8nutPdmuY3NTfRZa9EnhUoV4PeKl1st5JSIVwcdU8o5c7f\r\n07y6Vct/fdMCsm+JTu9V2hUvlWuPYfXKG3skUBG59+lzIDoIa7hKC8j2Py9T\r\nPTdIQ4ezDAyezPz9tdUZRqjDCIB7dhRINyaBrZhRbISScfx2AgJImu/K+bNF\r\nV0CkKVnp8S3+FdMaapQjCPYDO8BC44tMYFL/4PT+0Viuuc7juZkZYnfzqt4M\r\nKcRlhvPBuA6o9tTEeffyyz8fMfIqg76PCVlgu5K3ausJ0MULRCbwAFiTuevD\r\nxbHSustDjst1iMBZrcHYe3vTt7urFoVuLyYJZ6hSiL8qOpYb2y0EgfhMCcdN\r\nonWbJOREPvZvzrE4gq+dkbDc+ZAcxIPvLeQIAjmGnkzfIaqQVSCmpl3Hx2JR\r\nv4Ab6m0beKFN21AucXopfg29wjaFr0rKsIo67f0jCcNH/3neg2p28gAioXC+\r\n+qhsmXNFE/8oGfyt3tpQ77KR/fNmLDmhWcs=\r\n=iqtl\r\n-----END PGP SIGNATURE-----\r\n","size":68777},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.13.0_1645951370772_0.6764798338657161"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-27T08:42:58.096Z","contributors":[]},"1.13.1":{"name":"ads-client","version":"1.13.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"39c72bec19e3ceefe270e05a613990abbdd486e1","_id":"ads-client@1.13.1","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-s00VOGAcvQyXAqyGNl+7mXyufH0fT3vTC4qigwBJN3juxq5uLw9h63oTkJe1s9PiPBE5yE1NF0NiXITG/vSBVg==","shasum":"a2586d070a2fcaca113f57a594017c2e98a2715a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.13.1.tgz","fileCount":6,"unpackedSize":334870,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlWPbS3ZUY6s8RrgiZEfU6pAv+OnbMTG1EksCz3xKfVAIhAOzL2n40Qxu/CpnsFV+jPZ324L6rOek+LRff/JfTTofw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSzrQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrByw/9F1fZliDAedbHMnot39jY77lk+EiRgBY/p4B+yUYi3xhquRF7\r\nsVGFKZKh7woxp6o7rvOwV8UIFM8fzyUamhHrSlWtDycTYJ7aamZBPfSyFVGB\r\n2+FF3oS34Iebln1mX7TF02isHLK0A1FdzgpBuFpwwQgV7O40fNDEag9Ldd4K\r\nZIzEzZvb40wiWuZpqEH6KEyzObzSTsQuR6gFZgwuGoSF2YPPClCo77f0ruAb\r\nupEhRct6zIhThmU0XobI4bX5Mdc2sMgs1qp5K4UeG0eytmRFcKcD+/aCjLXT\r\ncC+QWgbTkZwvb7hdT+FaWunIwMe/nq+obA5wErNEchaCyEIwyCO8np3D740H\r\nPW/bhKZXUM/WrMnPzKWi7nZ4u1AYuwTBWzG0hAQq4bPotq30cJyh6COjsK/7\r\n5/6TyY3K/SGPcBIModehYHYtaXwFycoqsudYHESvYC8oVo+8WmsBpSw9ZHpt\r\nKzV6HQJR5XzQ7WEAEpFvOpxH7AXg2e5ddDsTjm/oijzaj4xBtfmMlh+YCZ6U\r\nudzBn5k+LJWtEdLbW7CFdJLZLAFU3CQf3FLqJkmxi9pt/sKOW5wW1pw4yJM+\r\nUtjVPfknX8SRGA2h+E1m2U7GoDfHfvHMFJ7CFO1v14ynIe6tWuzCqUtCHsPT\r\noW9RPE9EU1hqWK9x60GLEc38F+7U5C1WbMc=\r\n=MgnK\r\n-----END PGP SIGNATURE-----\r\n","size":69372},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.13.1_1649097424141_0.13081396904679177"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-04T20:07:14.233Z","contributors":[]},"1.13.2":{"name":"ads-client","version":"1.13.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jsdoc":"^3.6.7"},"gitHead":"f125a6ccc14a1ca8c8621cea404fcdcd3913b72c","_id":"ads-client@1.13.2","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-LENkD+ZDU9QIs5erkL8deav1IgCeqU0Jzz3QjeNvpN0dN6pUE6xwngJBTDGRJaSr6DoIlDvdtyFPRyhAF5pOPw==","shasum":"0f184ccc525129d2cf0725cbc52b8ff9550073f5","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.13.2.tgz","fileCount":6,"unpackedSize":339178,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF4O/WMdIdkI/SFivA9kg1A4jaYkGNutaPNbzQ0kYE4/AiBzrLztfRLtXr+/8umli+Qur+WEFlvqMH722nbhCOjZcw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJig/YDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPmA//WPqXDMnMwZtXXrcznzqQAx63+IlXMsnqDZ2304Hjla00rPIu\r\nRsi9buZDf5Zi73FScDjZ5zwApycsTL3h9mSMhY8CQsptKI8XAPVyICNvxysZ\r\nNCQql1qHy5hL20TNYEqztxtUKevXSH6bMUe2R2mpe6g/lcSnXLrBJpHIyb7n\r\nEJEGjdZpPfEN5jd6YRVjWDoDsdsxaMWkMnsBI3Q4kY7VBM2nk6qBngKAoJKa\r\n4yULcBWyBl0n6y8QnDvfsTLQognn7/pE5BUfin06TXrtlW+s/v9SWbXrZskr\r\nuitsgLtnR17Ipx6I2AIgvm5kBSDyvJNyRz8rQgXOOZS9l5s1Nn3TxO12VRvt\r\nameqTeolD/u2TFKP6COnI/nhmAQSKs9sboIMyFqKleCpKDwtA2K/Q5hXlqZS\r\nLsOFxkwqoc+bwaWBPCaxd10IxotUKDxW3+pelwXagh4R8B5xpFfUhXBKlekA\r\n8RvQx5VOsRefE5I0iP2IxkSoH9YrK175EfxfWC9ksfFMdlvVra30gYwAgqpV\r\n5DEQVUuyIfggFykWY9ryK5JmFgzKMurPg5GBrQXCyXZ94cNEHPcZLEM3CjBL\r\n7Yj1vwsJ0a8CnXEPrIRgpjblDYOKW/qPPBYe+QwmpWDLdigjxP1jDGnzFQBh\r\nrP8Ttu3n8N4Iz4IHvQsO3KkABC/xHAw28ws=\r\n=RQh0\r\n-----END PGP SIGNATURE-----\r\n","size":70405},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.13.2_1652815363218_0.21735844080501865"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-17T20:10:07.985Z","contributors":[]},"1.14.0":{"name":"ads-client","version":"1.14.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"jest --runInBand","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jest":"^28.1.3","jsdoc":"^3.6.7"},"gitHead":"f7881aab815c9c93c35139ecbbeb944a1a622172","_id":"ads-client@1.14.0","_nodeVersion":"14.15.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-kWBE3mGRSWvj5M7CdXbkD6s1alrZ7jigho6L0lYj4Ct4VnjRZzbtecTNRxOh5320kCI9HvTXNx6mO2P8jLUeFg==","shasum":"81f4cc7da223eb13c79866c484184fe32ac1b1a4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.14.0.tgz","fileCount":6,"unpackedSize":340144,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAlsMY8NWEODRFM+yN5TNRhPkBSQVKZIUMPQM6X6yaNHAiAyNoWeJhmxZky2o2YOte18XszCp9Od/pyaYBElX8uWlw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi27z9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqz4Q/+PayWpaRx1ue6PxW5QHXg1EuZRvemcpS0UF63lldV5vxkjZd9\r\nquW1OnijRB3DYK90xIsY/eHOL+6mid9UMp6amoW9iiLhzHDYWnqpVpmuQ8V1\r\nPqQc3pj3P3HkfC+h1Yt1qf3EI50yEciUGBM8DbhPsr14EQkuriOsf4Onpy3b\r\n54xc/x1fTyDgYDDz45rmc1kSBhleIMjxzb08bdMVgsfeQqLQ7+xcjQEkeNDD\r\nPeR6/yzNdlMhUC3G5bC59s3G43TZ4gcbyeS84Z95fagkx42r0fazKzPXe84U\r\noJCj8Ew/MOpALk8Kg8oidKq+Jsp2f2AJ+sjjIlvXWzQjNcLRvF3BzmL3YAna\r\n1urnb2mrdJQAZ+SnUPFcGtohxUO7u/gOgBMC1p9WjZKjC/y0BAA4HrgeQerF\r\n0AslYcjIChdEeZmQ3U/POzLAfyBc66kIUF2MZWGHUH9HxhI9ktrpkJeaE6Jm\r\n9MZ4Aw85V/feUqiExIvThdftKzdl8RW3ad8VTEcvDlENSpjlgCKs18m4N9a5\r\nPvsHU4odwdTKbpyRj1P+ENVbbHrVhI9e3bLhgehRTfsJ6Ble941mRJSI0Inv\r\nvfY5OPn/q8Z5YCOsSTqBgU2ZlX0hvPA7iu6JYRo4kAVXtm24MVF3IOI203Rk\r\nld/+t7ViNIsQf3cFwf9W84ULweBml/ekdf8=\r\n=N0/5\r\n-----END PGP SIGNATURE-----\r\n","size":70691},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.14.0_1658567933086_0.3386295013860605"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-23T09:19:03.380Z","contributors":[]},"1.14.1":{"name":"ads-client","version":"1.14.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"jest --runInBand","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jest":"^28.1.3","jsdoc":"^3.6.7"},"gitHead":"2f12c332ee90268aee7d9817e4df965a41d207b9","_id":"ads-client@1.14.1","_nodeVersion":"18.6.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-PbYoWd0D0vXD0z6nsFXCk1e6XhV6GDssFVFBLKv2N1cRWkp/xFVbHy7Ggxng0iMXznNQg8AnsmdTLMoyr0Sstw==","shasum":"e9a067cc9bcda1b74d0003305be61973babfb8c3","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.14.1.tgz","fileCount":6,"unpackedSize":341482,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAo7XdQ9tWii/wbAhyUoYF6+z4vv4AVotF2cPreT7lp5AiEA3M3nDwRd3M4AH9yX2Sqm5xfD6xgHLJHnL/ejQt2qgIc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjINLpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpgwg//YgC2kW2L0Fy0yKv3ZCVd8SphmKqxm2bnhsSRkEjxSR2s8l5l\r\nCrCgOHUevdcjFLJnu0YXepdPmuzzbuPO2RheUPYGd3yq/R7MrzmujvXvmS9e\r\n3t1zUA1edjoAJFfVtvU5+tBsdzRbzIREV5sxnJ1Z0pT7P7okBEJsB4QWUkWI\r\nkFPoN8IqQ7JFf9sehRgfLZ1h+PrxjjF+PRlJDzCKvhmZLPnNZVbTLct/EMVh\r\nXfPfqYZD3KANKKeR0Sw2iIg+zKUsaD2jrBhvtCQs/Cr1PGO2/sJgGrpCx/bw\r\nSDpPyyoEbejaKDSHa1FvveN9lm5dpc8bF+wO3yK2kEMnLdBmyv13J977bLos\r\nzCTYnJMPh3L2gtFsbcEYJ8OEAolB2Bx34Aewb86PFqXRTR3hZI+mp71IAyrF\r\n791pmg4qK5ROZXQ7COoNgwLK8nX99+DLtkhLjbJ9HS8nyHD6H0l9wPqX9VJr\r\n9ZYL1urgk53SxNq9Sni3UTWdOHAMwIKXwDyiu2IFrDXD/qOGQzUjlFy4BoYH\r\njYkqvSq0s+rJnD0T455RoTnEwNVVvGIo+1V86ZSvGKO/zV7VCGD5NPihyyRH\r\nMb8GX7Nx/eVBKbevXFHoyir4726wY5b7duvs6TxSN/r/wjkBi9xnNev6erVy\r\n1S1VO85NticFhr5/zpPHlhoSgKszaqehEQM=\r\n=j31C\r\n-----END PGP SIGNATURE-----\r\n","size":71063},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.14.1_1663095529411_0.34544238711848574"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-13T18:59:09.408Z","contributors":[]},"1.14.2":{"name":"ads-client","version":"1.14.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"jest --runInBand","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jest":"^28.1.3","jsdoc":"^3.6.7"},"gitHead":"d5a0fe33359974d3aee1d5634093d6a86d2de693","_id":"ads-client@1.14.2","_nodeVersion":"18.6.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-8iIHTSXnhZ8Zm78I2KV9l/58o/487Fssu7ruwwcfwpBcGDIjq5YZ2SK7vSjyc+q/3hjyB4VhS565Iy0pxy0ohA==","shasum":"0ad68bf28265ca89814a6ca04ee2916b8875b335","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.14.2.tgz","fileCount":6,"unpackedSize":342696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDERXFelaR/yVZmv9eqFTlk0EkWfPSYkOJtzSCiRjPj6wIhALf3cgNtDAqzSP6GpD8/hMxB681OhwDrMxpfEzNw+j8R"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUVnNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3Pg/8D/Nx9BgktHYhIxith5nKA+5w/8Z2MnCd46BRFTouo1KvuwdP\r\nTQGVdjXPZGdVGMAH51++fVdfkIvkQI6LFOecft8wqi1t2bG8QlxUSNuO6vgV\r\nfbhjTo2apgR8I1rMRGy8xr2Yf96Pef4mv9/482ngGbEGESuKCpw4bMExZSQQ\r\nkMEMr5n8j7O2t4FFJ8mxiV4DwV3ZV0Lsv1hArZd/xVC4xBaEiytotXtBz6zl\r\nFJPqsKgz0W6W4IgX1mZ5W8A8WJmpfHzg9xoHtvCnnHXoqDPL+X15atQiuUFg\r\nSdtRxSKJ/vkc4OnkS+KufJVsZaDvgoGyrNgrgyuq8+tuJhwuD5Qa689q62FL\r\nN0zvBW4Vqm2TxQC2KnjjrS35zycXFrkbnjJdUyZT2IBadb9yBdFI/vF61vmo\r\nKFNTj6vb9NH13kq8GJiCjxteb2yEOIruu1nqMtmWjSlDbZhXtKo2Ce88inYe\r\n2ZK1pf/4kgSCRu/QRiIYjaNR6asO0IRJwrynlByzVYK+hTS/zL3RTzL+Uofd\r\nx8b2Q5OZfImErz1oPHZMaF1A6mz0rEiI8q0fp79t0nr0JAuwZyjtfzVvx8iI\r\n8LWfYxEz4vyhr3W1Wg83q+zvx4Fk5x9AMECJFJ2hSVt4gWcOECF/OJklmbKG\r\nXnN8PqWyYAwPz3ZYqfYVhZYzHFD5lWa2kv0=\r\n=85eJ\r\n-----END PGP SIGNATURE-----\r\n","size":71363},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.14.2_1683053005710_0.18779979943994496"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-02T18:43:25.922Z","publish_time":1683053005922,"_source_registry_name":"default","contributors":[]},"1.14.3":{"name":"ads-client","version":"1.14.3","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"jest --runInBand","test-um":"set ADS_CLIENT_TEST_AMS=192.168.4.1.1.1 && jest --runInBand","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jest":"^28.1.3","jsdoc":"^3.6.7"},"gitHead":"1a88b8a02917ccf63874fe20cabb792b558b2dd1","_id":"ads-client@1.14.3","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-tA4SH1EIOGhS5ZSfgLiA+vLQ9yTQIjemz0fe80ZRLF++4Eww07Gg8vMMN8B9O32+N3QTu8ZwqMAlM3oZDghsaA==","shasum":"1d789cc60972322b89f9adbbc642cd53963c75b2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.14.3.tgz","fileCount":6,"unpackedSize":344985,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDerwTmcrpTQQHYQRXAJ9Wt7MGfMQ8t+dkrDoMun4oAXgIgZS26pVXzi6mA5kgcdZfOYu0IsjnkTIAmxJil1ZY/YS0="}],"size":72011},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.14.3_1695447589325_0.9415708192381262"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-23T05:39:49.513Z","publish_time":1695447589513,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.1":{"name":"ads-client","version":"2.0.0-beta.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test":"jest --runInBand","test-dev":"jest --runInBand --bail=true --verbose=false --summaryThreshold=1","test-watch":"npm run test -- --watch --config test/jest.config.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.5","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.12","@types/node":"^20.14.12","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.1","readmeFilename":"README.md","gitHead":"a83f38ac5097a532c85fe931c56d1e014727b869","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-7QqZ4ANs0/CHdeHtirqu+jThxMKVouSLjetSl6rVymH8nXM9wjWpVr4Nr/U3OEsK2HEqz5Ne7YdWCw+AILmJtg==","shasum":"fbde6250662150dc9f4a0ec5d14fd1d97079860b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.1.tgz","fileCount":19,"unpackedSize":681243,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtkivVZoCf9thbend4oIzXfTLuzFfIKBuV+4K0xYMIfAiAWFkbzqSDe/TkDZ8fBsJbWLjq6O/oniRYlCZEulncwnQ=="}],"size":112646},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_2.0.0-beta.1_1724525279861_0.8127542737896343"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-24T18:48:00.003Z","publish_time":1724525280003,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.2":{"name":"ads-client","version":"2.0.0-beta.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test":"jest --runInBand","test-dev":"jest --runInBand --bail=true --verbose=false --summaryThreshold=1","test-watch":"npm run test -- --watch --config test/jest.config.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.5","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.12","@types/node":"^20.14.12","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.2","readmeFilename":"README.md","gitHead":"6a5c13da0e1f279fa1d58bfa221c600290702f52","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-UL/HoZGprQgSO0vIDAFZ1oOoFgzhHMZqsLLNhGVqeEDzFphrNWnSwf0jGKUl4pk6EENY2OQ2OR6euJIjVbqG1g==","shasum":"10ed030d8f286c07bda6330ddbc5ef10410a5ce1","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.2.tgz","fileCount":19,"unpackedSize":681947,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH09k0xK3XqXGuCkTOK9x9kxgmaDwZ0ExrWfTFhxK2FgAiEA+u7iHU5AQIlT4eCTRGvWv+82EE3e759vgutmmSF0loA="}],"size":112779},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_2.0.0-beta.2_1724698351180_0.7652616513852333"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-26T18:52:31.352Z","publish_time":1724698351352,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.3":{"name":"ads-client","version":"2.0.0-beta.3","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test":"jest --runInBand","test-dev":"jest --runInBand --bail=true --verbose=false --summaryThreshold=1","test-watch":"npm run test -- --watch --config test/jest.config.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.5","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.12","@types/node":"^20.14.12","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.3","readmeFilename":"README.md","gitHead":"da31064caf77d8f4c949ce0885766d174431c63a","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-9+zxfkDcQwU0SW8xzy1isUXFmG1YENdZeQPsXxiWFZRaI1snmUPGBF+sJVBzKGOa8L4cbF7EMj3ZaaBxJQshzw==","shasum":"2c66bf4f32b122d0da24f7601d6956b7d14e8b78","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.3.tgz","fileCount":19,"unpackedSize":695792,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxQvFidhUmwddEhfyrPSHIb16H6WC8NYhriHmnZlMLygIhAOoScTFnDj+iQFlWrAhy0ZYxu23r6irJz9SrvTaDShJo"}],"size":116311},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_2.0.0-beta.3_1725994047553_0.9442733716643157"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-10T18:47:27.764Z","publish_time":1725994047764,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.4":{"name":"ads-client","version":"2.0.0-beta.4","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.5","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.12","@types/node":"^20.14.12","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.4","readmeFilename":"README.md","gitHead":"578ee72de3f9f6a343972727b8cbafbfbe80d29c","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-291n2L5DgwAudlAlWBdObqxl0KT9lM5YgS5E0q277tf1ppyk7SM8Q+vw2rB1NLAA5yU0FJzdFLcYLciROQqeXw==","shasum":"341544b451fb1aa27807c481801d055aeeb066c2","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.4.tgz","fileCount":19,"unpackedSize":760268,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTTRfnFDmoN0zYTF3INweOgYUBcAzFvdDYBHqOna+JRAiEA6D6zyBv4irJxk9I18gyIiQbgHVhpaGmh/pS6Sknep+8="}],"size":120632},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_2.0.0-beta.4_1727889135273_0.7948828296371038"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-02T17:12:15.524Z","publish_time":1727889135524,"_source_registry_name":"default","contributors":[]},"1.14.4":{"name":"ads-client","version":"1.14.4","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connects to Beckhoff TwinCAT automation systems using ADS protocol.","main":"./src/ads-client.js","scripts":{"test":"jest --runInBand","test-um":"set ADS_CLIENT_TEST_AMS=192.168.4.1.1.1 && jest --runInBand","generate-docs":"jsdoc ./src/ads-client.js ./README.md -c ./jsdoc-conf.json -d ./docs/ -t ./node_modules/docdash/"},"keywords":["ADS","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ADS","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.3","iconv-lite":"^0.6.3","long":"^5.2.0"},"devDependencies":{"docdash":"^1.2.0","jest":"^28.1.3","jsdoc":"^3.6.7"},"_id":"ads-client@1.14.4","gitHead":"01a538cd01504018b28912b820f018a849a9afe9","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-8aUeD2VFL/3pa6f+xLhej2gyVATUwlfMsRNtkBK/Yhrf2WxPIly0oZYRqIFrDgV/VeZKg0Vlakdv3JhGZosQIQ==","shasum":"2fa5d16d832aacbe0b7bb23166e8bbec19e83f9c","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-1.14.4.tgz","fileCount":6,"unpackedSize":348423,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDU+z9R13mmfSt5i83NYySbazlwiqnOcJV6s/okEWwnwgIganL1TJVS5phWfhfTWlo13v1Lp6GBLDDXy3VGI2NLZRU="}],"size":73342},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_1.14.4_1727978068593_0.4011628091989301"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-03T17:54:28.828Z","publish_time":1727978068828,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.5":{"name":"ads-client","version":"2.0.0-beta.5","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.3.5","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.12","@types/node":"^20.14.12","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.5","readmeFilename":"README.md","gitHead":"e0cfb3d28444964bc264e7468a07f92f0f8cc369","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-s6xK83PtsYXATKKEkpTgtN01U62+CV0FqinP6z40gZw/qog5zDUeg2d+8pWJSTXr1/FcSItF7S/0rLV5q51Fyg==","shasum":"c3af821b297551b2d5c305697000fff4049636c6","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.5.tgz","fileCount":19,"unpackedSize":833817,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOCmG22Nq+HZMFNpdoNC5WTXQ3N/lb2R99FPt/3unkJAIhAJJLHfx9qaMYs2R1/pObBjTWQWvnA/fIhv+1kNN/seES"}],"size":135737},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ads-client_2.0.0-beta.5_1732563324089_0.021212971346801446"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-25T19:35:24.268Z","publish_time":1732563324268,"_source_registry_name":"default","contributors":[]},"2.0.0-beta.6":{"name":"ads-client","version":"2.0.0-beta.6","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.0","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.14","@types/node":"^22.10.2","jest":"^29.7.0","typedoc":"^0.27.4","typescript":"^5.7.2"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0-beta.6","readmeFilename":"README.md","gitHead":"66ba773690c488e2962e8d9ccb9903f6257639a6","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-riv/sTv6bNcqu3TOMWHsnfmze9g8IyWzJo/StTMtOGW7Wezsnr0lB5P07Wt2gfgc5kruGXx2zMPPkqfn3O24OA==","shasum":"4029bae2bd3ffaa9d921a42f8006bc53b0ea28d4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0-beta.6.tgz","fileCount":19,"unpackedSize":790480,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMErFsabEMTO0CPbMiZegBo/9qR7vEyQaXO46I0zdYjgIhAJmSa/lq5zLqS00Q7tGCxsH0McjMAN7tOZKoYRrTVj+w"}],"size":133767},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.0.0-beta.6_1734171977527_0.414517125239394"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-14T10:26:17.711Z","publish_time":1734171977711,"_source_registry_name":"default","contributors":[]},"2.0.0":{"name":"ads-client","version":"2.0.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.0","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.14","@types/node":"^22.10.2","jest":"^29.7.0","typedoc":"^0.27.4","typescript":"^5.7.2"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.0","gitHead":"a0444a306cb068c602ef07933f9f9a9b6fa6d5e0","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-HXxxWVJ1U/BErp1UOZeMr1f9U2d1l/1jhEPdjZj4EJLSDrjTPiQOUQYSb9PJ+o156YPLtMEgK89JJYtPdrK6fA==","shasum":"bb871588e8c7150d9998904d80600aa81fde740c","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.0.tgz","fileCount":19,"unpackedSize":790628,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFT3g18miBV39XyPJERpdXGC+1HlawrPSoZe6jrb9cUGAiB76S6Xm4JrmNfanWsl+IvUHbQK1IWzWYjzVMuuPupCKQ=="}],"size":133807},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.0.0_1734175495450_0.28563229317351957"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-14T11:24:55.617Z","publish_time":1734175495617,"_source_registry_name":"default","contributors":[]},"2.0.1":{"name":"ads-client","version":"2.0.1","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.0","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.14","@types/node":"^22.10.2","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.1","gitHead":"60a9fa278245fc469235a9a22034bc8a1962b8a2","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-9l3C5A+LicQgVmprdF8Wk3JszSbC9KKYa/uPH+doIEbEOU/QzWWaV8/ktyBBZ1ifhgPtCqvE+fv0VZ3tWEoqyA==","shasum":"1de344fb5b2eeb5b6950b9e93f5cec72709137ec","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.1.tgz","fileCount":19,"unpackedSize":790610,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDZWKQqSnluILe6uQz1x7Oxf+ov5shKiAdrZbb90s6dFAiABPNKg5K1B0MuSDgITzAyLQhoP3K35KZWmMBOHwGJi/Q=="}],"size":133799},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.0.1_1734177330645_0.24673776053900465"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-14T11:55:30.831Z","publish_time":1734177330831,"_source_registry_name":"default","contributors":[]},"2.0.2":{"name":"ads-client","version":"2.0.2","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.0","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.14","@types/node":"^22.10.2","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.0.2","gitHead":"97b725f0dcad3acc6166dc9cf88935ccb4b252ca","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-7e/j3utR3BKgcbih5rEoqGvU5/zmX01WGRR1/PkSHQkSgQQYuKHg8J4YZ+oF1As9GUaIO7sAxeugjlJ7b5xy0Q==","shasum":"4eab599af6107ce05dba7f954dda1074535ab3b6","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.0.2.tgz","fileCount":19,"unpackedSize":790638,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICsYHosh3Wb0S84NAx0VejfLB3BBDoU9PG8mE6ZI5PNjAiAvJNqaxscUSY0KSbs2YAnlsHE1L1O8m2YMVSKDKeSpDg=="}],"size":133812},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.0.2_1734177863194_0.3266537825821312"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-14T12:04:23.359Z","publish_time":1734177863359,"_source_registry_name":"default","contributors":[]},"2.1.0":{"name":"ads-client","version":"2.1.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.0","iconv-lite":"^0.6.3","long":"^5.2.3"},"devDependencies":{"@tsconfig/node16":"^16.1.3","@types/debug":"^4.1.12","@types/jest":"^29.5.14","@types/node":"^22.10.2","jest":"^29.7.0","typedoc":"^0.26.5","typescript":"^5.5.4"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.1.0","gitHead":"06fb33d14a885a7ef8ef7724de4aee6c02cf7543","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-dRzuRKRnXKali0JphmE/8m29YC5LqwioIqc+ZrviJb94evnCnd58JB47/0LjyQFh8i2iX/GRUUuqZ7euAyhVyA==","shasum":"d274654b42ea435ed2b3d903d352708cf43484ad","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.1.0.tgz","fileCount":19,"unpackedSize":804848,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG7zCOgXT9sEd4E5IJZjEmknviFHRi94AAxw+yh4aFFuAiBISnBsqSt9g9o52OGzkFRAgws8vS+63kjYF2OKLJEmAw=="}],"size":136113},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.1.0_1738004053931_0.5784880053216035"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-27T18:54:14.129Z","publish_time":1738004054129,"_source_registry_name":"default","contributors":[]},"2.2.0":{"name":"ads-client","version":"2.2.0","description":"Beckhoff TwinCAT ADS client library for Node.js (unofficial). Connect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.","main":"./dist/ads-client.js","scripts":{"test-tc3":"jest --runInBand TC3/ads-client.test.js","test-tc2":"jest --runInBand TC2/ads-client.test.js","build":"tsc","watch":"tsc -w","create-docs":"npx typedoc"},"keywords":["ads","twincat","beckhoff","plc","iec-61131-3","61131-3","twincat 2","twincat 2.11","twincat 3","twincat 3.1","twincat ads","twincat-ads","codesys","client"],"author":{"name":"Jussi Isotalo","email":"j.isotalo91@gmail.com","url":"https://github.com/jisotalo"},"license":"MIT","homepage":"https://github.com/jisotalo/ads-client/","bugs":{"url":"https://github.com/jisotalo/ads-client/issues"},"repository":{"type":"git","url":"git+https://github.com/jisotalo/ads-client.git"},"dependencies":{"debug":"^4.4.3","iconv-lite":"^0.7.1","long":"^5.3.2"},"devDependencies":{"@tsconfig/node16":"^16.1.8","@types/debug":"^4.1.12","@types/jest":"^30.0.0","@types/node":"^25.0.3","jest":"^30.2.0","typedoc":"^0.28.15","typescript":"^5.9.3"},"types":"./dist/ads-client.d.ts","_id":"ads-client@2.2.0","gitHead":"424d34b17f0c25b9c1b5b5190e3d64aca9e42c39","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-HTDVQkjs2bJUriyfzgL8gCIy9fIXSdm7r97x7cTEFql0z3lxQhmz8LcqFTVzC4bBjlWT1t7F9AGKKNLiwWgKfQ==","shasum":"29715341ef9f5d3c662cbbb72933e39eafaff3ea","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/ads-client/-/ads-client-2.2.0.tgz","fileCount":19,"unpackedSize":808024,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCq0Q2HIVE+JDSUgep74SIPxowBXIeh5zfx3KQh1XRWzQIhAK9I5pifUBWMzC1SvXfw1pao11CZ2Ka8aQHZyXXtWFMe"}],"size":136896},"_npmUser":{"name":"anonymous","email":"j.isotalo91@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"j.isotalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ads-client_2.2.0_1766820755783_0.42500969592093507"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-27T07:32:35.988Z","publish_time":1766820755988,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"2.2.0"},"name":"ads-client","time":{"created":"2022-01-28T20:42:58.279Z","modified":"2025-12-27T07:32:56.124Z","1.0.0":"2020-04-12T09:42:45.769Z","1.0.1":"2020-04-12T10:18:47.257Z","1.0.2":"2020-04-13T08:53:45.105Z","1.0.3":"2020-04-13T10:22:39.687Z","1.1.0":"2020-04-16T19:30:28.205Z","1.1.1":"2020-04-20T16:14:43.025Z","1.1.2":"2020-04-23T17:23:45.290Z","1.2.0":"2020-05-16T14:17:15.253Z","1.2.1":"2020-05-16T14:24:08.450Z","1.3.0":"2020-05-24T10:30:16.307Z","1.4.0":"2020-05-28T13:30:57.897Z","1.5.0":"2020-05-30T07:34:48.543Z","1.5.1":"2020-06-08T15:36:49.126Z","1.6.0":"2020-06-22T16:45:11.592Z","1.7.0":"2020-06-23T16:23:06.139Z","1.7.1":"2020-06-24T16:38:45.198Z","1.8.0":"2020-07-02T16:29:02.376Z","1.9.0":"2020-07-05T19:23:10.530Z","1.10.0":"2020-07-09T13:20:51.765Z","1.10.1":"2020-07-25T08:08:06.595Z","1.10.2":"2020-12-06T20:18:49.518Z","1.10.3":"2021-02-09T15:02:06.707Z","1.10.4":"2021-04-11T08:01:51.654Z","1.10.5":"2021-05-30T19:11:53.292Z","1.10.6":"2021-06-24T08:45:22.033Z","1.10.7":"2021-06-27T07:00:37.078Z","1.11.0":"2021-06-29T19:16:04.298Z","1.11.1":"2021-07-10T19:40:45.818Z","1.11.2":"2021-08-01T09:51:04.598Z","1.11.3":"2021-08-08T06:29:39.368Z","1.11.4":"2021-10-17T08:17:40.031Z","1.12.0":"2021-12-28T09:01:02.772Z","1.12.1":"2022-01-17T19:49:57.148Z","1.12.2":"2022-02-12T07:39:44.982Z","1.13.0":"2022-02-27T08:42:50.927Z","1.13.1":"2022-04-04T18:37:04.329Z","1.13.2":"2022-05-17T19:22:43.393Z","1.14.0":"2022-07-23T09:18:53.293Z","1.14.1":"2022-09-13T18:58:49.658Z","1.14.2":"2023-05-02T18:43:25.922Z","1.14.3":"2023-09-23T05:39:49.513Z","2.0.0-beta.1":"2024-08-24T18:48:00.003Z","2.0.0-beta.2":"2024-08-26T18:52:31.352Z","2.0.0-beta.3":"2024-09-10T18:47:27.764Z","2.0.0-beta.4":"2024-10-02T17:12:15.524Z","1.14.4":"2024-10-03T17:54:28.828Z","2.0.0-beta.5":"2024-11-25T19:35:24.268Z","2.0.0-beta.6":"2024-12-14T10:26:17.711Z","2.0.0":"2024-12-14T11:24:55.617Z","2.0.1":"2024-12-14T11:55:30.831Z","2.0.2":"2024-12-14T12:04:23.359Z","2.1.0":"2025-01-27T18:54:14.129Z","2.2.0":"2025-12-27T07:32:35.988Z"},"readme":"# ads-client\r\n\r\n[![npm version](https://img.shields.io/npm/v/ads-client)](https://www.npmjs.org/package/ads-client) \r\n[![GitHub](https://img.shields.io/badge/View%20on-GitHub-brightgreen)](https://github.com/jisotalo/ads-client)\r\n[![License](https://img.shields.io/github/license/jisotalo/ads-client)](https://choosealicense.com/licenses/mit/)\r\n\r\nBeckhoff TwinCAT ADS client library for Node.js (unofficial). \r\n\r\nConnect to a Beckhoff TwinCAT automation system using the ADS protocol from a Node.js app.\r\n\r\nIf you are using Node-RED, check out the [node-red-contrib-ads-client](https://www.npmjs.com/package/node-red-contrib-ads-client).\r\n\r\nThere is automatically created documentation available at https://jisotalo.fi/ads-client/\r\n\r\n# Project status\r\n\r\n14.12.2024 - version 2 released!\r\n\r\n- Rewritten in Typescript\r\n- See [CHANGELOG.md](https://github.com/jisotalo/ads-client/blob/master/CHANGELOG.md) for details.\r\n- See [MIGRATION.md](https://github.com/jisotalo/ads-client/blob/master/MIGRATION.md) for guide of migrating v1 -> v2 (**breaking changes!**)\r\n- See the new [documentation](https://jisotalo.fi/ads-client/classes/Client.html)\r\n\r\nSee [`legacy-v1` branch](https://github.com/jisotalo/ads-client/tree/legacy-v1) for previous/legacy version 1.4.4.\r\n\r\n# Features\r\n- Supports TwinCAT 2 and 3\r\n- Supports connecting to the local TwinCAT 3 runtime \r\n- Supports any kind of target systems with ADS protocol (local runtime, PLC, EtherCAT I/O...)\r\n- Supports multiple connections from the same host\r\n- Reading and writing any kind of variables\r\n- Subscribing to variable value changes (ADS notifications)\r\n- Automatic conversion between PLC and Javascript objects\r\n- Calling function block methods (RPC)\r\n- Automatic 32/64 bit variable support (PVOID, XINT, etc.)\r\n- Automatic byte alignment support (all pack-modes automatically supported)\r\n- Handles TwinCAT restarts, configuration changes and PLC software updates automatically \r\n\r\n# Table of contents\r\n- [ads-client](#ads-client)\r\n- [Project status](#project-status)\r\n- [Features](#features)\r\n- [Table of contents](#table-of-contents)\r\n- [Support](#support)\r\n- [Installing](#installing)\r\n- [Minimal example (TLDR)](#minimal-example-tldr)\r\n- [Connection setup](#connection-setup)\r\n  - [Setup 1 - Connect from Windows](#setup-1---connect-from-windows)\r\n  - [Setup 2 - Connect from Linux/Windows](#setup-2---connect-from-linuxwindows)\r\n  - [Setup 3 - Connect from any Node.js system](#setup-3---connect-from-any-nodejs-system)\r\n  - [Setup 4 - Connect from local system](#setup-4---connect-from-local-system)\r\n  - [Setup 5 - Docker container](#setup-5---docker-container)\r\n- [Important](#important)\r\n  - [Enabling localhost support on TwinCAT 3](#enabling-localhost-support-on-twincat-3)\r\n  - [Structured variables](#structured-variables)\r\n  - [Connecting to targets without a PLC runtime](#connecting-to-targets-without-a-plc-runtime)\r\n  - [Differences when using with TwinCAT 2](#differences-when-using-with-twincat-2)\r\n- [Getting started](#getting-started)\r\n  - [Documentation](#documentation)\r\n  - [Available methods](#available-methods)\r\n  - [Creating a client](#creating-a-client)\r\n  - [Connecting](#connecting)\r\n  - [Reading values](#reading-values)\r\n    - [Reading any value](#reading-any-value)\r\n    - [Reading raw data](#reading-raw-data)\r\n    - [Reading reference/pointer](#reading-referencepointer)\r\n  - [Writing values](#writing-values)\r\n    - [Writing any value](#writing-any-value)\r\n    - [Writing raw data](#writing-raw-data)\r\n    - [Writing reference/pointer](#writing-referencepointer)\r\n  - [Subscribing to value changes](#subscribing-to-value-changes)\r\n    - [Any value](#any-value)\r\n    - [Raw data](#raw-data)\r\n    - [Unsubscribing](#unsubscribing)\r\n  - [Using variable handles](#using-variable-handles)\r\n    - [Reading a value using a variable handle](#reading-a-value-using-a-variable-handle)\r\n    - [Writing a value using a variable handle](#writing-a-value-using-a-variable-handle)\r\n  - [Calling function block RPC methods](#calling-function-block-rpc-methods)\r\n    - [Things to note when using RPC Methods](#things-to-note-when-using-rpc-methods)\r\n    - [About examples](#about-examples)\r\n    - [RPC method with standard data types](#rpc-method-with-standard-data-types)\r\n    - [RPC method with struct](#rpc-method-with-struct)\r\n  - [Converting data between raw data and Javascript objects](#converting-data-between-raw-data-and-javascript-objects)\r\n    - [Converting a raw value to a Javascript object](#converting-a-raw-value-to-a-javascript-object)\r\n    - [Converting a Javascript object to a raw value](#converting-a-javascript-object-to-a-raw-value)\r\n  - [Other features](#other-features)\r\n    - [ADS sum commands](#ads-sum-commands)\r\n    - [Starting and stopping a PLC](#starting-and-stopping-a-plc)\r\n    - [Starting and stopping TwinCAT system](#starting-and-stopping-twincat-system)\r\n    - [Client events](#client-events)\r\n    - [Debugging](#debugging)\r\n  - [Disconnecting](#disconnecting)\r\n  - [Common issues and questions](#common-issues-and-questions)\r\n    - [There are lot's of connection issues and timeouts](#there-are-lots-of-connection-issues-and-timeouts)\r\n    - [Getting `TypeError: Do not know how to serialize a BigInt`](#getting-typeerror-do-not-know-how-to-serialize-a-bigint)\r\n    - [Can I connect from Raspberry Pi to TwinCAT?](#can-i-connect-from-raspberry-pi-to-twincat)\r\n    - [Receiving ADS error 1808 `Symbol not found` even when it should be found](#receiving-ads-error-1808-symbol-not-found-even-when-it-should-be-found)\r\n    - [Having timeouts or 'mailbox is full' errors](#having-timeouts-or-mailbox-is-full-errors)\r\n    - [Having problems to connect from OSX or Raspberry Pi to target PLC](#having-problems-to-connect-from-osx-or-raspberry-pi-to-target-plc)\r\n    - [A data type is not found even when it should be](#a-data-type-is-not-found-even-when-it-should-be)\r\n    - [Connection failed - failed to set PLC connection](#connection-failed---failed-to-set-plc-connection)\r\n    - [Connection failed (error EADDRNOTAVAIL)](#connection-failed-error-eaddrnotavail)\r\n    - [Problems running ads-client with docker](#problems-running-ads-client-with-docker)\r\n    - [How to connect to a PLC that is in CONFIG mode?](#how-to-connect-to-a-plc-that-is-in-config-mode)\r\n    - [Issues with TwinCAT 2 low-end devices (BK9050, BC9050 etc.)](#issues-with-twincat-2-low-end-devices-bk9050-bc9050-etc)\r\n  - [External links](#external-links)\r\n  - [Library testing](#library-testing)\r\n    - [TwinCAT 3 tests](#twincat-3-tests)\r\n    - [TwinCAT 2 tests](#twincat-2-tests)\r\n- [License](#license)\r\n\r\n\r\n# Support\r\n\r\n* Bugs and feature requests: \r\n  * [Github Issues](https://github.com/jisotalo/ads-client/issues)\r\n* Help, support and discussion: \r\n  * [Github Discussions](https://github.com/jisotalo/ads-client/discussions)\r\n\r\nIf you want to support my work, you can buy me a coffee! Contact for more options. \r\n\r\n<a href=\"https://www.buymeacoffee.com/jisotalo\" target=\"_blank\"><img src=\"https://cdn.buymeacoffee.com/buttons/v2/default-blue.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" ></a>\r\n\r\n[![Donate](https://img.shields.io/badge/Donate-PayPal-yellow)](https://www.paypal.com/donate/?business=KUWBXXCVGZZME&no_recurring=0&currency_code=EUR)\r\n\r\nIf you need help with integrating the ads-client, I'm available for coding work with invoicing. Contact for further details. \r\n\r\n# Installing\r\n\r\nInstall the [npm package](https://www.npmjs.com/package/ads-client):\r\n\r\n```\r\nnpm install ads-client\r\n```\r\n\r\nInclude the module in your code:\r\n\r\n```js\r\n//Javascript:\r\nconst { Client } = require('ads-client');\r\n\r\n//Typescript:\r\nimport { Client } from 'ads-client';\r\n```\r\n\r\nYou can also clone the repository and run `npm run build`. After that, the library is available at `./dist/`\r\n\r\n# Minimal example (TLDR)\r\n\r\nThis connects to a local PLC runtime, reads a value, writes a value, reads it again and then disconnects. The value is a string and it's located in `GVL_Global.StringValue`.\r\n\r\n```js\r\nconst { Client } = require('ads-client');\r\n\r\nconst client = new Client({\r\n  targetAmsNetId: 'localhost',\r\n  targetAdsPort: 851\r\n});\r\n\r\nclient.connect()\r\n  .then(async (res) => {   \r\n    console.log(`Connected to the ${res.targetAmsNetId}`);\r\n    console.log(`Router assigned us AmsNetId ${res.localAmsNetId} and port ${res.localAdsPort}`);\r\n\r\n    try {\r\n      //Reading a value\r\n      const read = await client.readValue('GVL_Global.StringValue');\r\n      console.log('Value read (before):', read.value); \r\n\r\n      //Writing a value\r\n      await client.writeValue('GVL_Global.StringValue', 'This is a new value');\r\n\r\n      //Reading a value\r\n      const read2 = await client.readValue('GVL_Global.StringValue');\r\n      console.log('Value read (after):', read2.value); \r\n\r\n    } catch (err) {\r\n      console.log('Something failed:', err);\r\n    }\r\n    \r\n    //Disconnecting\r\n    await client.disconnect();\r\n    console.log('Disconnected');\r\n\r\n  }).catch(err => {\r\n    console.log('Error:', err);\r\n  });\r\n```\r\n\r\n# Connection setup\r\n\r\nThe ads-client can be used with multiple system configurations.\r\n\r\n![ads-client-setups](https://github.com/jisotalo/ads-client/blob/master/img/connection_setup.png?raw=true)\r\n\r\n\r\n## Setup 1 - Connect from Windows\r\n\r\nThis is the most common scenario. The client is running on a Windows PC that has TwinCAT Router installed (such as development laptop, Beckhoff IPC/PC, Beckhoff PLC).\r\n\r\n**Requirements:**\r\n- Client has one of the following installed\r\n  - TwinCAT XAE (dev. environment)\r\n  - TwinCAT XAR (runtime)\r\n  - [TwinCAT ADS](https://www.beckhoff.com/en-en/products/automation/twincat/tc1xxx-twincat-3-base/tc1000.html)\r\n- An ADS route is created between the client and the PLC using TwinCAT router\r\n\r\n**Client settings:**\r\n\r\n```js\r\nconst client = new Client({\r\n  targetAmsNetId: '192.168.1.120.1.1', //AmsNetId of the target PLC\r\n  targetAdsPort: 851,\r\n});\r\n```\r\n\r\n## Setup 2 - Connect from Linux/Windows\r\n\r\nIn this scenario, the client is running on Linux or Windows without TwinCAT Router. The .NET based router can be run separately on the same machine.\r\n\r\n**Requirements:**\r\n- Client has .NET runtime installed\r\n- Client has [AdsRouterConsoleApp](https://github.com/Beckhoff/TF6000_ADS_DOTNET_V5_Samples/tree/main/Sources/RouterSamples/AdsRouterConsoleApp) or similar running\r\n- An ADS route is created between the client and the PLC (see [AdsRouterConsoleApp](https://github.com/Beckhoff/TF6000_ADS_DOTNET_V5_Samples/tree/main/Sources/RouterSamples/AdsRouterConsoleApp) docs)\r\n\r\n**Client settings:**\r\n\r\n```js\r\nconst client = new Client({\r\n  targetAmsNetId: '192.168.1.120.1.1', //AmsNetId of the target PLC\r\n  targetAdsPort: 851,\r\n});\r\n```\r\n\r\n## Setup 3 - Connect from any Node.js system\r\n\r\nIn this scenario, the client is running on a machine that has no router running (no TwinCAT router and no 3rd party router). For example, Raspberry Pi without any additional installations.\r\n\r\nIn this setup, the client directly connects to the PLC and uses its TwinCAT router for communication. Only one simultaneous connection from the client is possible.\r\n\r\n**Requirements:**\r\n- Target system (PLC) firewall has TCP port 48898 open\r\n  - Windows Firewall might block, make sure Ethernet connection is handled as \"private\"\r\n- Local AmsNetId and ADS port are set manually\r\n  - Used `localAmsNetId` is not already in use\r\n  - Used `localAdsPort` is not already in use\r\n- An ADS route is configured to the PLC (see blow)\r\n\r\n**Setting up the route:**\r\n\r\n1. At the PLC, open `C:\\TwinCAT\\3.1\\Target\\StaticRoutes.xml`\r\n2. Copy paste the following under  `<RemoteConnections>`\r\n\r\n```xml\r\n<Route>\r\n  <Name>UI</Name>\r\n  <Address>192.168.1.10</Address>\r\n  <NetId>192.168.1.10.1.1</NetId>\r\n  <Type>TCP_IP</Type>\r\n  <Flags>64</Flags>\r\n</Route>\r\n```\r\n\r\n3. Edit `Address` to IP address of the client (which runs the Node.js app), such as `192.168.1.10`\r\n4. Edit `NetId` to any unused AmsNetId address, such as `192.168.1.10.1.1`\r\n5. Restart PLC\r\n\r\n**Client settings:**\r\n\r\n```js\r\nconst client = new Client({\r\n  localAmsNetId: '192.168.1.10.1.1',  //Same as Address in PLC's StaticRoutes.xml (see above)\r\n  localAdsPort: 32750,                //Can be anything that is not used\r\n  targetAmsNetId: '192.168.1.120.1.1',//AmsNetId of the target PLC\r\n  targetAdsPort: 851,\r\n  routerAddress: '192.168.1.120',     //PLC IP address\r\n  routerTcpPort: 48898                \r\n});\r\n```\r\n\r\n**See also:**\r\n* [Issue #51](https://github.com/jisotalo/ads-client/issues/51#issuecomment-758016428)\r\n\r\n## Setup 4 - Connect from local system\r\n\r\nIn this scenario, the PLC is running Node.js app locally. For example, the development PC or Beckhoff PLC with a screen for HMI.\r\n\r\n**Requirements:**\r\n- AMS router TCP loopback enabled (see [Enabling localhost support](#enabling-localhost-support))\r\n  - Should be already enabled in TwinCAT versions >= 4024.5.\r\n\r\n**Client settings:**\r\n\r\n```js\r\nconst client = new Client({\r\n  targetAmsNetId: '127.0.0.1.1.1', //or 'localhost'\r\n  targetAdsPort: 851,\r\n});\r\n```\r\n\r\n## Setup 5 - Docker container\r\n\r\nIt's also possible to run the client in a docker containers, also with a separate router (Linux systems).\r\n\r\nI'm available for coding work if you need help with this. See [Support](#support)\r\n\r\n# Important \r\n\r\n## Enabling localhost support on TwinCAT 3\r\n\r\nIf connecting to the local TwinCAT runtime (Node.js and PLC on the same machine), the ADS router TCP loopback feature has to be enabled.\r\n\r\nTwinCAT 4024.5 and newer already have this enabled as default.\r\n\r\n1. Open registery edition (`regedit`)\r\n2. Navigate to\r\n\r\n```\r\n32 bit operating system:\r\n  HKEY_LOCAL_MACHINE\\SOFTWARE\\Beckhoff\\TwinCAT3\\System\\\r\n\r\n64 bit it operating system:\r\n  HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Beckhoff\\TwinCAT3\\System\\\r\n```\r\n\r\n3. Create new DWORD registery named `EnableAmsTcpLoopback` with value of `1`\r\n4. Restart\r\n  \r\n![ads-client-tcp-loopback](https://user-images.githubusercontent.com/13457157/82748398-2640bf00-9daa-11ea-98e5-0032b3537969.png)\r\n\r\nNow you can connect to the localhost using `targetAmsNetId` address of `127.0.0.1.1.1` or `localhost`.\r\n\r\n## Structured variables\r\n\r\nWhen writing structured variables, the object properties are handled case-insensitively. This is because the TwinCAT is case-insensitive.\r\n\r\nIn practice, it means that the following objects are equal when passed to `writevalue()` or `convertToRaw()`:\r\n\r\n```js\r\n{\r\n  sometext: 'hello',\r\n  somereal: 3.14\r\n}\r\n```\r\n\r\n```js\r\n{\r\n  SOmeTEXT: 'hello',\r\n  SOMEreal: 3.14\r\n}\r\n```\r\n\r\nIf there are multiple properties with the same name (in case-insensitive manner), the client selects probably the first one (the selection is done by `Object.find()`):\r\n\r\n```js\r\n//In this case, probably the first one (sometext) is selected and the SOMEtext is skipped.\r\n{\r\n  sometext: 'hello',\r\n  SOMEtext: 'good day'\r\n}\r\n```\r\n\r\n## Connecting to targets without a PLC runtime\r\n\r\nUsually the `ads-client` is used to connect to a PLC runtime. Howevever, it's also possible to connect to any device supporting ADS protocol, such as\r\n\r\n* TwinCAT system service\r\n* I/O devices (EtherCAT, K-bus etc.)\r\n* [ads-server](https://github.com/jisotalo/ads-server) instances\r\n\r\nAs default, the client assumes that there should be a PLC runtime. This causes errors with non-PLC systems, as different PLC related things are initialized.\r\n```\r\nConnection failed - failed to set PLC connection. If target is not PLC runtime, use setting \"rawClient\". If system is in config mode or there is no PLC software yet, you might want to use setting \"allowHalfOpen\".\r\n```\r\n\r\nBy using the `rawClient` setting, the client allows raw connections to any ADS supported system.\r\n\r\n```js\r\nconst client = new Client({\r\n  targetAmsNetId: '192.168.5.131.3.1', \r\n  targetAdsPort: 1002,\r\n  rawClient: true // <-- NOTE\r\n})\r\n```\r\n\r\nNote that when the `rawclient` setting is set, the client only connects to the target. All other background features, such as monitoring system state, PLC symbol version or connection issues, are not available.\r\n\r\n\r\n## Differences when using with TwinCAT 2\r\n\r\n* ADS port for first the PLC runtime is 801 instead of 851\r\n\r\n```js\r\nconst client = new ads.Client({\r\n  targetAmsNetId: '...', \r\n  targetAdsPort: 801 //<-- NOTE\r\n});\r\n```\r\n\r\n* All variable and data type names are in UPPERCASE\r\n\r\nThis might cause problems if your app is used with both TC2 & TC3 systems.\r\n\r\n![image](https://user-images.githubusercontent.com/13457157/86540055-96df0d80-bf0a-11ea-8f94-7e04515213c2.png)\r\n\r\n\r\n* Global variables are accessed with dot (`.`) prefix (without the GVL name)\r\n \r\n```js\r\nawait client.readSymbol('GVL_Test.ExampleSTRUCT') //TwinCAT 3\r\nawait client.readSymbol('.ExampleSTRUCT') //TwinCAT 2\r\n```\r\n\r\n* ENUMs are always numeric values only\r\n\r\n* Empty structs and function blocks (without members) can't be read\r\n\r\n# Getting started\r\n\r\n## Documentation\r\n\r\nThe documentation is available at [https://jisotalo.fi/ads-client](https://jisotalo.fi/ads-client/classes/Client.html) and `./docs` folder.\r\n\r\nExamples in the getting started are based on a PLC project from [https://github.com/jisotalo/ads-client-test-plc-project](https://github.com/jisotalo/ads-client-test-plc-project).\r\n\r\nYou can use the test PLC project as reference together with the [ads-client.test.js](https://github.com/jisotalo/ads-client/blob/master/test/TC3/ads-client.test.js) to see and try out all available features.\r\n\r\n## Available methods\r\n\r\nClick a method to open it's documentation.\r\n\r\n| Method                                                                                                          | Description                                                                                                                                                                      |\r\n| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| [`cacheDataTypes()`](https://jisotalo.fi/ads-client/classes/Client.html#cacheDataTypes)                         | Caches all data types from the target PLC runtime.                                                                                                                               |\r\n| [`cacheSymbols()`](https://jisotalo.fi/ads-client/classes/Client.html#cacheSymbols)                             | Caches all symbols from the target PLC runtime.                                                                                                                                  |\r\n| [`connect()`](https://jisotalo.fi/ads-client/classes/Client.html#connect)                                       | Connects to the target.                                                                                                                                                          |\r\n| [`convertFromRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertFromRaw)                         | Converts raw data to a Javascript object by using the provided data type.                                                                                                        |\r\n| [`convertToRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertToRaw)                             | Converts a Javascript object to raw data by using the provided data type.                                                                                                        |\r\n| [`createVariableHandle()`](https://jisotalo.fi/ads-client/classes/Client.html#createVariableHandle)             | Creates a handle to a variable at the target system by variable path  (such as `GVL_Test.ExampleStruct`).                                                                        |\r\n| [`createVariableHandleMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#createVariableHandleMulti)   | Sends multiple `createVariableHandle()` commands in one ADS packet (ADS sum command).                                                                                            |\r\n| [`deleteVariableHandle()`](https://jisotalo.fi/ads-client/classes/Client.html#deleteVariableHandle)             | Deletes a variable handle that was previously created using `createVariableHandle()`.                                                                                            |\r\n| [`deleteVariableHandleMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#deleteVariableHandleMulti)   | Sends multiple `deleteVariableHandle()` commands in one ADS packet (ADS sum command).                                                                                            |\r\n| [`disconnect()`](https://jisotalo.fi/ads-client/classes/Client.html#disconnect)                                 | Disconnects from the target and closes active connection.                                                                                                                        |\r\n| [`getDataType()`](https://jisotalo.fi/ads-client/classes/Client.html#getDataType)                               | Returns full data type declaration for requested data type (such as `ST_Struct`).                                                                                                |\r\n| [`getDataTypes()`](https://jisotalo.fi/ads-client/classes/Client.html#getDataTypes)                             | Returns all target PLC runtime data types.                                                                                                                                       |\r\n| [`getDefaultPlcObject()`](https://jisotalo.fi/ads-client/classes/Client.html#getDefaultPlcObject)               | Returns a default (empty) Javascript object representing provided PLC data type.                                                                                                 |\r\n| [`getSymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#getSymbol)                                   | Returns a symbol object for given variable path (such as `GVL_Test.ExampleStruct`).                                                                                              |\r\n| [`getSymbols()`](https://jisotalo.fi/ads-client/classes/Client.html#getSymbols)                                 | Returns all symbols from the target PLC runtime.                                                                                                                                 |\r\n| [`invokeRpcMethod()`](https://jisotalo.fi/ads-client/classes/Client.html#invokeRpcMethod)                       | Invokes a function block RPC method on the target system.                                                                                                                        |\r\n| [`readDeviceInfo()`](https://jisotalo.fi/ads-client/classes/Client.html#readDeviceInfo)                         | Reads target device information.                                                                                                                                                 |\r\n| [`readPlcRuntimeState()`](https://jisotalo.fi/ads-client/classes/Client.html#readPlcRuntimeState)               | Reads target PLC runtime state (`Run`, `Stop` etc.)                                                                                                                              |\r\n| [`readPlcSymbolVersion()`](https://jisotalo.fi/ads-client/classes/Client.html#readPlcSymbolVersion)             | Reads target PLC runtime symbol version.                                                                                                                                         |\r\n| [`readPlcUploadInfo()`](https://jisotalo.fi/ads-client/classes/Client.html#readPlcUploadInfo)                   | Reads target PLC runtime upload information.                                                                                                                                     |\r\n| [`readRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#readRaw)                                       | Reads raw data from the target system by a raw ADS address (index group, index offset and data length).                                                                          |\r\n| [`readRawByHandle()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawByHandle)                       | Reads raw data from the target system by a previously created variable handle (acquired using `createVariableHandle()`).                                                         |\r\n| [`readRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawByPath)                           | Reads raw data from the target system by variable path (such as `GVL_Test.ExampleStruct`).                                                                                       |\r\n| [`readRawBySymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawBySymbol)                       | Reads raw data from the target system by a symbol object (acquired using `getSymbol()`).                                                                                         |\r\n| [`readRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawMulti)                             | Sends multiple `readRaw()` commands in one ADS packet (ADS sum command).                                                                                                         |\r\n| [`readState()`](https://jisotalo.fi/ads-client/classes/Client.html#readState)                                   | Reads target ADS state.                                                                                                                                                          |\r\n| [`readTcSystemState()`](https://jisotalo.fi/ads-client/classes/Client.html#readTcSystemState)                   | Reads target TwinCAT system state from ADS port 10000 (usually `Run` or `Config`).                                                                                               |\r\n| [`readTcSystemExtendedState()`](https://jisotalo.fi/ads-client/classes/Client.html#readTcSystemExtendedState)   | Reads extended target TwinCAT system service state from ADS port 10000 if supported by target system. Tested to work with 3.1.4022 and newer.                                    |\r\n| [`readValue()`](https://jisotalo.fi/ads-client/classes/Client.html#readValue)                                   | Reads variable's value from the target system by a variable path (such as `GVL_Test.ExampleStruct`) and returns the value as a Javascript object.                                |\r\n| [`readValueBySymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#readValueBySymbol)                   | Reads variable's value from the target system by a symbol object (acquired using `getSymbol()`) and returns the value as a Javascript object.                                    |\r\n| [`readWriteRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#readWriteRaw)                             | Writes raw data to the target system by a raw ADS address (index group, index offset) and reads the result as raw data.                                                          |\r\n| [`readWriteRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#readWriteRawMulti)                   | Sends multiple `readWriteRaw()` commands in one ADS packet (ADS sum command).                                                                                                    |\r\n| [`reconnect()`](https://jisotalo.fi/ads-client/classes/Client.html#reconnect)                                   | Reconnects to the target (disconnects and then connects again).                                                                                                                  |\r\n| [`resetPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#resetPlc)                                     | Resets the target PLC runtime. Same as reset cold in TwinCAT XAE.                                                                                                                |\r\n| [`restartPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#restartPlc)                                 | Restarts the PLC runtime. Same as calling `resetPlc()` and then `startPlc()`.                                                                                                    |\r\n| [`restartTcSystem()`](https://jisotalo.fi/ads-client/classes/Client.html#restartTcSystem)                       | Restarts the target TwinCAT system.                                                                                                                                              |\r\n| [`sendAdsCommand()`](https://jisotalo.fi/ads-client/classes/Client.html#sendAdsCommand)                         | Sends a raw ADS command to the target.                                                                                                                                           |\r\n| [`sendAdsCommandWithFallback()`](https://jisotalo.fi/ads-client/classes/Client.html#sendAdsCommandWithFallback) | Sends a raw ADS command to the target. If it fails to specific ADS error codes, sends the fallback ADS command.                                                                  |\r\n| [`setDebugLevel()`](https://jisotalo.fi/ads-client/classes/Client.html#setDebugLevel)                           | Sets active debug level.                                                                                                                                                         |\r\n| [`setTcSystemToConfig()`](https://jisotalo.fi/ads-client/classes/Client.html#setTcSystemToConfig)               | Sets the target TwinCAT system to config mode. Same as `Restart TwinCAT (Config mode)` in TwinCAT XAE.                                                                           |\r\n| [`setTcSystemToRun()`](https://jisotalo.fi/ads-client/classes/Client.html#setTcSystemToRun)                     | Sets the target TwinCAT system to run mode. Same as `Restart TwinCAT system` in TwinCAT XAE.                                                                                     |\r\n| [`startPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#startPlc)                                     | Starts the target PLC runtime. Same as pressing the green play button in TwinCAT XAE.                                                                                            |\r\n| [`stopPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#stopPlc)                                       | Stops the target PLC runtime. Same as pressing the red stop button in TwinCAT XAE.                                                                                               |\r\n| [`subscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribe)                                   | Subscribes to value change notifications (ADS notifications) by variable path (such as `GVL_Test.ExampleStruct`) or raw ADS address (index group, index offset and data length). |\r\n| [`subscribeRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribeRaw)                             | Subscribes to raw value change notifications (ADS notifications) by a raw ADS address (index group, index offset and data length).                                               |\r\n| [`subscribeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribeValue)                         | Subscribes to value change notifications (ADS notifications) by a variable path, such as `GVL_Test.ExampleStruct`.                                                               |\r\n| [`unsubscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#unsubscribe)                               | Unsubscribes a subscription (deletes ADS notification).                                                                                                                          |\r\n| [`unsubscribeAll()`](https://jisotalo.fi/ads-client/classes/Client.html#unsubscribeAll)                         | Unsubscribes all active subscription (deletes all ADS notifications).                                                                                                            |\r\n| [`writeControl()`](https://jisotalo.fi/ads-client/classes/Client.html#writeControl)                             | Sends an ADS `WriteControl` command to the target.                                                                                                                               |\r\n| [`writeRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRaw)                                     | Writes raw data to the target system by a raw ADS address (index group, index offset and data length).                                                                           |\r\n| [`writeRawByHandle()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawByHandle)                     | Writes raw data to the target system by a previously created variable handle (acquired using `createVariableHandle()`).                                                          |\r\n| [`writeRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawByPath)                         | Writes raw data to the target system by variable path (such as `GVL_Test.ExampleStruct`).                                                                                        |\r\n| [`writeRawBySymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawBySymbol)                     | Writes raw data to the target system by a symbol object (acquired using `getSymbol()`).                                                                                          |\r\n| [`writeRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawMulti)                           | Sends multiple `writeRaw()` commands in one ADS packet (ADS sum command).                                                                                                        |\r\n| [`writeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#writeValue)                                 | Writes variable's value to the target system by a variable path (such as `GVL_Test.ExampleStruct`). Converts the value from a Javascript object to a raw value.                  |\r\n| [`writeValueBySymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#writeValueBySymbol)                 | Writes variable's value to the target system by a symbol object (acquired using `getSymbol()`). Converts the value from a Javascript object to a raw value.                      |\r\n\r\n## Creating a client\r\n\r\nSettings are passed via the [`Client`](https://jisotalo.fi/ads-client/classes/Client.html) constructor. The following settings are mandatory:\r\n- [`targetAmsNetId`](https://jisotalo.fi/ads-client/interfaces/AdsClientSettings.html#targetAmsNetId) - Target runtime AmsNetId\r\n- [`targetAdsPort`](https://jisotalo.fi/ads-client/interfaces/AdsClientSettings.html#targetAdsPort) - Target runtime ADS port\r\n\r\nSee other settings from the [`AdsClientSettings` documentation](https://jisotalo.fi/ads-client/interfaces/AdsClientSettings.html).\r\n\r\n```js\r\nconst client = new Client({\r\n  targetAmsNetId: \"localhost\",\r\n  targetAdsPort: 851\r\n});\r\n```\r\n\r\n## Connecting\r\n\r\nIt's a good practice to start a connection at startup and keep it open until the app is closed. \r\nIf there are connection issues or the PLC software is updated, the client will handle everything automatically.\r\n\r\n\r\n```js\r\nconst { Client } = require('ads-client');\r\n\r\nconst client = new Client({\r\n  targetAmsNetId: 'localhost',\r\n  targetAdsPort: 851\r\n});\r\n\r\nclient.connect()\r\n  .then(async (res) => {   \r\n    console.log(`Connected to the ${res.targetAmsNetId}`);\r\n    console.log(`Router assigned us AmsNetId ${res.localAmsNetId} and port ${res.localAdsPort}`);\r\n    //Connected\r\n\r\n    //...\r\n\r\n    //Disconnecting\r\n    await client.disconnect();\r\n\r\n  }).catch(err => {\r\n    console.log('Error:', err);\r\n  });\r\n```\r\n\r\n## Reading values\r\n\r\n### Reading any value\r\n\r\nUse [`readValue()`](https://jisotalo.fi/ads-client/classes/Client.html#readValue) to read any PLC value.\r\n\r\nThe only exception is the dereferenced value of a reference/pointer, see [Reading reference/pointer](#reading-referencepointer).\r\n\r\n**Reading INT**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.StandardTypes.INT_');\r\nconsole.log(res.value); \r\n// 32767\r\n```\r\n\r\n**Reading STRING**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.StandardTypes.STRING_');\r\nconsole.log(res.value); \r\n// A test string ääöö!!@@\r\n```\r\n\r\n**Reading DT**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.StandardTypes.DT_');\r\nconsole.log(res.value); \r\n// 2106-02-06T06:28:15.000Z (Date object)\r\n```\r\n\r\n**Reading STRUCT**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.ComplexTypes.STRUCT_');\r\nconsole.log(res.value); \r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n}\r\n*/\r\n```\r\n\r\n**Reading FUNCTION_BLOCK**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.ComplexTypes.BLOCK_2'); //TON\r\nconsole.log(res.value); \r\n// { IN: false, PT: 2500, Q: false, ET: 0, M: false, StartTime: 0 }\r\n```\r\n\r\n**Reading ARRAY**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.StandardArrays.REAL_3');\r\nconsole.log(res.value); \r\n// [ 75483.546875, 0, -75483.546875 ]\r\n```\r\n\r\n**Reading ENUM**\r\n\r\n```js\r\nconst res = await client.readValue('GVL_Read.ComplexTypes.ENUM_');\r\nconsole.log(res.value); \r\n// { name: 'Running', value: 100 }\r\n```\r\n\r\n**Typescript example: Reading INT**\r\n\r\n```ts\r\nconst res = await client.readValue<number>('GVL_Read.StandardTypes.INT_');\r\nconsole.log(res.value); //res.value is typed as number\r\n// 32767\r\n``` \r\n\r\n**Typescript example: Reading STRUCT**\r\n\r\n```ts\r\ninterface ST_ComplexTypes {\r\n  BOOL_: boolean,\r\n  BOOL_2: boolean,\r\n  BYTE_: number,\r\n  WORD_: number,\r\n  //..and so on\r\n}\r\n\r\nconst res = await client.readValue<ST_ComplexTypes>('GVL_Read.ComplexTypes.STRUCT_');\r\nconsole.log(res.value); //res.value is typed as ST_ComplexTypes\r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n### Reading raw data\r\n\r\nUse [`readRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#readRaw) or [`readRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawByPath) to read any PLC value as raw data. The raw data in this context means received bytes (a `Buffer` object).\r\n\r\nThe only exception is the dereferenced value of a reference/pointer, see [Reading reference/pointer](#reading-referencepointer).\r\n\r\nFor converting the data between raw data and Javascript object, see [Converting data between raw data and Javascript objects](#converting-data-between-raw-data-and-javascript-objects).\r\n\r\n**readRaw()**\r\n\r\nThe `indexGroup` and `indexOffset` can be acquired by using [`getSymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#getSymbol).\r\n\r\n\r\n```js\r\n//Read 2 bytes from indexGroup 16448 and indexOffset 414816\r\nconst data = await client.readRaw(16448, 414816, 2);\r\nconsole.log(data); //<Buffer ff 7f>\r\n```\r\n\r\n**readRawByPath()**\r\n\r\n```js\r\nconst data = await client.readRawByPath('GVL_Read.StandardTypes.INT_');\r\nconsole.log(data); //<Buffer ff 7f>\r\n```\r\n\r\n\r\n### Reading reference/pointer\r\n\r\nThe dereferenced value of a reference (`REFERENCE TO`) or a pointer (`POINTER TO`)  can be read with [`readRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawByPath) or by using [variable handles](https://jisotalo.fi/ads-client/classes/Client.html#createVariableHandle).\r\n\r\n**Reading POINTER (readRawByPath())**\r\n\r\n```js\r\n//Reading a raw POINTER value (Note the dereference operator ^)\r\nconst value = await client.readRawByPath('GVL_Read.ComplexTypes.POINTER_^');\r\n\r\n//Converting to a Javascript object\r\nconst value = await client.convertFromRaw(rawValue, 'ST_StandardTypes');\r\nconsole.log(value);\r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n**Reading REFERENCE (readRawByPath())**\r\n\r\n```js\r\n//Reading a raw REFERENCE value\r\nconst rawValue = await client.readRawByPath('GVL_Read.ComplexTypes.REFERENCE_');\r\n\r\n//Converting to a Javascript object\r\nconst value = await client.convertFromRaw(rawValue, 'ST_StandardTypes');\r\nconsole.log(value);\r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n**Reading POINTER (variable handle)**\r\n\r\n```js\r\n//Reading a POINTER value (Note the dereference operator ^)\r\nconst handle = await client.createVariableHandle('GVL_Read.ComplexTypes.POINTER_^');\r\nconst rawValue = await client.readRawByHandle(handle);\r\nawait client.deleteVariableHandle(handle);\r\n\r\n//Converting to a Javascript object\r\nconst value = await client.convertFromRaw(rawValue, 'ST_StandardTypes');\r\nconsole.log(value);\r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n**Reading REFERENCE (variable handle)**\r\n\r\n```js\r\n//Reading a REFERENCE value\r\nconst handle = await client.createVariableHandle('GVL_Read.ComplexTypes.REFERENCE_');\r\nconst rawValue = await client.readRawByHandle(handle);\r\nawait client.deleteVariableHandle(handle);\r\n\r\n//Converting to a Javascript object\r\nconst value = await client.convertFromRaw(rawValue, 'ST_StandardTypes');\r\nconsole.log(value);\r\n/* \r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n## Writing values\r\n\r\n### Writing any value\r\n\r\nUse [`writeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#writeValue) to write any PLC value. \r\n\r\nThe only exception is the dereferenced value of a reference/pointer, see [Writing reference/pointer](#writing-referencepointer).\r\n\r\n**Writing INT**\r\n\r\n```js\r\nconst res = await client.writeValue('GVL_Write.StandardTypes.INT_', 32767);\r\nconsole.log(res.value); \r\n// 32767\r\n```\r\n\r\n**Writing STRING**\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.StandardTypes.STRING_', 'This is a test');\r\n```\r\n\r\n**Writing DT**\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.StandardTypes.DT_', new Date());\r\n```\r\n\r\n**Writing STRUCT (all properties)**\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.ComplexTypes.STRUCT_', {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n});\r\n```\r\n\r\n**Writing STRUCT (some properties only)**\r\n\r\nAll other properties will keep their values. The client reads the active value first and then makes changes.\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.ComplexTypes.STRUCT_', {\r\n  WORD_: 65535\r\n}, true); //<-- NOTE: autoFill set\r\n```\r\n\r\n**Writing FUNCTION_BLOCK (all properties)**\r\n\r\n```js\r\nconst timerBlock = {\r\n  IN: false, \r\n  PT: 2500, \r\n  Q: false, \r\n  ET: 0, \r\n  M: false, \r\n  StartTime: 0\r\n};\r\n\r\nawait client.writeValue('GVL_Write.ComplexTypes.BLOCK_2', timerBlock);\r\n```\r\n\r\n**Writing FUNCTION_BLOCK (some properties only)**\r\n\r\nAll other properties will keep their values. The client reads the active value first and then makes changes.\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.ComplexTypes.BLOCK_2', {\r\n  IN: true\r\n}, true); //<-- NOTE: autoFill set\r\n```\r\n\r\n**Writing ARRAY**\r\n\r\n```js\r\nconst data = [\r\n  75483.546875, \r\n  0, \r\n  -75483.546875\r\n];\r\n\r\nawait client.writeValue('GVL_Write.StandardArrays.REAL_3', data);\r\n```\r\n\r\n**Writing ENUM**\r\n\r\n```js\r\nawait client.writeValue('GVL_Write.ComplexTypes.ENUM_', 'Running');\r\n//...or...\r\nawait client.writeValue('GVL_Write.ComplexTypes.ENUM_', 100);\r\n```\r\n\r\n### Writing raw data\r\n\r\nUse [`writeRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRaw) or [`writeRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawByPath) to write any PLC value using raw data. The raw data in this context means bytes (a `Buffer` object).\r\n\r\nThe only exception is the dereferenced value of a reference/pointer, see [Reading reference/pointer](#reading-referencepointer).\r\n\r\nFor converting the data between raw data and Javascript object, see [Converting data between raw data and Javascript objects](#converting-data-between-raw-data-and-javascript-objects).\r\n\r\n**writeRaw()**\r\n```js\r\n//Creating raw data of an INT\r\nconst data = await client.convertToRaw(32767, 'INT');\r\nconsole.log(data); //<Buffer ff 7f>\r\n\r\n//Writing the value to indexGroup 16448 and indexOffset 414816\r\nawait client.writeRaw(16448, 414816, data);\r\n```\r\n\r\n**writeRawByPath()**\r\n\r\n```js\r\n//Creating raw data of an INT\r\nconst data = await client.convertToRaw(32767, 'INT');\r\nconsole.log(data); //<Buffer ff 7f>\r\n\r\nawait client.writeRawByPath('GVL_Write.StandardTypes.INT_', data);\r\n```\r\n\r\n### Writing reference/pointer\r\n\r\nThe dereferenced value of a reference (`REFERENCE TO`) or a pointer (`POINTER TO`) can be written\r\nwith [`writeRawByPath()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawByPath) or by using [variable handles](https://jisotalo.fi/ads-client/classes/Client.html#createVariableHandle).\r\n\r\n**Writing POINTER (writeRawByPath())**\r\n\r\n```js\r\nconst value = {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n};\r\nconst rawValue = await client.convertToRaw(value, 'ST_StandardTypes');\r\n\r\n//Writing a raw POINTER value (Note the dereference operator ^)\r\nawait client.writeRawByPath('GVL_Write.ComplexTypes.POINTER_^', rawValue);\r\n```\r\n\r\n**Writing REFERENCE (writeRawByPath())**\r\n\r\n```js\r\nconst value = {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n};\r\nconst rawValue = await client.convertToRaw(value, 'ST_StandardTypes');\r\n\r\n//Writing a raw REFERENCE value\r\nawait client.writeRawByPath('GVL_Write.ComplexTypes.REFERENCE_', rawValue);\r\n```\r\n\r\n**Writing POINTER (variable handle)**\r\n\r\n```js\r\nconst value = {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n};\r\nconst rawValue = await client.convertToRaw(value, 'ST_StandardTypes');\r\n\r\n//Writing a raw POINTER value (Note the dereference operator ^)\r\nconst handle = await client.createVariableHandle('GVL_Write.ComplexTypes.POINTER_^');\r\nawait client.writeRawByHandle(handle, rawValue);\r\nawait client.deleteVariableHandle(handle);\r\n```\r\n\r\n**Writing REFERENCE (variable handle)**\r\n\r\n```js\r\nconst value = {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n};\r\nconst rawValue = await client.convertToRaw(value, 'ST_StandardTypes');\r\n\r\n//Writing a raw REFERENCE value\r\nconst handle = await client.createVariableHandle('GVL_Write.ComplexTypes.POINTER_');\r\nawait client.writeRawByHandle(handle, rawValue);\r\nawait client.deleteVariableHandle(handle);\r\n```\r\n\r\n## Subscribing to value changes\r\n\r\nIn ads-client, subscriptions are used to handle ADS notifications. ADS notifications are data sent by PLC automatically without request. For example, the latest value of a variable every second.\r\n\r\nBy subscribing to a variable value changes, the target system (PLC) will send ADS notifications when the value changes (or every x milliseconds). The client then receives these notifications and calls the user callback function with the latest value.\r\n\r\nMore information about ADS notifications at [Beckhoff Infosys: Use of ADS Notifications](https://infosys.beckhoff.com/content/1033/tc3_ads.net/9407523595.html?id=431879546285476216).\r\n\r\n### Any value\r\n\r\nUse [`subscribeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribeValue) or [`subscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribe) to subscribe to PLC variable value changes.\r\n\r\n**Example**\r\n\r\nSubscribing to changes of `GVL_Subscription.NumericValue_10ms`. The callback is called when the PLC value changes (at maximum every 100 milliseconds).\r\n\r\n```js\r\nconst onValueChanged = (data, subscription) => {\r\n  console.log(`Value of ${subscription.symbol.name} has changed: ${data.value}`);\r\n}\r\n\r\nconst subscription = await client.subscribeValue(\r\n  'GVL_Subscription.NumericValue_10ms',\r\n  onValueChanged,\r\n  100 \r\n);\r\n```\r\n\r\n**Example**\r\n\r\nSubscribing to value of `GVL_Subscription.NumericValue_1000ms`. The callback is called with the latest value every 100 milliseconds (doesn't matter if the value has changed or not).\r\n\r\n```js\r\nconst onValueReceived = (data, subscription) => {\r\n  console.log(`Value of ${subscription.symbol.name} is: ${data.value}`);\r\n}\r\n\r\nconst subscription = await client.subscribeValue(\r\n  'GVL_Subscription.NumericValue_1000ms',\r\n  onValueReceived,\r\n  100,\r\n  false \r\n);\r\n\r\n```\r\n\r\n**Typescript example**\r\n\r\nSame as previous example, but with [`subscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribe) instead. A type can be provided for `subscribeValue<T>()` as well.\r\n\r\n```js\r\nconst subscription = await client.subscribe<number>({\r\n  target: 'GVL_Subscription.NumericValue_1000ms',\r\n  callback: (data, subscription) => {\r\n    //data.value is typed as \"number\" instead of \"any\"\r\n    console.log(`Value of ${subscription.symbol.name} is: ${data.value}`);\r\n  },\r\n  cycleTime: 100,\r\n  sendOnChange: false\r\n});\r\n```\r\n\r\n### Raw data\r\n\r\nUse [`subscribeRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribeRaw) or [`subscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribe) to subscribe to raw value changes.\r\n\r\nThe `indexGroup` and `indexOffset` can be acquired by using [`getSymbol()`](https://jisotalo.fi/ads-client/classes/Client.html#getSymbol).\r\n\r\n**Example**\r\n\r\nSubscribing to raw address of `indexGroup` = 16448 and `indexOffset` = 414816 (2 bytes).\r\n  \r\n```js\r\nawait client.subscribeRaw(16448, 414816, 2, (data, subscription) => {\r\n  console.log(`Value has changed: ${data.value.toString('hex')}`);\r\n}, 100);\r\n```\r\n\r\n**Example**\r\n\r\nSame as previous example, but with [`subscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribe) instead.\r\n\r\n```js\r\nconst onValueChanged = (data, subscription) => {\r\n  console.log(`Value has changed: ${data.value.toString('hex')}`);\r\n}\r\n\r\nawait client.subscribe({\r\n  target: {\r\n    indexGroup: 16448,\r\n    indexOffset: 414816,\r\n    size: 2\r\n  },\r\n  callback: onValueChanged,\r\n  cycleTime: 100\r\n});\r\n```\r\n\r\n### Unsubscribing\r\n\r\nSubscriptions should always be cancelled when no longer needed (to save PLC resources). \r\n\r\nTo unsubscribe, use [`unsubscribe()`](https://jisotalo.fi/ads-client/classes/Client.html#unsubscribe) or subscription object's [`ActiveSubscription.unsubscribe()`](https://jisotalo.fi/ads-client/interfaces/ActiveSubscription.html#unsubscribe).\r\n\r\n```js\r\nconst subscription = await client.subscribeValue(...);\r\n\r\n//Later when no longer needed\r\nawait subscription.unsubscribe();\r\n\r\n//Or alternatively\r\nawait client.unsubscribe(subscription);\r\n```\r\n\r\n## Using variable handles\r\n\r\nUsing variable handles is an another way to read and write raw data.\r\n\r\nFirst, a handle is created to a specific PLC variable by the variable path. After that, read and write operations are available.\r\n\r\nHandles should always be deleted after no longer needed, as the PLC has limited number of handles.\r\n\r\nHandles can also be used to read/write reference and pointer values, see [Reading reference/pointer](#reading-referencepointer).\r\n\r\n### Reading a value using a variable handle\r\n\r\n```js\r\n//Creating a handle\r\nconst handle = await client.createVariableHandle('GVL_Read.StandardTypes.INT_');\r\n\r\n//Reading a value\r\nconst data = await client.readRawByHandle(handle);\r\n\r\n//Deleting the handle\r\nawait client.deleteVariableHandle(handle);\r\n\r\n//Converting to a Javascript value\r\nconst converted = await client.convertFromRaw(data, 'INT');\r\nconsole.log(data); //<Buffer ff 7f>\r\nconsole.log(converted); //32767\r\n```\r\n\r\n### Writing a value using a variable handle\r\n\r\n```js\r\n//Creating a raw value\r\nconst data = await client.convertToRaw(32767, 'INT');\r\nconsole.log(data); //<Buffer ff 7f>\r\n\r\n//Creating a handle\r\nconst handle = await client.createVariableHandle('GVL_Write.StandardTypes.INT_');\r\n\r\n//Writing the value\r\nawait client.writeRawByHandle(handle, data);\r\n\r\n//Deleting the handle\r\nawait client.deleteVariableHandle(handle);\r\n```\r\n\r\n## Calling function block RPC methods\r\n\r\nIf a function block method has pragma `{attribute 'TcRpcEnable'}`, \r\nthe method can be called from ads-client.\r\n\r\nRead more at [Beckhoff Infosys: Attribute 'TcRpcEnable'](https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/7145472907.html).\r\n\r\n### Things to note when using RPC Methods\r\n\r\nThese are my own observations.\r\n\r\n- Do not use online change if you change RPC method parameters or return data types\r\n- Make sure that parameters and return value have no pack-mode pragmas defined, otherwise data might be corrupted\r\n- Do not use `ARRAY` values directly in parameters or return value, encapsulate arrays inside struct and use the struct instead\r\n- The feature isn't well documented by Beckhoff, so there might be some things that aren't taken into account\r\n\r\n### About examples\r\n\r\nThese examples use `FB_RPC` from the test PLC project at [https://github.com/jisotalo/ads-client-test-plc-project](https://github.com/jisotalo/ads-client-test-plc-project). \r\n\r\n![](https://github.com/jisotalo/ads-client/blob/master/img/fb_rpc.png?raw=true)\r\n\r\nThere is an instance of the function block at `GVL_RPC.RpcBlock`.\r\n\r\n### RPC method with standard data types\r\nconn\r\nThe `Calculator()` method calculates sum, product and division of the input values. The method returns `true`, if all calculations were successful.\r\n```\r\n{attribute 'TcRpcEnable'}\r\nMETHOD Calculator : BOOL\r\nVAR_INPUT\r\n\tValue1\t: REAL;\r\n\tValue2\t: REAL;\r\nEND_VAR\r\nVAR_OUTPUT\r\n\tSum\t\t\t: REAL;\r\n\tProduct \t: REAL;\r\n\tDivision\t: REAL;\r\nEND_VAR\r\n\r\n//--- Code starts ---\r\n\r\n//Return TRUE if all success\r\nCalculator := TRUE;\r\n\r\nSum := Value1 + Value2;\r\nProduct := Value1 * Value2;\r\n\r\nIF Value2 <> 0 THEN\r\n\tDivision := Value1 / Value2;\r\nELSE\r\n\tDivision := 0;\r\n\tCalculator := FALSE;\r\nEND_IF\r\n```\r\n\r\nExample call:\r\n\r\n```js\r\nconst res = await client.invokeRpcMethod('GVL_RPC.RpcBlock', 'Calculator', {\r\n  Value1: 1,\r\n  Value2: 123\r\n});\r\n\r\nconsole.log(res);\r\n/*\r\n{\r\n  returnValue: true,\r\n  outputs: { \r\n    Sum: 124, \r\n    Product: 123, \r\n    Division: 0.008130080997943878 \r\n  }\r\n}\r\n*/\r\n```\r\n\r\n### RPC method with struct\r\n\r\nThe `Structs()` method takes a struct value as input, changes its values and then returns the result.\r\n\r\n```\r\n{attribute 'TcRpcEnable'}\r\nMETHOD Structs : ST_Struct\r\nVAR_INPUT\r\n\tInput\t: ST_Struct;\r\nEND_VAR\r\n\r\n//--- Code starts ---\r\n\r\nStructs.SomeText := CONCAT('Response: ', Input.SomeText);\r\nStructs.SomeReal := Input.SomeReal * 10.0;\r\nStructs.SomeDate := Input.SomeDate + T#24H;\r\n```\r\n\r\nExample call:\r\n\r\n```js\r\nconst res = await client.invokeRpcMethod('GVL_RPC.RpcBlock', 'Structs', {\r\n  Input: {\r\n    SomeText: 'Hello ads-client',\r\n    SomeReal: 3.14,\r\n    SomeDate: new Date('2024-12-24T00:00:00.000Z') \r\n  }\r\n});\r\n\r\nconsole.log(res);\r\n/*\r\n{\r\n  returnValue: {\r\n    SomeText: 'Response: Hello ads-client',\r\n    SomeReal: 31.4,\r\n    SomeDate: 2024-12-24T01:00:00.000Z\r\n  },\r\n  outputs: {}\r\n}\r\n*/\r\n```\r\n\r\n## Converting data between raw data and Javascript objects\r\n\r\nThe raw data in this context means sent or received bytes (a `Buffer` object).\r\n\r\nWhen using methods such as [`readValue()`](https://jisotalo.fi/ads-client/classes/Client.html#readValue), [`writeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#writeValue) and [`subscribeValue()`](https://jisotalo.fi/ads-client/classes/Client.html#subscribeValue),\r\nthe client converts data automatically. The conversion can be done manually as well, by using [`convertFromRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertFromRaw) and [`convertToRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertToRaw).\r\n\r\nSee my other library [iec-61131-3](https://github.com/jisotalo/iec-61131-3) for other possibilities to convert data between Javascript and IEC 61131-3 types.\r\n\r\n### Converting a raw value to a Javascript object\r\n\r\nUse [`convertFromRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertFromRaw) to convert raw data to Javascript object.\r\n\r\n**Converting INT**\r\n\r\n```js\r\nconst data = await client.readRaw(16448, 414816, 2);\r\nconsole.log(data); //<Buffer ff 7f>\r\n\r\nconst converted = await client.convertFromRaw(data, 'INT');\r\nconsole.log(converted); //32767\r\n```\r\n\r\n**Converting STRUCT**\r\n\r\n```js\r\nconst converted = await client.convertFromRaw(data, 'ST_StandardTypes');\r\nconsole.log(converted);\r\n/*\r\n{\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //..and so on\r\n}\r\n*/\r\n```\r\n\r\n\r\n### Converting a Javascript object to a raw value\r\n\r\nUse [`convertToRaw()`](https://jisotalo.fi/ads-client/classes/Client.html#convertToRaw) to convert Javascript object to raw data.\r\n\r\n**Converting INT**\r\n\r\n```js\r\nconst data = await client.convertToRaw(12345, 'INT');\r\nconsole.log(data); //<Buffer 39 30>\r\n```\r\n\r\n**Converting STRUCT**\r\n\r\n```js\r\nconst value = {\r\n  BOOL_: true,\r\n  BOOL_2: false,\r\n  BYTE_: 255,\r\n  WORD_: 65535,\r\n  //...and so on\r\n};\r\n\r\nconst data = await client.convertToRaw(value, 'ST_StandardTypes');\r\nconsole.log(data); //<Buffer ...>\r\n```\r\n\r\n**Converting STRUCT (some properties only)**\r\n\r\nAll other (missing) properties are set to default values (zero / empty string).\r\n```js\r\nconst value = {\r\n  WORD_: 65535\r\n};\r\n\r\nconst data = await client.convertToRaw(value, 'ST_StandardTypes', true); //<-- NOTE: autoFill set\r\nconsole.log(data); //<Buffer ...>\r\n```\r\n\r\n## Other features\r\n\r\n### ADS sum commands\r\n\r\nADS sum commands can be used to have multiple ADS commands in one request. This can be useful for efficiency reasons.\r\n\r\nSee [Beckhoff Information System](https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_adsdll2/9007199379576075.html&id=9180083787138954512) for more info.\r\n\r\n- [`createVariableHandleMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#createVariableHandleMulti)\r\n- [`deleteVariableHandleMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#deleteVariableHandleMulti)\r\n- [`readRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#readRawMulti)\r\n- [`writeRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#writeRawMulti)\r\n- [`readWriteRawMulti()`](https://jisotalo.fi/ads-client/classes/Client.html#readWriteRawMulti)\r\n\r\n### Starting and stopping a PLC \r\n\r\n- [`startPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#startPlc)\r\n- [`stopPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#stopPlc)\r\n- [`resetPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#resetPlc)\r\n- [`restartPlc()`](https://jisotalo.fi/ads-client/classes/Client.html#restartPlc)\r\n\r\n### Starting and stopping TwinCAT system\r\n\r\n- [`setTcSystemToConfig()`](https://jisotalo.fi/ads-client/classes/Client.html#setTcSystemToConfig)\r\n- [`setTcSystemToRun()`](https://jisotalo.fi/ads-client/classes/Client.html#setTcSystemToRun)\r\n- [`restartTcSystem()`](https://jisotalo.fi/ads-client/classes/Client.html#restartTcSystem)\r\n\r\n### Client events\r\n\r\nSee [`AdsClientEvents`](https://jisotalo.fi/ads-client/interfaces/AdsClientEvents.html) for all available events, their descriptions and examples.\r\n\r\n```js\r\nclient.on('connect', (connection) => {\r\n  console.log('Connected:', connection);\r\n});\r\n```\r\n\r\n### Debugging\r\n\r\nUse [`setDebugLevel()`](https://jisotalo.fi/ads-client/classes/Client.html#setDebugLevel) to change debug level.\r\n\r\n```js\r\nclient.setDebugLevel(1);\r\n```\r\n\r\n - 0: no debugging (default)\r\n - 1: basic debugging (`$env:DEBUG='ads-client'`)\r\n - 2: detailed debugging (`$env:DEBUG='ads-client,ads-client:details'`)\r\n - 3: detailed debugging with raw I/O data (`$env:DEBUG='ads-client,ads-client:details,ads-client:raw-data'`)\r\n\r\nDebug data is available in the console (See [Debug](https://www.npmjs.com/package/debug) library for more).\r\n\r\n\r\n## Disconnecting\r\n\r\nAfter the client is no more used, always use [`disconnect()`](https://jisotalo.fi/ads-client/classes/Client.html#disconnect) to release all subscription handles and other resources.\r\n\r\n```js\r\nawait client.disconnect();\r\n```\r\n\r\n## Common issues and questions\r\n\r\n### There are lot's of connection issues and timeouts\r\nThings to try: \r\n- Remove all TwinCAT routes and create them again (yes, really)\r\n- Increase value of [`timeoutDelay`](https://jisotalo.fi/ads-client/interfaces/AdsClientSettings.html#timeoutDelay) setting\r\n- Cache all data types and symbols straight after connecting using [`cacheDataTypes`](https://jisotalo.fi/ads-client/classes/Client.html#cacheDataTypes) and [`cacheSymbols`](https://jisotalo.fi/ads-client/classes/Client.html#cacheSymbols)\r\n\r\n### Getting `TypeError: Do not know how to serialize a BigInt`\r\n- `JSON.stringify` doesn't understand BigInt values (such as `LINT` or similar 64 bit PLC values)\r\n- Check [this Github issue](https://github.com/GoogleChromeLabs/jsbi/issues/30#issuecomment-953187833) for the following patch:\r\n\r\n```js\r\nBigInt.prototype.toJSON = function() { return this.toString() }\r\n```\r\n\r\n### Can I connect from Raspberry Pi to TwinCAT?\r\n\r\nYes, for example using [Setup 3 - Connect from any Node.js system](#setup-3---connect-from-any-nodejs-system).\r\n1. Open a TCP port 48898 from your PLC\r\n2. Edit `StaticRoutes.xml` file from your PLC\r\n3. Connect from the Raspberry Pi using the PLC IP address as `routerAddress` and the AmsNetID written to `StaticRoutes.xml` as `localAmsNetId`\r\n\r\n### Receiving ADS error 1808 `Symbol not found` even when it should be found\r\n\r\n- Make sure you have updated the latest PLC software using *download*. Sometimes online change causes this.\r\n- If you are using TwinCAT 2, see chapter [Differences when using with TwinCAT 2](#differences-when-using-with-twincat-2)\r\n- Double check variable path for typos\r\n\r\n### Having timeouts or 'mailbox is full' errors\r\n\r\n- The AMS router is capable of handling only limited number of requests in a certain time. \r\n- Other possible reason is that operating system TCP window is full because of large number of requests.\r\n- Solution: \r\n  - Use structs or arrays to send data in larger packets \r\n  - Try raw commands or sum commands to decrease data usage\r\n\r\n### Having problems to connect from OSX or Raspberry Pi to target PLC\r\n\r\n- The local machine has no AMS router\r\n- You need to connect to the PLC's AMS router instead\r\n- See [this issue comment](https://github.com/jisotalo/ads-client/issues/51#issuecomment-758016428)\r\n\r\n### A data type is not found even when it should be\r\n\r\nIf you use methods like `convertFromRaw()` and `getDataType()` but receive an error similar to `ClientException: Finding data type *data type* failed`, make sure you have really written the data type correctly.\r\n\r\nFor example, when copying a variable name from TwinCAT online view using CTRL+C, it might not work:\r\n- Displayed name: `ARRAY [0..1, 0..1] OF ST_Example`\r\n- The value copied to clipboard `ARRAY [0..1, 0..1] OF ST_Example`\r\n- --> **This causes error!**\r\n- The real data type name that needs to be used is `ARRAY [0..1,0..1] OF ST_Example` (note no whitespace between array dimensions)\r\n\r\nIf you have problems, try to read the symbol object using `getSymbol()`. The final solution is to read all data types using `getDataTypes()` and manually locate the correct type.\r\n\r\n### Connection failed - failed to set PLC connection\r\n\r\n- The `targetAmsNetId` didn't contain a system manager service (port `10000`)\r\n- The target is not a PLC and `rawClient` setting is not set\r\n- Solution:\r\n  - Double-check connection settings\r\n  - [Use `rawClient` setting ](#connecting-to-targets-without-a-plc-runtime)\r\n\r\n### Connection failed (error EADDRNOTAVAIL)\r\nThis could happen if you have manually provided `localAddress` or `localTcpPort` that don't exist.\r\nFor example, setting `localAddress` to `192.168.10.1` when the computer has only ethernet interface with IP `192.168.1.1`.\r\n\r\nSee also https://github.com/jisotalo/ads-client/issues/82\r\n\r\n### Problems running ads-client with docker\r\n\r\n- EADDRNOTAVAIL: See above and https://github.com/jisotalo/ads-client/issues/82\r\n\r\n### How to connect to a PLC that is in CONFIG mode?\r\nAs default, the ads-client checks if the target has PLC runtime at given port. However, when target system manager is at config mode, there is none. The client will throw an error during connecting:\r\n\r\n`Connection failed - failed to set PLC connection. If target is not PLC runtime, use setting \"rawClient\". If system is in config mode or there is no PLC software yet, you might want to use setting \"allowHalfOpen\"`\r\n\r\nYou can disable the check by providing setting `allowHalfOpen: true`. After that, it's possible to start the PLC by `setTcSystemToRun()`.\r\n\r\nAnother option is to use setting `rawClient: true` - see [Connecting to targets without a PLC runtime](#connecting-to-targets-without-a-plc-runtime).\r\n\r\n### Issues with TwinCAT 2 low-end devices (BK9050, BC9050 etc.)\r\n* You can only use raw commands (such as `readRaw()`, `writeRaw()`, `subscribeRaw()`) as these devices provide no symbols\r\n* See [issue 114](https://github.com/jisotalo/ads-client/issues/114) and [issue 116](https://github.com/jisotalo/ads-client/issues/116)\r\n\r\n\r\n\r\n## External links\r\n\r\n| Description                                  | Link                                                    |\r\n| -------------------------------------------- | ------------------------------------------------------- |\r\n| ADS client for Node-RED                      | https://github.com/jisotalo/node-red-contrib-ads-client |\r\n| ADS server for Node.js                       | https://github.com/jisotalo/ads-server                  |\r\n| IEC 61131-3 PLC data type helper for Node.js | https://github.com/jisotalo/iec-61131-3/                |\r\n| Codesys client for Node.js                   | https://github.com/jisotalo/codesys-client/             |\r\n\r\n\r\n## Library testing\r\n\r\nAll features of this library are tested using quite large test suite - see `./test/` directory. \r\nThis prevents regression, thus updating the ads-client should be always safe.\r\n\r\nThere are separate tests for TwinCAT 2 and TwinCAT 3.\r\n\r\nPLC projects for running test suites are located in the following repository:\r\n[https://github.com/jisotalo/ads-client-test-plc-project](https://github.com/jisotalo/ads-client-test-plc-project).\r\n\r\n### TwinCAT 3 tests\r\n\r\nTests are run with command `npm run test-tc3`. TwinCAT 3 test PLC projects needs to be running in the target system.\r\n\r\n### TwinCAT 2 tests\r\n\r\nTests are run with command `npm run test-tc2`. TwinCAT 2 test PLC projects needs to be running in the target system.\r\n\r\n# License\r\n\r\nLicensed under [MIT License](http://www.opensource.org/licenses/MIT).\r\n\r\nCopyright (c) Jussi Isotalo <<j.isotalo91@gmail.com>>\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.","users":{}}