def read_var(self, var): var_type = self.get_vartype_by_fc(var, self.get_fc_by_varname(var)) fc = self.get_IEC61850_FC_by_fc(self.get_fc_by_varname(var)) [mms_object, self.__error ] = iec61850.IedConnection_readObject(self.__con, var, fc) mms_value = 0 if var_type == 'bit-string': mms_value = iec61850.MmsValue_getBitStringAsInteger(mms_object) if var_type == 'utc-time': mms_value = iec61850.MmsValue_getUtcTimeInMs(mms_object) if var_type == 'integer': mms_value = iec61850.MmsValue_toInt64(mms_object) if var_type == 'boolean': mms_value = str(iec61850.MmsValue_getBoolean(mms_object)) if var_type == 'unsigned': mms_value = iec61850.MmsValue_toUint32(mms_object) if var_type == 'float': mms_value = float("{0:.3f}".format( iec61850.MmsValue_toFloat(mms_object))) if var_type == 'octet-string': mms_value = iec61850.MmsValue_getOctetStringSize(mms_object) if var_type not in [ 'bit-string', 'unsigned', 'utc-time', 'integer', 'boolean', 'float', 'octet-string' ]: print(var_type) iec61850.MmsValue_delete(mms_object) return mms_value, var_type
def read_object(self, varname, fc): [obj, self._error ] = iec61850.IedConnection_readObject(self.__con, varname, self.get_IEC61850_FC_by_fc(fc)) objtype = iec61850.MmsValue_getTypeString(obj) iec61850.MmsValue_delete(obj) return objtype
def read_st(self, var): [stValue, self.__error] = iec61850.IedConnection_readUnsigned32Value( self.__con, var, iec61850.IEC61850_FC_ST) print('stVal Value:\t\t', stValue) [st, self.__error ] = iec61850.IedConnection_readObject(self.__con, var, iec61850.IEC61850_FC_ST) print("STVal_Type:\t\t", iec61850.MmsValue_getTypeString(st))
def read_st_test(self, var): [stValue, self.__error] = iec61850.IedConnection_readUnsigned32Value( self.__con, var, iec61850.IEC61850_FC_ST) print('stVal Value:\t\t', stValue) [st, self.__error ] = iec61850.IedConnection_readObject(self.__con, var, iec61850.IEC61850_FC_ST) print("STVal_Type:\t\t", iec61850.MmsValue_getBitStringSize(st)) print("STVal_Type:\t\t", iec61850.MmsValue_getBitStringAsInteger(st)) iec61850.MmsValue_delete(st)
def read_object_test(self): [stVal, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/CSWI1.Loc.stVal", iec61850.IEC61850_FC_ST) [hz, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/MMXU1.Hz.mag", iec61850.IEC61850_FC_MX) [quality, error] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/MMXU1.Hz.q", iec61850.IEC61850_FC_MX) [timeStampValue, error] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/MMXU1.Hz.t", iec61850.IEC61850_FC_MX) [db, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/MMXU1.Hz.db", iec61850.IEC61850_FC_CF) state = iec61850.MmsValue_getBoolean(stVal) type_string = iec61850.MmsValue_getTypeString(stVal) hz_type = iec61850.MmsValue_getTypeString(hz) quality_type = iec61850.MmsValue_getTypeString(quality) time_type = iec61850.MmsValue_getTypeString(timeStampValue) db_type = iec61850.MmsValue_getTypeString(db) iec61850.MmsValue_delete(stVal) print("StVal:\t\t", state) print("TypeStval:\t", type_string) print("MagVal_Type:\t\t", hz_type) print("Quality_Type:\t\t", quality_type) print("TimeStamp_Type:\t\t", time_type) print("DB_Type:\t\t", db_type) # ============================= [mag, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/MSTA1.TrAmp3.mag", iec61850.IEC61850_FC_MX) print("Mag_Type:\t\t", iec61850.MmsValue_getTypeString(mag)) [f, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/MSTA1.TrAmp3.mag.f", iec61850.IEC61850_FC_MX) print("F_Type:\t\t\t", iec61850.MmsValue_getTypeString(f)) [q, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam20_7/MSTA1.TrAmp3.q", iec61850.IEC61850_FC_MX) print("q_Type:\t\t\t", iec61850.MmsValue_getTypeString(q)) [Timestamp, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam20_7/MSTA1.TrAmp3.t", iec61850.IEC61850_FC_MX) print("F_Type:\t\t\t", iec61850.MmsValue_getTypeString(Timestamp)) [db, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam20_7/MSTA1.TrAmp3.db", iec61850.IEC61850_FC_CF) print("db_Type:\t\t", iec61850.MmsValue_getTypeString(db)) [dataNs, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam20_7/MSTA1.TrAmp3", iec61850.IEC61850_FC_EX) print("dataNs_Type:\t\t", iec61850.MmsValue_getTypeString(dataNs)) [enum, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/A49_PTTR1.Mod.stVal", iec61850.IEC61850_FC_ST) print("enum Type:\t\t", iec61850.MmsValue_getTypeString(enum)) [string, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/A49T_PTTR6.NamPlt.d", iec61850.IEC61850_FC_DC) print("string Type:\t\t", iec61850.MmsValue_getTypeString(string)) [float_var, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/A49T_PTTR8.Tmp.mag.f", iec61850.IEC61850_FC_MX) print("float Type:\t\t", iec61850.MmsValue_getTypeString(float_var)) [int_var, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/XCBR1.ChaTms.stVal", iec61850.IEC61850_FC_ST) print("int signed Type:\t\t", iec61850.MmsValue_getTypeString(int_var)) [uint_var, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam20_7/A49T_PTTR7.Tmp.db", iec61850.IEC61850_FC_CF) print("Usigned Type:\t\t", iec61850.MmsValue_getTypeString(uint_var)) [octet, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam40_5/RREC1.BlkRec.Oper.origin.orIdent", iec61850.IEC61850_FC_CO) print("octet Type:\t\t", iec61850.MmsValue_getTypeString(octet)) [check, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam80_8/A49_PTTR1.InhThmPro.Oper.Check", iec61850.IEC61850_FC_CO) print("check Type:\t\t", iec61850.MmsValue_getTypeString(check)) [dbPos, error ] = iec61850.IedConnection_readObject(self.__con, "ECISepam80_8/XCBR1.Pos.stVal", iec61850.IEC61850_FC_ST) print("dbPos Type:\t\t", iec61850.MmsValue_getTypeString(dbPos)) [int128, error] = iec61850.IedConnection_readObject( self.__con, "ECISepam80_8/XCBR1.SumSwARs.actVal", iec61850.IEC61850_FC_ST) print("int128 Type:\t\t", iec61850.MmsValue_getTypeString(int128))