Eso sí parece código KUKA.
El problema es que se usan llaves para asignar el valor de la estructura... pero el contenido de esas llaves debe ser literal (valor codificado). No se permite ninguna manipulación ni aritmética. Por eso el compilador se queja...
La solución alternativa es usar otra variable y manipular un elemento específico de la estructura.
Ejemplo:
DECL E6POS temp_pos
temp_pos=xdd ; copia el valor de Xdd a la variable temporal. Esto copia TODOS los elementos (X, Y, Z... E6)
temp_pos.X = xdd.X + 5; esta línea solo modificó el componente X, los demás elementos conservan su valor de la instrucción anterior.
LIN_REL temp_pos ; mueve a la posición modificada,...