Search talk: write Holding Registers

 
<< < 1 .. 10 11 12 13 14 > >> (Page 12 of 14)

Post by esave on Softmotion Axis Controll CODESYS Forge talk (Post)
Hello everybody I have two of these EtherCat CiA402 stepper driver from Leadshine: https://www.leadshine.com/product-detail/EM3E-556E.html I want to controll them. I already have implemented them in Codesys with Softmotion. I see the position, the velocity and the status word so I can read everything. See picture 1. But when I want to write something like MC_Power or MC_MoveAbsolut with the SM3_Basic library it wont work and with the MC_Reset POU it shows: "SMC_R_DRIVE_DOESNT_ANSWER". See picture 2. Can somebody help me? Thanks a lot esave
Last updated: 2024-05-24

Post by abinvest579 on TCP Client CODESYS Forge talk (Post)
Hi All, I am using codesys based plc to read and control magna power DC supply over LXI protocol using SCPI command. To connect device required socket programming for that i am using Net base service library function block TCP_Client to establish connection over TCP/IP , TCP_Write to write SCPI commands and TCP_Read to read data from Magna power DC supply. I have attached screenshot for logic developed. I am able to connect and write commands to device but i not receiving any information from device. For writing Commands i also tried various end of line character like \n,<nl>, A, D, 10, 13, 0x0A, 0x0D but not received any status from device. For testing purpose i am using simple command '*IDN?' to read data. Also if tried to check on hercules software what data actually plc read, first it read correct data after that is read wrong data as see in screen shot. 'Hello World' was correct read and after that Codesys in replaced with 'Codesysorld' that is not correct way. Same issue also appeared for send data. Any one have face same issue how i can read data directly from device correctly and send data please suggest solution on this.</nl>
Last updated: 2024-07-01

Post by e13740e on Parameterized Property syntax for array element processing CODESYS Forge talk (Post)
Hello. I'm trying to create a Parameterized Property(CDS V3.5 SP21) to avoid copy-pasting code for processing array elements. I can't seem to get any result. Perhaps I am making a mistake with the syntax. None of the declaration options below are accepted by the compiler. If you know and use them (Parameterized Properties) in your work, please let me know. Thank you in advance. Option 1: PROPERTY <property_name> : <data_type> VAR_INPUT <index_name> : <index_type>; // One or more index parameters are declared here END_VAR</index_type></index_name></data_type></property_name> GET Code that uses <index_name> to return a value END_GET</index_name> SET Code that uses <index_name> and the implicit variable <property_name> to write a value END_SET</property_name></index_name> END_PROPERTY Option 2: PROPERTY <property_name> (<index_name> : <index_type>) : <data_type></data_type></index_type></index_name></property_name> GET Code that uses <index_name> to return a value END_GET</index_name> SET Code that uses <index_name> and the implicit variable <property_name> to write a value END_SET</property_name></index_name> END_PROPERTY
Last updated: 2025-10-09

Post by e13740e on Parameterized Property syntax for array element processing CODESYS Forge talk (Post)
Hello. I'm trying to create a Parameterized Property(CDS V3.5 SP21) to avoid copy-pasting code for processing array elements. I can't seem to get any result. Perhaps I am making a mistake with the syntax. None of the declaration options below are accepted by the compiler. If you know and use them (Parameterized Properties) in your work, please let me know. Thank you in advance. Option 1: PROPERTY <property_name> : <data_type> VAR_INPUT // One or more index parameters are declared here <index_name> : <index_type>; END_VAR</index_type></index_name></data_type></property_name> // Accessor for reading GET // Code that uses <Index_Name> to return a value END_GET // Accessor for writing SET // Code that uses <Index_Name> and // the implicit variable <Property_Name> to write a value END_SET END_PROPERTY Option 2: PROPERTY <property_name> (<index_name> : <index_type>) : <data_type></data_type></index_type></index_name></property_name> // Accessor for reading GET // Code that uses <Index_Name> to return a value END_GET // Accessor for writing SET // Code that uses <Index_Name> and // the implicit variable <Property_Name> to write a value END_SET END_PROPERTY
Last updated: 2025-10-09

Post by mtho on JSON Utilities - JSON file written with invalid structure CODESYS Forge talk (Post)
I'm using the JSON Utilities SL library to write configurations in my program to a file. I'm generating the JSON data using the builder function block and all appears to work correctly. When I write the jsondata to file, I'm finding that some of the JSON elements are not being written in the right location in the file. Rather than writing they keys under the parent object, they get written outside the root JSON object at the end of the file. If I then try to read the file back into the program, I get an invalid_structure error. I don't get any errors when populating the JSON data or when writing the file. I attached an example of the JSON writer output. The problems begin with key P200. Each P200 should go under MBR1 through MBR3. Among the rest of the keys, they are supposed to be under different parent objects. I am using default values for wsLineBreak and encoding.
Last updated: 2024-03-06

Post by francescoc on Custom log CmpLog CODESYS Forge talk (Post)
Hi, I am trying to create a log in my application. Since I cannot find any documentation regarding modifying the codesys configuration file to be able to log in ms, i tried to create a new log via CmpLog.LogCreate. Below is the part of the code where I create the logger and write a test string. In the log tab of codesys I actually see the new log that was created, but it is empty, and in the folder I cannot find any files. I can't find any detailed documentation. Can you guys give me support? Are there any examples? Thank you IF NOT FirstCycle THEN LogName:= 'LOGS/TestLog'; LogOptions.bEnable:= 1; LogOptions.iMaxEntries:= 5000; LogOptions.iMaxFiles:= 100; LogOptions.iMaxFileSize:= 5000; LogOptions.szName:= LogName; LogOptions.uiType:= CmpLog.LogTypes.LT_TIMESTAMP_RTC_HIGHRES; LogOptions.uiFilter:= CmpLog.LogClass.LOG_ALL; LogHandle:= CmpLog.LogCreate(pOptions := ADR(LogOptions), pResult:= ADR(Result)); LogHandle:= CmpLog.LogOpen(pszName:= LogName, pResult:= Result); Component_Manager.CMAddComponent2('TestLogNEW', 16#00000001, ADR(udiCmpIdNEW), 0); CmpLog.LogAdd2(LogHandle, udiCmpIdNEW, CmpLog.LogClass.LOG_INFO, 1, 1, 'Logger started...'); END_IF IF TestWrite THEN TestWrite:= FALSE; CmpLog.LogAdd2(LogHandle, udiCmpIdNEW, CmpLog.LogClass.LOG_INFO, 1, 1, 'Write test'); END_IF
Last updated: 2024-03-16

Post by duvanmoreno24 on Modbus writing on value change CODESYS Forge talk (Post)
Yes, I tried to do what you put in the first code. However, I have a problem with that and that is that the inputs must be declared with the type. I have many data types running in my code (real, int, uint, bool) and I can't put them in the same function, another thing is that I need to instantiate that function for everything I want to write to the slave. You put a for to 200 but it means that it has to be the same data type and inside the array, but I want to get them individually. I'm struggling to do it in a good and efficient way like wago's E-cockpit does. in the first screenshot you can see, you simply type in value, change the package of things you want to write in value change and it does everything by itself automatically, without comparing any old and new values and even less having the need to activate a bool. , it is perfect.
Last updated: 2024-04-03

Post by ofey on Modbus TCP communication CODESYS Forge talk (Post)
Hi! I tried setting up the PLC I'm working with (Beijer GN-9373) to connect to a modbus master running on a laptop. I have an ethernet connection (via USB-C to ethernet) between the laptop and the controller. I have tried following tutorial on how to set this up. I have added an ethernet device with the IP-address of the PLC. Further I added a ModbusTCP_Slave_Device with default settings. I get the error "Failed to open TCP Port: 1" when I try to go online with the PLC. Earlier I tested the exact same set up with the soft PLC from codesys. I can then read/write values correctly with the Modbus master i have running on the laptop. Hope anybody can help me with this, thanks in advance!
Last updated: 2023-10-06

Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug? CODESYS Forge talk (Post)
Hallo, I have a strange problem with the recipe manager. ISSUE: When using RecipeManCommands not all values are loaded correctly. Saving a recipe with CreateRecipe(), ReadAndSaveRecipe() or ReadAndSaveRecipeAs() works without any problems. BUT: LoadRecipe(), WriteRecipe() or LoadFromAndWriteRecipe() do not load the data correctly. It is Interesting that we have a different error pattern with LoadRecipe() than with WriteRecipe() or LoadFromAndWriteRecipe(). LoadRecipe() does not load all data and WriteRecipe() or LoadFromAndWriteRecipe() overwrites some data or assigns it incorrectly. And it is also strange that LoadRecipe() writes the values to the PLC. Normally it doesn’t do it. It makes no difference whether the memory type is textual or binary. I have an object consisting of STRUCTs which is inserted in the recipe definition. Environment: Codesys V3.5 SP19 Patch 4 (64Bit), Recipe Management 4.2.0.0 *Add a project (reduced to the problem)
Last updated: 2023-11-15

Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug? CODESYS Forge talk (Post)
I'm getting closer to the error. The combination of STRUCT and ARRAY probably causes the strange behavior. As soon as the ARRAY is followed by a variable, the problem arises. Examples: X: ARRAY[1..2] OF INT; // okay Y: ARRAY[1..2] OF STRUCT; // problem Z: STRUCT; Z.ArrayOfInt[1]; // okay Z.ArrayOfStruct[1].Variable // problem // *update - array of array also causes the error A: ARRAY[1..2] OF ARRAY[1..4] OF BOOL; // problem I can't be the only one who has this problem. Or? Maybe there is a solution. Anyone? Or is it a bug after all?
Last updated: 2023-11-17

Post by jegerjon on Testing of Codesys program CODESYS Forge talk (Post)
I have a simulation function that toggle xSimActive. I map all IO variables to "IO GVLs" when xSimActive=0. I map IO corresponding SimIO GVL to "IO GVLs" when xSimActive=1. Then I write code for the simulation program that runs when xSimActive=1. Typically increase flow corresponding to pump speed, simulate tankfilling corresponding to flow and so on. I made a FC that require a correct code to activate simulation to avoid unintended activation by service dept. When comissioned remove any possibility to activate simulation. Super when officetesting and supporting service dept. + cheap as it requires no additional equipment, and it is easier to support customer later on in the life cycle as you can test proposed changes without setting up a testlab.
Last updated: 2023-12-07

Post by jegerjon on Testing of Codesys program CODESYS Forge talk (Post)
I have a simulation function that toggle xSimActive. I map all IO variables to "IO GVLs" when xSimActive=0. I map IO corresponding SimIO GVL to "IO GVLs" when xSimActive=1. Then I write code for the simulation program that runs when xSimActive=1. Typically increase flow corresponding to pump speed, simulate tankfilling corresponding to flow and so on. I made a FC that require a correct code to activate simulation to avoid unintended activation by service dept. When comissioned remove any possibility to activate simulation. Super when officetesting and supporting service dept. + cheap as it requires no additional equipment, and it is easier to support customer later on in the life cycle as you can test proposed changes without setting up a testlab.
Last updated: 2023-12-07

Post by pazderai on CanOpen write issue CODESYS Forge talk (Post)
Thank you for an answer. Unfortunatelly, it doesn't work. The slave needs command byte as follows 0x22. It means expedited transfer where s-bit is not set, therefore data length is not specified. If I use segmented mode by CiA405.SDO_WRITE_DATA it produce command byte as follows 0x21 which is unfortunately supported by the slave and it returns with error 0x05040001 - SDO Abort Code -Client/server command specifier not valid or unknown. I can use CAN API low level to overcome this problem where it is possible to set 0x22 as a command byte, but than I can use user interface to set the communication probably, because I thing that machine expert uses library CiA405.SDO_WRITE for setting the slave. Or am I wrong?
Last updated: 2024-07-16

Post by shrikantp007 on new to codesys help on modbus with ardunio modbus rtu CODESYS Forge talk (Post)
Hello , I am new to codesys ,working with it for just 15-17 days so ,i think i am able to installed it and configure it ,not i want to use ardunio program (smart dustbin ,college project using motor and Ultrasonic Module HC-SR04 and servo motor). i use ardunio program to write code with chatgpt to work ardunio as a modbus rtu as i dont have ethernet or wifi shild ,i wrote program in ariduno but now don have idea what change i have to make in codesys to comunicate as modbus slave it give error with bus error ,where i can get all errors ? Thanks in advance :)
Last updated: 2024-07-21

Post by ben1 on Help understanding analog in-/outputs CODESYS Forge talk (Post)
Hi there mate Most PLC's have a very similar concept with AI/AO - have you used any other software before? I have not used a Wago before myself, but I assume the concept would very much be: 1. Add the analog in & out cards to your hardware config. 2. Setup the raw input scaling on the hardware (eg. 4 - 20mA = 4000 - 20000) 3. Use a built in or homemade scaling block to scale your input as needed (eg. 4000 - 20000 = -100 - 2000kPa. 4. Write code as required 5. Scale output as needed (eg. 0 - 100% = 0-10000 = 0 - 10V) Is this the information you require?
Last updated: 2024-12-15

Post by kut69 on Retain / Persistent Variables in Codesys for Raspberry Pi CODESYS Forge talk (Post)
Hi, I am interested in details about the .ret file in the filesystem. I have already a project where the file is used (write on demand, read by start) and I want to share it as 'default input' for test devices using the identical application. Opening the .ret file content in a hex editor (I only use a single string retain var) I asked myself what the meaning of the first 24 bytes is. It neither contains a handle to the application nor a reference to the variable. Is this maybe a timestamp? Or a CRC/checksum? Regards, Thomas
Last updated: 2025-05-19

Post by fedex03 on Read Global Variable from an IoT Device CODESYS Forge talk (Post)
Hello everyone, I am new to the forum, and to programming with CodeSys. I am dealing with IoT device for industry and I should check if a device is able to read/write global variables in an EtherNet/IP Master. Since I do not have an EtherNet/IP PLC, I thought of using CodeSys as a softPLC. I created a program with a set of global variables (GVL) and a task that increments them. I would like to know if I need to enable any options so that the global variables can be read by IoT devices. My device supports Class 2 Class (Explicit Messaging Connection) communication. Thank you in advance for your help.
Last updated: 2025-07-22

Post by pernockham on AC Persistence - values are not read from file during start? CODESYS Forge talk (Post)
I swear I tested this like 20 times yesterday without success. Repeated it today and it works. Maybe the system needed a "real" power reboot? To note. To make a manual edit of a variable I tried some different approaches this is what worked for me. "system/online edited" gvl_var.example_variable REAL:F16#2FFB334H-4 767.7 "manually edited" (with runtime stopped followed by a "cold start" to read from file) gvl_var.example_variable REAL:790.1 (the system will use the manual value but will not set an equivalent "hex" value until next online edit/write cycle)
Last updated: 2025-09-03

Post by taywinkel on Virtual Runtime CSV Utility Error CODESYS Forge talk (Post)
Hello, I am having trouble figuring out the proper location for my virtual runtime to create a .CSV file. No matter the file location I set, I get error 14 (CANNOT_OPEN_DIRECTORY). I have tried multiple different file paths ('/', '/var/opt/codesysvcontrol/PlcLogic', '/var/opt/codesys/'). I understand that there is only certain places that Codesys can read/write. I am also running this virtual runtime in a Podman container. Does anyone know what the location should be? I attached the archive I was using, a project that tests CSV capability that I borrowed from someone else. Thanks!
Last updated: 2025-09-03

Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug? CODESYS Forge talk (Post)
Hello, according to Codesys, the problem should be solved with version 4.3.0.0. After the update to version 4.3.0.0 I had the problem that the recipes weren’t saved correctly, but loading was okay. Return to the version 4.2.0.0 didn’t change the behavior. Strange… So I uninstalled the update, cleaned the project and built it new. The known behavior of version 4.2.0.0 was back. Update to version 4.3.0.0, clean and build it new, it works. Even with version 4.2.0.0. Strange, but okay. Notice: ManCommands.LoadRecipe() no longer writes into the PLC. Just as it should be. As of now, I can use the new version.
Last updated: 2024-01-05

Post by i-campbell on What does CODESYS expect to do when I get such an error message CODESYS Forge talk (Post)
you need to get the addons that the person that programmed it used. I always store an .installation-config file alongside the project. If you have lost that, then it gets a bit of a headache: I think even with SP18 you can hit yes to open it anyway, and it will suggest which addons it thinks are missing, if you double click the yellow "missing-addons" in the status bar. If you know you have the right addons, you can do a "Save As.." and it will write your current addon list to the file, and you wont get the error next time.
Last updated: 2024-01-08

Post by jtebokkel on Access to the path *** is denied CODESYS Forge talk (Post)
I am also having this issue. It was working fine for the first 2ish months and is now throwing this error. I can just try and go online again a second time and it works. I'm wondering if there is an environmental variable or something that isn't set that is causing it to use an empty path as a temp directory. The empty path will be the location the app is running from which is that path C:\Program Files\CODESYS 3.5.19.50\CODESYS\Common. The permissions don't allow a normal user to write to that directory which causes the error. It also only seems to happen when there are changes or the build has been cleaned.
Last updated: 2024-02-14

Post by mani-i4point0 on Issue with WebVisu on Raspberry PI CODESYS Forge talk (Post)
Hi, I am running Codesys Runtime by purchasing 'Codesys control for raspberry pi MC SL', I am trying to use the Variables from my GVL's. Few of the variables used as a Pushbutton form the Visualization. These 'BOOL' Variable getting unlatched automatically even though there is no write function in the Overall project. All of them are 'Read' functions, at the same time few other BOOL variable behaviors are seems to be fine. I have tried, clean all and download, serval time restarted the hardware. Happy to share any any information. Your input to resolve this issue would be highly appriciated. Version Details: codesyscontrol 4.8.0.0, armhf codesyscontrol based on SDK 3.5.19.0
Last updated: 2024-03-20

Post by struccc on Release SP20 - Changes in behaviour? CODESYS Forge talk (Post)
Dear all, I've just started to migrate some of my ancient projects to SP20. There is one strange error (?) I have noticed so far. In a method call, depending on the circumstances I would like to return reference to an object, or an invalid reference: METHOD Add_EVT_OUT : REFERENCE TO FB_MSG VAR END_VAR IF __ISVALIDREF(refMSG_Entry) THEN Add_EVT_OUT REF= MANAGER.AddMsg_EVT_OUT( refMSG_Entry, _Get_EVT_Message(MSG_EVENT.OUT), _Get_EVT_AddCode(MSG_EVENT.OUT) )^; ELSE Add_EVT_OUT := 0; END_IF So far setting a reference variable to 0, did this. But now, the expression Add_EVT_OUT := 0; gives an error: [ERROR] DB_WTP_370: Add_EVT_ACK MSG_TRIGGER_EXT: C0032: Cannot convert type 'BIT' to type 'REFERENCE TO FB_MSG' Naturally... I can write: Add_EVT_OUT := DWORD#0; But is this the correct way? Is there any constant I could use instead, like "NULL"? Or this is totally wrong and to be avoided?
Last updated: 2024-03-24

Post by david24 on Map in Codesys CODESYS Forge talk (Post)
Hello everyone, I have the task of programming a map. With the help of the visualization element "Table", I have managed to accomplish this. In the Input Configuration, I activated the option: "Write Variables", so that the user can change the values in the map. To test the program, I select the Online Mode (Simulation).There I change the values in the map. When restarting the program in CODESYS, the changes in the map are no longer there. Does anyone know an approach how to save the changes in the map? Thank you for your support Best regards David
Last updated: 2024-04-02

<< < 1 .. 10 11 12 13 14 > >> (Page 12 of 14)

Showing results of 340

Sort by relevance or date