Post by alez on CANOpen SDO to write VISIBLE STRING
CODESYS Forge
talk
(Post)
Hello, I am experiencing difficulties in configuring a CANopen device by sending SDOs. In particular I am attempting to write an Object Dictionary that has VISIBLE STRING as the Data Type. When I try to configure the sending of an SDO from Codesys to configure this parameter I am not allowed to enter a string value. In my particular case I am trying to change the Manufacturer Device Name ( Index 0x1008 ). Could it be that Codesys doesn't manage these types of variables?
Last updated: 2024-04-29
Post by ndzied2 on Rounding error in simple addition
CODESYS Forge
talk
(Post)
This is a consequence of how computers store floating point numbers. 0.1 cannot be exactly represented in a computer. This is not a CoDeSys thing. Here is a link to a converter to show you the exact value that is represented when you use a REAL data type (which is a 32 bit float). https://baseconvert.com/ieee-754-floating-point If you really need to keep track of 0.1 increments. use INT OR DINT and then add 1 each time and assume that there is one decimal place.
Last updated: 2024-05-24
Post by simotion on Inheritance of axis
CODESYS Forge
talk
(Post)
I have developped a function block 'Axis' the inherits from 'AXIS_REF_SM3' -> FUNCTION_BLOCK Axis EXTENDS AXIS_REF_SM3 In my global variable list I define a variable MasterDrive of type Axis and assign Axis1. Axis1 is a virtual drive (AXIS_REF_VIRTUAL_SM3). This type should inherit from AXIS_REF_VIRTUAL. VAR_GLOBAL MasterDrive : Axis := Axis1; However I get the error 'Cannot convert type'. What is the way to obtain what I want : function block inheriting AXIS_REF_SM3 and initialising this function block with a Softmotion virtual or real axis?
Last updated: 2023-12-07
Post by timvh on Device logon problem following fresh install
CODESYS Forge
talk
(Post)
In your project you selected the "CODESYS Control Win V3" as device, but the device you want to connect to is a "CODESYS Control Win V3 x64". Those are not the same. If you double click on the device during the network scan, you will get information that these are not the same, but that you can change the type in your project to the x64 bit type. Another option is to "right-click" on the device in the device tree of your project and select "update device" then select the x64 type.
Last updated: 2024-03-19
Post by mikek10 on Error IoDrvEthernetIP: Connection Failure. (16#1) How to solve
CODESYS Forge
talk
(Post)
Your connection configuration should look something like the attachment. Consuming assembly O->T will be the hex of the assembly you want to reference for output data - I want 102 (DO Data Only) shown in the Wago web page 102 = 16#66. Producing assembly (T->O) is the assembly you require for input data - again shown in the Wago web page - I want 108 (DI Data Only) or 16#6C Then set the number of bytes as per the data in the Wago web page too (both 2 in my case)
Last updated: 2024-07-22
Post by manuknecht on Persistence Manager does not save alphabetically first value
CODESYS Forge
talk
(Post)
After some more digging I realized that I get an error on the PLC Logger saying PersistenceChannel: 150 (invalid type in data: SimpleLibrary). I suppose the issue could be found in the ConfigData, which is automatically generated and which looks like this: 1 9##83 SimpleLibrary#GVL.aMoreZeros.[1]#0#64512#15#0 <[2]#0#64520#15#0 <[3]#0#64528#15#0 <[4]#0#64536#15#0 <#0#64544#15#0 <[6]#0#64552#15#0 <<lrVar#0#64560#15#0 <strVar#0#64428#16#80 <uiDummy#0#64370#11#0 Perhaps the fact that the variable is stored within a library confused the compiler? I tried changing the PersistenceChannel parameters to xCompressTags := FALSE which changed the entry in the data file from _xCompressTags BOOL:TRUE _xCompressTags BOOL:FALSE but the actual content of the data file and also the config data did not change.
Last updated: 2023-10-17
Post by eschwellinger on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
The "remove unused" parameters have been added to 1.0 version as well as the "manual" removal of pins... also allowed "empty" inputs for blocks is in and the compile error described there should no longer occurs. Drag drop of variables is not yet implemented and I don't think the double-click feature yet either.
Last updated: 2024-01-29
Post by matthew on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
Hi @eschwellinger Just wondering if there is any update when the Expression or part of it has no effect will be fixed? Also have the ability to open an FB when online and offline. It would also be great to be able to view the ST code block when online.
Last updated: 2024-05-14
Post by kobrakaister on Migration from ISaGRAF to CODESYS
CODESYS Forge
talk
(Post)
Hello everyone, I need to migrate my existing automation projects from ISaGRAF to CODESYS, and I'm looking for guidance and the best tools and strategies to ensure a smooth transition. Are there any reliable software tools or plugins that can help the conversion? What strategies should I adopt to maintain project integrity? Thank you for the help you can provide! Mat
Last updated: 2024-10-03
Post by paulorb on STRUCT AT %MW1000
CODESYS Forge
talk
(Post)
Hi I am trying to use STRUCT to parse commands from Modbus/TCP, Modbus client will fill the bytes related to a specific command (type, parameters), then PLC (Codesys) will access the command parameters. A STRUCT will simplify a lot the process of parsing the data, so I don't need to parse byte per byte, address will be mapped to a struct and I can use it for parsing the data. From what I understood, the compiler does not allow me to specify the location of the struct for a %MW register. VAR_COMMAND AT %MW1002: structGenericModbusCommand; This will throw: Bad declaration, use '%ML' for 'structGenericModbusCommand' variable But If I change it to %ML, when you go online you see that it is actually allocating the struct in another memory address. When we go online, on GVL we can see: VAR_COMMAND. structGenericModbusCommand %ML1002 commandType COMMANDTYPE %MB8016 ... %MB8020 I am not specifying a pointer or a reference it is a struct type, why is it mapping to a %MW location (random one). How can I control where it is mapping to? I need a consistent way to map STRUCT to specific modbus address. Is it possible? Thanks, Paulo Note I am using a Codesys OEM: Schneider Machine Expert Logic Builder (M241)
Last updated: 2024-08-13
Post by simotion on Property
CODESYS Forge
talk
(Post)
Why can't a property be of type REFERENCE TO? Plc goes to stop if I try that.
Last updated: 2023-12-14
Post by ph0010421 on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
My guess is that's a STRING, not an INT type. And it's 128 bytes, not bits
Last updated: 2024-09-23
Post by athuum on Error 'Library not found' and 'Unkown type'
CODESYS Forge
talk
(Post)
I have found the solution, the CmpEventMgr version has to correspond with the 3sLicense version.
Last updated: 2024-10-10
Post by eschwellinger on License problem gateway
CODESYS Forge
talk
(Post)
most important information are missing: Which CODESYS Version? Which runtime version? Which plc type (manufacturere).. Not all plc manufacturer already support application based licenses. From your pictures I see you have activated 4 axis Motion (which is an applications based license type) does only work on plc's which do support this.
Last updated: 2024-04-25
Post by phoward131 on Numpad decimal value requires leading zero
CODESYS Forge
talk
(Post)
I have noticed on the standard numpad dialog, if a user enters a purely decimal number (ie '.6'), the numpad will not accept the value but gives no indication. One must type a leading zero (ie '0.6') in order for it to work. Is there a way to correct this so that a user can just type the decimal value?
Last updated: 2024-04-30
Post by timvh on FB string and naming
CODESYS Forge
talk
(Post)
Really not clear what you are trying to do, but isn't a Struct enough? So add an object of the type DUT to the Application. Then create a structure TYPE ST_Sensor : STRUCT sName : STRING; uiNumber : UINT; END_STRUCT END_TYPE Then in you application add an instance of this Structure stSensor1 : ST_Sensor := (sName := 'my sensor', uiNumber := 1); or use it like this stSensor1.sName := 'my sensor';
Last updated: 2024-09-28
Post by eschwellinger on Scan Network on gateway created with Control Sl
CODESYS Forge
talk
(Post)
it seems that the device you scan, is not the same type which you have added to the project in CODESYS. Virtual Control is Arm 64 SL so please select this type in CODESYS when you generate a new Application..or right click to the device- update device - virtual Control Arm 64 SL
Last updated: 2024-10-16
Post by thysonfury on OPTO22 Groov Epic PR2 Modbus Comms Dropping out every 2 hours and 4 Mins
CODESYS Forge
talk
(Post)
Hi after some assistance with an error on a Groov PR2 PLC. We have a few different communications set up as shown below: One Modbus TCP Slave Connection - ( Sending / Receiving Data from a PC ) Two Modbus TCP Master Connection - ( Reading Data from a UPS Panel and Reading Data Gas Chromatograph) One Modbus RTU Slave Connection 485 - (Reading Data from a fire and gas panel) One Modbus RTU Master Connection 485 - (Sending Data to a Telemetry Unit) All Licenses have been installed as per OPTO22 suggestions of the order below: Modbus TCP Master Modbus TCP Slave Modbus RTU Master Modbus RTU Slave When I check on License manager the RTU Master license seems to disappear on installing the RTU. (What ever reason I’ve been told this is “normal”). If I use Device License Read It will successfully read all the licenses correctly. Now the issue is every 2 hours and between 4. For what ever reason the communications seems to end and lock up for about 20 seconds. During this time even if I was logged into the PLC it would kick me off and I’d have to re type the password to enter. Most of the devices can handle this however the RTU flags up a communications failure at the SCADA and is raising alarms every 2 hours and 4 mins. We’ve had multiple people go through the code to check for anything obvious. Does anyone have any ideas?
Last updated: 2024-04-15
Post by thysonfury on OPTO22 Groov Epic PR2 Modbus Comms Dropping out every 2 hours and 4 Mins
CODESYS Forge
talk
(Post)
Hi after some assistance with an error on a Groov PR2 PLC. We have a few different communications set up as shown below: One Modbus TCP Slave Connection - ( Sending / Receiving Data from a PC ) Two Modbus TCP Master Connection - ( Reading Data from a UPS Panel and Reading Data Gas Chromatograph) One Modbus RTU Slave Connection 485 - (Reading Data from a fire and gas panel) One Modbus RTU Master Connection 485 - (Sending Data to a Telemetry Unit) All Licenses have been installed as per OPTO22 suggestions of the order below: Modbus TCP Master Modbus TCP Slave Modbus RTU Master Modbus RTU Slave When I check on License manager the RTU Master license seems to disappear on installing the RTU. (What ever reason I’ve been told this is “normal”). If I use Device License Read It will successfully read all the licenses correctly. Now the issue is every 2 hours and between 4. For what ever reason the communications seems to end and lock up for about 20 seconds. During this time even if I was logged into the PLC it would kick me off and I’d have to re type the password to enter. Most of the devices can handle this however the RTU flags up a communications failure at the SCADA and is raising alarms every 2 hours and 4 mins. We’ve had multiple people go through the code to check for anything obvious. Does anyone have any ideas?
Last updated: 2024-04-15
Post by thysonfury on OPTO22 Groov Epic PR2 Modbus Comms Dropping out every 2 hours and 4 Mins
CODESYS Forge
talk
(Post)
Hi after some assistance with an error on a Groov PR2 PLC. We have a few different communications set up as shown below: One Modbus TCP Slave Connection - ( Sending / Receiving Data from a PC ) Two Modbus TCP Master Connection - ( Reading Data from a UPS Panel and Reading Data Gas Chromatograph) One Modbus RTU Slave Connection 485 - (Reading Data from a fire and gas panel) One Modbus RTU Master Connection 485 - (Sending Data to a Telemetry Unit) All Licenses have been installed as per OPTO22 suggestions of the order below: Modbus TCP Master Modbus TCP Slave Modbus RTU Master Modbus RTU Slave When I check on License manager the RTU Master license seems to disappear on installing the RTU. (What ever reason I’ve been told this is “normal”). If I use Device License Read It will successfully read all the licenses correctly. Now the issue is every 2 hours and between 4. For what ever reason the communications seems to end and lock up for about 20 seconds. During this time even if I was logged into the PLC it would kick me off and I’d have to re type the password to enter. Most of the devices can handle this however the RTU flags up a communications failure at the SCADA and is raising alarms every 2 hours and 4 mins. We’ve had multiple people go through the code to check for anything obvious. Does anyone have any ideas?
Last updated: 2024-04-15
Post by ewi04 on Git - User identification data is lost when codesys is closed
CODESYS Forge
talk
(Post)
Hallo, it's not a big problem, but it is a bit annoying. The git user identification data is lost when codesys is closed. So I have to enter the information again and again. Is there a way to save the data? Environment: Codesys V3.5 SP19 Patch 4 (64Bit), Git 1.3.0.0 Thanks
Last updated: 2023-11-22
Post by fazlinda on AWS IoT core CODESYS
CODESYS Forge
talk
(Post)
Hi, Im having a problem sending a data from my structure text code from codesys to aws. Instead of receiving {state {reported {data: 123}}} It display {state {reported {data: 123}}}\x00 \x00 \x00 \x00 \x00 \x00 \x00 Please help me solve this issues. how to remove \x00 ?
Last updated: 2023-12-06
Post by fazlinda on AWS IoT core CODESYS
CODESYS Forge
talk
(Post)
Hi, Im having a problem sending a data from my structure text code from codesys to aws. Instead of receiving {state {reported {data: 123}}} It display {state {reported {data: 123}}}\x00 \x00 \x00 \x00 \x00 \x00 \x00 Please help me solve this issues. how to remove \x00 ?
Last updated: 2023-12-06
Post by fazlinda on AWS IoT core CODESYS
CODESYS Forge
talk
(Post)
Hi, Im having a problem sending a data from my structure text code from codesys to aws. Instead of receiving {state {reported {data: 123}}} It display {state {reported {data: 123}}}\x00 \x00 \x00 \x00 \x00 \x00 \x00 Please help me solve this issues. how to remove \x00 ?
Last updated: 2023-12-06
Post by fazlinda on AWS IoT core CODESYS
CODESYS Forge
talk
(Post)
Hi, Im having a problem sending a data from my structure text code from codesys to aws. Instead of receiving {state {reported {data: 123}}} It display {state {reported {data: 123}}}\x00 \x00 \x00 \x00 \x00 \x00 \x00 Please help me solve this issues. how to remove \x00 ?
Last updated: 2023-12-06
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
.