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

Reference Discussion #2

Open
Tooblippe opened this issue May 15, 2017 · 19 comments
Open

Reference Discussion #2

Tooblippe opened this issue May 15, 2017 · 19 comments

Comments

@Tooblippe
Copy link
Owner

The reference discussion for this project can be found at

The PandaPower Project

@lthurner
Copy link
Collaborator

Are you starting it up with ipythonor python. Try starting it up with the python pandappower_gui.py command. I think IPythonalready embeds the interpreter, therefore, the error. I just ran it with ipythonand got the same error. when I run it with pythonI have no issues. I have tested most on Windows and Ubuntu. Will check on my Mac later this week. I must say having the embedded interpreter is realy cool. You do the basics with the loading etc, but then move over to the interpreter. It is a full QT widget and you can plot in it as well. We can also start up a Jupyter Notebook and embed that.

Yes starting from python instead of ipython works. We should see if there is some way to allow starting from ipython too, since that it is default for many users, but it is not a priority for now.

As I was now able to start the app, I had a look at it, and I have to say its really great what you already did in this short time! The interactive interpreter is a very cool feature. I also like the way you integrated the documentation into the popups in the network builder. If you can integrate the plotting functions I created into the network builder tab, we have a good first version.

The collection functions that are made are still a rough draft. The longer the distance between the two buses, the larger the transformer rings are plottet. The size of the buses is also hard coded right now. There should probably be some kind of scaling depending on the window size. I also started to make a load symbol collection to plot loads, will push as soon as they are ready.

@Tooblippe
Copy link
Owner Author

Thank you. It was a cold and rainy weekend in Johannesburg. You will see now that to add for example an external grid I used a table. I think this would make it faster and easier to create dialogues for it. Also just want to focus on loading and saving real cases for now.

@lthurner
Copy link
Collaborator

lthurner commented May 16, 2017

To be honest I think the table is a little confusing, I liked the first solution better

#edit: impedance, ward, xward, dcline are not that commonly used, especially not in distributions systems. measurement is only used for state estimation. Maybe better concentrate on the most important elements first and leave those elements out in the first version?

@Tooblippe
Copy link
Owner Author

Thanks, I agree. Will keep to the original way. will prioritise as proposed.

@Tooblippe
Copy link
Owner Author

I have added the collections builder. you can select the bus and click on the canvas. IT then opens the creatae bus dialog. It doesn't always update the black dot. The issue is that the dialog is non-blocking and the refdraw happens before the item has been set. if you click a couple or slow click it will show the dot.
The lines is working as per your original. will connect it to the dialog aswell.

the transformer is the same as the line. the transformer at my side dos not draw circles.

will study collections tonight.

PS - i added your code in my file for now as it didn't want to run.

I am getting the hang of this slowly :)

@Tooblippe
Copy link
Owner Author

image

@Tooblippe
Copy link
Owner Author

I think we now have all the basic elements to make this work!

@lthurner
Copy link
Collaborator

Yes, I agree! There is still a lot to do obviously, but the basic building blocks are all there. I changed the trafo symbol function so the size of the transformer rings can be set. I also added a function to plot load symbols (create_load_symbol_collection), but not yet integrated it into the GUI.

As for the version, I would suggest to always use the newest develop version of pandapower, because keeping up with 1.3 / develop compatibility will mount up. Once a first version of the GUI is released, we will release a new pandapower version anyway.

@Tooblippe
Copy link
Owner Author

OK, I will freeze all for now, and ensure that everything runs from latest version before i move on.

@Tooblippe
Copy link
Owner Author

Tooblippe commented May 18, 2017

@lthurner could you please help me out with the workflow. If i want to make changes etc. what should the steps be. Do a pull, make changes, test and commit since you can make changes now

@lthurner
Copy link
Collaborator

yes exactly, always pull before starting to make changes, to make sure you are editing the newest version, and always push as soon as possible to have as little divergence in the parallel versions

@Tooblippe
Copy link
Owner Author

ok, i am checking the changes you made. should we decide what i can focus on. I think let me get the open and save working for now. and then I will changes the build dialogs to a) look like yours with the docs in a seperate window and that it closes apon itself after an ok is clicked?

@lthurner
Copy link
Collaborator

lthurner commented May 18, 2017

Yes I thought it would be cleaner to have the documentation in an extra tab, especially for elements with more parameters (e.g transformers). I tried to model the behaviour like I know it from PowerFactory or Sincal: having the same window for creating and editing the element.

For now I only changed the bus window, before other windows are also changed I would like to have a discussion / an agreement about what is the best way to model it. What do you think?

@Tooblippe
Copy link
Owner Author

yes lets get the bus window sorted and then we tackle the rest.

@lthurner
Copy link
Collaborator

I meant what do you think about the bus window layout? Do you agree with the changes I made, do you have further comments/changes to propose?

@Tooblippe
Copy link
Owner Author

hi. i agree with the changes. i like the layout

regarding the dummy net. should we not start with a blank net and remove the dummy net. there is some drawing issues if the net is empty

also if a bus for example is created by a bus click and not on the canvas can we assign a geodata tuple lets say somewhere top left so it can be drawn?

also if a net is imported without geodata or any net for that matter how do we decide to draw or igonre drawing. maybe turn collections drawing off via a radio button?

for the work i do if i can draw
bus
external
line
load
Trafo
then i will be able to use it already

@Tooblippe
Copy link
Owner Author

the canvas button pres is currently set on a click and not a click and release. this make panning, zooming difficult. if the button_release_event is used then the click event can be used to move a object around. if you click on a collection and the mouse has not been released, keep ons updating at intervals the geodata and redraw?

@lthurner
Copy link
Collaborator

regarding the dummy net. should we not start with a blank net and remove the dummy net. there is some drawing issues if the net is empty

also if a net is imported without geodata or any net for that matter how do we decide to draw or igonre drawing. maybe turn collections drawing off via a radio button?

yes we can start with an empty net and then maybe provide an example net that can be loaded. I think the drawing should detect if all buses have geodata and otherwise don't draw. Something like:

if len(net.bus_geodata) == 0 or len(set(net.bus.index)) - set(net.bus_geodata.index)) > 0:
don't draw

also if a bus for example is created by a bus click and not on the canvas can we assign a geodata tuple lets say somewhere top left so it can be drawn?

I assumed we would just allow creating by clicking. Why would someone have to create a bus without clicking on the canvas? Also for other elements, if someone wants to create a load without clicking on the bus, they would have to know the index of the bus - but how does one know that in the GUI? Isn't it exactly the point of the gui that things are visual instead of based on indices?

the canvas button pres is currently set on a click and not a click and release. this make panning, zooming difficult. if the button_release_event is used then the click event can be used to move a object around. if you click on a collection and the mouse has not been released, keep ons updating at intervals the geodata and redraw?

Yes you are right, the event should be on release and not on press

@lthurner
Copy link
Collaborator

for the work i do if i can draw
bus
external
line
load
Trafo
then i will be able to use it already

yes those are the most important, i would add sgen and maybe gen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants