I provided just such an example a couple months ago on the CodePlex discussion boards. Here is the link.
This is what the contents of my CSV file look like.
Timestamp,PPA:1,PPA:10,PPA:11,PPA:12,PPA:13,PPA:14,PPA:2,PPA:3,PPA:4,PPA:5,PPA:6,PPA:7,PPA:8,PPA:9
635931310170000000,8228,38.47470822,502.5757239,-131.8987716,214.2654052,178.9717246,59.971,0,-0.42,299567.9782,-132.3800155,298562.0961,-132.3510752,230.1433918
635931310170330000,8228,37.93852206,505.0788209,-132.3994386,213.7387727,178.6746272,59.965,0,0.09,299629.9759,-132.7277883,298623.1939,-132.700026,231.7047453
635931310170660000,8228,36.97593536,512.9061342,-133.4377751,212.1360972,178.2193576,59.971,0,-0.72,299813.5209,-133.0427584,298805.9561,-133.0160747,237.4509706
635931310171000000,8228,36.0862927,510.0617702,-134.0836948,212.1936964,177.7745998,59.969,0,1.73,299856.3056,-133.5532424,298848.435,-133.5215979,235.6415516
635931310171330000,8228,35.67089972,513.5070224,-134.566606,211.166653,177.3162248,59.954,0,-0.76,299822.1794,-133.839839,298795.6906,-133.8124328,238.0153716
...
Here is the connection string I used to configure the adapter in openPDC.
FileName=SHELBY.csv;
AutoRepeat=True;
SimulateTimestamp=True;
TransverseMode=True;
ColumnMappings={0=Timestamp; 1=PPA:1; 2=PPA:10; 3=PPA:11; 4=PPA:12; 5=PPA:13; 6=PPA:14; 7=PPA:2; 8=PPA:3; 9=PPA:4; 10=PPA:5; 11=PPA:6; 12=PPA:7; 13=PPA:8; 14=PPA:9}
I had to create a virtual device to associate with the measurements. PPA:1 through PPA:14 are the IDs of the measurements associated with the virtual device in my configuration.
http://www.gridprotectionalliance.org/Products/openPDC/Images/CSV/SHELBY-virtual.png
http://www.gridprotectionalliance.org/Products/openPDC/Images/CSV/SHELBY-measurements.png
After everything was set up, I was able to view the data on the Graph Measurements screen.
http://www.gridprotectionalliance.org/Products/openPDC/Images/CSV/SHELBY-graph.png