Skip to content

ashu704/DPDC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

General Information
-------------------

	DPDC consists of 3 different modules, 

          DPDC - Phasor Data Concentrator compliant with IEEEC37.118 synchrophasor standard, 
          DBServer - which is used to store the data in MySQL database, and 
          PMUSimulator - which simulates the Phasor Measurement Unit compliant with IEEEC37.118 synchrophasor standard.

	This version works in Unix and Unix-like operating systems. It uses GCC compiler, GTK graphical user interface library & also POSIX thread library, and MySQL as database server. 


Dependencies
-------------

	gcc
	mysql-server-8.0
	mysql-client-8.0.
	mysql-common
	libmysqlclient16*
	GTK 3.24
	glade 3.22.2 (optional for development)
	NTP-client  (For synchronization of system clock)


INSTALLATION:
------------

     Dependencies installation: Installation of glade internally installed the GTK+ libraries and there is no need to explicit installation of GTK+. NTP is recommended for better results by DPDC and PMU Simulator.

          su/sudo apt-get update (recommended)
          su/sudo apt-get install mysql-server (or latest available version)
          su/sudo apt-get install mysql-client (or latest available version)
          su/sudo apt-get install mysql-common
          su/sudo apt-get install libmysqlclient16 (or latest available version)
          su/sudo apt-get install libmysqlclient16-dev (or latest available version)
          su/sudo apt-get install glade
          su/sudo apt-get install ntp (http://howto.eyeoncomputers.com/ubuntu/install-ntp/)

     For detailed explanation of DPDC, DBServer, and PMUSimulator working refer the User Manual. Available on website. Make sure you have done with the dependency installation before go for installation of DPDC software.

     A) DPDC Installation -> 

  		Multiple instance can be run on same machine by ONLY one time installation.
          First go to the source folder on terminal then,

	          1. Extract DPDC.x.y.tar.gz.
	          2. cd DPDC.x.y/DPDC.x
	          3. su/sudo make install (It will be needing root permision to create folder & copying file on them)
			4. Run DPDC via terminal or you could found its shortcut on menu named DPDC.


     B) Install DBServer ->

          DBServer can be installed on the same machine or a different machine.
          If DBServer is to be installed on a different machine then copy DPDC.x.y/DBServer to that machine(cp DPDC.x.y/DBServer /PATH....). Install dependencies like demysql-server-5.0, mysql-common, libmysqlclient15off, mysql-client-5.0. on that machine and Then follow the steps given below.

	          1. cd /PATH/DPDC.x.y/DBServer.x.y
	          2. mysql -u root -p <"Db.sql"
	          3. make
			4. ./DBServer or DBServer (accesseble only from folder)

     C) Install PMUSimulator ->

          If you need to run simulator on different from DPDC machine then Copy the PMU Simulator on that machine.
          Single installation of PMU Simulator will work in case you need to simulate multiple PMUSimulator on the same machine.

	          1. cd /PATH/DPDC.x.y/PMUSimulator.x.y
	          2. su/sudo make install (It will be needing root permision to create folder & copying file on them)
			3. Run - PMU via terminal or you could found its shortcut on menu name PMU Simulator.


USAGE
------

     i) When DPDC acts as a Client ->

	     1. Run DBServer on terminal of the machine where DBServer is installed. This will be listening on port 9000 for data & CFG frames from DPDC.

	     2. Run PMU Simulator in the machine where PMUSimulator is installed. You can run the PMU Simulator from anywhere in the system. Enter the PMU Port numbers for TCP and UDP. Port should be other than 9000, as 9000 is used by DBServer. 

	     3. Run DPDC and enter the details like TCP Port, UDP Port.
			These are the ports on which PDC would listen to command frames from other PDC's, or applications.
			Also enter PDC ID, that will be use for authenticate to other ends PDC's.
			Enter the IP Address of the machine where DBServer is running. (if local, may use like 127.0.0.1)
			Now add the PMU/Source devices by entring their minimal details.
			As soon as the PMU details are entered, a command frame is sent to machine where the PMU/Simulator is running.
			And communication between DPDC and PMUSimulator (PMU) will take place as follows.


          4. Communications
    
	          1. DPDC sends a command frame to PMU, requesting its configuration.

	          2. At PMU on receiving of a request for Configuration frame, PMU send back the latest configuration frame DPDC.
           
	          3. DPDC then send a command frame to requesting PMU to start data frames transmission.

	          4. PMU on reception of the command frame for send data would reply with data frames.

		          DPDC  -----------> 	PMU (Command to send CFG)
		          DPDC  <----------- 	PMU (CFG Sent)
		          DPDC  -----------> 	PMU (Command to send Data)
		          DPDC  <----------- 	PMU (Data Sent)
		          DPDC  <----------- 	PMU (Data Sent)
		          DPDC  <----------- 	PMU (Data Sent)
		          DPDC  -----------> 	PMU (Command to stop Data)

			 5. In the above mentioned PMU-DPDC communication, DPDC would act as a client and PMU as server.

     ii) When DPDC acts as a Server ->

		When DPDC acts as a Server, it sends the combined frames (data and Configuration) to other DPDC on requesting.
		The details of these other end DPDC's need to be entered first. In this case the DPDC would work like as PMU Server.
		DPDC receives a command frames from other DPDC it would first authenticate the request.
		If the request is from authentic DPDC then combined frame would sent to respective DPDC. Remaining same as DPDC-PMU Communication.
                                                                                                                         /
		More details of the s/w can be found in the Technical Report on DPDC on the website.


UNINSTALL
----------

     Uninstall DPDC ->
		cd DPDC.x.y/DPDC.x/
		su/sudo make uninstall   (will be needing roots permission)

     Uninstall DBServer ->
		cd DPDC.x.y/DBServer.x/
		make clean

     Uninstall PMUSimulator ->
		cd DPDC.x.y/PMUSimulator.x/
		su/sudo make uninstall   (will be needing roots permission)


Future Planning
--------------

    We are planning of having following major Future milestone. Help and suggestions are required from open source community.

    1. Visualization applications for phasor data.
    2. Porting of complete DPDC software on Windows Environment 
    3. Import/export Data file in comtrade format.
        
	These are our major thrust area, currently the only way to study the data is in MySQL database, or in DBserver terminal, but it is not sufficient! We intend to develop a interface (something like charting Visualization) in which we can render the data in  real time.

	To increase the usability and versatility of the application second objective is also appears to be quite essential due to the popularity of the windows environment.


Can I HELP??
-----------------

        Yes, SURE you can help us..!!  in fact we really NEED you and will be happy to have your support.
        We have brought the project up to this level but as all other open source software project 
        this project also needs programmer/developer community's Love, Care & Support.
        So please FEEL FREE to join us - support us – Contact us in any ways you wish...


How Can I HELP?
------------------

	Currently you can help us (mainly) in following ways
        
	1. If you are good UI designer (QT, JNI, GTK, Pyton, etc... anything) then please help us design more user friendly and attractive GUI for DPDC.
	2. If you are good (or even rookie will also do, because no body is a born programmer!!) at Visualization programming like charting API, graphics or any other data rendering methods which can handle large amount of data and possibilily in real time using python, C/C++, Perl etc.
	3. Apart from above mentioned things, if there is anything else you think needs to be done for improvement(OBVIOUSLY!!) of the project and in that you can help us, please DO CONTACT US. We will be more than happy to have your support.
	4. If possible please let us know where you are using DPDC software. This really help us.	


PROBLEMS & FAQ
---------------

	If you get into problems, find this application useful or find bug in the software, just feel anything except nothing about it.
	Please feel free to contact us through bug report on website's discussions page or issue tracker page or via email.
	Our motivation for further work grows with every mail.
	Join the forum/issue tracker on the DPDC websites to get latest updates about DPDC software. 


Credits
--------

	C and GCC for programming language and compiler respectively.
	MySQL database for DPDC Database.
	GDB as debugging tool for software. 
	Glade & GTK for GUI functionality of software.
	Wireshark for IEEE C37.118 protocol understanding and testing.
	And many other open source softwares and websites/forums that has been contributed to DPDC project directly or indirectly.


Note
-----

	CFG stands for Configuration Frame.
	If NTP Client is not running on the machines where DPDC, PMU Simulator, and DBserver running, so they will not be time synchronized. Your final results may be incorrected.
	NTP Client and your near server of NTP is highly recommended. You can also use IIT Bombay's NTP Server.
	Commands for NTP has not been added into makefile, so if you want NTP synchronization then please install NTP client and start it. For installation of NTP-client and NTP-server configuration on your Linux machine please visit respective community website.