diff --git a/.gitignore b/.gitignore index d7aee59..e24da5d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .apax .env +.vscode bin obj TestResult diff --git a/apax-lock.json b/apax-lock.json index c911e72..d79554f 100644 --- a/apax-lock.json +++ b/apax-lock.json @@ -21,62 +21,62 @@ "packages": { "@ax/apax-build": { "name": "@ax/apax-build", - "version": "2.1.79", - "integrity": "sha512-hXMWYIik1V/fppSGS6HYDYoDePjylH5NSCKk4esMWy/o2IWoiNWB5QHA1niXQblnS6o/Xlmk2DwEGaigCWBAEw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/apax-build/-/apax-build-2.1.79.tgz", + "version": "2.2.53", + "integrity": "sha512-QZkE0iZxYaxcfxKvhOBRsVkahyQvr/48Rd9fCFbBa2aiS7T/kk68EQc7S1GNJJa4TJ5xNIv4h4Dn30KVHw6Mkw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/apax-build/-/apax-build-2.2.53.tgz", "dependencies": {} }, "@ax/axunitst": { "name": "@ax/axunitst", - "version": "8.4.20", - "integrity": "sha512-G1muGl6B0zIgx+GinlhRbmtWOaRpjpeAhgqgAJO5CAkrlzzwWgaKoBWZ9R6goCVcT/C4fxPWPCy5NMNBvDp3mQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst/-/axunitst-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-W0hx1WWe0U9N4oPEXUBJ3yPRD38v3D7XcffkoMEIAxx+zbLMfK1MCbd/qBEnyTbVgTOsq/nbERDCfqP5CmitLA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst/-/axunitst-9.4.8.tgz", "dependencies": { - "@ax/axunitst-analyzer.stc-plugin": "8.4.20", - "@ax/axunitst-library": "8.4.20", - "@ax/axunitst-ls-contrib": "8.4.20", - "@ax/axunitst-test-director": "8.4.20", - "@ax/build-native": "^16.0.3" + "@ax/axunitst-library": "9.4.8", + "@ax/axunitst-test-director": "9.4.8" } }, "@ax/axunitst-analyzer.stc-plugin": { "name": "@ax/axunitst-analyzer.stc-plugin", - "version": "8.4.20", - "integrity": "sha512-EZFh6N5eWTZHiN4tvvXKa2cwp5ALYCQ6gpW3aZo0N7VaTlvqLtWg1rJ8jSUwPR9Ax9uxPd8E/t3z+wwQB89lCw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-analyzer.stc-plugin/-/axunitst-analyzer.stc-plugin-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-qLlj3WjGcmlDUf8a8ybfmv2u45x+sGhm+TzODEnxHwtW+Jyx+7QH5Z9eoL3Eiekg7CmTUyMjBgUuXoCa6Bc+Eg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-analyzer.stc-plugin/-/axunitst-analyzer.stc-plugin-9.4.8.tgz", "dependencies": {} }, "@ax/axunitst-library": { "name": "@ax/axunitst-library", - "version": "8.4.20", - "integrity": "sha512-salG//0xqEyMjhzTamQPAKXgIUMs13raGvOMxJIEg7JSS4uzVVFU3H23iZbVbXpdrvECA34hbueP74yS15WP2w==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-library/-/axunitst-library-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-XX4atEM+HBVWbGFI9mZfbQmrh3AQvDBaG18bji2Z89gssKf3iLP6VKAMqi2ZyPFSrO+NPzRPwd7WADySta/gCQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-library/-/axunitst-library-9.4.8.tgz", "dependencies": { "@ax/system-strings": "^10.0.24" } }, "@ax/axunitst-ls-contrib": { "name": "@ax/axunitst-ls-contrib", - "version": "8.4.20", - "integrity": "sha512-J83/C9YUJWHngxupozW1+uMHTBvxAdsQy7yDI0kWGHHlryMtZgmgTg8/w1VZCX1hYGl08Pcdi/yFvoKqXOHY5A==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-ls-contrib/-/axunitst-ls-contrib-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-J5VPGGJmiDjCGWcJWRo6YzDGG2MYX4nT2lbEZ/xZLzhg+PpT2aJow6pitho6tP4ms9ot5rjdHBMTG7Ds+aRJkg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-ls-contrib/-/axunitst-ls-contrib-9.4.8.tgz", "dependencies": {} }, "@ax/axunitst-test-director": { "name": "@ax/axunitst-test-director", - "version": "8.4.20", - "integrity": "sha512-ma8RI8GWM2tVFOdCcns1Eeb7q+6X4xgpWruQfBozFvDj67Pa85CXRp23BOt0+gaGVIJhPhpcC0QDkHGLcEv/WQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director/-/axunitst-test-director-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-uUFX1N48V7n7gqF82i1JiPlmejb0AKrr1hzfqG48BqKp177py2Dbir7WLPGxda9UY4t3uiJGnAmclI9GQrxUsA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director/-/axunitst-test-director-9.4.8.tgz", "dependencies": { - "@ax/axunitst-test-director-linux-x64": "8.4.20", - "@ax/axunitst-test-director-win-x64": "8.4.20" + "@ax/axunitst-analyzer.stc-plugin": "9.4.8", + "@ax/axunitst-ls-contrib": "9.4.8", + "@ax/build-native": "^16.0.3", + "@ax/axunitst-test-director-linux-x64": "9.4.8", + "@ax/axunitst-test-director-win-x64": "9.4.8" } }, "@ax/axunitst-test-director-linux-x64": { "name": "@ax/axunitst-test-director-linux-x64", - "version": "8.4.20", - "integrity": "sha512-1zrGKG860Y9w4or4YPtXI/uEW0z9w7gnEZMJ3LUT8avU29ZzWYDt9uuvZgHCPc1fS8lxHi/lBo6xCCVUHUXmCQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director-linux-x64/-/axunitst-test-director-linux-x64-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-QiSznU/RpEmo5U0wDuziHt+N3mAvYMdN1capCUSIlFrROt7ebqS3mUiS62s2RxAwSZ02ccnKtTN+Od2rPCNp5w==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director-linux-x64/-/axunitst-test-director-linux-x64-9.4.8.tgz", "os": [ "linux" ], @@ -87,9 +87,9 @@ }, "@ax/axunitst-test-director-win-x64": { "name": "@ax/axunitst-test-director-win-x64", - "version": "8.4.20", - "integrity": "sha512-xPmW1YhdJ8VYvvCo3iw0e28Q6yIogjgBg9dNg6kgS2bPxzj4DtWb5iu7La51NSukK9riT5URyw2XzqyNSZZi6g==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director-win-x64/-/axunitst-test-director-win-x64-8.4.20.tgz", + "version": "9.4.8", + "integrity": "sha512-9SgND7RSroldzKr6oxEws4VpY1mJ6jm+G4P7G1QiS2GpYw3Xa2ni7htFKCPVybFkT+EHCu8iLNgVxKfxyYU5hw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunitst-test-director-win-x64/-/axunitst-test-director-win-x64-9.4.8.tgz", "os": [ "win32" ], @@ -148,21 +148,28 @@ ], "dependencies": {} }, + "@ax/debug-st-ls-plugin": { + "name": "@ax/debug-st-ls-plugin", + "version": "1.0.10", + "integrity": "sha512-nwnW3rPp0khNWn2tRwuFw753AhkVQVrbJ2vXIfbJgsDtQuyQ8IOms0zwilRYvaXFLU1PzQ7qbsIiPuVZw7W9eQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/debug-st-ls-plugin/-/debug-st-ls-plugin-1.0.10.tgz", + "dependencies": {} + }, "@ax/diagnostic-buffer": { "name": "@ax/diagnostic-buffer", - "version": "2.0.0", - "integrity": "sha512-eiS/iQv/nLJX394roFTcl3HtkAKrt96TEsFXVYLqNCrpviKDorA/Z9qSuTRsqlxWaq3WTLT+sLIW3OOrWUIRxA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer/-/diagnostic-buffer-2.0.0.tgz", + "version": "2.1.1", + "integrity": "sha512-o+IkzcNzMXCSvv1pCo2Zs6CIOldoHiUZSfyUllEjYYPNc8xiwidGh3ZS3Q0fL8KryOcQ+fVlF3CIGn6Il5L2hw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer/-/diagnostic-buffer-2.1.1.tgz", "dependencies": { - "@ax/diagnostic-buffer-linux-x64": "2.0.0", - "@ax/diagnostic-buffer-win-x64": "2.0.0" + "@ax/diagnostic-buffer-linux-x64": "2.1.1", + "@ax/diagnostic-buffer-win-x64": "2.1.1" } }, "@ax/diagnostic-buffer-linux-x64": { "name": "@ax/diagnostic-buffer-linux-x64", - "version": "2.0.0", - "integrity": "sha512-e5G9Ub2xI2Tm6joQhSVcL99/VjIIRyFPyd/vVap9tNYF7cRHLq9w7w+OHXldzhHbwERBQmbWKKTvdmyTWeuE8Q==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer-linux-x64/-/diagnostic-buffer-linux-x64-2.0.0.tgz", + "version": "2.1.1", + "integrity": "sha512-DZMIW2sHCWCPNnp719Y5guSTSU59kN/aKtYneHLbIFfc9QkiHbd7d2J2e0SZkR2OcG604lIYYarUT2ZYKIoq9w==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer-linux-x64/-/diagnostic-buffer-linux-x64-2.1.1.tgz", "os": [ "linux" ], @@ -173,9 +180,9 @@ }, "@ax/diagnostic-buffer-win-x64": { "name": "@ax/diagnostic-buffer-win-x64", - "version": "2.0.0", - "integrity": "sha512-cYc8k99TJHFMqqyueVadQKp7yv/VgNzXVQwuBFyUuN3mJ+Z9/F2oweRA8ls9+cdg4TU5HJud6ld00ILpsiKlEw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer-win-x64/-/diagnostic-buffer-win-x64-2.0.0.tgz", + "version": "2.1.1", + "integrity": "sha512-a8DZ/fewIi68FTzIS48+9KL4CZ6wUl8POzg1u1tAJzMGK6XMaaNZvg5dQMP15v0Yz4L0CT7Bs5m8vxIJVPnTFw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/diagnostic-buffer-win-x64/-/diagnostic-buffer-win-x64-2.1.1.tgz", "os": [ "win32" ], @@ -186,35 +193,35 @@ }, "@ax/hw-s7-1500": { "name": "@ax/hw-s7-1500", - "version": "4.0.0", - "integrity": "sha512-gk/d99XH1AVe4jhJbufg7TMH0tEXEHAFze6Lr0swBPoo5IVR3PG4UvUTESmw+VVA+Ad0YLLmvyrBu2RyX8sNzg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hw-s7-1500/-/hw-s7-1500-4.0.0.tgz", + "version": "4.4.0", + "integrity": "sha512-JlD09FwdO47hsewgmiBD2LBW95wp3N2TqE1rXfQezko1VWMJKvkUjOfPxWITu4iCWGA0L9ZFR3JjzD1dche9gA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hw-s7-1500/-/hw-s7-1500-4.4.0.tgz", "dependencies": { - "@ax/hw-shared-s7-1500": "4.0.0" + "@ax/hw-shared-s7-1500": "4.4.0" } }, "@ax/hw-shared-s7-1500": { "name": "@ax/hw-shared-s7-1500", - "version": "4.0.0", - "integrity": "sha512-w2FgclYo+VTM2+fXTSGEJKXOcQXQunOrLCFMTxDyAUoS63B9HJv3vuKPYWCqGB4vTDu1/nZwuLXGlF+njXmBFg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hw-shared-s7-1500/-/hw-shared-s7-1500-4.0.0.tgz", + "version": "4.4.0", + "integrity": "sha512-BBZfMPS9XK/LxIe8Yt1h6na29DDmNyt5X7V6sLZWQzr4hI+GSNtBamERiwxsaJ4iMU+QdNpe16MeqmDZhbxYeg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hw-shared-s7-1500/-/hw-shared-s7-1500-4.4.0.tgz", "dependencies": {} }, "@ax/hwc": { "name": "@ax/hwc", - "version": "4.0.0", - "integrity": "sha512-nDkkVO43F2uBSvbJtMsTxNENvg+U8FIUl6Ud3WR6RwCrTaY5q8EZe6WO25SWRECgU5ODXU4Z/w9dsLfT95HZ2w==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc/-/hwc-4.0.0.tgz", + "version": "4.4.0", + "integrity": "sha512-Q7JAzNW+Yt6cJIU5PUrNo+rOFX9/XDuOq5DkTgwshyuMvcCeQkfOp+w0xw/cvsjebUsJrO1VJBu93Z39u1Jaaw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc/-/hwc-4.4.0.tgz", "dependencies": { - "@ax/hwc-linux-x64": "4.0.0", - "@ax/hwc-win-x64": "4.0.0" + "@ax/hwc-linux-x64": "4.4.0", + "@ax/hwc-win-x64": "4.4.0" } }, "@ax/hwc-linux-x64": { "name": "@ax/hwc-linux-x64", - "version": "4.0.0", - "integrity": "sha512-YNTz7KWUhVnSSYE9juJrOrYsfOj80ahv3lXDhvXPP6oxJxahSseQxnVvQYUuMlGCnVVOS/m3oM9PBYZyMVNq/g==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-linux-x64/-/hwc-linux-x64-4.0.0.tgz", + "version": "4.4.0", + "integrity": "sha512-DOgzF0a5JPzeC+jx2HU6P6kBRl049YHRIfFMaFeAXFAr4TpJA3JiBUhX2rsAUszcn/djA2fgQYNS1cR0MGIFCg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-linux-x64/-/hwc-linux-x64-4.4.0.tgz", "os": [ "linux" ], @@ -225,9 +232,9 @@ }, "@ax/hwc-win-x64": { "name": "@ax/hwc-win-x64", - "version": "4.0.0", - "integrity": "sha512-cxVhMEmqmtSQfIqLempYu5FgN8IyTRUc6KRikueVOOE1seRKjCSwEy5OE0vv5YR+dv2c2YGSyuUw5rzjHNkt/g==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-win-x64/-/hwc-win-x64-4.0.0.tgz", + "version": "4.4.0", + "integrity": "sha512-8K01h+wi0gmXjfvS/f4/BGsmokeT4CQHYb7HqsAMbKmP10ggx/8cac6bRagF6F+Y8cbMG/fRtADNelhhcs/D5Q==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-win-x64/-/hwc-win-x64-4.4.0.tgz", "os": [ "win32" ], @@ -238,9 +245,9 @@ }, "@ax/hwld": { "name": "@ax/hwld", - "version": "3.2.0", - "integrity": "sha512-WhzpnKpaN0sRA4X9SQPI2y+kqgBWJE8URvvMvWPs7llppeqazQwLCFzjoP4vUX1FgH5gVXxfD6SYMIy477WmMw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwld/-/hwld-3.2.0.tgz", + "version": "3.4.0", + "integrity": "sha512-YfUS32jW8cc5pSlpWmVWJsatQsqKS2NE8hqX6EmYHJpr/cpYVXzs1ePPXQBByuWqkL5T+MQd7VDsXp/b6A/RHQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwld/-/hwld-3.4.0.tgz", "cpu": [ "x64" ], @@ -248,19 +255,19 @@ }, "@ax/mod": { "name": "@ax/mod", - "version": "1.9.4", - "integrity": "sha512-TwYKjYLqOpKprB4CcgwRyJhbyE6bSVWOK0KHNoOxKS8Q//jkBOYr/rXh/xBFgIfT1opAtcY3DaAceOnio+AA8Q==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod/-/mod-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-JJIxneYx6y/rLCg/Pv9jbl2xFOszHs+TXqErgsb8onuVOyIwA4mR72Mf16fXsk3EYBoMg01SFgOrRde8txGB5A==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod/-/mod-1.13.21.tgz", "dependencies": { - "@ax/mod-linux-x64": "1.9.4", - "@ax/mod-win-x64": "1.9.4" + "@ax/mod-linux-x64": "1.13.21", + "@ax/mod-win-x64": "1.13.21" } }, "@ax/mod-linux-x64": { "name": "@ax/mod-linux-x64", - "version": "1.9.4", - "integrity": "sha512-LuAmBhj1Rrwq9By+UKRkBGeAWrJGJ4SpKYdj3GfJ+CXX+xtTSYcxEGB3IBrGiGQe50FffxBaXgqnhXJFSrBysw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-linux-x64/-/mod-linux-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-x1uPoqDlkxGVFktggS3T2Osgg4Jmt8PGPN8So9u5cF09CIMTnRkr1Pvkty+H3Kr46dcQ7KMdy7M1uDIBTRoxOg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-linux-x64/-/mod-linux-x64-1.13.21.tgz", "os": [ "linux" ], @@ -271,9 +278,9 @@ }, "@ax/mod-win-x64": { "name": "@ax/mod-win-x64", - "version": "1.9.4", - "integrity": "sha512-P93MeCzFrTeXdUpbNUjXpDIuTK3uVLzIItxIfmj7UyAHjIfZHuxT5gUtvFiSgYSgLsTbL1Dqd3qhQLG5EQAcuQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-win-x64/-/mod-win-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-uNMw/6ekpwfRlgD8XVzbT/LB8Cg9RM6tLRDb8sGF2epa9kVrrF4qVkg1KJrjURzfdw1D69ERjLDla4LswBV4jg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mod-win-x64/-/mod-win-x64-1.13.21.tgz", "os": [ "win32" ], @@ -284,19 +291,19 @@ }, "@ax/mon": { "name": "@ax/mon", - "version": "1.9.4", - "integrity": "sha512-OU+5D73ym40AWNlNU7uM+X8Vt1gy4Iw/SriqeXiJgN3BHgTNFY3o2adt7ybtF5t8ez5a/ng/Z47CAql+Mc27aQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon/-/mon-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-o4+7LO1+BCB2zKHjYFt2pT75e20MVrnnK4T0TrMAMIVSdhcNRDhsiaWbsvHj0bRIvm3D49HrWBpH4ffjzKXw4g==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon/-/mon-1.13.21.tgz", "dependencies": { - "@ax/mon-linux-x64": "1.9.4", - "@ax/mon-win-x64": "1.9.4" + "@ax/mon-linux-x64": "1.13.21", + "@ax/mon-win-x64": "1.13.21" } }, "@ax/mon-linux-x64": { "name": "@ax/mon-linux-x64", - "version": "1.9.4", - "integrity": "sha512-8FPGgd8GT9S47WA80bggWOTw6GE6C9EpXmmPQhkcgsxUKSE+Ko/+lIuv2f6DePSJMRB3I6RuM9FiUWGOoW9DQQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-linux-x64/-/mon-linux-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-AS/hwUc36jfp2mlyrVHdwtuqqwK6Lm7XOKUmEjejfHiuEXy7Hc8cbfJHrMHKKQbgBI1JCKnerxSoQGmRE4bufg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-linux-x64/-/mon-linux-x64-1.13.21.tgz", "os": [ "linux" ], @@ -307,9 +314,9 @@ }, "@ax/mon-win-x64": { "name": "@ax/mon-win-x64", - "version": "1.9.4", - "integrity": "sha512-gT3vQ5a/QXqbeq/SOUG6jeTl2tAZl/2zlvziCOV87AgVb4dgSSNF8OA/XBuyq47MG1dO9Ag7j7FZvRGo5Hknaw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-win-x64/-/mon-win-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-4w29Y4ISM8Y8GOGlU1kwayiuHWg10pjOJ1WPDhM7b8q+ohkM+XW/f/r6JNV2vg4LAfu44hL+A9kmJPoYsA56Kg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/mon-win-x64/-/mon-win-x64-1.13.21.tgz", "os": [ "win32" ], @@ -320,9 +327,9 @@ }, "@ax/plc-control": { "name": "@ax/plc-control", - "version": "1.4.3", - "integrity": "sha512-LSZIoWmgDVzyCiQsgakNcd54qaRF9xHPS7k0YWng8fsHjlcMzoEPbbj+pFTo3MNP5Y+ElBOcGSkNTm1Os0+QWw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/plc-control/-/plc-control-1.4.3.tgz", + "version": "1.6.3", + "integrity": "sha512-56jh8p9ZXr8L6inMUSZ5AcNb6yTirIT42V0z4MvCnURrYbUQC7CWJ/NSWzr174FkOjMVioa85/H/j9IhC3x71g==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/plc-control/-/plc-control-1.6.3.tgz", "cpu": [ "x64" ], @@ -330,9 +337,9 @@ }, "@ax/plc-info": { "name": "@ax/plc-info", - "version": "4.0.0", - "integrity": "sha512-k2DNlSawgjYuMdfWAYQ0dkyfmeYZRRzPhrk+SL1wI+Up//kTjl20pOFijaydp8nRDKy4k0SotaUUcB3fnUgohA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/plc-info/-/plc-info-4.0.0.tgz", + "version": "4.1.1", + "integrity": "sha512-eMw1j4KydPSEmqoNWglS2PR32Lcmmnf1QwoQrLJH5x2VYLFQ3HGpcMz8yUej7u8WoWMeQrTufVCVybPT1HS7tQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/plc-info/-/plc-info-4.1.1.tgz", "os": [ "win32", "linux" @@ -344,19 +351,20 @@ }, "@ax/sdb": { "name": "@ax/sdb", - "version": "1.9.4", - "integrity": "sha512-IEcVzPVpyteVsjc/3qyeUOK26FDkwnaXvmk6SubGx5m83gm6tWLroQDTkTI+OKO+xiOfrf4nKU/aEgjllgV1eg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb/-/sdb-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-kXCASNEDjfR74kaWmzjjcliHKMP1uiNBiJGX5fPzySITB1Bnue5vsow5Mt7T2+e6hv/wmuZSDNZccUovdOwCQw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb/-/sdb-1.13.21.tgz", "dependencies": { - "@ax/sdb-linux-x64": "1.9.4", - "@ax/sdb-win-x64": "1.9.4" + "@ax/debug-st-ls-plugin": "^1.0.0", + "@ax/sdb-linux-x64": "1.13.21", + "@ax/sdb-win-x64": "1.13.21" } }, "@ax/sdb-linux-x64": { "name": "@ax/sdb-linux-x64", - "version": "1.9.4", - "integrity": "sha512-K7iXXGjwAcKxzvSp4Arw3f4JGzCCTBnVQa1ARho32OKB2+0zvyaCfZ9qO0u1A3P1BtzQ3l+0vAhpojkaiFOTCw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-linux-x64/-/sdb-linux-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-G6bHFDvVo9hQ9VtZAapD56rWtwzHy8edOHrCzclfQ5ae4474swkkjh/s+iN5eNT3u8WDnrXewaaxdY+o5Y0AIw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-linux-x64/-/sdb-linux-x64-1.13.21.tgz", "os": [ "linux" ], @@ -367,9 +375,9 @@ }, "@ax/sdb-win-x64": { "name": "@ax/sdb-win-x64", - "version": "1.9.4", - "integrity": "sha512-t2nFtyTQM9PyzITa3twr1LI7EJoZ46B0uv6Qyz55DlXsJHdE0/ql6e2hVXFx0qi8kXgh4NFk55xXp/wELNhi5Q==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-win-x64/-/sdb-win-x64-1.9.4.tgz", + "version": "1.13.21", + "integrity": "sha512-OoAoWcYZ0EpQplpGrIoRUGyL62zI8rwNa2GFpX+nMMq59oOFc+BKjd8eAk13U9DtcoizQOnc4+6L7T/fF+FhpQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdb-win-x64/-/sdb-win-x64-1.13.21.tgz", "os": [ "win32" ], @@ -380,37 +388,39 @@ }, "@ax/sdk": { "name": "@ax/sdk", - "version": "2510.0.0", - "integrity": "sha512-myt8Cps6m0jLcl06s8p1ShKaXIULLbVB3/X1eYgGc2Ir5pDqUALHXjEpDVvlUVCjrmMspyPH3/CDWLDoa4U0Vw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdk/-/sdk-2510.0.0.tgz", + "version": "2510.11.0", + "integrity": "sha512-Iedv+yF0SjNC1b1ZBczEXBFbeAlnUsOaSaJe5kY/Edodqek5q8uYVtjNSutwz0rwdYneVAuK3N/3QdVGmzWx0Q==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdk/-/sdk-2510.11.0.tgz", "dependencies": { - "@ax/apax-build": "2.1.79", - "@ax/axunitst": "8.4.20", + "@ax/apax-build": "2.2.53", + "@ax/axunitst": "9.4.8", "@ax/certificate-management": "2.0.0", - "@ax/diagnostic-buffer": "2.0.0", - "@ax/hw-s7-1500": "4.0.0", - "@ax/hwc": "4.0.0", - "@ax/hwld": "3.2.0", - "@ax/mod": "1.9.4", - "@ax/mon": "1.9.4", - "@ax/plc-control": "1.4.3", - "@ax/plc-info": "4.0.0", - "@ax/sdb": "1.9.4", + "@ax/diagnostic-buffer": "2.1.1", + "@ax/hw-s7-1500": "4.4.0", + "@ax/hwc": "4.4.0", + "@ax/hwld": "3.4.0", + "@ax/mod": "1.13.21", + "@ax/mon": "1.13.21", + "@ax/plc-control": "1.6.3", + "@ax/plc-info": "4.1.1", + "@ax/sdb": "1.13.21", "@ax/simatic-package-tool": "2.0.17", - "@ax/sld": "3.5.5", - "@ax/st-ls": "11.0.142", + "@ax/sld": "3.6.3", + "@ax/st-lang-contrib-xlad": "1.0.0", + "@ax/st-ls": "11.4.57", "@ax/st-opcua.stc-plugin": "2.0.0", "@ax/st-resources.stc-plugin": "4.0.3", - "@ax/stc": "11.0.142", - "@ax/target-llvm": "11.0.142", - "@ax/target-mc7plus": "11.0.142", - "@ax/trace": "3.1.0" + "@ax/stc": "11.4.57", + "@ax/target-llvm": "11.4.57", + "@ax/target-mc7plus": "11.4.57", + "@ax/trace": "3.3.1", + "@ax/xlad-service": "1.0.0" } }, "@ax/simatic-package-tool": { "name": "@ax/simatic-package-tool", "version": "2.0.17", - "integrity": "sha512-r4pCNr+6pa/cBcyQzRvMFAw0T+p1Twkz3bks1Tk4CEb37yGkWhIqnUFBgpl0fbqCubAsqdXszEMeAM8tHODSDQ==", + "integrity": "sha512-2W7s5ga23f+rG0fKRyhg+fhE7+dZOkPwwYerC95Y0wTf1aUkxmOisTMstbPrjEkhoiQn4x2XEbRe4JR5M2kKQw==", "resolved": "https://registry.simatic-ax.siemens.io/@ax/simatic-package-tool/-/simatic-package-tool-2.0.17.tgz", "cpu": [ "x64" @@ -419,9 +429,9 @@ }, "@ax/sld": { "name": "@ax/sld", - "version": "3.5.5", - "integrity": "sha512-tS/Q1n6O63k9dm40bzL0FRJ/9lo3iAfDvXfzp+aJ2Pf8CqBUrt4EGdAOioiV0dSyWcPtOfmhqAeaxlzLm/3tOw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-3.5.5.tgz", + "version": "3.6.3", + "integrity": "sha512-eE+H4wsDg9WONocIo17UV6N+pgFM/Z2xVSOPXpMvzuWle39Ki8S7NoHhmt4Ha1D2qYnRFhwoX1eMFtfyqaQhoQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-3.6.3.tgz", "cpu": [ "x64" ], @@ -429,26 +439,33 @@ }, "@ax/st-docs": { "name": "@ax/st-docs", - "version": "11.0.142", - "integrity": "sha512-/EAHrlHoOr+mjt5vIZQA5AEHXY1Nv6U+kU0qGwvmvgBzVY6tN6lECvR8rDEXF3jaVeWr36KxFjwt+e6tqJ6tQg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-docs/-/st-docs-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-jC18lL8q9nzI8Vz1ytvHQuGgWxcyoJw5RImy8HX6fi174Ab4y8YrmjYTBP9Ziucou+pj59j9b4cY671T0710tA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-docs/-/st-docs-11.4.57.tgz", + "dependencies": {} + }, + "@ax/st-lang-contrib-xlad": { + "name": "@ax/st-lang-contrib-xlad", + "version": "1.0.0", + "integrity": "sha512-zy4bk9WlUUd+UavGHY+c3u8lKEJFtATa3PSlMllL9AI1DgKEulsrc7mpgUpZmkJcIW8JOrIxPutXZIX1RVHgTA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-lang-contrib-xlad/-/st-lang-contrib-xlad-1.0.0.tgz", "dependencies": {} }, "@ax/st-ls": { "name": "@ax/st-ls", - "version": "11.0.142", - "integrity": "sha512-CM/HOPYW7oiVdKAabgxe0YKDvWSfF3d4/zlggCacC1t4OjJPacbzXl4/m5QHDraViSimF9Xk53a+rw9/1mdmnA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls/-/st-ls-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-I98dRmC4FfPy4e+Bu6soImReyOOFwAKsCRpnBnKG5g5gc80iWwiEuD9/qaYrXKwfyf5xGwQ63b67n6WqMIevgg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls/-/st-ls-11.4.57.tgz", "dependencies": { - "@ax/st-ls-linux-x64": "11.0.142", - "@ax/st-ls-win-x64": "11.0.142" + "@ax/st-ls-linux-x64": "11.4.57", + "@ax/st-ls-win-x64": "11.4.57" } }, "@ax/st-ls-linux-x64": { "name": "@ax/st-ls-linux-x64", - "version": "11.0.142", - "integrity": "sha512-+S+ZVR+1B5lBaCGH+kPK/s7gp31+Q8Ec2MopOE8snntXYujuE0eCL+vzn4LGgX6dA6MLl2/HJcTG63JF0kJURQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls-linux-x64/-/st-ls-linux-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-X0vUrFmSkMwX86knhLOlysmQqspeJlrArMTzAcNNnW+nGhMi2KxB0bJ0WmVKKQv9atJRgA6S6EgC1g1LAWEkow==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls-linux-x64/-/st-ls-linux-x64-11.4.57.tgz", "os": [ "linux" ], @@ -459,9 +476,9 @@ }, "@ax/st-ls-win-x64": { "name": "@ax/st-ls-win-x64", - "version": "11.0.142", - "integrity": "sha512-U+m9jTmfpU25MKVwyo7TI23z9NE7wNvVas8QhnW2DJFcLn8uw94BkWLoc3rLZ8VElvQEJ3XYOG0IW2Kuq72zxg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls-win-x64/-/st-ls-win-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-PwUIVmHM0GHGLcfB5JjdxyD9yH9raj3XFCxQQZSYQNjBoT4AGHxrljb+CSjD3ioQk3PSQDyac7hBrRlceUAe4Q==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-ls-win-x64/-/st-ls-win-x64-11.4.57.tgz", "os": [ "win32" ], @@ -486,19 +503,19 @@ }, "@ax/stc": { "name": "@ax/stc", - "version": "11.0.142", - "integrity": "sha512-oinyp6RSquEVUAec6F5NlZLjZQ2b3MsiYjujCCvkKMJSUJrx9U+mCc9CU5iPg3g4mX5WX7loB6LR1oxf4XjzkQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc/-/stc-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-KQtS11svrsyr2ayYIS/XMStlcAPdw3WakJ6X7ywS4/U2j4o8wwsANrwp4ntd/wIrS/hZMFA2vD9cX1c5jET6dA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc/-/stc-11.4.57.tgz", "dependencies": { - "@ax/stc-linux-x64": "11.0.142", - "@ax/stc-win-x64": "11.0.142" + "@ax/stc-linux-x64": "11.4.57", + "@ax/stc-win-x64": "11.4.57" } }, "@ax/stc-linux-x64": { "name": "@ax/stc-linux-x64", - "version": "11.0.142", - "integrity": "sha512-TWeu2zlUNn9BvX62TfdcggAmPzVWqLP3h7/112gGGQ86ww9Q7aqX7h1nMNaaXmIc3Fv1CLJ5Q8i6/zLYRBk5Fg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-linux-x64/-/stc-linux-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-O/wVcOcr8ABRdxgL4xzJi/y6mIW1yRt3UUB4xvVc3eCJ2P1GLpqQ+58tuQupRLrHo+akJrz3ZN0AF1udWytQyQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-linux-x64/-/stc-linux-x64-11.4.57.tgz", "os": [ "linux" ], @@ -506,14 +523,14 @@ "x64" ], "dependencies": { - "@ax/st-docs": "11.0.142" + "@ax/st-docs": "11.4.57" } }, "@ax/stc-win-x64": { "name": "@ax/stc-win-x64", - "version": "11.0.142", - "integrity": "sha512-c5v0s3rD9tbRNVl1RrLyBpfu+qx3ZC/gOJ3DThqR2FK0DMpBZoe94iNmJVX0wPEjKfzFXtsm6oZWy0kw0CJ0CA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-win-x64/-/stc-win-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-KgMduAeuyUZqMO2JBp/MdVqKxhJyIVPdp042y+MAHb6gUDQIww9H5f4ai8ZEM3UuyZ18fOuM+Ku0X1Dz6gBLdg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-win-x64/-/stc-win-x64-11.4.57.tgz", "os": [ "win32" ], @@ -521,56 +538,56 @@ "x64" ], "dependencies": { - "@ax/st-docs": "11.0.142" + "@ax/st-docs": "11.4.57" } }, "@ax/system-conversion": { "name": "@ax/system-conversion", - "version": "10.2.7", - "integrity": "sha512-7pwc0Mp434tQxNdMQNreLMDV9CN291MeEwSEpLU+z7wsIJLwIqfE5V6HiJ0IOVkj91zZHa23zxEBd37nm0c66g==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-conversion/-/system-conversion-10.2.7.tgz", + "version": "10.4.16", + "integrity": "sha512-7gk9B1Kg/FFK6xd3t4miyVwzpDETSbpVWx6InBLCQdVEoNrExl7j2vkMb1FqPbg3A71Vl0jNfShUqVwtklfguw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-conversion/-/system-conversion-10.4.16.tgz", "dependencies": {} }, "@ax/system-datetime": { "name": "@ax/system-datetime", - "version": "10.2.7", - "integrity": "sha512-9YEXCa2vUo5ZrhhFNHQmGUlmjLkIid/SNlodDAcmLyYZuNLL+352qat2KX6P7PoSDsQ5J+LBF4vRPSR1lmZFeQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-datetime/-/system-datetime-10.2.7.tgz", + "version": "10.4.16", + "integrity": "sha512-csdSk9vVBIite0+tGSmxv0cFKlP5EoW2zE0blsEJWK+m6/f6GFXCUeyyF5CySxB85k0C3x7qvsiFnyXQm1eG2A==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-datetime/-/system-datetime-10.4.16.tgz", "dependencies": {} }, "@ax/system-math": { "name": "@ax/system-math", - "version": "10.2.7", - "integrity": "sha512-hDjaLGPeNr0IzZfhIwgqoTcQjihCMjVGnsm4wgQBb7CNCOTMebLwKrumxu7wP3L0/AIBFqWbfoiWGsj3B2KmIA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-math/-/system-math-10.2.7.tgz", + "version": "10.4.16", + "integrity": "sha512-ysD5LyINsYhYuL/9dNxGxDBV2W+TspUYtmkgH1rRpoaHMhkCb5ZDHoGYVfzAodkvvWW2MXpu3j19okO1j4Q3/Q==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-math/-/system-math-10.4.16.tgz", "dependencies": {} }, "@ax/system-strings": { "name": "@ax/system-strings", - "version": "10.2.7", - "integrity": "sha512-HIicTu7S5i/Fh/YBEQY93JpUZ5ARNSoNNx1v1FY3syRqu2WQdMTsk9fCFAIfTmCYN9S/cPvqveOgGieiiuCg4A==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-strings/-/system-strings-10.2.7.tgz", + "version": "10.4.16", + "integrity": "sha512-imtLRDlJz1owzO0+4QNIYTz5BCaxWBbLM7JGwOr1Y9u0YYpvpD5zo/JJKKwNTGYzgeMQtzLFvmvrQmHU/BiO5w==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/system-strings/-/system-strings-10.4.16.tgz", "dependencies": { - "@ax/system-math": "^10.2.7", - "@ax/system-datetime": "^10.2.7", - "@ax/system-conversion": "^10.2.7" + "@ax/system-math": "^10.4.16", + "@ax/system-datetime": "^10.4.16", + "@ax/system-conversion": "^10.4.16" } }, "@ax/target-llvm": { "name": "@ax/target-llvm", - "version": "11.0.142", - "integrity": "sha512-utPcEt1TbuTrKN2CiWXP1s3EG7sWmHDM69ooF7xcq6jk+3WXScEG98lzy+lE7wyb5GPGItYrwSclOqKEOdepMA==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm/-/target-llvm-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-9D8ePA4Db/PYuIz6HLouhyuwDlEO2eBKUqwtbkqvhZGClft12Ljg+F1W1dUKpctweIlxlMerTk2RM6xRolmSPA==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm/-/target-llvm-11.4.57.tgz", "dependencies": { - "@ax/target-llvm-linux-x64": "11.0.142", - "@ax/target-llvm-win-x64": "11.0.142" + "@ax/target-llvm-linux-x64": "11.4.57", + "@ax/target-llvm-win-x64": "11.4.57" } }, "@ax/target-llvm-linux-x64": { "name": "@ax/target-llvm-linux-x64", - "version": "11.0.142", - "integrity": "sha512-1T6kzdRctglYqBlmcWJ+NBiWILP5RZmnOdwRf87ykFeBzq//QeLly3koCjoX+clmmZKgoYKxoD/spybYiwSxGw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-NJ0D6l/xQoTC6riv9ZJsHUtRKQJ8/JE5NqObWdWltvIiQQOs7GYi+huTkZKacKfzZLKCimzPqAXt2K0x99/syg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-11.4.57.tgz", "os": [ "linux" ], @@ -581,9 +598,9 @@ }, "@ax/target-llvm-win-x64": { "name": "@ax/target-llvm-win-x64", - "version": "11.0.142", - "integrity": "sha512-eQHmJ5U9xwtBziE44NXuPtrZaJLDlXdtJ9G3dysFnDnROJimrOMyisW7GiU1MBCKI9UZUNNU5PjQqf6KlCLS9w==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-win-x64/-/target-llvm-win-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-oxXKlEOIe2dcj0xKpdN73s+0b/Hch2DughDb3gfHiMfoF210CfJypdP9tol2uduvkLS+SaEREw3NSd15oLD8Tg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-win-x64/-/target-llvm-win-x64-11.4.57.tgz", "os": [ "win32" ], @@ -594,19 +611,19 @@ }, "@ax/target-mc7plus": { "name": "@ax/target-mc7plus", - "version": "11.0.142", - "integrity": "sha512-O59HEd+rqjOmjSzibM3aFm6xCkTcbmuAprGHLXav9paDGr8h00Sf4iGHCKzXokSiCJ7gH5+/QGClpS1zaRdq1w==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus/-/target-mc7plus-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-0duFkagd4UAjsqBJvvIFVgGOmXKXbhhKHYkx0E+HJ6XhDD7LkSlV94wA4FrQ5xrGX4u1oBa4BfkCHyoBdsoDNQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus/-/target-mc7plus-11.4.57.tgz", "dependencies": { - "@ax/target-mc7plus-linux-x64": "11.0.142", - "@ax/target-mc7plus-win-x64": "11.0.142" + "@ax/target-mc7plus-linux-x64": "11.4.57", + "@ax/target-mc7plus-win-x64": "11.4.57" } }, "@ax/target-mc7plus-linux-x64": { "name": "@ax/target-mc7plus-linux-x64", - "version": "11.0.142", - "integrity": "sha512-kKyQMHd8RkGXrwIkZtZHJPlqBaK9HDekLAUEW4QN1g9g7xg1cywSuD5523Rlqzuaa4RShu5p7PLxtpUv4uqubg==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-qcLfo1tt+Q+hRepECOWquwsjoH2bjsyh2MfDJLPA1KVky8ji7He3FYGjaF/uSaCjNitcG2ZLJ5yyKkYJTkFLGg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-11.4.57.tgz", "os": [ "linux" ], @@ -617,9 +634,9 @@ }, "@ax/target-mc7plus-win-x64": { "name": "@ax/target-mc7plus-win-x64", - "version": "11.0.142", - "integrity": "sha512-YmDtqcdZCvHxdYMIJQtapu+H6nxoGGoHUnH9Yg2UQVC2ZBYl92uFLQnuT10zYENBnw6qH00Yj9/0MhFkC2Plaw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-11.0.142.tgz", + "version": "11.4.57", + "integrity": "sha512-Sop9Bq/kBeKpI2d2gfqAW2GaMgLwDPU2lW0mbOAoue75kWXkQCWSo0VCIOD78sws5YwHO81dH20eNrQNqmKkmw==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-11.4.57.tgz", "os": [ "win32" ], @@ -630,19 +647,19 @@ }, "@ax/trace": { "name": "@ax/trace", - "version": "3.1.0", - "integrity": "sha512-B6i5/SfjMBMsACGsu27lAXaTibENIBeSdzwabBJ0qnKD/byGrW/RDYarOMWiDf6O1JFGy2nrAGeA1Ix4Mz1NSw==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace/-/trace-3.1.0.tgz", + "version": "3.3.1", + "integrity": "sha512-Y9TWvgoiKEBPBwoSgvmZhCTYNYUqkqh01lQ483x3TJxrZmPBgeaPeTtgp/mauSbGgHlVfqDd/8wcqPtTlVHXrg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace/-/trace-3.3.1.tgz", "dependencies": { - "@ax/trace-linux-x64": "3.1.0", - "@ax/trace-win-x64": "3.1.0" + "@ax/trace-linux-x64": "3.3.1", + "@ax/trace-win-x64": "3.3.1" } }, "@ax/trace-linux-x64": { "name": "@ax/trace-linux-x64", - "version": "3.1.0", - "integrity": "sha512-hiU+vDQWRtrh9zW23AdCzj3rEs9M7bW6sW65FThpMQYZqgXg/R7IyiPr5v0mVFvHzMtxi4/bZQ0bgtqUZcdPXQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace-linux-x64/-/trace-linux-x64-3.1.0.tgz", + "version": "3.3.1", + "integrity": "sha512-TQ5qH4f64GQA0t68fZO9wpgyUOX88e/Z8ENRxCVKMgdVx5Ti4zYvswwXwZLy8wLojwdxMnQWVWuqC+jZ0ygCow==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace-linux-x64/-/trace-linux-x64-3.3.1.tgz", "os": [ "linux" ], @@ -653,9 +670,9 @@ }, "@ax/trace-win-x64": { "name": "@ax/trace-win-x64", - "version": "3.1.0", - "integrity": "sha512-8fmYsQ0tBMs5eWN2XEcijn2fyQHd/AWa2xfqvz/vz+aG7v149TdkYLNq4kwAUj0TRF9/2Tw7FKIfWRxifEzo8g==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace-win-x64/-/trace-win-x64-3.1.0.tgz", + "version": "3.3.1", + "integrity": "sha512-qsdP01I8oojQMP/Cm5u5f8D/GAWJBggk240VS8wB06zwqAzTMpvVyUexdd4a/Wi647EbzFjJF0hyMrEJGso2UQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/trace-win-x64/-/trace-win-x64-3.3.1.tgz", "os": [ "win32" ], @@ -664,6 +681,13 @@ ], "dependencies": {} }, + "@ax/xlad-service": { + "name": "@ax/xlad-service", + "version": "1.0.0", + "integrity": "sha512-5Ik+8Tz2pPOaY42A8lOvlSgb7n/R4Tbp61NET9PCcQ0Gyap7ZdbyohSvywK/qPBmCKlBdAHMea2Texd7G4kkyQ==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/xlad-service/-/xlad-service-1.0.0.tgz", + "dependencies": {} + }, "@simatic-ax/snippetscollection": { "name": "@simatic-ax/snippetscollection", "version": "1.1.0", @@ -676,80 +700,88 @@ "catalogs": { "@ax/simatic-ax": { "name": "@ax/simatic-ax", - "version": "2510.0.0", - "integrity": "sha512-S5u9DDjdThQNZg0neo1Q4aebQj/0ezUUA+SJD73/+bTSTCbhEObtXm53nlBD5lr4Vjmv61l0B/Qzz8Asj7TLmQ==", - "resolved": "https://registry.simatic-ax.siemens.io/@ax/simatic-ax/-/simatic-ax-2510.0.0.tgz", + "version": "2510.11.0", + "integrity": "sha512-mPB+1N4a6sfNs275oeKIFpN3yNhkB7G9W/0K+GSOovuZ2w9C+gpN1MAgtS0g5gtyPWuIAaYnccvN05XhqXrPfg==", + "resolved": "https://registry.simatic-ax.siemens.io/@ax/simatic-ax/-/simatic-ax-2510.11.0.tgz", "dependencies": {}, "catalogDependencies": { - "@ax/apax-build": "2.1.79", - "@ax/ax2tia": "12.0.29", - "@ax/axunit-mocking": "8.4.20", - "@ax/axunitst": "8.4.20", - "@ax/axunitst-library": "8.4.20", + "@ax/apax-build": "2.2.53", + "@ax/ax2tia": "12.2.8", + "@ax/axunit-mocking": "9.4.8", + "@ax/axunitst": "9.4.8", + "@ax/axunitst-library": "9.4.8", "@ax/build-native": "16.1.51", "@ax/certificate-management": "2.0.0", "@ax/dcp-utility": "1.2.0", - "@ax/diagnostic-buffer": "2.0.0", - "@ax/hardware-diagnostics": "1.0.0", - "@ax/hw-et200sp": "4.0.0", - "@ax/hw-s7-1500": "4.0.0", - "@ax/hwc": "4.0.0", - "@ax/hwld": "3.2.0", - "@ax/mod": "1.9.4", - "@ax/mon": "1.9.4", - "@ax/plc-control": "1.4.3", - "@ax/plc-info": "4.0.0", - "@ax/plc-web-app-manager": "1.1.0", - "@ax/sdb": "1.9.4", - "@ax/simatic-alarming": "5.0.1", - "@ax/simatic-clocks": "11.0.14", - "@ax/simatic-communication": "11.0.1", - "@ax/simatic-crypto": "4.0.15", - "@ax/simatic-diagnostics": "5.0.14", + "@ax/debug-st-ls-plugin": "1.0.10", + "@ax/diagnostic-buffer": "2.1.1", + "@ax/hardware-diagnostics": "1.1.1", + "@ax/hw-et200sp": "4.4.0", + "@ax/hw-s7-1500": "4.4.0", + "@ax/hwc": "4.4.0", + "@ax/hwld": "3.4.0", + "@ax/mod": "1.13.21", + "@ax/mon": "1.13.21", + "@ax/plc-control": "1.6.3", + "@ax/plc-info": "4.1.1", + "@ax/plc-web-app-manager": "1.2.0", + "@ax/sdb": "1.13.21", + "@ax/simatic-alarming": "5.1.0", + "@ax/simatic-clocks": "11.0.116", + "@ax/simatic-communication": "11.0.2", + "@ax/simatic-crypto": "4.0.40", + "@ax/simatic-diagnostics": "5.1.34", "@ax/simatic-diagnostics-hardware": "11.0.0", - "@ax/simatic-distributedio": "11.0.14", - "@ax/simatic-fileaccess": "10.0.8", - "@ax/simatic-hardware-utilities": "6.0.19", - "@ax/simatic-memoryaccess": "6.0.19", - "@ax/simatic-modbusrtu": "4.0.6", - "@ax/simatic-motioncontrol-native-v5": "10.0.9", - "@ax/simatic-motioncontrol-native-v6": "10.0.9", - "@ax/simatic-motioncontrol-native-v7": "10.0.9", - "@ax/simatic-motioncontrol-native-v8": "10.0.9", - "@ax/simatic-motioncontrol-native-v9": "10.0.9", - "@ax/simatic-motioncontrol-v7": "10.0.9", - "@ax/simatic-motioncontrol-v7-mocking": "10.0.9", - "@ax/simatic-motioncontrol-v8": "10.0.9", - "@ax/simatic-motioncontrol-v8-mocking": "10.0.9", - "@ax/simatic-motioncontrol-v9": "10.0.9", - "@ax/simatic-motioncontrol-v9-mocking": "10.0.9", + "@ax/simatic-distributedio": "11.0.44", + "@ax/simatic-fileaccess": "10.0.66", + "@ax/simatic-hardware-utilities": "6.0.66", + "@ax/simatic-memoryaccess": "6.0.66", + "@ax/simatic-modbusrtu": "4.0.59", + "@ax/simatic-modbustcp": "1.0.166", + "@ax/simatic-motioncontrol-native-v10": "10.1.6", + "@ax/simatic-motioncontrol-native-v5": "10.1.6", + "@ax/simatic-motioncontrol-native-v6": "10.1.6", + "@ax/simatic-motioncontrol-native-v7": "10.1.6", + "@ax/simatic-motioncontrol-native-v8": "10.1.6", + "@ax/simatic-motioncontrol-native-v9": "10.1.6", + "@ax/simatic-motioncontrol-v10": "10.1.6", + "@ax/simatic-motioncontrol-v10-mocking": "10.1.6", + "@ax/simatic-motioncontrol-v7": "10.1.6", + "@ax/simatic-motioncontrol-v7-mocking": "10.1.6", + "@ax/simatic-motioncontrol-v8": "10.1.6", + "@ax/simatic-motioncontrol-v8-mocking": "10.1.6", + "@ax/simatic-motioncontrol-v9": "10.1.6", + "@ax/simatic-motioncontrol-v9-mocking": "10.1.6", "@ax/simatic-package-tool": "2.0.17", - "@ax/simatic-pointtopoint": "4.0.6", + "@ax/simatic-pointtopoint": "4.0.54", "@ax/simatic-tasks": "11.0.2", - "@ax/simatic-technology-objects": "4.0.8", - "@ax/sld": "3.5.5", - "@ax/st-ls": "11.0.142", + "@ax/simatic-technology-objects": "4.0.43", + "@ax/sld": "3.6.3", + "@ax/st-lang-contrib-xlad": "1.0.0", + "@ax/st-ls": "11.4.57", "@ax/st-opcua.stc-plugin": "2.0.0", "@ax/st-resources.stc-plugin": "4.0.3", - "@ax/stc": "11.0.142", - "@ax/system": "10.2.7", - "@ax/system-bitaccess": "10.2.7", - "@ax/system-conversion": "10.2.7", - "@ax/system-counters": "10.2.7", - "@ax/system-data": "10.2.7", - "@ax/system-datetime": "10.2.7", - "@ax/system-edgedetection": "10.2.7", - "@ax/system-fastmath": "10.2.7", - "@ax/system-math": "10.2.7", - "@ax/system-selection": "10.2.7", - "@ax/system-serde": "10.2.7", - "@ax/system-strings": "10.2.7", - "@ax/system-timer": "10.2.7", - "@ax/target-llvm": "11.0.142", - "@ax/target-mc7plus": "11.0.142", - "@ax/tia2st": "4.0.10", - "@ax/trace": "3.1.0", - "@ax/sdk": "2510.0.0" + "@ax/stc": "11.4.57", + "@ax/system": "10.4.16", + "@ax/system-bistable": "10.4.16", + "@ax/system-bitaccess": "10.4.16", + "@ax/system-conversion": "10.4.16", + "@ax/system-counters": "10.4.16", + "@ax/system-data": "10.4.16", + "@ax/system-datetime": "10.4.16", + "@ax/system-edgedetection": "10.4.16", + "@ax/system-fastmath": "10.4.16", + "@ax/system-math": "10.4.16", + "@ax/system-selection": "10.4.16", + "@ax/system-serde": "10.4.16", + "@ax/system-strings": "10.4.16", + "@ax/system-timer": "10.4.16", + "@ax/target-llvm": "11.4.57", + "@ax/target-mc7plus": "11.4.57", + "@ax/tia2st": "4.3.5", + "@ax/trace": "3.3.1", + "@ax/xlad-service": "1.0.0", + "@ax/sdk": "2510.11.0" } } } diff --git a/src/TRUNC.st b/src/TRUNC.st index 699ca62..cce0240 100644 --- a/src/TRUNC.st +++ b/src/TRUNC.st @@ -1,5 +1,12 @@ NAMESPACE Simatic.Ax.Conversion + /// Truncates a 64-bit floating-point number (LREAL) to an integer. + /// + /// This function truncates the input LREAL value to the nearest integer toward zero. + /// It handles both positive and negative values. + /// + /// @param Value The LREAL value to truncate. + /// @return The truncated integer value. FUNCTION TRUNC : DINT VAR_INPUT Value : LREAL; @@ -16,6 +23,13 @@ NAMESPACE Simatic.Ax.Conversion END_IF; END_FUNCTION + /// Truncates a 32-bit floating-point number (REAL) to an integer. + /// + /// This function truncates the input REAL value to the nearest integer toward zero. + /// It handles both positive and negative values. + /// + /// @param Value The REAL value to truncate. + /// @return The truncated integer value. FUNCTION TRUNC : DINT VAR_INPUT Value : REAL; @@ -31,4 +45,5 @@ NAMESPACE Simatic.Ax.Conversion END_IF; END_IF; END_FUNCTION + END_NAMESPACE diff --git a/src/strings/AnyIntToString.st b/src/strings/AnyIntToString.st index 20e53a3..584a70a 100644 --- a/src/strings/AnyIntToString.st +++ b/src/strings/AnyIntToString.st @@ -2,6 +2,16 @@ USING System.Strings; USING System.Math; NAMESPACE Simatic.Ax.Conversion + + /// Converts a signed 64-bit integer (LINT) to its string representation. + /// + /// This function converts a signed 64-bit integer to a string, optionally adding a sign + /// based on the specified conversion mode. It handles negative values and ensures the + /// correct number of digits are included in the output. + /// + /// @param value The signed 64-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION INTERNAL AnyIntToString : STRING VAR_INPUT value : LINT; @@ -42,6 +52,15 @@ NAMESPACE Simatic.Ax.Conversion END_FOR; END_FUNCTION + /// Converts an unsigned 64-bit integer (ULINT) to its string representation. + /// + /// This function converts an unsigned 64-bit integer to a string, optionally adding a sign + /// based on the specified conversion mode. It ensures the correct number of digits are + /// included in the output. + /// + /// @param value The unsigned 64-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION INTERNAL ULintToString : STRING VAR_INPUT value : ULINT; @@ -80,4 +99,5 @@ NAMESPACE Simatic.Ax.Conversion ULintToString := Concat(ULintToString, s); END_FOR; END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/ArrayToString.st b/src/strings/ArrayToString.st index 9650c77..9b85185 100644 --- a/src/strings/ArrayToString.st +++ b/src/strings/ArrayToString.st @@ -1,6 +1,18 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Arrays + + /// Converts a subset of a character array to a string. + /// + /// This function takes a character array and converts a specified range of elements + /// (from `startIdx` to `endIdx`) into a string. If the range is invalid or exceeds + /// the array bounds, an empty string is returned. The maximum string length is limited + /// to `MAX_STR_LEN`. + /// + /// @param arr The input character array. + /// @param startIdx The starting index of the range to convert. + /// @param endIdx The ending index of the range to convert. + /// @return A string representation of the specified range of the array. FUNCTION ToString : STRING VAR_INPUT arr : ARRAY[*] OF CHAR; @@ -47,6 +59,14 @@ NAMESPACE Simatic.Ax.Conversion.Arrays END_FUNCTION + /// Converts an entire character array to a string. + /// + /// This function takes a character array and converts all its elements into a string. + /// If the array length exceeds `MAX_STR_LEN`, the resulting string is truncated to + /// the maximum allowed length. + /// + /// @param arr The input character array. + /// @return A string representation of the entire array. FUNCTION ToString : STRING VAR_INPUT arr : ARRAY[*] OF CHAR; @@ -74,4 +94,5 @@ NAMESPACE Simatic.Ax.Conversion.Arrays END_FOR; END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/ConversionMode.st b/src/strings/ConversionMode.st index 46982e5..d012fb7 100644 --- a/src/strings/ConversionMode.st +++ b/src/strings/ConversionMode.st @@ -1,5 +1,12 @@ NAMESPACE Simatic.Ax.Conversion + + /// Represents the conversion mode for integer-to-string operations. + /// + /// This type defines the available modes for formatting integer-to-string conversions: + /// - `NONE`: No special formatting is applied. + /// - `FORCE_SIGN`: Forces the inclusion of a '+' sign for positive numbers. TYPE ConversionMode : WORD (NONE := WORD#16#0000, FORCE_SIGN := WORD#16#0001) := NONE; END_TYPE + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/CountDigits.st b/src/strings/CountDigits.st index ad337a9..1478304 100644 --- a/src/strings/CountDigits.st +++ b/src/strings/CountDigits.st @@ -1,4 +1,13 @@ NAMESPACE Simatic.Ax.Conversion + + /// Counts the number of digits in a signed 64-bit integer (LINT). + /// + /// This function calculates the number of decimal digits in the given signed 64-bit integer. + /// It iteratively checks the range of the value against increasing powers of 10. + /// The maximum number of digits it can handle is defined by `MAX_DIGITS`. + /// + /// @param value The signed 64-bit integer whose digits are to be counted. + /// @return The number of decimal digits in the input value. FUNCTION CountDigits : INT VAR_INPUT value : LINT; @@ -21,6 +30,14 @@ NAMESPACE Simatic.Ax.Conversion CountDigits := 19; END_FUNCTION + /// Counts the number of digits in an unsigned 64-bit integer (ULINT). + /// + /// This function calculates the number of decimal digits in the given unsigned 64-bit integer. + /// It iteratively checks the range of the value against increasing powers of 10. + /// The maximum number of digits it can handle is defined by `MAX_DIGITS`. + /// + /// @param value The unsigned 64-bit integer whose digits are to be counted. + /// @return The number of decimal digits in the input value. FUNCTION CountDigits : INT VAR_INPUT value : ULINT; @@ -42,4 +59,5 @@ NAMESPACE Simatic.Ax.Conversion END_FOR; CountDigits := 20; END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/HexToString.st b/src/strings/HexToString.st index bc54146..00169d6 100644 --- a/src/strings/HexToString.st +++ b/src/strings/HexToString.st @@ -2,7 +2,15 @@ USING System; USING System.Strings; NAMESPACE Simatic.Ax.Conversion - + + /// Converts a BYTE value to its hexadecimal string representation. + /// + /// This function takes a BYTE value and converts it into a two-character hexadecimal string. + /// It splits the BYTE into two nibbles, converts each nibble to its hexadecimal character, + /// and concatenates the results. + /// + /// @param b The BYTE value to convert. + /// @return A two-character string representing the hexadecimal value of the input BYTE. FUNCTION PUBLIC ByteToString : STRING VAR_INPUT b : BYTE; @@ -18,6 +26,13 @@ NAMESPACE Simatic.Ax.Conversion END_FUNCTION + /// Converts a nibble (4 bits) to its hexadecimal character representation. + /// + /// This function takes a nibble (a value between 0 and 15) and returns the corresponding + /// hexadecimal character (0-9, A-F) using a lookup table. + /// + /// @param nibble The nibble value to convert (0-15). + /// @return The hexadecimal character corresponding to the input nibble. FUNCTION INTERNAL LookUpHEX : CHAR VAR_INPUT nibble : BYTE; diff --git a/src/strings/IntToString.st b/src/strings/IntToString.st index 1d5516d..0b7ef11 100644 --- a/src/strings/IntToString.st +++ b/src/strings/IntToString.st @@ -1,5 +1,15 @@ USING System.Strings; + NAMESPACE Simatic.Ax.Conversion.Integer + + /// Converts a signed 8-bit integer (SINT) to a string. + /// + /// This function converts a signed 8-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The signed 8-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[4] VAR_INPUT value : SINT; @@ -10,6 +20,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts an unsigned 8-bit integer (USINT) to a string. + /// + /// This function converts an unsigned 8-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The unsigned 8-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[4] VAR_INPUT value : USINT; @@ -20,6 +38,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts a signed 16-bit integer (INT) to a string. + /// + /// This function converts a signed 16-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The signed 16-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[6] VAR_INPUT value : INT; @@ -30,6 +56,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts an unsigned 16-bit integer (UINT) to a string. + /// + /// This function converts an unsigned 16-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The unsigned 16-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[6] VAR_INPUT value : UINT; @@ -41,6 +75,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer END_FUNCTION + /// Converts a signed 32-bit integer (DINT) to a string. + /// + /// This function converts a signed 32-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The signed 32-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[11] VAR_INPUT value : DINT; @@ -51,6 +93,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts an unsigned 32-bit integer (UDINT) to a string. + /// + /// This function converts an unsigned 32-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The unsigned 32-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[11] VAR_INPUT value : UDINT; @@ -61,6 +111,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts a signed 64-bit integer (LINT) to a string. + /// + /// This function converts a signed 64-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The signed 64-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[20] VAR_INPUT value : LINT; @@ -71,6 +129,14 @@ NAMESPACE Simatic.Ax.Conversion.Integer ToString := AnyIntToString(value := value, mode := mode); END_FUNCTION + /// Converts an unsigned 64-bit integer (ULINT) to a string. + /// + /// This function converts an unsigned 64-bit integer to its string representation. + /// The conversion supports an optional mode parameter to customize the output format. + /// + /// @param value The unsigned 64-bit integer to convert. + /// @param mode The conversion mode (e.g., force sign). + /// @return A string representation of the input integer. FUNCTION ToString : STRING[21] VAR_INPUT value : ULINT; @@ -80,4 +146,5 @@ NAMESPACE Simatic.Ax.Conversion.Integer END_VAR ToString := ULintToString(value := value, mode := mode); END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/StringToAnyInt.st b/src/strings/StringToAnyInt.st index 1b27b15..00e9123 100644 --- a/src/strings/StringToAnyInt.st +++ b/src/strings/StringToAnyInt.st @@ -1,6 +1,15 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion + + /// Converts a string to a signed 64-bit integer (LINT). + /// + /// This function parses a string and converts it to a signed 64-bit integer. It handles + /// optional '+' or '-' signs and checks for overflow. If the string is invalid, the + /// function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION StringToAnyInt : BOOL VAR_INPUT str : STRING; @@ -80,6 +89,14 @@ NAMESPACE Simatic.Ax.Conversion END_FUNCTION + /// Converts a string to an unsigned 64-bit integer (ULINT). + /// + /// This function parses a string and converts it to an unsigned 64-bit integer. It handles + /// optional '+' signs and checks for overflow. If the string is invalid, the function + /// returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION INTERNAL StringToULint: BOOL VAR_INPUT str : STRING; diff --git a/src/strings/StringToArrayOfCharCount.st b/src/strings/StringToArrayOfCharCount.st index 0918960..d5571f2 100644 --- a/src/strings/StringToArrayOfCharCount.st +++ b/src/strings/StringToArrayOfCharCount.st @@ -1,6 +1,16 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Strings.ToArray + + /// Converts a string to an array of CHAR values. + /// + /// This function copies characters from the input string into the provided array of CHAR. + /// It returns the number of characters copied. If the array is smaller than the string, + /// the output is truncated to fit the array size. + /// + /// @param str The input string to convert. + /// @param arr The output array to store the CHAR values. + /// @return The number of characters copied to the array. FUNCTION OfCharCount : DINT VAR_INPUT str : STRING; @@ -27,4 +37,5 @@ NAMESPACE Simatic.Ax.Conversion.Strings.ToArray END_FOR; OfCharCount := i; END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/StringToArrayOfLint.st b/src/strings/StringToArrayOfLint.st index e0e5528..683db9a 100644 --- a/src/strings/StringToArrayOfLint.st +++ b/src/strings/StringToArrayOfLint.st @@ -3,6 +3,14 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Strings.ToArray + /// Converts a string representation of an array of integers to an array of LINT values. + /// + /// This function parses a string containing integers (e.g., "[1, 2, 3]") and converts it + /// into an array of LINT values. If the string cannot be converted, the function returns FALSE. + /// + /// @param str The input string to parse. + /// @param arr The output array to store the converted LINT values. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION INTERNAL OfLint : BOOL VAR_INPUT str: STRING; @@ -86,6 +94,14 @@ NAMESPACE Simatic.Ax.Conversion.Strings.ToArray END_FOR; END_FUNCTION + /// Extracts the bounds of an array from a string representation. + /// + /// This function identifies the positions of the opening and closing brackets + /// in a string representing an array (e.g., "[1, 2, 3]") and returns their indices. + /// + /// @param str The input string to analyze. + /// @param lower The index of the opening bracket. + /// @param upper The index of the closing bracket. FUNCTION GetArrayBounds VAR_INPUT str: STRING; diff --git a/src/strings/StringToArrayOfLintCount.st b/src/strings/StringToArrayOfLintCount.st index ea073e4..bf3817d 100644 --- a/src/strings/StringToArrayOfLintCount.st +++ b/src/strings/StringToArrayOfLintCount.st @@ -3,14 +3,15 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Strings.ToArray - /// Convert a string with array of integers like [1, 2, 3] into an array of LINT - /// Returns the number of converted elements. - /// Returns 0, if the string can't be converted - /// If the destination array is smaller than the number of elements in the string, - /// the array will be filled it's maximum size. In this case the function returns - /// the number of the converted numbers (size of array) - /// If less elements in the string than the size of the array, the last elements - /// will not overwritten. + /// Converts a string representation of an array of integers to an array of LINT values. + /// + /// This function parses a string containing integers (e.g., "[1, 2, 3]") and converts it + /// into an array of LINT values. It returns the number of successfully converted elements. + /// If the string cannot be converted, the function returns 0. + /// + /// @param str The input string to parse. + /// @param arr The output array to store the converted LINT values. + /// @return The number of successfully converted elements. FUNCTION INTERNAL OfLintCount : DINT VAR_INPUT str: STRING; @@ -95,4 +96,5 @@ NAMESPACE Simatic.Ax.Conversion.Strings.ToArray END_IF; END_FOR; END_FUNCTION + END_NAMESPACE \ No newline at end of file diff --git a/src/strings/StringToBool.st b/src/strings/StringToBool.st index 95ae2e7..e1d72fb 100644 --- a/src/strings/StringToBool.st +++ b/src/strings/StringToBool.st @@ -3,6 +3,14 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion + /// Converts a string to a boolean value. + /// + /// This function checks if the input string represents "TRUE" or "FALSE" (case-insensitive). + /// If the string matches "TRUE", the output is TRUE. If it matches "FALSE", the output is FALSE. + /// Otherwise, the function returns FALSE and sets the output to FALSE. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION StringToBool : BOOL VAR_INPUT str: STRING; diff --git a/src/strings/ToHex/GetHexValueOfChar.st b/src/strings/ToHex/GetHexValueOfChar.st index db20e6e..a44dd3c 100644 --- a/src/strings/ToHex/GetHexValueOfChar.st +++ b/src/strings/ToHex/GetHexValueOfChar.st @@ -2,16 +2,19 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion - // returns the hex value as byte of a hex character - // Example 'a' --> BYTE#16#a - // Valid characters: [A-Fa-f0-9] - // Return vlaue: character is valid + /// Converts a hexadecimal character to its byte value. + /// + /// This function takes a single hexadecimal character (0-9, A-F, a-f) and converts it + /// to its corresponding byte value. If the character is invalid, the function returns FALSE. + /// + /// @param c The input hexadecimal character. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION INTERNAL GetHexValueOfChar : BOOL VAR_INPUT c : CHAR; END_VAR VAR_OUTPUT - result : BYTE; + result : BYTE; // The byte value of the hexadecimal character END_VAR GetHexValueOfChar := TRUE; CASE c OF diff --git a/src/strings/ToHex/StringToHex.st b/src/strings/ToHex/StringToHex.st index 7c76625..107154b 100644 --- a/src/strings/ToHex/StringToHex.st +++ b/src/strings/ToHex/StringToHex.st @@ -2,13 +2,18 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Strings - /// This function convert a string containing a hex number into a hex number - /// Example 'a231' --> WORD#16#a231 - /// Return values: - /// WORD#16#0000 no error - /// WORD#16#0007 invalid character - /// WORD#16#8182 Input buffer is too small for data in the N parameter - /// WORD#16#8482 Output buffer is too small for data in the N parameter + /// Converts a string containing a hexadecimal number to a DWORD value. + /// + /// This function parses a string containing a hexadecimal number and converts it into + /// a DWORD value. It validates the input string and checks for buffer size constraints. + /// + /// @param str The input string containing the hexadecimal number. + /// @param n The number of characters to convert. + /// @return A WORD indicating the status of the conversion: + /// - WORD#16#0000: No error. + /// - WORD#16#0007: Invalid character. + /// - WORD#16#8182: Input buffer is too small. + /// - WORD#16#8482: Output buffer is too small. FUNCTION ToHex : WORD VAR_INPUT str : STRING; // Pointer to ASCII character string diff --git a/src/strings/ToInt.st b/src/strings/ToInt.st index 05c602d..477bf3f 100644 --- a/src/strings/ToInt.st +++ b/src/strings/ToInt.st @@ -1,6 +1,14 @@ USING System.Strings; NAMESPACE Simatic.Ax.Conversion.Strings + + /// Converts a string to a signed 8-bit integer (SINT). + /// + /// This function parses a string and converts it to a signed 8-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -26,6 +34,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to a signed 16-bit integer (INT). + /// + /// This function parses a string and converts it to a signed 16-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -51,6 +66,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to a signed 32-bit integer (DINT). + /// + /// This function parses a string and converts it to a signed 32-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -76,6 +98,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to a signed 64-bit integer (LINT). + /// + /// This function parses a string and converts it to a signed 64-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -101,6 +130,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to an unsigned 8-bit integer (USINT). + /// + /// This function parses a string and converts it to an unsigned 8-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -126,6 +162,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to an unsigned 16-bit integer (UINT). + /// + /// This function parses a string and converts it to an unsigned 16-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -151,6 +194,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to an unsigned 32-bit integer (UDINT). + /// + /// This function parses a string and converts it to an unsigned 32-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; @@ -176,6 +226,13 @@ NAMESPACE Simatic.Ax.Conversion.Strings END_IF; END_FUNCTION + /// Converts a string to an unsigned 64-bit integer (ULINT). + /// + /// This function parses a string and converts it to an unsigned 64-bit integer. If the value + /// is out of range or invalid, the function returns FALSE and sets the output to 0. + /// + /// @param str The input string to convert. + /// @return TRUE if the conversion is successful, FALSE otherwise. FUNCTION ToInt : BOOL VAR_INPUT str : STRING; diff --git a/src/times/ToLDateAndTime.st b/src/times/ToLDateAndTime.st index 96b6ca4..8d96ccb 100644 --- a/src/times/ToLDateAndTime.st +++ b/src/times/ToLDateAndTime.st @@ -1,6 +1,15 @@ USING System.DateTime; + NAMESPACE Simatic.Ax.Conversion.Times + /// Converts a SimotionDateTime structure to an LDATE_AND_TIME value. + /// + /// This function converts a `SimotionDateTime` structure into a Simatic `LDATE_AND_TIME` value. + /// The date is calculated based on the number of days since 01.01.1992, and the time is derived + /// from the number of milliseconds since midnight. + /// + /// @param SimotionDateTime The input SimotionDateTime structure. + /// @return An LDATE_AND_TIME value representing the input date and time. FUNCTION ToLDateAndTime : LDATE_AND_TIME VAR_INPUT diff --git a/src/times/ToSimotionDateTime.st b/src/times/ToSimotionDateTime.st index ac3ca3b..f1aac13 100644 --- a/src/times/ToSimotionDateTime.st +++ b/src/times/ToSimotionDateTime.st @@ -1,5 +1,15 @@ USING System.DateTime; + NAMESPACE Simatic.Ax.Conversion.Times + + /// Converts an LDATE_AND_TIME value to a SimotionDateTime structure. + /// + /// This function converts a Simatic `LDATE_AND_TIME` value into a `SimotionDateTime` structure. + /// The date is represented as the number of days since 01.01.1992, and the time is represented + /// as the number of milliseconds since midnight. + /// + /// @param SimaticTime The input LDATE_AND_TIME value. + /// @return A SimotionDateTime structure representing the input date and time. FUNCTION ToSimotionDateTime : SimotionDateTime VAR_INPUT SimaticTime : LDATE_AND_TIME; diff --git a/src/times/types.st b/src/times/types.st index 0314e62..fddfcd0 100644 --- a/src/times/types.st +++ b/src/times/types.st @@ -1,9 +1,14 @@ NAMESPACE Simatic.Ax.Conversion.Times + /// Represents a date and time in the Simotion format. + /// + /// This structure contains two DWORD values: + /// - `SimotionDate`: The number of days since 01.01.1992. + /// - `SimotionTime`: The time of day in milliseconds. TYPE SimotionDateTime : STRUCT - SimotionDate : DWORD; - SimotionTime : DWORD; + SimotionDate : DWORD; // Days since 01.01.1992 + SimotionTime : DWORD; // Time of day in milliseconds END_STRUCT; END_TYPE