Günther Foidl
9c3f95ce73
Flowed cancellation token to TcpClient.ConnectAsync in .NET 5.0 target
2021-12-26 19:26:04 +01:00
Michael Croes
36c4564f5e
Default ReadTimeout and WriteTimeout to 10 seconds
2021-06-07 22:19:23 +02:00
Michael Croes
36b59a2926
Cleanup whitespace, usings
2021-06-06 23:20:19 +02:00
Michael Croes
8d081859da
Remove unused sync methods
2021-06-06 23:19:56 +02:00
Michael Croes
d65b83660f
Merge branch 'develop' into closeConnectionIOException
2021-06-06 22:56:17 +02:00
Michael Croes
b0a6a2375f
Merge branch 'develop' into multipleVarsAlignment
2021-06-06 22:49:33 +02:00
Serge Camille
53045c5952
Close connection on IOExceptions.
...
The idea behind this is that if we receive a response which does not conform to the underlying protocol specification (with all the TCP checks in place!), we are in a weird/corrupt state and it is better to just close the connection.
2021-06-06 22:40:04 +02:00
Michael Croes
677d2941e1
Apply S7 200 TSAP change to relocated code
2021-06-06 22:33:12 +02:00
Serge Camille
a4b6a360fe
ParseDataIntoDataItems needs to always align the response address to a even value after each data item.
2021-06-06 22:16:59 +02:00
Michael Croes
2fae2c01d5
Add TsapPair support to PLC
...
Add support for custom addressing by supplying a TsapPair to the PLC.
CPU, Rack and Slot properties are still present to preserve backwards
compatibility and to support alternate functionality based on the PLC
type.
2021-06-04 22:25:05 +02:00
Michael Croes
6465e3c8c7
Move GetDefaultTsapPair to TsapPair class
2021-06-04 22:01:40 +02:00
Michael Croes
fcd61c1236
Add CpuType.S7200Smart
2021-06-04 21:46:42 +02:00
Michael Croes
616dc1094c
Refactor TSAP related code
2021-06-04 21:45:51 +02:00
Michael Croes
f67b1e773f
Add missing ConfigureAwait in OpenAsync
2021-06-01 20:59:20 +02:00
Michael Croes
e93a656312
Fix locking for OpenAsync
2021-06-01 20:28:34 +02:00
Michael Croes
8035f71a16
Apply synchronization to stream actions
2021-05-31 22:57:13 +02:00
Michael Croes
df4f258290
Move GetStreamIfAvailable to PLC.cs
2021-05-31 21:23:32 +02:00
Michael Croes
5636b93a53
PlcSynchronous: Remove unused usings
2021-05-31 21:17:42 +02:00
Michael Croes
8ed1b840bc
PlcSynchronous: Clenaup trailing whitespace
2021-05-31 21:17:23 +02:00
Michael Croes
2afed88231
Consolidate sync stream calls
2021-05-31 21:17:03 +02:00
Michael Croes
1ded47971b
Consolidate async stream calls
2021-05-31 21:07:16 +02:00
Michael Croes
aa50280233
Boolean: Add SetBit and ClearBit by reference
2021-05-10 21:14:43 +02:00
Michael Croes
3a794e8a46
Cleanup trailing whitespace in PLC and PLCHelpers
2021-05-10 21:05:02 +02:00
Michael Croes
0b8bd66bf7
Fix bitwise operator in Boolean.ClearBit
...
Fixes #249
2021-05-10 20:50:46 +02:00
Michael Croes
a1b4694ef6
Fix calculation of byte length for VarType.Bit
...
Fixes #389
2021-05-10 20:25:38 +02:00
Michael Croes
aa03400350
Document IsConnected, shorten implementation
2021-03-29 21:43:24 +02:00
Michael Croes
2b4ec6d9dd
Remove IsAvailable
...
Addresses #275 , #252 , #208 , #154 .
2021-03-29 21:43:24 +02:00
diego
e63d92c61c
Fix ByteLength calculation for S7Strings when reserved is odd
2021-03-29 20:51:11 +02:00
diego
b4b94e1777
Fix wrong calculation for S7WString byte length
2021-03-29 20:51:11 +02:00
Serge Camille
82e29837a2
Sprinkle more .ConfigureAwait(false) into async library.
...
This helps to avoid deadlocks when using synchronous API which references the async one in applications with a synchronization context, like a GUI.
Should fix #344
2021-03-16 08:08:39 +01:00
Michael Croes
478c1aed52
Merge branch 'develop' into StructStringSupport
2021-03-13 13:30:31 +01:00
Mike Cremer
924eb9c48f
Minor changes + removed default length in S7StringAttribute
2021-03-13 12:00:32 +01:00
Serge Camille
37384d2a92
Fix PLC parse for type "Z"/"C"
2021-03-12 08:17:37 +01:00
Mike Cremer
fdd4519f64
Minor changes
2021-01-29 21:13:38 +01:00
Mike Cremer
926d74f1d2
Fixed length check and corresponding message for S7String
2021-01-27 17:55:16 +01:00
Mike Cremer
9b89acfb91
Removed unnecessary bitwise and's
2021-01-25 21:42:08 +01:00
Mike Cremer
de0a9e64dc
Added support for strings in Struct type class
2021-01-24 13:56:07 +01:00
Mike Cremer
dfcc4c7408
Added WString support
2021-01-24 12:16:32 +01:00
Michael Croes
0b04c86cb9
Generate documentation file
2021-01-05 22:07:11 +01:00
Serge Camille
d051b93bdc
Fix OpenAsync function to rethrow exception during connection establish.
...
This bug was introduced in 106e9912
2020-10-17 17:54:30 +02:00
Serge Camille
a7608e3cb7
Rename and Move DataRequestItem
2020-09-26 21:28:31 +02:00
Serge Camille
4d37679c75
Move BuildReadRequestPackage to PlcHelpers, cleanup.
2020-09-26 21:21:37 +02:00
Serge Camille
e2a0ed548d
Unify async read request header building.
...
Add concept of DataRequestItem which contains the necessary data to build the request.
2020-09-26 21:21:37 +02:00
Michael Croes
2bcc5e6b9c
Merge branch 'develop' into cleanupOpen
2020-09-21 23:06:06 +02:00
Serge Camille
33981ab4f9
Use int for MaxPduSize and parse communication response for it as uint16
2020-09-16 23:09:23 +02:00
Serge Camille
de60a7b6b0
Add .ConfigureAwait(false) throughout OpenAsync callstack.
2020-09-16 22:38:05 +02:00
Serge Camille
ca89736c7c
Use GetAwaiter().GetResult();
2020-09-16 22:31:51 +02:00
Serge Camille
4a72c3596b
Revert MaxPDUSize parse change.
2020-09-16 22:28:42 +02:00
Serge Camille
b95b71e9aa
Remove unnecessary string interpolation in ValidateResponseCode
2020-09-16 20:26:53 +02:00
Serge Camille
1069641606
Add more extensive response code validation.
...
Fixes #310
2020-09-16 20:25:20 +02:00