Comgo is a GO based tiny project for parsing COMTRADE files.
COMTRADE - Common format for Transient Data Exchange for power systems
Each COMTRADE record has a set of up to four files associated with it.
| Type | Name | Description | Usage |
|---|---|---|---|
| xxxxxxxx.HDR | Header file | (Optional) ASCII text file | (Desired format) Up to user |
| xxxxxxxx.CFG | Configuration file | (Essential) ASCII text file | (Specific format) Interprets .DAT file |
| xxxxxxxx.DAT | Data file | (Essential) ASCII or binary format | (Specific format) Store value for channels |
| xxxxxxxx.INF | Information file | (Optional) ASCII or binary format | (Desired format) Contains extra information |
Useful sites powergridapp, pycomtrade
a. Download and install it
$ go get github.com/ValleyZw/comgob. Import it in your code
import "github.com/ValleyZw/comgo"c. Init private variable
cfg := comgo.New()d. Open and read cfg
file, err := os.Open(cfgFile)
err := cfg.ReadCFG(file)e. Open and read dat
file, err := os.Open(datFile)
err := cfg.ReadDAT(file)f. Get value of specific channel
points, err := cfg.GetAnalogChannelData(channelNum)