Search talk: g-code comment

 
<< < 1 .. 53 54 55 56 57 .. 60 > >> (Page 55 of 60)

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 sigurdrb on Read codesys version in the codesys application CODESYS Forge talk (Post)
Hi! I want to read the codesys version into the project, so I can highlight it in the SCADA system. VAR dwVersion : DWORD; END_VAR SysTarget.SysTargetGetVersion(pulVersion := ADR(dwVersion)); This gives me the value 100859909. I tried to search ths up and found som older post (https://forge.codesys.com/forge/talk/Runtime/thread/a55981ff4d/) that said each 4 bytes reads a number in the version. Example is 50662666 = 16#03050D0A which reads to V3.5.13.10 When I run this code I get the value 100859909, which I cant translate to anything meaningful. I am running it on Codesys V3.5.19.70. Help appreciated!
Last updated: 2025-01-17

Post by pernockham on Slider instance value when accessed through "execute ST-code" CODESYS Forge talk (Post)
I have a time which I want to modify with a slider. I have confirmed it is possible to set the value of the slider by to_real(time) (I can see that the slider changes according to 'my_time_value's value). Slider variable: to_real(my_time_value); However I fail to access the current slider instance value when I want to write back the value as time (write to a variable will not work as I need a type-conversion before assignment). my_time_value := to_time(slider-instance-value); I tried with this^.? but could not see anything interesting and also THIS^.GEN_Instance.? but nothing resemble what could be the sliders value. Anyone that knows? Thanks!
Last updated: 2025-02-06

Post by itsthefabs on (no subject) CODESYS Forge talk (Post)
Hallo zusammen, ich nutze eine Wago 8212 als Modbus Client (in früheren Codesys Versionen hieß der Modbus Master) und habe einen weitere Wago 8212 als Modbus Server (früher Modbus Slave). Bisher habe ich für den Client den Funktionsblock FbMbMasterTcp aus der WagoAppPlcModbus-Library genutzt. Zukünftig würde ich das allerdings gerne über das Anhängen eines Modbus-Geräts am Ethernet-Knoten im Projektbaum realisieren. Zum besseren Verständnis habe ich ein Bild beigefügt. Der Modbus mit dem Server läuft auch. Kommt es allerdings zum Fehler des Modbus, z.B. kurzzeitig keine Verbindung oder timeout, wird der Fehler nicht automatisch quittiert. Ich muss dann manuell über den Status des Server-Knotens einen Button mit "Bestätigen" drücken. Im Betrieb kann ich mich aber nicht jedes Mal einloggen um einen Fehler zu quittieren. Gibt es hier irgend einen Trick, wie ich das aus dem Programm-Code quittieren kann? Vielen Dank schon einmal.
Last updated: 2025-02-26

Post by tyleretn on Codesys 3.5 SP18 P4 Freezing on Library Update CODESYS Forge talk (Post)
I have created a library with both code and visualizations to be used in multiple other projects. After I update the library version into the library repository, I have much difficulty updating the version into the main project. I can always update the library version in the Library Manager just fine. My issue, is sometimes Codesys will freeze when opening the visualization that uses the library visualizations. Sometimes it opens, but freezes when I try to access the library visualizations from the Visualization Toolbox. I try letting Codesys run for upwards of 4+ hours and it is stuck in this state. On very rare cases I have no issues and can continue with my work. I haven't found a consistent reason or work around. Has anyone else had this happen?
Last updated: 2025-02-27

Post by struccc on Problem Reading Registers via Modbus from non Codesys device CODESYS Forge talk (Post)
Hi, Might be a good idea first to try out the connection and the device with some handy software, like Modbus Poll. There you can see better, what's really going on... - Is it really connected? - What error code does it return? - Can it read from the register address? - Maybe try Input registers and Holding Registers - can make a difference - Sometimes register addresses are messed up: shifted +-1 (mixing of 2 standards) - Sometimes register addresses start with offset 30000, 40000 ... - Are you using the right protocol? - Is it RTU or TCP? Maybe ASCII? - Can even have a look at the data packets, etc... All this is easier to figure out first with some modbus utility... and then to set it up in CODESYS should not be an issue. P.
Last updated: 2025-03-09

Post by spiessli on Objects in OPC UA Information Model CODESYS Forge talk (Post)
Hi, I have an OPC UA information model with objects defined in it. I can import the model and use the data types defined in it and create instances of these types. These instances are accessible at Root > Objects > DeviceSet > CODE[...] > Resources > Application > GlobalVars > OPC_UA_Symbols for created instances and at [...] > Programs > PLC_PRG for mapped instances. The object defined in the information model is accessible in UA Expert by the name I have defined in the information model (Manipulator) at Root > Objects > Manipulator. How can I assign values to the Variables defined in the object "Manipulator"? Cheers, spiessli
Last updated: 2025-03-27

Post by imdatatas on Programmatically change Tappet on a cam CODESYS Forge talk (Post)
Yes, There is. As explained "Manual creation of CAM structure" on below section. Likewise tappet structure also can be create manual and value of the switching point can be change during IEC program running. https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_basic_cam_programmatic_creation.html Just create a cam table and define some tapped points as sample for your project. Then on project compile, the created cam tapped data is converted internally into a global variable list. By clicking "Display generated code" in the "cam editor", you can display the automatically created global variables for both cam & tappets. Regards, Imdat
Last updated: 2025-04-02

Post by benemenn on OPC UA Method - How to wait for result? CODESYS Forge talk (Post)
so from what i've learned. Codesys OPCUA Server can only provide OPC UA Methods, when they are created in an XML Model beforehand. So you have to create the XML Model with OPC UA Methods. Then load that model into codesys and create the IEC Blocks. This is automated Code and will create all the variables and Methods from your XML Model. Then they will be displayed on discovery with an OPC UA Client. As far as I understood. There is no way for Methods to be shown in OPC UA when not using an external XML Informationmodel. Codesys can not yet create the informationmodel on itself. Regards
Last updated: 2025-04-02

Post by benemenn on OPC UA Method - How to wait for result? CODESYS Forge talk (Post)
so from what i've learned. Codesys OPCUA Server can only provide OPC UA Methods, when they are created in an XML Model beforehand. So you have to create the XML Model with OPC UA Methods. Then load that model into codesys and create the IEC Blocks. This is automated Code and will create all the variables and Methods from your XML Model. Then they will be displayed on discovery with an OPC UA Client. As far as I understood. There is no way for Methods to be shown in OPC UA when not using an external XML Informationmodel. Codesys can not yet create the informationmodel on itself. Regards
Last updated: 2025-04-02

Post by elsmart on Sequential read and triggering of Modbs RTU channels in application CODESYS Forge talk (Post)
Hello I need some help understanding how to use Modbus RTU (COM port) in Codesys enviroment. I defined a Modbus Server device (slave) in device tree and added some channels to read from (function 3). Also I set trigering mode to Application. I have a POU in which I want to trigger each channel one after the other something like this (C code for better visualisation): for (int i = 0; i < channelsCount; i++) { triggerChannel(channelsArray[i]); // Start transmission while(channel.xBusy); // Wait for transmission to complete } I have found ModbusChannel function block documentation but examples are scarce. I don't understand how rising edge triggering works. What would be the best solution for achieving sequntial channel triggering? What is the common way to read multiple Modbus channels once every time a specified POU is executed?
Last updated: 2025-05-16

Post by edson-bueno on IFM Controller Connection Issue CODESYS Forge talk (Post)
Hi, Could you please send an print of your ethernet adapter info? Ip addr Subnet Mask Default Gateway Also, check if the gateway service is active in your windows. Win+R > services.msc > Look in the list CODESYS Control Win V3 x64 Gateway OR CODESYS Gateway V3 Hook up the M12 code D into the ETH port, supply the controller, it should apperars to you. Make sure when you try to connect with the controller, the target of your project has to match with the controller. Otherwise, click on the device in the devices tree > Communications Settings tab > Device > Options > And disable "Filter Network Scans by Target ID". Good luck.
Last updated: 2025-05-29

Post by tk096 on Max lines of code, codesys CNC ? CODESYS Forge talk (Post)
Hi, this is a bug in CODESYS Softmotion. Due to this bug the size is limited to a maximum of 32767 elements. However, we recommend to use way smaller buffer sizes. You could use a small buffer (it should be big enough so that it does not run empty when the interpolator processes the elements). In the beginning you fill the buffer in PLC_PRG until it is full. Afterwards, you start the interpolator. The interpolator processes the elements and removes them as soon as it travels past them. In PLC_PRG you check whether new elements can be stored in the buffer (NOT QUEUE.bFull). If the buffer has space, you generate the next elements and add them to the buffer (SMC_AppendObj()). I hope this helps you.
Last updated: 2025-06-04

Post by viksym on How to get the motor scaling value from code CODESYS Forge talk (Post)
Is there a way to see what value is set as the "Work travel distance per motor rotation" that is set in the Scaling menu of the axis ? I am working on my own homing function block for sensorless (hardstop) homing and I want to make it be universal between different axes with different motor's scaling for distance per rev so I need to know this value from the axis itself. I know I could do it by just creating an input variable for the function block but I'm leaving that option as a last resort.
Last updated: 2025-06-12

Post by levih on FbHTTPs_Get how to get data from a website and use it in codesys CODESYS Forge talk (Post)
You get an array of DWORD into your receive buffer. You need to process this into usable data, before you can fit it into your DUT. I've made it work using FbWrite_ToIEC_ByRule in stead of Fb_JSON_ParseAndModify. I've attached images of the code. You receive the data into ARRAY[0..1023] OF DWORD. Then you use that array as the input for fbWrite_ToIEC_ByRule. To get the output from this you define a rule to fit the expected data structure including nesting levels. The you feed the rule into FbWrite_ToIEC_ByRule and then you can set the output to be of your DUT type.
Last updated: 2025-06-16

Post by timvh on Dynamically enabling/disabling Modbus slave devices in runtime (performance issue with timeouts) CODESYS Forge talk (Post)
As far as I remember, the Reconfigure functionality doesn't work for Modbus devices. But... Each Modbus device in your device tree has a name. You can set the property "Enable" of this device to FALSE to stop communicating with it. So if one of your Modbus Slave devices name is "MbSlave1" in the device tree, then in your code you can set the Enable to FALSE to let it stop communicating: MbSlave1.Enable := FALSE; Please let us know if this worked on your controller with your application and your CODESYS version. Alternatively you could use the ModbusFB library. See: https://forge.codesys.com/prj/codesys-example/modbus/home/Home/
Last updated: 2025-08-13

Post by rer-code on Codesys 3.5.18.60 – Application Loss and Persistent Data Corruption CODESYS Forge talk (Post)
Hi, I’m currently managing over 50 PLCs running Codesys version 3.5.18.60. At seemingly random intervals, some of these devices experience a failure where: All persistent variables are lost. Attempting to log in results in the message: “The application does not exist on device. Do you want to create it and proceed with download?” The log shows: “Loading retain-data/bootproject failed.” From what I’ve gathered, this may be due to a corrupted persistent data file, but I’m not entirely sure how to confirm or resolve this issue. If anyone has encountered something similar or has suggestions for troubleshooting or preventing this, I would greatly appreciate your input. Best regards
Last updated: 2025-08-19

Post by viksym on How to get the motor scaling value from code CODESYS Forge talk (Post)
If anybody finds this in the future, I managed to do it like this: scalingValue := EncoderPulseCountPerRev / ABS(AxisName.fScaleFactor); No need to use MC_ReadParameter as I am able to read this value directly from the axis object. Using an absolute value of the fScaleFactor is there in case the axis is set as inverted, in which case it would be a negative value. I was not able to figure out how to get EncoderPulseCountPerRev programatically, but since all my servos use an encoder with pulse count per revolution of 16#800000, the final equation looks like this: scalingValue := 16#800000 / ABS(AxisName.fScaleFactor);
Last updated: 2025-08-19

Post by em1681 on Modbus RTU over 750-652 CODESYS Forge talk (Post)
Hi, It's my first time operating in Codesys 2.3, but I have done a good amount of Codesys programming, so I'm a little familiar. I haven't done a lot of RTU, but a lot of Modbus TCP. I don't have the PLC in my reach at the moment, but I'm trying to be a little ahead. We're adding the 750-652 module to read energy from a flowmeter over RTU. There will only be 1 slave. I attached pictures of my current hardware, PLC code, the register datasheet from the slave and the only modbus serial library I seem to have available. I'm uncertain if this will work. Any help or clarification on how things work will be greatly appreciated. Thanks in advance.
Last updated: 2025-09-01

Post by kevinl on RevPi Connect RS485 CODESYS Forge talk (Post)
I figured this out on my own with this logic: usually the Serial port on a Raspberry pi is on /dev/ttyUSB0 then you need to set linux.DeviceFile=/dev/ttyUSB in codesys you then must set com port to 1 so i assumed codesys subtracts 1 from the number and adds this to the filename... (in code it would look like this: var comPort : byte := '1'; linuxDevice : string := '/dev/ttyUSB'; filename : string; end_var filename := concat(linuxDevice, (to_string(comPort-1)); filaname then is /dev/ttyUSB0 RevPi uses ttyRS485 as Serial port so you must remove the last number from the name and set the com port to this number +1 i hope this is understandable ;-)
Last updated: 2023-12-11

Post by jdjennings1962 on Trouble accessing Math functions in OSCAT library CODESYS Forge talk (Post)
Hi all, I am trying to utilize the ARRAY_SDV standard deviation function, part of the Math group in the OSCAT library downloaded from the CODESYS store. My Codesys version is 3.5.19.10. When I add the OSCAT to my Library, it shows a subset of the library (Standard) as fully installed and signed (see pic). However, the Math functions are not in this Standard group. The Math functions I need can be viewed as source code in the full OSCAT_BASIC, though this the symbol next to this library suggests it is source only and not fully installed. When I try to declare an instance of the ARRAY_SDV function in a program, it is not known. I have tried reinstalling and Building . . . Any help would be greatly appreciated. Jeff
Last updated: 2024-01-06

Post by askjong on Update variables when OPC UA Client updates. Error ID: 268468277 BadAttributeIdInvalid CODESYS Forge talk (Post)
Hi, I'm connecting to a OPC UA Server using the Data Soruce Manager OPC UA Client. This works well until the OPC UA Server updates and the OPC UA list doesn't match up when i did last clicked the "Update variables" to add variables. All the variables are still the exists and none are removed from the server, but more are added during the engineering process. The error message i get in CODESYS is "Error in OPC UA call BadAttributeIdInvalid, Error ID: 268468277". The issues is fixed when i press the "Update variables" button and just press ok without adding or removing any variables in the list. Is there a way to either automatically update the browsepath if it fails or on startup, or to trigger it by code?
Last updated: 2024-01-08

Post by jeroen on Ramp function CODESYS Forge talk (Post)
Hi, Found a nice ramp function in the OSCAT lib (FT_RMP), but is there a nice way to 'set' the output to the current input as form of a reset. The reason for this, is that I want to set up a ramp for a pressure control input that should have x Bar/sec linear rise input. The only option (or code it by hand) I found is this OSCAT FB. Any other options? Just need to increase a value by x Bar/sec from let's say 250Bar (as start) to end 1500Bar. The Oscat ramp will always start at 0 when enable is off (FT_RMP.Rmp := FALSE)
Last updated: 2024-01-09

Post by timvh on Is it possible to use debug functions such as Step Execution while the PLC ladder is in Running? CODESYS Forge talk (Post)
Yes, it is possible to set breakpoints and use step into / step over (also in Ladder diagram). Yes, the PLC will actually stop, so be carefull with this. How a PLC works is that at the start of the execution of the Task, the Inputs are read, then the code is being executed and then the outputs are written. So if you set a breakpoint, you will not see your analog inputs changing, because the task cycle is interrupted and the inputs and outputs are not refreshed. For detailed information, see: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_using_breakpoints.html
Last updated: 2024-01-16

Post by matthew on New Ladder Diagram conversion does not work due to missing features CODESYS Forge talk (Post)
Hi It looks like in the new ladder there is no way to remove unused FB call parameters or update the function block? It's quite often where you have a function block with multiple uses and not all the parameters are required. Need the ability to leave an input/output blank without getting an compile error Expression expected instead of '' Also double clicking on the FB no longer opens the underlying FB code and view what it was doing online. Dragging and dropping a variable does not work, only using the selection works. Will these be available in the V1.0 release or just best to stick to the old ladder until it's available? Thanks
Last updated: 2024-01-28

<< < 1 .. 53 54 55 56 57 .. 60 > >> (Page 55 of 60)

Showing results of 1488

Sort by relevance or date