- IED server: changed types TrkOps and OptFlds to variable length bit strings

pull/291/head
Michael Zillgith 5 years ago
parent 23da9ba28e
commit 53d8a2f715

@ -268,11 +268,11 @@ createNamedVariableFromDataAttribute(DataAttribute* attribute)
MmsMapping_createPhyComAddrStructure(namedVariable); MmsMapping_createPhyComAddrStructure(namedVariable);
break; break;
case IEC61850_OPTFLDS: case IEC61850_OPTFLDS:
namedVariable->typeSpec.bitString = 10; namedVariable->typeSpec.bitString = -10;
namedVariable->type = MMS_BIT_STRING; namedVariable->type = MMS_BIT_STRING;
break; break;
case IEC61850_TRGOPS: case IEC61850_TRGOPS:
namedVariable->typeSpec.bitString = 6; namedVariable->typeSpec.bitString = -6;
namedVariable->type = MMS_BIT_STRING; namedVariable->type = MMS_BIT_STRING;
break; break;

@ -419,11 +419,19 @@ ConfigFileParser_createModelFromConfigFile(FileHandle fileHandle)
break; break;
case IEC61850_OPTFLDS: case IEC61850_OPTFLDS:
{
int value;
if (sscanf(valueIndicator + 1, "%i", &value) != 1) goto exit_error;
dataAttribute->mmsValue = MmsValue_newBitString(-10);
MmsValue_setBitStringFromIntegerBigEndian(dataAttribute->mmsValue, value);
}
break;
case IEC61850_TRGOPS: case IEC61850_TRGOPS:
{ {
int value; int value;
if (sscanf(valueIndicator + 1, "%i", &value) != 1) goto exit_error; if (sscanf(valueIndicator + 1, "%i", &value) != 1) goto exit_error;
dataAttribute->mmsValue = MmsValue_newBitString(2); dataAttribute->mmsValue = MmsValue_newBitString(-6);
MmsValue_setBitStringFromIntegerBigEndian(dataAttribute->mmsValue, value); MmsValue_setBitStringFromIntegerBigEndian(dataAttribute->mmsValue, value);
} }
break; break;

Loading…
Cancel
Save