Post by eschwellinger on Licensing info not available.
CODESYS Forge
talk
(Post)
will send out vplc preliminary version...!
Last updated: 2024-03-21
Post by fless on Warning C0564 when compiling CNC project with variables program
CODESYS Forge
talk
(Post)
Hello, we are porting a CNC project from codesys 3.5.16 to codesys 3.5.19. The project has lots of CNC programs with variables. now we get hundreds of messages like this. [WARNING] CNC Test SP19: TestCNC SPS: PLC Logic: Application: C0564: A reference to uninitialized variable varCNC is used for initialization of TestCNC_D. Accessing the uninitialized variable may result in unexpected behavior. The objects program_name_D are implicit generated by codesys. I see no way to generated them after the variables. Is there a way to correct the initialization order? We know how to suppress this warning. But we need a clean solution as the warning already saved us in a other nonCNC project. Attached a small demo of the problem.
Last updated: 2024-03-21
Post by kleeswi on Lizenz Reinstallieren
CODESYS Forge
talk
(Post)
Hier unser Vorgehen und die Fehlermeldung. Die ausgewählte Lizenz wurde früher auf dem gleicher Raspberry pi installiert und sollte sich daher wieder aktivieren lassen!
Last updated: 2024-03-21
Post by kevinrn on Licensing info not available.
CODESYS Forge
talk
(Post)
I'm facing a similar issue. @eschwellinger, can you also send me a preliminary version? Thank you in advance.
Last updated: 2024-03-21
Lizenz Reinstallieren
CODESYS Forge
talk
(Thread)
Lizenz Reinstallieren
Last updated: 2024-03-21
Post by tomast on Siemens V20 Frequenzumrichter über Modbus RTU
CODESYS Forge
talk
(Post)
Hi Tim, Have you sorted out your problem because i have also problems with i?
Last updated: 2024-03-21
Codesys and Siemens SINAMICS 20 modbus RTU "Response CRC Fail"
CODESYS Forge
talk
(Thread)
Codesys and Siemens SINAMICS 20 modbus RTU "Response CRC Fail"
Last updated: 2024-03-21
Post by tomast on Codesys and Siemens SINAMICS 20 modbus RTU "Response CRC Fail"
CODESYS Forge
talk
(Post)
Hi everyone, I'm currently working on a project involving the control of 5 VFDs via Modbus RTU, this time using the WAGO 750-8212 CPU. So far, I've managed to make progress, but I've encountered an issue. While I can successfully read and write to all the registers I need, I consistently encounter a "Response CRC Fail" error when attempting to write the value 1151 to the STW register at address 40100. I'm able to set the frequency via register 40101 and adjust all other parameters using different registers. Setting STW to 1150 results in the drive ready boolean from the ZSW-bit being received instantly. However, the moment I attempt to send 1151 to register 40100, I immediately receive the "Response CRC Fail" error for all channels. I've also attempted to use combined control, employing Modbus for frequency control and starting from a digital input. Everything seems to function properly until I send the start command to the VFD. Interestingly, I consistently encounter the same error the moment I send the start command, regardless of whether I use register 40006 (high) or 40100 (1151). Could someone please assist me in resolving this issue?
Last updated: 2024-03-21
Siemens V20 Frequenzumrichter über Modbus RTU
CODESYS Forge
talk
(Thread)
Siemens V20 Frequenzumrichter über Modbus RTU
Last updated: 2024-03-21
Post by florian on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Codesys has a motion libraries (SoftMotion), but you need to buy a licence keys for them to work. the most basic one is SoftMotionLight. you just have to select your drive in the device view and add a SoftMotionLight CiA402 axis. then the library is added to your project. You can use the SML_* motion FBs and configure the axis now.
Last updated: 2024-03-22
Post by wind-11 on Simulation Modubus
CODESYS Forge
talk
(Post)
Hallo zusammen, ich bin über die Arbeit auf ein Problem in der Simulation gestoßen. In einem Test-Projekt haben wir eine Modbus Verbindung aufgebaut. Dies wollten wir mit Test-Werten simulieren. Verbindung hat auch funktioniert, jedoch sind leider die Werte eingfrohren und melden keine "laufenden Daten". (Bild im Anhang) Da es meine ersten Berührungspunkte mit Codesys sind und mein Kollege an anderer Stelle weiter arbeitet, hatte ich gehofft, dass vielleicht hier jemand eine Idee hat. MfG und schon jetzt ein Danke vorweg.
Last updated: 2024-03-22
Post by markushunter on Different behavior between the "Start" button in the IDE and the Cmp function "AppStartApplication()"
CODESYS Forge
talk
(Post)
One workaround is to create a second application which is started after the rested of the main application. The second application starts the main application after time x and is rest after done start of the main application. No problems during the fieldbus re-start by this workaround.
Last updated: 2024-03-22
Different behavior between the "Start" button in the IDE and the Cmp function "AppStartApplication()"
CODESYS Forge
talk
(Thread)
Different behavior between the "Start" button in the IDE and the Cmp function "AppStartApplication()"
Last updated: 2024-03-22
Post by wind-11 on Problem with simulation Modbus
CODESYS Forge
talk
(Post)
Hello everyone, I encountered a problem in the simulation while working. In a test project we set up a Modbus connection. We wanted to simulate this with test values. The connection also worked, but unfortunately the values are frozen and do not report any “current data”. (Picture attached) Since these are my first points of contact with Codesys and my colleague continues to work elsewhere, I was hoping that someone here might have an idea. Kind regards and thanks in advance.
Last updated: 2024-03-22
Post by clabaldo on Open dialog from ST previous to version 3.5.16
CODESYS Forge
talk
(Post)
I have found a similar topic but tried to run it in C3.5.16 and the visualization crashed. https://forge.codesys.com/forge/talk/Engineering/thread/8be0f6f14a/ My question is what is the easiest way to run a dialog from ST, as we need an external device to open the dialog so we cannot use the button on the display itself.
Last updated: 2024-03-22
Post by esave on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Thank you very much Florian The SoftMotionLight package is actually more expencive than the normal SoftMotion. What is exactly the difference? Does my PLC need to be compatible with SoftMotion or does this work with any PLC?
Last updated: 2024-03-22
Open dialog from ST previous to version 3.5.16
CODESYS Forge
talk
(Thread)
Open dialog from ST previous to version 3.5.16
Last updated: 2024-03-22
Problem with simulation Modbus
CODESYS Forge
talk
(Thread)
Problem with simulation Modbus
Last updated: 2024-03-22
Post by ph0010421 on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Hello That's certainly CiA402. I'll attach a part of the manual for my servos, but the state diagram should be the same at yours. To be sure, get one from your manufacturer. Look at the bits in the StatusWord to see where you are in the diagram, then twiddle the bits in the ControlWord to get you to the next step. Then there are other bits in the StatusWord to tell you 'InPosition' and things like that. From the screenshot, as it mentions only 'PositionProfile' the driver will create the motion profile. So you need to put a target position in here - there should be profile velocity somewhere? Possibly, you need to write these with SDO's? At the minimum, you need to write a value to 0x6081, 0x6083 and 0x6084 (velocity, accel, decel)
Last updated: 2024-03-22
Post by tk096 on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup
CODESYS Forge
talk
(Post)
Hi, under this circumstances the performance of a Raspberry Pi 4 should be sufficient to run a Softmotion robotics application. A closer look at the project would be required. Maybe you could contact the codesys support? Usually it is recommended to run the planning task cyclically every 2ms with task priority of 0 on a dedicated core. In the task configuration you can have a look at the average and maximum execution time of the planning task. You could use the function block SMC_TuneCPKernel (https://content.helpme-codesys.com/en/libs/SM3_Robotics/Current/SM3_Robotics/POUs/AdministrativeConfiguration/Computation/SMC_TuneCPKernel.html) to define suitable values for the parameters 'fSyncBufferDuration' and 'fPlanningInterval'. However, as previously mentioned, the performance of a Raspberry Pi 4 with realtime patch should be sufficient. The 'fPlanningInterval' parameter specifies the maximum planning step width in seconds. The cycle time of the planning task should not permanently exceed this value. A higher value reduces the computational effort, but can lead to a violation or no full utilization of the set limit values for velocity, acceleration and jerk. From a starting value of 0.016 seconds, the value should be increased gradually until the performance is acceptable. The parameter 'fSyncBufferDuration' specifies the size (in seconds) of the buffer between the planning and fieldbus task. The cycle time of the planning task must not exceed this value at peak times (this will lead to the error SMC_CP_QUEUE_UNDERRUN). A higher value can compensate for peaks in the cycle time of the planning task. At the same time, however, this also increases the latency for executing interrupts and aborting movements.
Last updated: 2024-03-22
Post by ara32 on CODESYS 4 Linux:
CODESYS Forge
talk
(Post)
Hello! I managed to correctly launch CODESYS Developer Studio 3.5.17, almost all functionality works. The only issue remaining is that when connecting to a device and obtaining its public key, the NCryptEncrypt function is called, which is not fully implemented in the DLL source code, resulting in the connection not being established. Currently, the code of this function in the Wine repository looks like this: SECURITY_STATUS WINAPI NCryptEncrypt(NCRYPT_KEY_HANDLE key, BYTE *input, DWORD insize, void *padding, BYTE *output, DWORD outsize, DWORD *result, DWORD flags) { struct object *key_object = (struct object *)key; TRACE("(%#Ix, %p, %lu, %p, %p, %lu, %p, %#lx)\n", key, input, insize, padding, output, outsize, result, flags); if (flags & ~(NCRYPT_NO_PADDING_FLAG | NCRYPT_PAD_OAEP_FLAG | NCRYPT_PAD_PKCS1_FLAG | NCRYPT_SILENT_FLAG)) { FIXME("Flags %lx not supported\n", flags); return NTE_BAD_FLAGS; } if (flags & NCRYPT_NO_PADDING_FLAG || flags & NCRYPT_PAD_OAEP_FLAG) { FIXME("No padding and oaep padding not supported\n"); return NTE_NOT_SUPPORTED; } if (key_object->type != KEY) return NTE_INVALID_HANDLE; return map_ntstatus(BCryptEncrypt(key_object->key.bcrypt_key, input, insize, padding, NULL, 0, output, outsize, result, flags)); } The program crashes due to the NCRYPT_PAD_OAEP_FLAG flag. I'm not proficient in C++, but I attempted to add handling myself, and here's the result: SECURITY_STATUS WINAPI NCryptEncrypt(NCRYPT_KEY_HANDLE key, BYTE *input, DWORD insize, void *padding, BYTE *output, DWORD outsize, DWORD *result, DWORD flags) { struct object *key_object = (struct object *)key; TRACE("(%#Ix, %p, %lu, %p, %p, %lu, %p, %#lx)\n", key, input, insize, padding, output, outsize, result, flags); if (flags & ~(NCRYPT_NO_PADDING_FLAG | NCRYPT_PAD_OAEP_FLAG | NCRYPT_PAD_PKCS1_FLAG | NCRYPT_SILENT_FLAG)) { FIXME("Flags %lx not supported\n", flags); return NTE_BAD_FLAGS; } if (flags & NCRYPT_NO_PADDING_FLAG) { FIXME("No padding not supported\n"); return NTE_NOT_SUPPORTED; } BCRYPT_OAEP_PADDING_INFO oaepInfo = { 0 }; oaepInfo.pszAlgId = BCRYPT_SHA1_ALGORITHM; NTSTATUS status = BCryptEncrypt(key_object->key.bcrypt_key, input, insize, &oaepInfo, NULL, 0, output, outsize, result, flags); if (key_object->type != KEY) return NTE_INVALID_HANDLE; return map_ntstatus(BCryptEncrypt(key_object->key.bcrypt_key, input, insize, padding, NULL, 0, output, outsize, result, flags)); } Now, when calling the connection, it crashes with the error "bcrypt:BCryptEncrypt flags 0x4 not implemented." Can anyone help with enhancing this functionality or at least point me in the right direction?
Last updated: 2024-03-22
CODESYS 4 Linux:
CODESYS Forge
talk
(Thread)
CODESYS 4 Linux:
Last updated: 2024-03-22
Post by manuknecht on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup
CODESYS Forge
talk
(Post)
Hi, thanks a lot for the response. I did check all these parameters, but if the PlanningTask takes up to 60 ms, I can't increase the Buffer to such values. I contacted the Codesys support with a projectarchive. Let's see if they can help. Thanks again for your great support!
Last updated: 2024-03-22
Post by dagsupport on CAA SerialCOM - hCom Reset max value 1023
CODESYS Forge
talk
(Post)
Hi everybody We are currently working on a project with an RS232 serial COM interface and using the CAA SerialCOM library. We have it working fine reading and writing data, although we have found an issue we cannot resolve and any suggestions would be helpful. We have noticed that after a while the RS232 stops working. We have tracked this down to the HANDLE hCom keeps increasing and when this reaches 1023 the COM returns an unknown error "5003". Is there a way to reset this hCom reference? Thanks Richard
Last updated: 2024-03-22
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
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.