Personal Data

Username:
alexgooi
Joined:
2022-01-17 09:11:20
Location:
Netherlands / CEST
Gender:
Male

Projects

  • No projects to display.

Skills

This is a list of skills that alexgooi possesses:

  • Programming Language

User Activity

  • Posted a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    Hi Paro, I have tried this and it seemed to have solved the problem, thank you very much!

  • Modified a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    Dear Forum, I currently have a challenge. I have a library with some communication classes. These communication classes need to be linked to an interface like this: Devices_and_controllers.Comm_Frame.Modbus_GVL_Link.KNX_TCP[Interface_Index] := THIS^; This is executed via a FB_Init() method. When I try to do this in a program this works fine. But when I declare the FB_Init() in the library the FB_Init() method is being called but the link is not made (interface still has the value 0000000000). The...

  • Posted a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    Dear Forum, I currently have a challenge. I have a library with some communication classes. These communication classes need to be linked to an interface like this: Devices_and_controllers.Comm_Frame.Modbus_GVL_Link.KNX_TCP[Interface_Index] := THIS^; This is executed via a FB_Init() method. When I try to do this in a program this works fine. But when I declare the FB_Init() in the library the FB_Init() method is being called but the link is not made (interface still has the value 0000000000). The...

  • Modified a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    The way I usally tackle this is by syncing only words (then you are able to use the FB above). If you then want to write a Boolean simply type it like this. Value[1].0 := Bool1; Value[1].1 := Bool2; Value[1].2 := Bool3; Uints have the same number of bits than a INT/WORD so these ones will work as well (they are only represented diffrently). A Real will work but you will loose some infomration in the conversion. If you want to keep the information you can convert 2 words to a float with a function...

  • Modified a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    The way I usally tackle this is by syncing only words (then you are able to use the FB above). If you then want to write a Boolean simply type it like this. Value[i].0 := Bool1; Value[i].1 := Bool2; Value[i].2 := Bool3; Uints have the same number of bits than a INT/WORD so these ones will work as well (they are only represented diffrently). A Real will work but you will loose some infomration in the conversion. If you want to keep the information you can convert 2 words to a float with a function...

  • Posted a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    The way I usally tackle this is by syncing only words (then you are able to use the FB above). If you then want to write a Boolean simply type it like this. Value[i].0 := Bool1 Value[i].1 := Bool2 Value[i].2 := Bool3 Uints have the same number of bits than a INT/WORD so these ones will work as well (they are only represented diffrently). A Real will work but you will loose some infomration in the conversion. If you want to keep the information you can convert 2 words to a float with a function (for...

  • Modified a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    Hi Duvan, You could make this in 1 single object (FB), Indeed don't use a function for this beacuse you need some memory to keep the old value. For i := 0 TO 200 BY 1 DO //Check if the value has been changed IF Old_Value[i] <> Value[i] THEN //Set the trigger to TRUE Trigger[i] := TRUE; Old_Value[i] := Value[i]; END_IF END_FOR If you define the Value array as an In_Out and the Trigger as an In_Out you arn't claiming any aditional memory to your system. You ofcourse then need to add some code arround...

  • Posted a comment on discussion Engineering πŸ‡¬πŸ‡§ on CODESYS Forge

    Hi Duvan, You could make this in 1 single object (FB), Indeed don't use a function for this beacuse you need some memory to keep the old value. For i := 0 TO 200 BY 1 DO //Check if the value has been changed IF Old_Value[i] <> Value[i] THEN //Set the trigger to TRUE Trigger[i] := TRUE; Old_Value[i] := Value[i]; END_IF END_FOR If you define the Value array as an In_Out and the Trigger as an In_Out you arn't claiming any aditional memory to your system. You ofcourse then need to add some code arround...

View All