Releases: jisotalo/ads-client
Releases · jisotalo/ads-client
v.1.14.4
2.0.0-beta.4
[2.0.0-beta.4] - 02.10.2024
- Improved TwinCAT 2 support
- Improved performance by caching base data types that aren't available in the PLC (for example,
INT16
in TC2) - Bug fix: Building data types for TC2 system didn't always work (
DataType
flag is not set in base types) - Bug fix: Building data types for TC2 system didn't always work (with arrays of base types)
- Improved performance by caching base data types that aren't available in the PLC (for example,
- Added test suites for TwinCAT 2
- Separate TwinCAT 2 test PLC project created (See https://github.com/jisotalo/ads-client-test-plc-project/tree/v2-dev)
- Updated tests to work with TC2 (and removed tests for TC2 unsupported features)
- Bug fix: Client failed to disconnect when using AdsRouterConsole as a TwinCAT router
- Client now waits for port unregistering response, if the connection is not dropped immediately
Thank you Christian Rishøj for contribution!
2.0.0-beta.3
[2.0.0-beta.3] - 10.09.2024
- BREAKING: Renamed
ReadWriteRawMultiCommand
propertywriteData
tovalue
- Added
warning
event to listen for console warnings - Bugfix:
writeRawByPath()
didn't use thetargetOpts
parameter - Type
ClientEvents
renamed toAdsClientEvents
- Added automatic deletion of stale subscriptions / unknown ADS notification handles
- New setting:
deleteUnknownSubscriptions
(default:true
)
- New setting:
Thank you Christian Rishøj for contribution!
[2.0.0-beta.2] - 26.08.2024
- Changed
subscribeSymbol()
->subscribeValue()
- Bug fix: Fixing issue #144
[2.0.0-beta.1] - 24.08.2024
IMPORTANT: This is a major version update. There are lots of breaking changes!
Updating v1 -> v2 requires manual changes to your codebase!
See MIGRATION.md for all breaking changes and follow the instructions. This changelog does not have breaking changes listed for 2.0.0.
Changes
- Everything rewritten in TypeScript
- Everything is tested before releasing
- Lots of optimizations
- Lots of name changes
- New methods:
resetPlc()
,readWriteRawMulti()
,writeRawByPath()
,readValueBySymbol()
,writeValueBySymbol()
- New setting
disableCaching
: disables all symbol and data type caching - Added optional
targetOpts
argument in all methods- Possible to provide different target address (AmsNetId and/or AdsPort) than specified in the settings
- Caching is only available for the original target provided in settings
- The same client can be used for many different targets at the same time
- Added support for reading/writing
INTERFACE
data types - Added support for reading/writing empty
FUNCTION_BLOCK
s - Added support for reading/writing
BIT
data type - Writing a
STRING
orWSTRING
value that is longer than the target data type causes the string to be truncated.- Previously the string end character was lost, which caused "never ending string" and
<Value of the expression cannot be retrieved
in PLC online view. - E.g. writing 85 bytes of string to
STRING(80)
variable
- Previously the string end character was lost, which caused "never ending string" and
BOOL
andBIT
data values are now true if the value is anything else than 0- In TwinCAT,
BOOL
is true if the value is anything else than zero (see x_TO_BOOL) - Before, ads-client set the value to true only if value was true or 1, otherwise it was 0
- In TwinCAT,
writeControl()
accepts also string values foradsState
v.1.14.3
[1.14.3] - 23.09.2023
Changed
- Bug fix: Some TwinCAT 2 devices (such as BK9050) do not send data length if answering with error code
- This caused
RangeError: Index out of range
exception as there wasn't enough bytes received - See issue https://github.com/jisotalo/ads-client/issues/116
- This caused
- Bug fix: If using older Node.js versions such as 8.x, connection lost could have caused unhandled exception
- Reason was
catch {}
which isn't supported in old versions - See issue https://github.com/jisotalo/ads-client/issues/116
- Reason was
Added
- Updated readme to include information about TypeScript types
- Thanks to Christian Rishøj
- Updated readme with FAQ about TwinCAT 2 low-end devices
- Updated readme about v2 development
- Added option to run tests with usermode runtime AmsNetId (
192.168.4.1.1.1
) instead of localhost (npm run test-um
)