Commit Graph

27 Commits

Author SHA1 Message Date
Michael Croes
a5d3c70373 Add SourceLink.Copy.PdbFiles to add missing .pdb files (#163) 2018-07-11 09:53:33 +02:00
Michael Croes
ab11cc8e3e Add SourceLink support 2018-07-06 22:24:07 +02:00
Michael Croes
9740224966 Add NuGet tags to S7.Net.csproj 2018-07-06 22:24:07 +02:00
Michael Croes
7821b6b6f6 Add NetStandard 1.3 support
Supersedes UWP support since UWP 10.0 supports up to NetStandard 1.4.
2018-06-30 22:19:44 +02:00
Raul Hidalgo Caballero
daf0f8e0d6 Merge branch 'master' into master 2018-06-21 21:24:01 +02:00
Michael Croes
740a47ab43 Add initial WriteMultiple protocol 2018-06-15 21:39:38 +02:00
Michael Croes
aaab24a4c2 Add and move serialization helpers
Added (Get|Set)WordAt, SetAddressAt and moved GetPackage method.
2018-06-15 21:39:38 +02:00
Raul Hidalgo Caballero
2d24adc874 Port to NetStandard 2018-06-05 17:33:42 +02:00
Thomas Jäger
64e485c54a Revert "Use socket instead of TcpClient and stream."
Revert back to using Stream/TcpClient. High performance stuff is moved
to highperformancesockets branch. I think this is interesting, but i also
feel that this is premature optimization. I doubth that this will be a
performance bottleneck ofr the forseeable future.

This reverts commit 1b34716a30.
2018-05-18 08:52:19 +02:00
Thomas Jäger
1b34716a30 Use socket instead of TcpClient and stream.
Async implemented with wrapper.
2018-05-16 11:24:21 +02:00
Thomas Jäger
f53a3bd320 Use TcpClient and implemnt async methods
Note: This keeps the old methods to be backward compatible.
Note: Unforntunatly a lot of whitespace fixes, refactoring and other trivial stuff is
included. It was to hard to split of in a seperate commit.

Note: Async methods does not use exactly the same structure/signature as the
existing methods. "Out" parameters like ReadClass and ReadStruct instead
returns the struct in tuple. Async methods also rely on exceptions
instead of ErrorCodes to communicate exception states to calling client.

* Use TcpClient and use Async methods (ReadAsync/WriteAsync)
* Implemnt async methods for all existing methods
* Implemnt existing methods using tcpclient.
* Split Plc.cs in more files. (Common, Async, Sync, Helpers)
* Mark old methods as Obsolete
* Split tests in two files
* Implement Async tests
2018-04-19 13:13:08 +02:00
Thomas Jäger
50b026d7a5 Read TPKT/COTP packets / Read MaxPDU size from PLC
Read responses from the PLS using classes for TPKT and COPT. This
makes the communication more robust. It will now handle empty COTP
packets that SoftPLS and WinAC based PLCs send out. I use RFC names for
functions and classes.

Change logic to use COTP and S7Comm reponse codes instead of
relying on packet sizes.

Read Max PDU size from connection setup. Ref #21
Change logic to use MaxPDUSize when reading istead of hardcoded limit.

I tried using MaxPDUSize when writing data but this failed when packet size is
over 256 on snap7. So i decided to drop changes to write size.
I have done some tests against WinAC cpu and it seems to handle bigger pdu's
when writing if negotiated in the connection setup. This might just be a SNAP7 bug.

Fix MaxPDUSize for readbytes

Remove debug line

Simplify byte copy. Remove unessesarry buffer
2018-04-19 00:34:11 +02:00
Michele Cattafesta
9fd515280a Revert "Merge pull request #107 from thoj/master"
This reverts commit d17fdf8efb, reversing
changes made to bfeacee08f.
2018-04-11 20:22:24 +01:00
Thomas Jäger
8a3db22629 Read TPKT/COTP packets / Read MaxPDU size from PLC
Read responses from the PLS using classes for TPKT and COPT. This
makes the communication more robust. It will now handle empty COTP
packets that SoftPLS and WinAC based PLCs send out. I use RFC names for
functions and classes.

Change logic to use COTP and S7Comm reponse codes instead of
relying on packet sizes.

Read Max PDU size from connection setup. Ref #21
Change logic to use MaxPDU from cpu limit instead of hardcoded limit.

Remove var count limit.
2018-04-10 15:26:04 +02:00
Thomas Ze
7cedec5909 - fix data type converting
- add new string string data type
2018-03-18 21:26:22 +01:00
shen.jz
ef5e060948 Added Bit to Types
get bool or BitArray from byte array
2017-12-14 10:38:10 +08:00
Michele Cattafesta
7012205c3e documentation, cleanup and formatting + output xml documentation. 2016-08-26 13:06:34 +02:00
Michele Cattafesta
aff5df1b33 S7.Net and S7.Net.Core unification (issue #56): moved files, updated csproj, minor modification for compatibility in SocketClient class.
Signed-off-by: Michele Cattafesta <michele.cattafesta@mesta-automation.com>
2016-07-09 00:08:32 +02:00
Senen Fernandez
955a775dcd Sign the assembly. Issue #54 2016-06-08 20:54:00 -05:00
Michele Cattafesta
e59ff7d34c Removed IPlc interface, because it was of no use.
Signed-off-by: Michele Cattafesta <michele.cattafesta@mesta-automation.com>
2016-05-02 00:22:54 +02:00
Michele Cattafesta
3fe7ee23eb Revert "signed assembly with Strong Name key (issue #52)."
This reverts commit bb6f9097ee.
2016-05-02 00:00:44 +02:00
Michele Cattafesta
bb6f9097ee signed assembly with Strong Name key (issue #52).
Signed-off-by: Michele Cattafesta <michele.cattafesta@mesta-automation.com>
2016-05-01 18:33:54 +02:00
Marcos
4fd09e7db1 VS2015 .Net Core compatible solution added. 2016-02-08 22:09:18 +00:00
Johnnyxy
533a18e2cc o changed target .NET framework to v3.5 (higher .NET versions can load and execute lower versions code)
x fixes compatibility to support .NET 3.5 (removed unused usings/imports and changed method calls to .NET equivalents)
2015-06-17 17:04:12 +02:00
Michele Cattafesta
968639aea9 Added a new feature: Read and Write class.
Signed-off-by: Michele Cattafesta <michele.cattafesta@mesta-automation.com>
2014-12-22 14:43:52 +01:00
abenedykt
452cb40bd3 fixing namespaces to c# style of coding 2014-08-08 20:56:26 +02:00
Derek Heiser
e65c0eed25 S7.NET Testability Updates
Removed the Controls project and existing Test projects. Added new Test
project and references to NUnit and Should projects for testing.
Extracted IPlc interface to help test projects that reference this
library. Also implemented the IDisposable interface on the Plc object so
that references to mSocket would be cleaned up appropriately when the
object is blown away.
2013-02-09 10:17:47 -06:00