Maybe also good to know that you could use the CODESYS installer to switch between gateways. - open the CODESYS installer - Select the (hamburger) menu - Select Settings - Select Services Then select the Gateway you would like to use.
Seems like you use SIZEOF as size, but you need to use LEN as size of data which you want to write.
Seems like you write SIZEOF bytes, but you need to write LEN bytes.
Hello. I am using Codesys v2.3 and trying to adapt a function from C to set multiple bits of a uint16_t variable at once: void set_state_value_16b(uint16_t *var, uint16_t mask, uint16_t val) { *var = (*var & ~mask) | (val & mask); } Current Codesys v2.3 implementation: FUNCTION set_state_value_16b : WORD VAR_INPUT variable : POINTER TO WORD; mask : WORD; val : WORD; END_VAR VAR END_VAR variable^ := (variable^ AND NOT mask) OR (val AND mask); Example of use: set_state_value_16b(ADR(ERR), 16#0001,...
Hello. I am using Codesys v2.3 and trying to adapt a function from C to set multiple bits of a uint16_t variable at once: void set_state_value_16b(uint16_t *var, uint16_t mask, uint16_t val) { *var = (*var & ~mask) | (val & mask); } Current Codesys v2.3 implementation: FUNCTION set_state_value_16b : WORD VAR_INPUT variable : POINTER TO WORD; mask : WORD; val : WORD; END_VAR VAR END_VAR variable^ := (variable^ AND NOT mask) OR (val AND mask); Example of use: set_state_value_16b(ADR(ERR), 16#0001,...