You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: user_guide_dotnet.adoc
+57-6Lines changed: 57 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,12 @@
1
-
= lib60870.NET 2.1 User Guide
1
+
= lib60870.NET 2.2 User Guide
2
2
Michael Zillgith
3
3
4
4
== Introduction
5
5
6
-
lib60870.NET is a new implementation of the IEC 60870-5 protocol for client (master station) and server (controlled station). The library implements all data types of the IEC 60870-5-101/104 specifications. *lib60870.NET* is a pure C#/.NET implementation. It is designed to be as easy to use as possible. Since it is using only standardized .NET features it is compatible with Windows systems and the Microsoft .NET implementation as well as on Linux and other operating systems running with Mono.
6
+
lib60870.NET is an implementation of the IEC 60870-5 protocol for client (master station) and server (controlled station).
7
+
The library implements all data types of the IEC 60870-5-101/104 specifications. *lib60870.NET* is a pure C#/.NET implementation.
8
+
It is designed to be as easy to use as possible. Since it is using only standardized .NET features it is compatible with Windows systems
9
+
and the Microsoft .NET implementation as well as on Linux and other operating systems running with Mono.
7
10
8
11
The client/server API is strictly asynchronous. You send the requests with non-blocking functions and will have to handle the response and other events in callback functions.
9
12
@@ -13,12 +16,14 @@ The list of supported features:
13
16
* CS 104 (IEC 60870-5-104) client and server TCP/IP communication
14
17
* CS 104 supports encrypted and authenticated TLS communication
15
18
* CS 104 uses the CS 101 application layer
19
+
* CS 104 slave supports multiple redundancy groups
16
20
* Master/Client supports sending system commands, process commands, parameter commands, and data messages in reverse direction.
17
21
* Slave/Server supports sending data messages in monitoring direction and commands in reverse direction
18
22
* The list of supported ASDU types can be found in the annex
19
23
* The library supports user defined private ASDU types
20
24
* transmission of transparent files
21
25
* CS 101 protocol over TCP/IP (client/server)
26
+
* Support for .NET Standard, Mono, and .NET core 2.0
22
27
23
28
*NOTE:* CS stands for "companion standard" and specifies variants of the communication protocols and services defined in the IEC 60870-5 standard series.
24
29
@@ -227,15 +232,61 @@ After the server instance is created it can be configured
227
232
228
233
=== Server mode
229
234
230
-
The server provides two different modes.
235
+
The server provides three different modes.
231
236
232
-
The default mode (_SINGLE_REDUNDANCY_GROUP_) allows only a *single active client connection*. An active client connection is a connection where ASDUs are sent. All other connections are standby connections. There is a single queue for events. Events are also stored when no client is connected or when no connection is active.
237
+
The default mode (_SINGLE_REDUNDANCY_GROUP_) allows only a *single active client connection*. An active client connection is a connection
238
+
where ASDUs (application data units) are sent. All other connections are only standby connections that don't send application layer data.
239
+
There is a single queue for events. Events are also stored when no client is connected or when no connection is active.
240
+
241
+
242
+
The second mode (_CONNECTION_IS_REDUNDANCY_GROUP_) allows *multiple active client connections*. Every connection has its own event queue.
243
+
The event queue will be deleted when the client connection is closed. This mode can be used when more than one client has to access the
244
+
application data. This mode is easy to use. But the drawback of this mode is that events are lost when no client is connected.
245
+
246
+
The third mode (_MULTIPLE_REDUNDANCY_GROUPS_) allows *multiple active client connections* while preserving events when no client is
247
+
connected. In this mode clients can be assigned to specific redundancy groups. The assignment is based on the IP address of the client.
248
+
A redundancy group can have multiple simultaneous connections but only one of these connections can be active. The number of activated
249
+
connections is restricted by the number of redundancy groups. Each redundancy group has a dedicated event queue.
233
250
234
-
The second mode (_CONNECION_IS_REDUNDANCY_GROUP_) allows *multiple active client connections*. Every connection has its own event queue. The event queue will be deleted when the client connection is closed. This mode has to be used when more then one client has to access the application data.
235
251
236
252
The server mode can be set with the _ServerMode_ property of the _Server_ class.
0 commit comments