Post by riccardo on VisuElems.CurrentUserGroupId is not stable
CODESYS Forge
talk
(Post)
GoodMorning everyone. I have a system that, in case of alarm, have to block. When the operator logs in must have to acknoledge the alarm and should operate in the system freely. To perform this I detect the logged User by (VisuElems.CurrentUserGroupID <> 0) with a similar code to the the following: PROGRAM AlarmMngt VAR alarm : BOOL:= FALSE; Ack : BOOL:= TRUE; PushBottonOpening : BOOL:= FALSE; Valve : BOOL := FALSE; Flag: BOOL := FALSE; END_VAR IF alarm AND Ack AND (NOT Flag) THEN valve := FALSE; PushBottonOpening := FALSE; Ack := FALSE flag := TRUE; ELSIF (NOT alarm) AND Ack THEN flag := FALSE; END_IF (* if the system is in alarm but there is a logged operator that acknowledge the alarm the system allows the valve opening.*) IF (VisuElems.CurrentUserGroupID <> 0) AND Ack AND Alarm AND PushBottonOpening THEN Valve := TRUE; ELSIF (VisuElems.CurrentUserGroupID = 0) AND Alarm THEN valve := FALSE; END_IF The problem I have is in the last 5 lines of the code: Even if there is a logged in user, the GroupID variable is subjected to a refresh that cyclically set for an instant it to 0 and this close the valve making difficult to the user to work Now I solved it creating a time hysteresys cycle but it is not a good solution. Someone is able to explane me why the GroupID variable is sobjected to this refresh and how to stabilize to avoiding it? Thank you in advance, Riccardo
Last updated: 2023-11-10
Post by phoward131 on Alarm State Icon
CODESYS Forge
talk
(Post)
I am trying to create an icon on an overview screen that depicts if an alarm group has active alarms, active acknowledged alarms, or inactive unacknowledged alarms (waiting for confirmation). I've attempted to set up Notification Actions in the Alarm Class to set variables based on state changes but have been unable to find a clean and effective way to do this. Because an action on any alarm will trigger the variable to be set as instructed, I'm struggling to find a way to configure it for what I need (ie if two alarms activate, then one deactivates, the variable for indicating an alarm is active would be cleared after the single deactivation). I've been pointed toward the Alarm Manager example project but I'm finding it too complicated to understand how to implement it in my own project. Has anyone come up with another good way to indicate the states of alarms or a simpler usage of the Alarm Manager functions?
Last updated: 2024-04-23
Post by gatto on Backtick identifiers
CODESYS Forge
talk
(Post)
Hello, I’m in Codesys 3.5.20.40 and I try to declare the variable ´var1´ but I get an error. here : https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_rules.html i read : Backtick identifiers By using backticks, characters can also be used in identifiers that are not normally permitted in identifiers, such as special characters. The acute accent character is used for backticks: ´ (Unicode: U+02CA) The use of backticks is recommended in order to be able to use the same identifiers in CODESYS as in other programming languages or documents, such as circuit diagrams. Any character may be used between two backticks, except line breaks and other backticks. Keywords are also allowed as identifiers between backticks. Examples: ´Variable+9´ ´INT´ The backticks are part of each identifier and therefore var1 and ´var1´ are two different identifiers. Example PROGRAM PLC_PRG VAR var1 : INT; ´var1´: INT; END_VAR var1 := var1 + 1; ´var1´ := 12; Are there any limitations or is something missing in my development environment?
Last updated: 2025-10-28
Post by szotyi on Array of Program
CODESYS Forge
talk
(Post)
Hi! What is the proper and the easiest way to call programs through looping of array of programs, or pointer of program? instead of calling the programs one by one: prog1(inputX: 11); prog2(inputY: 12); prog3(inputZ: 13); similar like: VAR programsToCall : ARRAY [1..3] OF PROGRAM; END_VAR programsToCall[1] := prog1(inputX: 11); programsToCall[2] := prog2(inputY: 12); programsToCall[3] := prog3(inputZ: 13); FOR i := 1 TO 3 DO programsToCall[i] (); END_FOR Thanks.
Last updated: 2024-08-28
Post by apurv on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
I have a Array of constant size defined like this Var Constant MAX_SIZE :UINT := 10; End_var VAR array : ARRAY[0..MAX_SIZE] OF INT; END_VAR Now I want to pass this array to a function by reference, Function fun : INT VAR_IN_OUT CONSTANT MAX_SIZE : UINT; END_VAR VAR_INPUT array : REFERENCE TO ARRAY[0..MAX_SIZE] OF INT; END_VAR but when I run this it gives strange Errors Error : Cannot Convert type 'ARRAY [0..MAX_SIZE] OF INT' to type 'ARRAY[0..MAX_SIZE] OF INT'
Last updated: 2024-01-07
Post by i-campbell on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
256MB for the protocol yes, but the default value for this library parameter limits the library to 6kB per task scan.
Last updated: 2023-09-27
Post by winki on Modbus TCP & RTU with Control for Linux SL
CODESYS Forge
talk
(Post)
I do not have error anymore using nic with eth0 value. But my network it still 172.17.0.3 like the first picture.
Last updated: 2024-10-23
Post by timvh on Read codesys version in the codesys application
CODESYS Forge
talk
(Post)
VAR RuntimeVersion: VERSION; END_VAR RuntimeVersion := __SYSTEM.Constants.RuntimeVersion; PS, when I call the SysTargetGetVersion on a Control Win, I get the value 50664488 = 16#03051428 equals version 3.5.20.40
Last updated: 2025-01-17
Post by tk096 on How to get the motor scaling value from code
CODESYS Forge
talk
(Post)
Hi, unfortunately, in Softmotion you have only access to the combined fraction - the scaling factor from user units to motor increments. It can be accessed using MC_ReadParameter with parameter number 1054. increments = user_unit_position * fScaleFactor
Last updated: 2025-06-13
Post by gseidel on High-resolution drive with SoftMotion
CODESYS Forge
talk
(Post)
Hi kporter, what value do you use for the modulo period? Can you please provide the complete axis configuration, including all scaling values? Thanks, Georg
Last updated: 2025-09-08
Post by open on How to create a stopwatch?
CODESYS Forge
talk
(Post)
Thanks everyone for your input, I am using persistent variables to retain the timer value after machine shutdown, and main task to be as low as possible for the seconds TON to be accurate.
Last updated: 2023-12-14
Post by timvh on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
You should only open de COM port once and then leave it open. This hCom should not keep on incrementing. (off course when you are done communicating, you need to close the COM port)
Last updated: 2024-03-22
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi TimH Thanks for the information, I thought that was the case so have stepped through the code and found an error that wasn't closing the port, therefore hCom was increasing. Thanks
Last updated: 2024-03-28
Post by mibkid17 on Ethernet Adapter message: Adapter configured. Open all connections
CODESYS Forge
talk
(Post)
Trying to control 525 with codsys the info from C-4 section. i should input the value in user defined parameters? in the generic device
Last updated: 2024-04-09
Post by mmpl on CAA Library Function
CODESYS Forge
talk
(Post)
I want to change date and time format. I am using CAA storage library function. I am not receiving any value in to output.
Last updated: 2024-04-16
Post by davidbo on I want to convert a WORD to a hex string like 15.432 to '3C48'
CODESYS Forge
talk
(Post)
I try with BYTE_TO_HEXinASCII but I cant get it right. How do I convert a word value like 15432 to the HEX text string '3C48'
Last updated: 2024-04-19
Post by mxj262 on FB having single input but initialized with Array
CODESYS Forge
talk
(Post)
Ok yes now the loop has stopped when I set sum to zero before the for loop. Why will it retain the sum value from the last call?
Last updated: 2024-05-06
Post by timvh on Modbus TCP Server connection is ESTABLISHED but all holding registers are value 0?
CODESYS Forge
talk
(Post)
Are you sure you need to read holding registers? Have you tried reading input registers?
Last updated: 2026-01-07
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND or OR.