7
7
8
8
<meta name="viewport" content="width=device-width, initial-scale=1.0">
9
9
10
- <title>py_dss_interface.DSS — py_dss_interface 0.0.7 documentation</title>
10
+ <title>py_dss_interface.DSS — py_dss_interface 0.0.9 documentation</title>
11
11
12
12
13
13
59
59
60
60
61
61
<div class="version">
62
- 0.0.7
62
+ 0.0.9
63
63
</div>
64
64
65
65
@@ -168,7 +168,7 @@ <h1>Source code for py_dss_interface.DSS</h1><div class="highlight"><pre>
168
168
169
169
<div class="viewcode-block" id="DSSDLL"><a class="viewcode-back" href="../../py_dss_interface.html#py_dss_interface.DSS.DSSDLL">[docs]</a><span class="k">class</span> <span class="nc">DSSDLL</span><span class="p">:</span>
170
170
171
- <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dll_folder</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
171
+ <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dll_folder</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dll_name</span><span class="o">=</span><span class="s2">"OpenDSSDirect.dll"</span><span class="p"> ):</span>
172
172
<span class="sd">"""</span>
173
173
<span class="sd"> Class to create an OpenDSS object</span>
174
174
<span class="sd"> :param dll_folder: None will use the OpenDSS available within the package. The DDLL path allows to use a different OpenDSS</span>
@@ -182,20 +182,22 @@ <h1>Source code for py_dss_interface.DSS</h1><div class="highlight"><pre>
182
182
183
183
<span class="k">if</span> <span class="n">platform</span><span class="o">.</span><span class="n">architecture</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"64bit"</span><span class="p">:</span>
184
184
<span class="n">dll64_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x64"</span><span class="p">)</span>
185
- <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dll64_path</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">pathsep</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span>
185
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">dll64_path</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]:</span>
186
+ <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dll64_path</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">pathsep</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span>
186
187
<span class="k">try</span><span class="p">:</span>
187
188
<span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x64"</span><span class="p">))</span>
188
- <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WinDLL</span><span class="p">(</span><span class="s2">"OpenDSSDirect.dll" </span><span class="p">)</span>
189
+ <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WinDLL</span><span class="p">(</span><span class="n">dll_name </span><span class="p">)</span>
189
190
<span class="bp">self</span><span class="o">.</span><span class="n">opendss_started</span> <span class="o">=</span> <span class="kc">True</span>
190
191
<span class="k">except</span><span class="p">:</span>
191
192
<span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x64"</span><span class="p">))</span>
192
- <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WinDLL</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x64"</span><span class="p">,</span> <span class="s2">"OpenDSSDirect.dll" </span><span class="p">))</span>
193
+ <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WinDLL</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x64"</span><span class="p">,</span> <span class="n">dll_name </span><span class="p">))</span>
193
194
<span class="bp">self</span><span class="o">.</span><span class="n">opendss_started</span> <span class="o">=</span> <span class="kc">True</span>
194
195
<span class="k">elif</span> <span class="n">platform</span><span class="o">.</span><span class="n">architecture</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"32bit"</span><span class="p">:</span>
195
196
<span class="n">dll86_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x86"</span><span class="p">)</span>
196
- <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dll86_path</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">pathsep</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span>
197
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">dll86_path</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]:</span>
198
+ <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span> <span class="o">=</span> <span class="n">dll86_path</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">pathsep</span> <span class="o">+</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'PATH'</span><span class="p">]</span>
197
199
<span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x86"</span><span class="p">))</span>
198
- <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">CDLL</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x86"</span><span class="p">,</span> <span class="s2">"OpenDSSDirect.dll" </span><span class="p">))</span>
200
+ <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">CDLL</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">dll_folder</span><span class="p">,</span> <span class="s2">"x86"</span><span class="p">,</span> <span class="n">dll_name </span><span class="p">))</span>
199
201
<span class="bp">self</span><span class="o">.</span><span class="n">opendss_started</span> <span class="o">=</span> <span class="kc">True</span>
200
202
<span class="k">else</span><span class="p">:</span>
201
203
<span class="nb">print</span><span class="p">(</span><span class="s2">"Make sure you are using the OpenDSS DLL and Python with the same bits"</span><span class="p">)</span>
@@ -210,6 +212,8 @@ <h1>Source code for py_dss_interface.DSS</h1><div class="highlight"><pre>
210
212
<span class="nb">print</span><span class="p">(</span><span class="s2">"OpenDSS Failed to Start"</span><span class="p">)</span>
211
213
212
214
<span class="k">def</span> <span class="nf">_allocate_memory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
215
+ <span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span><span class="o">.</span><span class="n">DSSPut_Command</span><span class="o">.</span><span class="n">restype</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_char_p</span>
216
+
213
217
<span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span><span class="o">.</span><span class="n">ActiveClassS</span><span class="o">.</span><span class="n">restype</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_char_p</span>
214
218
215
219
<span class="bp">self</span><span class="o">.</span><span class="n">dssObj</span><span class="o">.</span><span class="n">BUSF</span><span class="o">.</span><span class="n">restype</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_double</span>
@@ -5496,9 +5500,9 @@ <h1>Source code for py_dss_interface.DSS</h1><div class="highlight"><pre>
5496
5500
<span class="c1"># Text Interface</span>
5497
5501
<div class="viewcode-block" id="DSSDLL.text"><a class="viewcode-back" href="../../py_dss_interface.html#py_dss_interface.DSS.DSSDLL.text">[docs]</a> <span class="k">def</span> <span class="nf">text</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">argument</span><span class="p">):</span>
5498
5502
<span class="sd">"""Can be used to send commands to the text interface of OpenDSS (DSS.Text)."""</span>
5499
- <span class="n">ctypes</span><span class="o">.</span><span class="n"> c_char_p</span><span class="p">(</span><span class="bp"> self</span><span class="o">.</span><span class="n"> dssObj</span><span class="o">.</span><span class="n"> DSSPut_Command</span><span class="p">(</span><span class="n"> argument</span><span class="o">.</span><span class="n"> encode</span><span class="p">(</span><span class="s1"> 'ascii'</span><span class="p"> )))</span></div >
5500
- <span class="c1"># result = ctypes. c_char_p( self. dssObj. DSSPut_Command(comando. encode( 'ascii')))</span>
5501
- <span class="c1"># return result. value</span>
5503
+ <span class="c1"># ctypes. c_char_p( self. dssObj. DSSPut_Command( argument. encode( 'ascii')))</span>
5504
+ <span class="n"> result</span> <span class="o">=</span> <span class="n"> ctypes</span><span class="o">.</span><span class="n"> c_char_p</span><span class="p">(</span><span class="bp"> self</span><span class="o">.</span><span class="n"> dssObj</span><span class="o">.</span><span class="n"> DSSPut_Command</span><span class="p">(</span><span class="n">argument</span><span class="o">.</span><span class="n"> encode</span><span class="p">(</span><span class="s1"> 'ascii'</span><span class="p"> )))</span>
5505
+ <span class="k"> return</span> <span class="n"> result</span><span class="o">.</span><span class="n"> value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">"ascii"</span><span class="p">)</span></div >
5502
5506
5503
5507
<span class="c1"># Topology Interface</span>
5504
5508
@@ -6064,7 +6068,7 @@ <h1>Source code for py_dss_interface.DSS</h1><div class="highlight"><pre>
6064
6068
6065
6069
© Copyright 2020, Paulo Radatz
6066
6070
<span class="lastupdated">
6067
- Last updated on Oct 22, 2020 .
6071
+ Last updated on Jan 21, 2021 .
6068
6072
</span>
6069
6073
6070
6074
</p>
0 commit comments