Is it possible OpenDNP3 can open multiple Outstations on the same server

153 views
Skip to first unread message

Lee Derting

unread,
Jul 10, 2020, 6:47:16 AM7/10/20
to opendnp3
Hi, 

Is me again. 
I have a question on yesterday, is related to Abnormal connection on aws network load balancer (https://groups.google.com/forum/#!searchin/automatak-dnp3/aws%7Csort:date/automatak-dnp3/tnO0J8ooSJM/Lo7r3LFdAwAJ).

Today I have another more important question.
「Is it possible OpenDNP3 can open multiple Outstations on the same server?」

Open two programs, and setting like that:

Outstation A:
First program-> IP: 0.0.0.0, Port: 20000, Source: 10, Destination: 10

Master A:
First program -> IP: 0.0.0.0, Port: 20000, Source: 10, Destination: 10

At this moment all is good, MasterA and OutstationA is connecting.

and go on setting Outstation B
Second program-> IP: 0.0.0.0, Port: 20000, Source: 20, Destination: 20

Master B:
Second program -> IP: 0.0.0.0, Port: 20000, Source: 20, Destination: 20

I observe that the channel state goes from Open to Closed to Open. 

...
2020/7/10 下午 06:39:03 - server - WARN - Frame w/ unknown route, source: 20, dest 20
2020/7/10 下午 06:39:04 - server - INFO - Accepted connection from: 127.0.0.1
Channel state: CLOSED
Channel state: OPEN
2020/7/10 下午 06:39:05 - server - INFO - Accepted connection from: 127.0.0.1
Channel state: CLOSED
Channel state: OPEN
2020/7/10 下午 06:39:05 - server - WARN - Frame w/ unknown route, source: 20, dest 20
2020/7/10 下午 06:39:06 - server - INFO - Accepted connection from: 127.0.0.1
Channel state: CLOSED
Channel state: OPEN
2020/7/10 下午 06:39:07 - server - INFO - Accepted connection from: 127.0.0.1
Channel state: CLOSED
Channel state: OPEN
...

Why is this so?
I'm pretty sure OpenDNP3 Simulator (v2.0.X) can work in this case.
Please let me know what should I do. 

Thank you.

Derting

Adam Crain

unread,
Jul 13, 2020, 10:01:18 AM7/13/20
to opendnp3
DNP3 servers (outstations) are not stateless. They maintain event history for a particular master station even when the client is disconnected. This
is why you can only accept a single connection. If you need to allow multiple masters to connect, then create two mirrored outstations on two
different ports.
Reply all
Reply to author
Forward
0 new messages