mz-automation / libiec61850

Official repository for libIEC61850, the open-source library for the IEC 61850 protocols
http://libiec61850.com/libiec61850
GNU General Public License v3.0
863 stars 461 forks source link

IedConnection_setRCBValues not working with SIEMENS relay #439

Open carlossmneto opened 1 year ago

carlossmneto commented 1 year ago

Hi! I'm porting by hand all functions to python. But even using the c code i can't set the rcb parameters in a SIPROTEC 5 relay.

py61.PyClientReportControlBlock_setDataSetReference(rcb,` LDdataset+"/LLN0$dsMONTIOR61850")

rptID = py61.PyClientReportControlBlock_getRptId(rcb)

print("Setar o RCB: "+ rptID)
error = py61.PyIedConnection_setRCBValues(ied, rcb, RCB_ELEMENT_DATSET, 0)
if (error != "IED_ERROR_OK"):
    print("Falha em setar o RCB: " + error)
    exit()
exit()

and returns IED_ERROR_SERVICE_NOT_IMPLEMENTED

I compared with another two drivers (IEC_BROWSER from SIEMENS and ELIPSE SCADA) and the only difference I saw is the write service request that is a0 2b for libiec61850 and a0 2d for the other two.

carlossmneto commented 1 year ago

I found out that the lib doesn't work with Edition2.1, only 2.0

mzillgith commented 1 year ago

Why do you think the library doesn't work with ed. 2.1?

I'm not aware of any problems with SIPROTEC 5 devices.

nikunj1222 commented 1 year ago

@carlossmneto I am working with Edition2.1 IED and it works for me.

Make sure the reportcontrolblock you are reading is INDEXED OR NON-INDEXED.

mzillgith commented 1 year ago

Make sure the reportcontrolblock you are reading is INDEXED OR NON-INDEXED.

Probably that's the reason as you (@carlossmneto) posted that the length is two bytes less than with the other clients you tried.