diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 7f70ea47..0a5fd1a9 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -253,6 +253,11 @@ void neu_adapter_driver_write_tag(neu_adapter_driver_t *driver, free(tag); return; } + if (tag->type == NEU_TYPE_FLOAT || tag->type == NEU_TYPE_DOUBLE) { + if (cmd->value.type == NEU_TYPE_INT64) { + cmd->value.value.d64 = (double) cmd->value.value.u64; + } + } switch (tag->type) { case NEU_TYPE_BOOL: case NEU_TYPE_STRING: