Post by dkugler on Alarm State Icon
CODESYS Forge
talk
(Post)
thank you for pointing me to this "bug"!! I haven't recognized, the bit is reset after the first alarm is gone. I use this only for warnings, so it's not a drama, but was not correct in the past. I solved it now simply stupid by counting up a variable every time an alarm appears and decreasing it if an alarm is gone. The "warning lamp" is activated by checking the counter is > 0 The nice side effect, i'm able to show the number of active alarms in the state line now.
Last updated: 2024-04-24
Alarm State Icon
CODESYS Forge
talk
(Thread)
Alarm State Icon
Last updated: 2024-04-24
Post by valenting on Problem with Licenced Software Metrics
CODESYS Forge
talk
(Post)
Hi, I can't compile my code with SP20, but when I use the "read current metrics from device" with SP20 I get the following, with "not yet supported" for the visualization part Is it supposed to be like this ?
Last updated: 2024-04-24
Post by kumareasu on Password to POU
CODESYS Forge
talk
(Post)
How to protect POU( Function or Function block or Program ) with a password.
Last updated: 2024-04-24
Post by bjarne-pagaard on Codesys v3.5 Sint to byte
CODESYS Forge
talk
(Post)
Hi A SINT is a short (signed) integer. It is already only 1 byte - so you should have no problem casting it to a byte like so: bMyByte := TO_BYTE(sintMyShortInt); If you have a regular INT you want to put in 2 bytes - there are a lot of ways you can do this. A Union is certainly one of them. You could have a union with 2 memebers: An array of 2 bytes as one member, and an integer value as another member. Another way would be to look at MEMCPY to put the value into your CAN-message. .. or create a function to take your input value as input, and giving you 2 individual bytes as output. This could be handy if you need to change the byte-order. Integer data types: https://help.codesys.com/webapp/_cds_datatype_integer;product=codesys;version=3.5.17.0 -Bjarne
Last updated: 2024-04-24
Codesys v3.5 Sint to byte
CODESYS Forge
talk
(Thread)
Codesys v3.5 Sint to byte
Last updated: 2024-04-24
Post by eschwellinger on cmDongle Raspberry Pi issue
CODESYS Forge
talk
(Post)
use Arm64 SL or Arm SL instead of the PI package - this will work
Last updated: 2024-04-24
Post by eschwellinger on Problem with Licenced Software Metrics
CODESYS Forge
talk
(Post)
check in the CODESYS installer which version is used update to latest
Last updated: 2024-04-24
cmDongle Raspberry Pi issue
CODESYS Forge
talk
(Thread)
cmDongle Raspberry Pi issue
Last updated: 2024-04-24
Post by ekristoffe on 3.5.19.0 IDE forced "hide namespaces" on 3.5.16.40 project
CODESYS Forge
talk
(Post)
Hello, I have the same problem, I used to enforce the usage of the namespace (which was really helpful). and now I can't even find the option (CS 3.5.19.20). Where in the option this setting used to be ? Thanks
Last updated: 2024-04-25
3.5.19.0 IDE forced "hide namespaces" on 3.5.16.40 project
CODESYS Forge
talk
(Thread)
3.5.19.0 IDE forced "hide namespaces" on 3.5.16.40 project
Last updated: 2024-04-25
Visualization - table element
CODESYS Forge
talk
(Thread)
Visualization - table element
Last updated: 2024-04-25
Post by damian177 on Visualization - table element
CODESYS Forge
talk
(Post)
Hi, In my application I use table elemnt with filled by STRING ARRAY. I would like to implement the following functionality : When I click on second row, that this row will be cleared. Anyone can help me?
Last updated: 2024-04-25
Post by esave on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
I bought and installed SoftMotion Light now. When I try to add a SoftMotion Light Axis to my stepper drive and I go online it shows: "The license is missing or invalid". See picture What am I doing wrong? This is the right way right? First add your EtherCat XML-File from your stepper driver and then add the SoftMotion Light axis right? Thanks for your help esave
Last updated: 2024-04-25
Stepper Drive with Ethercat
CODESYS Forge
talk
(Thread)
Stepper Drive with Ethercat
Last updated: 2024-04-25
Post by reinier-geers on License problem gateway
CODESYS Forge
talk
(Post)
By browser is not working. Tim suggestet to use Codesys and stick in the laptop. Thats working. But now with a stick with licence but no running motion.
Last updated: 2024-04-25
Error in simple division
CODESYS Forge
talk
(Thread)
Error in simple division
Last updated: 2024-04-25
Post by yongchaow on Can't connect to Device Raspberry Pi 4 from CODESYS IDE V3.5 SP19
CODESYS Forge
talk
(Post)
Hi, eschwellinger, I have the same problem, but I can not resolve the problem following this forum. There are my situation: pi@RevPiXXXX:~ $ uname -a Linux RevPiXXXX 5.10.120-rt70-v7l #1 SMP PREEMPT_RT Thu, 28 Jul 2022 10:36:48 +0200 armv7l GNU/Linux After "top": It looks like runtime is not running. One more piece of information to refer to, when I reboot the device it is possible to scan the device. Looking forward your reply.
Last updated: 2024-04-25
Post by benitohb on Error in simple division
CODESYS Forge
talk
(Post)
Hello. thanks for your help! you saved my life.
Last updated: 2024-04-25
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 reinier-geers on License problem gateway
CODESYS Forge
talk
(Post)
16.4 Epis What has it to do with the manufacture? It just a licence more not. So basicly the idee of codesys sucks. 3s acts like its posible to add a license. And then it depence on the manufacturer. Why ?? Its a computer !! has nothing to do with the manufacturer. Most dont what a basic licence because they have to pay for that. 3s is the problem not the manufacture of the hardware. Its like the licence of the raspberry pi. HMI is not working. Sorry you get a refund. Why suggest that its possible wen its not !!. It cost me a lot of time. Who pays my time. Why do i have to pay for somting thats not working.
Last updated: 2024-04-26
Safety EL6900 com Error
CODESYS Forge
talk
(Thread)
Safety EL6900 com Error
Last updated: 2024-04-26
Post by cpoi on Safety EL6900 com Error
CODESYS Forge
talk
(Post)
Hello, I using the EL6900 module with EL 1904 and EL2904 on Ethercat, and I have a ComErr on the EL6900. The FSoE Adresse : EL6900 = 1 EL1904 = 11 EL2904 = 15 Any suggestion? Thanks a lot in advance.
Last updated: 2024-04-26
Post by scoob on ModbusFB - Slow Response Time
CODESYS Forge
talk
(Post)
Hello, I have been trying to use the ModbusFB functions so I can put some code into libraries, but it seems to be very slow for me. I have a Modbus device with 100ms registers. I previously setup 10 channels in the 'traditional' Modbus Slave with channels and mappings - and set a cyclic trigger at 100ms - this worked fine. I then tried the ModbusFB example, and setup reading the same 10 blocks of modbus addresses, copying the example and putting all of the requests into an array and triggering the requests sequentially. I timed how long the requests are taking to get round to each one, and it is around 1s 450ms. How do I speed this up to match the cyclic time? IF NOT(init) THEN init := TRUE; // Set the required IP address: ipAddress[0] := 192; ipAddress[1] := 168; ipAddress[2] := 1; ipAddress[3] := 10; // Pass the required IP address to the clinet FB: client_NetworkSwitch.aIPaddr := ipAddress; client_NetworkSwitch.udiLogOptions := (ModbusFB.LoggingOptions.ClientConnectDisconnect OR ModbusFB.LoggingOptions.ClientReceivedValidReplies); // Try to connect the client client_NetworkSwitch(xConnect:=TRUE); // Configure all the channels to read connecting them to the client: portStatus_Request(rClient := client_NetworkSwitch, uiStartItem := 4096, uiQuantity := 32, pData := ADR(portStatus), udiReplyTimeout := udiReplyTimeout); portSpeed_Request(rClient := client_NetworkSwitch, uiStartItem := 4352, uiQuantity := 32, pData := ADR(portSpeed)); flowControl_Request(rClient := client_NetworkSwitch, uiStartItem := 4608, uiQuantity := 32, pData := ADR(flowControl)); linkUpCounter_Request(rClient := client_NetworkSwitch, uiStartItem := 5888, uiQuantity := 32, pData := ADR(linkUpCounter)); txPacketCounter1_Request(rClient := client_NetworkSwitch, uiStartItem := 8192, uiQuantity := 100, pData := ADR(txPacketCounter1)); txPacketCounter2_Request(rClient := client_NetworkSwitch, uiStartItem := 8292, uiQuantity := 28, pData := ADR(txPacketCounter2)); rxPacketCounter1_Request(rClient := client_NetworkSwitch, uiStartItem := 8448, uiQuantity := 100, pData := ADR(rxPacketCounter1)); rxPacketCounter2_Request(rClient := client_NetworkSwitch, uiStartItem := 8548, uiQuantity := 28, pData := ADR(rxPacketCounter2)); txErrors_Request(rClient := client_NetworkSwitch, uiStartItem := 8704, uiQuantity := 64, pData := ADR(txErrors)); rxErrors_Request(rClient := client_NetworkSwitch, uiStartItem := 8960, uiQuantity := 64, pData := ADR(rxErrors)); // Trigger all client requests initially FOR clientRequestsCnt := 0 TO (SIZEOF(clientRequests)/SIZEOF(clientRequests[0]))-1 DO pClientRequest := clientRequests[clientRequestsCnt]; pClientRequest^.xExecute := TRUE; END_FOR // Prepare sequential trigger / control of client requests. clientRequestsCnt := 0; pClientRequest := clientRequests[clientRequestsCnt]; END_IF // Call the client to do request processing: client_NetworkSwitch(); // Now we trigger client request sequentially ... IF NOT pClientRequest^.xExecute AND NOT pClientRequest^.xDone AND run AND client_NetworkSwitch.xConnected THEN pClientRequest^.xExecute := TRUE; END_IF // .. and check result/error IF pClientRequest^.xExecute AND run AND client_NetworkSwitch.xConnected THEN IF pClientRequest^.xDone THEN // Prepare next trigger of client request (a rising edge of xExecute) pClientRequest^.xExecute := FALSE; IF clientRequestsCnt < SIZEOF(clientRequests)/SIZEOF(clientRequests[0])-1 THEN // next client request clientRequestsCnt := clientRequestsCnt + 1; ELSE clientRequestsIterationCounter := clientRequestsIterationCounter + 1; clientRequestsCnt := 0; END_IF pClientRequest := clientRequests[clientRequestsCnt]; END_IF END_IF I did try a semi-coded way using the IoDrvModbusTCP library, and setting the slave com settings, then 10 commands and 10 requests, then using a TP on xDone as a pause, before triggering another request - this is time the delay is around 120ms - so the device is fine with the speed, just something I am doing wrong in the ModbusFB method I am sure.
Last updated: 2024-04-26
Post by valenting on Problem with Licenced Software Metrics
CODESYS Forge
talk
(Post)
Hi, I tried with another project, using codesys SP20 with the latest visualization installed, I can install the application on my device but it doesn't work I get an exception "invalid license metrics" and the app won't run See attached the metrics in project and allowed by license, and the logs What am I supposed to do ? Everything is in the newest version and the values are lower than allowed and nothing works...
Last updated: 2024-04-26
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.