Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating all Dev3.7 code to master #49

Open
wants to merge 212 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
1735afd
Updated general results processing.
Apr 11, 2018
3d45ed4
SNL and SunSpec SVPE merge.
Apr 14, 2018
b4d7860
Adding the Typhoon HIL Files
Apr 14, 2018
d6ef1dc
Additional drivers and the gitignore file.
Apr 14, 2018
7d17b3d
Updated Typhoon directory and some drivers.
Apr 18, 2018
a24588a
Deleting old Typhoon files.
Apr 18, 2018
41cd6c5
Merge pull request #4 from jayatsandia/dev
Apr 18, 2018
69de239
Updates to dataset and result.py
Apr 21, 2018
8f28bff
Merge pull request #5 from jayatsandia/dev
Apr 22, 2018
6ca054e
New EPRI simulator DER driver, with der update
May 2, 2018
7aa0c13
Merge pull request #6 from jayatsandia/dev
May 2, 2018
99c3e00
Wrapped requests package import in try/except.
May 9, 2018
3aee8c2
Merge pull request #7 from jayatsandia/dev
May 9, 2018
552902c
Drivers from FREA.
May 21, 2018
ceaaff2
Merge pull request #8 from jayatsandia/dev
May 21, 2018
a1d4709
Updates to EPRI PV simulator
Jun 27, 2018
d405f02
Updates to the Sunrex (not Sanrex) drivers.
Jun 27, 2018
f191c73
Small name error fix.
Jun 27, 2018
38f58c8
Merge pull request #9 from jayatsandia/dev
Jun 28, 2018
f38d277
Adding WT3000 placeholders.
Jul 2, 2018
08cdf82
Adding genset, fixing VW in sunspec driver
Jul 31, 2018
39d5a67
Removing SPS example test
Aug 1, 2018
4eccde3
Small fix to the SPS gridsim driver
Aug 1, 2018
50c263c
Merge pull request #10 from jayatsandia/dev
Aug 2, 2018
26d525d
Updates to typhoon drivers to match AIT updates
Aug 2, 2018
341e1b0
added validation code to volt_var_curve(.)
Sep 12, 2018
08d2e69
Adding SVP DEWENet Support
totallynotmeagain Sep 25, 2018
d7aa8d2
Merge pull request #11 from jayatsandia/dev
Oct 3, 2018
db88f2f
Merge pull request #12 from cclamb/validation-experimental
Oct 3, 2018
deea557
Merge pull request #13 from totallynotmeagain/dev
Oct 3, 2018
eafc577
Adding RSE WT3000 and SPS pvsim draft
Oct 10, 2018
fb56fd5
Merge pull request #14 from jayatsandia/dev
Oct 10, 2018
018d509
Adding code to generate IV curves based on EN50530
Oct 23, 2018
14d145f
Merge pull request #16 from jayatsandia/dev
Oct 24, 2018
03ad55d
Cleanup and small fixes for DEWEController
totallynotmeagain Oct 25, 2018
8cd2b6e
Merge remote-tracking branch 'upstream/dev' into dev
totallynotmeagain Oct 25, 2018
5409a78
TyphoonHIL: Fixes for handling build errors and reduce loadtime
totallynotmeagain Oct 27, 2018
f559a32
Fix for missbehaving model compilation and detection
totallynotmeagain Nov 6, 2018
85d5ed2
Fixed failed exit condition if model was loaded correctly
totallynotmeagain Nov 7, 2018
c51eb49
small updates to WT3000 and ZHAW's Regatron
Nov 21, 2018
abb3371
technalia code for yokogawa password
Nov 26, 2018
a30d198
Merge pull request #18 from jayatsandia/dev
Nov 27, 2018
46619fc
Merge pull request #20 from totallynotmeagain/dev
Nov 27, 2018
986bd61
Updated WT3000 and WT1600 with TCP connections
Dec 5, 2018
4016cfc
Revised WT1600 driver from TECNALIA
Jan 23, 2019
14594ce
Tentative fix for issue #17
EstefanCanmet Feb 4, 2019
18ded9c
Remove unnecessary code
EstefanCanmet Feb 4, 2019
dbc74f0
Device sample interval configuration
EstefanCanmet Feb 4, 2019
47c4248
Add the datatime to dataset
EstefanCanmet Feb 4, 2019
c57519b
Updates from Tecnalia, GPIB connection to Pacific gridsim
Feb 4, 2019
b255402
Merge pull request #21 from jayatsandia/dev
Feb 4, 2019
cdd2927
Merge pull request #23 from EstefanCanmet/dev
Feb 4, 2019
2475dfd
fix the chart index problem
WBSON Feb 7, 2019
ac7b9b8
Keysight PV simulator driver from Tecnalia
Mar 4, 2019
40a3a85
keysight PV simulator clean up
Mar 5, 2019
93bd4b8
new method for gridsim for imbalanced load tests required in 1547.1
Mar 6, 2019
fd3900d
Merge pull request #24 from WBSON/patch-1
Mar 7, 2019
f036da7
Merge pull request #25 from jayatsandia/dev
Mar 7, 2019
194d313
Updated Typhoon Drivers
Mar 13, 2019
5678cf0
Merge branch 'dev' of https://github.com/sunspec/svp_energy_lab into …
Mar 13, 2019
2e742be
Merge pull request #26 from jayatsandia/origen/dev
Mar 14, 2019
981adb3
Gridsim/Wavegen abstract layer and driver update
EstefanCanmet May 8, 2019
25d1e97
PVSim update
EstefanCanmet May 8, 2019
7d8b7bc
Merge pull request #27 from EstefanCanmet/dev
May 9, 2019
bd80018
new ametek asymmetric phase capability
May 24, 2019
850e055
Merge pull request #1 from jayatsandia/origen/dev
May 31, 2019
b770ee6
Gridsim/Wavegen abstract layer and driver update
EstefanCanmet May 8, 2019
3376aa1
PVSim update
EstefanCanmet May 8, 2019
875068f
updates to typhoon for 1547.1 testing
May 31, 2019
9f4f3ad
Fixed bug in VW
Jun 5, 2019
9ed628d
PLC Modbus switch actuator in DETL
Jun 5, 2019
b1d25ab
der_sunspec and typhoon updates for .1 testing
Jun 5, 2019
1cae342
P1547.1 library
EstefanCanmet Jun 8, 2019
44ebaf2
Merge pull request #28 from jayatsandia/origen/dev
Jun 10, 2019
87e18ab
Merge pull request #29 from jayatsandia/dev
Jun 10, 2019
880a073
Merge pull request #30 from EstefanCanmet/dev
Jun 10, 2019
4ef57d0
updates to p1547 and some epri pv simulator changes
Jun 11, 2019
10838e2
Merge pull request #31 from jayatsandia/dev
Jun 12, 2019
43ea8b8
Corrected typo in analaysis
EstefanCanmet Jun 12, 2019
099aff3
Merge pull request #32 from EstefanCanmet/dev
Jun 12, 2019
66bf9ba
Modification of P1547 library
EstefanCanmet Oct 2, 2019
20439cb
Update manual driver
EstefanCanmet Oct 2, 2019
a9be4fd
Change a small line to accomodate manual driver
EstefanCanmet Oct 2, 2019
127d091
Merge pull request #33 from EstefanCanmet/dev
Dec 3, 2019
09832e3
ICS Electronics-driven load bank driver using VXI11 SCPI interface
Dec 23, 2019
1fab3a0
Restructure of library
EstefanCanmet Jan 31, 2020
530f5f7
RT-Lab drivers for Opal-RT
Feb 5, 2020
2599934
cleaning default das AC points
Feb 5, 2020
63a0347
Merge branch 'dev' of https://github.com/jayatsandia/svp_energy_lab i…
Feb 5, 2020
3e8acf1
Merge branch 'origen/dev' into dev
Feb 5, 2020
4aa626b
Merge pull request #34 from jayatsandia/origen/dev
Feb 5, 2020
ff5297d
Merge pull request #35 from EstefanCanmet/dev
Feb 5, 2020
16c2bc8
Merge branch 'dev' into dev
Feb 5, 2020
8fb76fb
Merge pull request #37 from jayatsandia/dev
Feb 5, 2020
53728e5
P1547 Restructure for LAP
EstefanCanmet Feb 11, 2020
53ffbf4
Tek DAS and terraSAS/SNL DSM updates
Feb 20, 2020
6a4c422
TerraSAS changes with prior edits
Feb 20, 2020
0561c28
Merge branch 'dev' of https://github.com/sunspec/svp_energy_lab into dev
Feb 21, 2020
fd33b82
fixing issue with Sandia DSM
Feb 21, 2020
e512708
re-adding the nonfunctional Sandia DSM UDP communication capability
Feb 21, 2020
05b4849
Merge pull request #38 from jayatsandia/dev
EstefanCanmet Mar 4, 2020
94ea24d
Update the p1547.1 to match scripts 1.3.0
Mar 4, 2020
13d7624
Merge pull request #40 from BuiMCanmet/dev
EstefanCanmet Mar 4, 2020
e031e0d
Opal-RT updates with interfaces for PVSim/TerraSAS
Mar 10, 2020
d464639
Merge pull request #41 from jayatsandia/dev
EstefanCanmet Mar 10, 2020
bb87778
Updates to the Opal-RT interfaces
Mar 18, 2020
073d2d4
re-adding the asymmetric angles in the ametek driver
Mar 18, 2020
c4a86df
various p1547.1, opal, and der_sma updates
Apr 1, 2020
102a750
Updates to p1547 and SMA driver
Apr 2, 2020
1d7db85
Major updates to pass/fail for p1547
Apr 3, 2020
a847cb2
updates to pass/fail criteria
Apr 8, 2020
3a1fbb0
adding a support_interfaces to svpelab
Apr 9, 2020
2cec578
Merge pull request #42 from jayatsandia/dev
Apr 28, 2020
83bb828
First cut at der1547 drivers, mostly from SunSpec
May 6, 2020
c032278
correcting missing imports and other errors
May 13, 2020
2fabdea
Removing Typhoon system for ASGC and updating 1547 DNP3 interfaces
May 14, 2020
0b0812e
updated das_opal with new interface maps
May 14, 2020
da43b33
Merge pull request #43 from jayatsandia/dev
May 29, 2020
d0c6796
svpe for python 3.7
Jun 15, 2020
95d27d3
first cut at a python3.7 version of the svpe
Jun 15, 2020
7fb7a04
Multiple changes and corrections
Jul 6, 2020
5343359
Corrected the waveform and block names in model
Jul 8, 2020
d15559e
Fixed support_interfaces error with manual version
Jul 10, 2020
a97c711
Merge pull request #45 from EstefanCanmet/dev3.7
EstefanCanmet Jul 13, 2020
380fee8
P1547 V1.4.0 Draft
Jul 14, 2020
26c1901
Merge pull request #1 from BuiMCanmet/P1547_V1.4.0
EstefanCanmet Jul 14, 2020
49c0b26
DataLogging Functional. Criterias to be completed
Jul 14, 2020
3aa81f6
Open loop response criteria functional
Jul 16, 2020
b344db2
Added the test condition on VRT
Jul 16, 2020
02b8132
Commenting result accuracy for debugging purpose
Jul 16, 2020
f012303
Merge pull request #2 from BuiMCanmet/P1547_V1.4.0
EstefanCanmet Jul 16, 2020
af4342e
Modified to the new library restructure
Jul 17, 2020
306d53d
HIL das modification and added new function to dataset
Jul 17, 2020
75b8df6
Added the waveform config function to library
Jul 17, 2020
e6d489d
Functional P1547 for VV normal mode
Jul 18, 2020
40b9ca1
Merge pull request #3 from BuiMCanmet/P1547_V1.4.0
EstefanCanmet Jul 20, 2020
6d011af
Added the mode configuration for VRT
Jul 20, 2020
f2ed043
Corrected typos indent
Jul 20, 2020
f63aaf1
Corrected type indentation
Jul 20, 2020
5a16cc3
Added imbalance grid functionality
Jul 21, 2020
a7bf729
Merge pull request #4 from BuiMCanmet/P1547_V1.4.0
EstefanCanmet Jul 21, 2020
801aed1
Stable version of 1547.1 V1.4.1 with simulation mode Random
EugeneRNCan Jul 21, 2020
563a7d7
Merge pull request #5 from EugeneRNCan/dev
EstefanCanmet Jul 22, 2020
3e00ae8
Added the VRT phase combination to p1547
Jul 23, 2020
8e406cd
Added the rms instead of waveform
Jul 27, 2020
75f1c7d
modified some mistake and typos.
Jul 28, 2020
d771618
Updated library from IOP and VRT experiments
Jul 30, 2020
40fea8f
DNP3 communication updates
Sep 1, 2020
8511243
DNP3 driver update, still needs FRT and VRT work
Sep 4, 2020
00015f4
Merge pull request #46 from jayatsandia/dev3.7
EstefanCanmet Sep 8, 2020
c22ce62
Remove 1547 library
EstefanCanmet Sep 16, 2020
32590de
DER1547 Abstraction for SMA inverters
Sep 23, 2020
ab31ffc
EPRI DER Simulator Updates
Sep 30, 2020
3e0b71a
.idea cleanup
Sep 30, 2020
ea0d8e8
Add files via upload
WBSON Oct 11, 2018
887231d
Add files via upload
WBSON Oct 11, 2018
4ecf8bb
Update chroma_17040.py
WBSON Oct 11, 2018
5e9750a
Update SunSpec DER implementation to support TLS options
activeshadow Jun 22, 2020
0e31e1e
updating der1547_sunspec to align with pysunspec2
Oct 2, 2020
7b9b3b8
updates to the IEEE 1547 drivers
Oct 9, 2020
2febcf2
updated sunspec driver for pysunspec2
Oct 14, 2020
ba59fbd
updates for UI experiments
Oct 14, 2020
26175e3
Adding soft fails for import issues in the abstration layers
Oct 28, 2020
a696b3c
Update for FRT and VRT testing (1547.1)
EstefanCanmet Oct 28, 2020
d748b64
moving modbus types internal to der1547_sunspec
Oct 29, 2020
f1a12c8
Opal driver updates
Nov 5, 2020
bf6e192
HIL updates
Nov 12, 2020
1101e3e
VRT/FRT updates before sunspec pull
Nov 13, 2020
3b8f39d
merged
Nov 13, 2020
fc1d621
VRT/FRT updates from Sandia
Nov 19, 2020
2ab35c8
minor updates to Opal DAS
Nov 20, 2020
c3e0e43
waveform processing update for das_opal
Nov 20, 2020
b97c1b9
IOP related updates
Dec 18, 2020
02fdf77
Interoperability for 1547 updates. Compliant to pysunspec2 1.0.2
Dec 22, 2020
21593f8
DNP3 and SunSpec driver revision
Dec 23, 2020
479d3fe
Update the drivers for HIL compatibility with old AIF
EstefanCanmet Jan 11, 2021
25dea1a
Tek DPO DAQ updates
Jan 13, 2021
250fa7b
refined Tek reliability processing
Jan 18, 2021
709737d
Merge branch 'dev37' into dev3.7
shelcrow Jan 25, 2021
5ea55d6
DNP3 driver and agent updates
Jan 28, 2021
f96b35b
Adding thermal chamber das
Feb 11, 2021
b8e4b4a
DAS thermal chamber update
Feb 17, 2021
dad4af2
adding support interfaces to terrasas
Feb 17, 2021
b141aa1
Updated Thermal Chamber DAS
Feb 17, 2021
5c0e9de
Updated PV I-V curve generator
Mar 8, 2021
5fb7ac2
Create LICENSE
May 11, 2021
c90a0a2
Cleaned up some of the Opal-RT RT-Lab drivers
Jul 28, 2021
486c9fb
deconflicting pyvisa
Oct 20, 2021
865e8d1
resyncying with pysunspec2v1.0.5
Oct 20, 2021
6c3775c
hil das cleanup
Dec 1, 2021
0689a03
Genset update for microgrid project
Dec 15, 2021
11d1e9e
Delete device_caterpillar_genset.py
Dec 15, 2021
9916de2
Added MPPT efficiency to TerraSAS measurements
Jan 6, 2022
c222195
TerraSAS cleanup
Jan 6, 2022
4b49e29
Merge branch 'master' into dev3.7
Jan 18, 2022
a542d6a
Merge branch 'sunspec:master' into master
Jan 18, 2022
4e5a8f9
Merge pull request #4 from jayatsandia/dev3.7
Jan 18, 2022
36201da
Update pv_curve_generation.py
Feb 24, 2022
9d9bda9
Update README.md
Mar 1, 2022
9d6d041
Update README.md
Mar 1, 2022
9b7858e
Fault clearing for terrasas
Mar 22, 2022
c0cc356
terrasas support interface
Mar 22, 2022
f7e7788
fix SunSpec DER encryption and add protection to tsas
Mar 30, 2022
549b0de
NHR Research Drivers for 9200 and 9300
May 24, 2022
dbb71db
Network Capture Abstr. Layer + Driver
Aug 12, 2022
56f666c
Network capture script
Aug 12, 2022
2ce7e3d
network capture test
Aug 12, 2022
12104ee
Revised network capture capabilities
Dec 14, 2022
69fde43
Update network.py
Jan 2, 2023
566b3cf
additional_interfaces updated to gridsim
Jan 2, 2023
0b28acc
Script to generate data and save results as excel
jayatsandia Apr 20, 2023
7d095e7
test excel generation
jayatsandia Apr 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
*.bak
temp

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
4 changes: 4 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Copyright 2021 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains
certain rights in this software.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
2 changes: 2 additions & 0 deletions Lib/svpdnp3/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

__version__ = '0.9.4'
136 changes: 136 additions & 0 deletions Lib/svpdnp3/device_der_dnp3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
''' This code sits in the svpdnp3 lib of the SVP Directory.
The script defines different methods that can be called by the
SVP scripts to send requests to the DNP3 Agent.
'''

import socket
import json
import logging
import sys
import subprocess
import os
from os import path

''' agent API definitions '''

STXB = b'\x02'
ETXB = b'\x03'
STX = STXB[0]
ETX = ETXB[0]

OP_READ = 'read'
OP_WRITE = 'write'
OP_STATUS = 'status'
OP_ADD = 'add'
OP_SCAN = 'scan'
OP_DEL = 'delete'
OP_STOP = 'stop'

stdout_stream = logging.StreamHandler(sys.stdout)
stdout_stream.setFormatter(logging.Formatter('%(asctime)s\t%(name)s\t%(levelname)s\t%(message)s'))

_log = logging.getLogger(__name__)
_log.addHandler(stdout_stream)
_log.setLevel(logging.DEBUG)

class AgentClient():

''' This class creates a TCP Client which sends requests
to the TCP server in the DNP3 Agent. The request is a
JSON encoded object of the format:

request_body = {'oid': oid,
'op': op,
'rid': rid,
'params': params}
'''

def __init__(self, ip_addr=None, ip_port=None):
self.ip_addr = ip_addr
self.ip_port = ip_port
self.socket = None

def connect(self, ip_addr=None, ip_port=None):
if ip_addr is not None:
self.ip_addr = ip_addr
if ip_port is not None:
self.ip_port = ip_port

self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.connect((self.ip_addr, self.ip_port))

def status(self, rid=None):
''' Request to return the status for agent and each active outstation '''

resp = self.request(op=OP_STATUS, rid=rid)

return resp

def stop_agent(self, rid=None):
''' Request to stop the agent from listening further requests '''

resp = self.request(op=OP_STOP, rid=rid)

return resp

def add_outstation(self, ipaddr=None, ipport=None, outstation_addr=None, master_addr=None, scan_time=None):
''' Request to add an outstation with the given configuration '''

params = {'ipaddr': ipaddr,
'ipport': ipport,
'outstation_addr': outstation_addr,
'master_addr': master_addr,
'scan_time': scan_time}
resp = self.request(op=OP_ADD, params=params)

return resp

def read_outstation(self, oid, rid=None, points=None):
''' Request to read the points from an outstation with the given oid '''

params = {'points': points}
resp = self.request(oid=oid, op=OP_READ, rid=rid, params=params)

return resp

def write_outstation(self, oid, rid=None, points=None):
''' Request to write data points of the outstation with the given oid '''

params = {'points': points}
resp = self.request(oid=oid, op=OP_WRITE, rid=rid, params=params)

return resp

def scan_outstation(self, oid, rid=None, scan_type=None):
''' Request to perform a specific scan on an outstation with the given oid '''

params = {'scan_type': scan_type}
resp = self.request(oid=oid, op=OP_SCAN, rid=rid, params=params)

return resp

def delete_outstation(self, oid, rid=None):
''' Request to delete the outstation with the given oid '''

params = {}
resp = self.request(oid=oid, op=OP_DEL, rid=rid, params=params)

return resp

def request(self, oid=None, op=OP_READ, rid=None, params=None):
''' This method creates the request and sends it to the agent '''

req = {'oid': oid,
'op': op,
'rid': rid,
'params': params}

req_msg = b''.join([STXB, json.dumps(req).encode(), ETXB])

if self.socket:
self.socket.send(req_msg)

data = self.socket.recv(32768)
print('%s: received "%s"' % (self.socket.getsockname(), data))

return data
Binary file added Lib/svpdnp3/dnp3_agent.exe
Binary file not shown.
Loading