Post by shafiq-dsc on Beckhoff EK series cannot detect but BK1120 detect
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Dear Support, I have i950 wants to connect with Beckhoff EtherCAT coupler BK1120. There are 2 GSD files for BK1120. 1. BK1120 without MDP.(EtherCAT ESI Device Description (XML)) 2. BK1120 with MDP. (EtherCAT BKxxx (MDP) configuration files) When connecting the BK1120 with i950, scanned devices detects BK1120 without MDP from ESI No1 above. But the KL1408 & KL2408 not detect because they have ELxxxx IO type. When manually insert BK1120 with MDP, the KL1xx8 is able to add manually also but the error shows and Install Missing Descriptions appears. The questions; 1. Why the error occurs? 2. Can the i950 connect with KLxxxx IO type or not? Regards, Shafiq
    
    Last updated: 2024-10-25
    
    
      
        Post by struccc on Problem Update new version Master ethercat
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, I had some issues as well migrating to the new version. What I have learnt: - Have to check all the libraries in the library manager, if they are the proper versions. - Some other parts of the application, maybe an old library referenced by another one can keep the old Ethercat libraries.... Use the "Placeholders" function on the library manager - See if there is a new version available of the slave "devices". Might just have to update them ... I had problems moving from 4.7 to with 4.8, especially with the 2nd adapter for redundancy - some devices failed to initialize properly.... So I have just downgraded those libraries now. P.
    
    Last updated: 2024-10-28
    
    
      
        Post by bertcom on Converting each character to a string into ASCII
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Good afternoon, I have a project where i need to split a string and send it in ascii code to an Domino Printer. Concept: i get an String from an Zebra scanner looking like this : " R002043;5410761402862;Oil Plus 2C Comp.A - Gris Belge;1286193824;" To start is the ";" the seperator. i found some functions to delete the ";" in a string. this is okay but now i want to convert each digit in the string into ascii like this: R=82 0=48 0=48 2=50 0=48 ... This because the printer wants to receive a string like this: <esc>OQ001TE 82 48 48 50 48 ...<eot></eot></esc> Anyone who can help me with setting me on the right track with some advice?
    
    Last updated: 2024-11-08
    
    
      
        Post by bertcom on Converting each character to a string into ASCII
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Good afternoon, I have a project where i need to split a string and send it in ascii code to an Domino Printer. Concept: i get an String from an Zebra scanner looking like this : " R002043;5410761402862;Oil Plus 2C Comp.A - Gris Belge;1286193824;" To start is the ";" the seperator. i found some functions to delete the ";" in a string. this is okay but now i want to convert each digit in the string into ascii like this: R=82 0=48 0=48 2=50 0=48 ... This because the printer wants to receive a string like this: <esc>OQ001TE 82 48 48 50 48 ...<eot></eot></esc> Anyone who can help me with setting me on the right track with some advice?
    
    Last updated: 2024-11-08
    
    
      
        Post by lsislsis on SIGABRT Error
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      2024-11-08T13:39:07.354Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state* We recommend a reboot of the controller now! 2024-11-08T13:39:07.354Z, 0x00000111, 8, 260, 3, #### Exception: More than 2 exceptions in CH_COMM_CYCLE: Stop logging 2024-11-08T14:36:33.126Z, 0x0000100d, 1, 0, 0, Demo mode expired. 2024-11-08T15:35:49.253Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-08T15:42:54.664Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! *
    
    Last updated: 2024-11-08
    
    
      
        Post by pistola on Visualization Size - Set Layout
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      I feel like this is a setting issue and I can't seem to find the right setting. I have a new project that I'm looking to add visualizations to however when I select my template size (1280 x 800) I make sure in my properties under the visualization tab, I have "Use specified visualization size" selected and my width set at 1280 and height set at 800. Now within my visualization editor I can't see to get the size outside of my template to grey out. I've attached a PDF showing what I'd like the visualization editor to look like and what mine currently looks like. Any help would be greatly appreciated.
    
    Last updated: 2024-11-12
    
    
      
        Post by garrian on How to write multiple coils (Modbus FC15)
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi there! I'm testing out modbus TCP/IP for my home brewery, using Wago PFC200 as both slave and master. I'm using Wago library WagoAppPlcModbus. Holding registers, input registers' and discrete inputs works fine, but when trying to write multiple coils, it doesn't work. Any idea what I'm doing wrong here? Attached is a screenshot of my code. I tried both using bit mapping and without. If I change to FC05, and write only 1 coil at the time, it works fine. But I want to write all at the same time.. Any help is very appreciated :)
    
    Last updated: 2024-11-16
    
    
      
        Post by sebastianrapi on Bibliothek: floatingpointutils
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      @Strucc.c: thanks very mutch. Yes, I think that was the problem. I tried yesterday a similar function, i have found: IEEE32 in REAL FUNCTION IEEE32_TO_REAL : REAL VAR_INPUT IN:DWORD; END_VAR VAR PTREAL:POINTER TO REAL; END_VAR PTREAL:=ADR(IN); IEEE32_TO_REAL:=PTREAL^; END_FUNCTION REAL in IEEE32 FUNCTION REAL_TO_IEEE32 : DWORD VAR_INPUT IN:REAL; END_VAR VAR PTDWORD:POINTER TO DWORD; END_VAR PTDWORD:=ADR(IN); REAL_TO_IEEE32:=PTDWORD^; END_FUNCTION http://www.oscat.de/community/index.php/topic,357.0.html And this works perfect. Now, the only thing that isn't clear is the libary "FloatingPointUtils, 3.5.17.0 (System)"... For me, the libary doesn't work. But the problem is now solved. Thanks a lot.
    
    Last updated: 2024-11-21
    
    
      
        Post by eozupek on File Transfer Error 4
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      I couldn't exactly solve the file transfer when I wanted to do multiple transfers while the compiler was open in a way that I couldn't understand. Notification from target: runtime received SIGABRT - system may be in an inconsistent state * We recommend a reboot of the controller now! * details of the target component that sent this notification: [CmpName=SysExcept, CmpId=0x00000103, ClassID=0X0001008, ErrorID=0X00000001, InfoID= 0X0000000j] I see the warning. I couldn't find out why error code 4 is coming or what kind of measures I need to take to prevent it from coming within the application. Can you help me? regards Emre OZUPEK
    
    Last updated: 2024-11-24
    
    
      
        Post by ofey on OPC server crash
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi! I repeatly encounter a crash of the OPC server, which forces a reboot of the controller with frequent connect/disconnect to the server. Have any of you encountered this before? And is it a workaround? ie. deny that particular client connection by timeout or similar instead of crashing the PLC? This is during a development phase of the user interface. Up to 3 others connect/disconnect frequently to test their code. It is a bit troublesome of the PLC crashes several times a day because of this :( I greatly appreciate all comments. I hope it exists a fix for this, or something that hinders the crash. I attached the logfile for the crash
    
    Last updated: 2024-11-26
    
    
      
        Post by hardcoder on EtherCAT Mailbox Gateway
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi all I found that in the last Ethercat master release (4.8.0.0) the Mailbox Gateway feature has been added. This would be useful for me to connect to a specific slave in my system, since its configuration software supports this type of gateway communication. Anyway I don't find usage information or examples. At the moment I tried to enable it in the ethercat master device settings and I configured with an IP address on the subnet of the ethercat adapter (i.e. ethercat nic configured with static ip 192.168.10.100 subnet 255.255.255.0, mailbox gateway configured to 192.168.10.30). I expected it would have responded to ping commands on the address but nothing happens. I am missing something?
    
    Last updated: 2024-12-11
    
    
      
        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 imdatatas on MC_CamIn did not work properly with SMC_FreeEncoder on SoftMotion 4.17.0.0
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi @tk096, Thank you for your response. Here is example project file and some screenshot for your analysis regarding this matter. In order to reproduce the problem on your side and make it independent of the hardware, I simulated the encoder counter incrementally for the master in this example. I configured a virtual axis as the slave motion axis. The problem occurs in the same way in the real hardware configuration (servo drive connected to Ethercat and hardware incremental encoder) in MC_CamIn. I hope this example helps you see the problem on your side and understand and find the source of the problem with FreeEncoderAxis for Softmotion 4.17.0.0. Best Regards, Imdat
    
    Last updated: 2024-12-19
    
    
      
        Post by arcadium on Library ENUM text representation in visualization
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello, Maybe someone could help with this. When I add ENUM to a text field I get the number instead of the text. For my own ENUM variable I have declared and enabled text list value is displayed as text, but I need enum text displayed from softMotion and other internal FB's. In the picture I have one of desired ENUM variable setup, but in the visu I have number, but in the watch window it's text. There is probably some checkbox to tick, but was looking for an hour, can't find a solution. Would apreciate some help
    
    Last updated: 2024-12-24
    
    
      
        Post by arcadium on Library ENUM text representation in visualization
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hello, Maybe someone could help with this. When I add ENUM to a text field I get the number instead of the text. For my own ENUM variable I have declared and enabled text list value is displayed as text, but I need enum text displayed from softMotion and other internal FB's. In the picture I have one of desired ENUM variable setup, but in the visu I have number, but in the watch window it's text. There is probably some checkbox to tick, but was looking for an hour, can't find a solution. Would apreciate some help
    
    Last updated: 2024-12-24
    
    
      
        Post by trusty-squire on Read "Homed" status from EtherCAT drive
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, Is there a way to read the homed status from the EtherCAT drive directly? I am currently flagging the homed status on the succesful completion of the MC_Home function block, but I have had false triggers where the drive didn't actually execute the homing procedure but the MC_Home FB is marked as complete without error. I looked at other MC/SMC function blocks but the closest I can find is the "Homing" bit from MC_ReadStatus FB, but this doesn't show if the drive is succesfully homed, only that it's homing. Any guidance is welcome. Thanks!
    
    Last updated: 2025-01-07
    
    
      
        Post by hboertz on CamBuilder and first boundary position not zero
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi @niallel, it is currently not possible to create periodic cams using SMCB.BoundImplicit(). If you want to create a periodic cam which does not start/end with all slaves values equal to zero, then you must specify the boundary conditions explicitly using SMCB.Bound(). When you finished your cam, you can check via CamBuilder.CheckContinuity(), if the cam fulfills the continuity requirements for a periodic cam (see input isPeriodic). But you are right, it should be possible to create periodic cams using implicit boundary conditions. I have added the following Jira issue, so that this feature might be included in a future SoftMotion version: SM-5537: CamBuilder: It should be possible to create periodic cams using implicit boundaries I hope this answers your question. Best regards, Hendrik
    
    Last updated: 2025-01-08
    
    
      
        Post by trusty-squire on Read "Homed" status from EtherCAT drive
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      @imdatatas, thanks for the info, I increased DSP402.uiHomingMinCycles to 10 and have a good feeling that will solve the issue of "false" homings. It's an intermittent issue so I'll report back once it's confirmed. @bruno-roth, also good info. According to my documentation, bit 14 is used to indicate the homed status. I did a test and the bit always stays true after it's been homed once (eg. even if I initiate a new homing procedure then hit the the e-stop mid homing), so I need to take that into consideration, but I can work with that. Thanks!
    
    Last updated: 2025-01-09
    
    
      
        Post by trusty-squire on Strange problem with the ‘MC_SetPosition’ function
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      How are the servo drives controlled? EtherCAT, step/dir pulses, other? Another thought is that - if it's step/dir pulse based control - the pulses from the PLC to the drive are getting missed/lost at high frequencies? If that's the case then there would be multiple troubleshooting steps/corrections that could be investigated. You could try to create a simplified program, with all the same parameters, that only has an MC_SetPosition FB you manually trigger and see if you are still getting the same results? When you manually control the motor directly from the servo drive software at the speeds you are calling for, does it move precisely to the target position?
    
    Last updated: 2025-01-18
    
    
      
        Post by sigurdrb on OPC server in "Communication manager"
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi! I was thinking of switching the OPC server config from "Symbol Configuration" to the "Communication manager" in the device tree. I Have a lot of arrays of structs that I have previously declared in the "Persistent Variable" object in the device tree. It seems as it is not supported to directly expose persistant variables to the OPC server like the "older" way of doing it in the symbol config. Is this correct? Do you recommend to just do it the old fashioned way, or should I edit the structure of the global variable list / persistant data / OPC server and set up the OPC server from the "Communication manager" object?
    
    Last updated: 2025-01-20
    
    
      
        Post by ton on String nach erlaubten/unerlaubten Zeichen durchsuchen
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi Timo, FUNCTION Sonderzeichen_Check : bool VAR_INPUT sInputString : STRING; // Zu prüfender String END_VAR VAR i: INT; iAsc: INT; END_VAR Sonderzeichen_Check:= TRUE; FOR i:= 0 TO len(sInputString) - 1 DO iAscii:= sInputString[i]; //Get ASCII value //Check value between 48('0') and 65('9') or between 65('A') and 90('Z') or between 97('a') and 122('z') or IF iAscii >= 48 AND iAscii <= 57 OR iAscii >= 65 AND iAscii <= 90 OR iAscii >= 97 AND iAscii <= 122 THEN //iAscii valit ELSE Sonderzeichen_Check:= FALSE; END_IF END_FOR Diese FUNCTION anrufen: VAR xTest1: BOOL; xTest2: BOOL; sCheck: STRING; END_VAR xTest1:= Sonderzeichen_Check(sInputString:= 'abcuharoahse89347KEWDL'); //=TRUE xTest2:= Sonderzeichen_Check(sInputString:= 'abcuharoahse89347KEWDL?'); //=FALSE IF Sonderzeichen_Check(sInputString:= 'CheckThisSting,') THEN sCheck:= 'OK'; ELSE sCheck:= 'NOT OK'; END_IF
    
    Last updated: 2025-01-20
    
    
      
        Post by z3r091 on EtherCATStackLibrary - CmpSysEthernet Unaufgelöste Referenz
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Guten Morgen, ich habe ein Problem mit dem Lesen von IO Link Geräten. Wir nutzen einen Festo IO-Link Master den ich mittels der Funktionen ETC_ADS_IoLinkRead und ETC_ADS_IoLinkWrite lesen und schreiben möchte. Dazu implementiere ich die Bibliothek EtherCATStackLibrary 4.6.1.0. Hier geht schon das erste Problem los. Diese Bibltiothek möchte eine weitere Bibliothek nutzen, die "CmpSysEthernet". Diese muss ich über die Platzhalter manuell auf "SysEthernet 3.5.19.0" linken. Dann sind erstmal keine Fehler mehr vorhanden und das Projekt lässt sich übersetzen. Beim oder vor dem laden in die (Eckelmann) Steuerung, bekomme ich dann aber Fehler über unaufgelöste Referenzen, über Funktionen aus der SysEthernet Bibliothek (siehe Screenshot). Hat da jemand eine Idee oder Lösung?
    
    Last updated: 2025-01-31
    
    
      
        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 imdatatas on String length issue in GetRecipeNames method
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, If the string length in the GetRecipeNames method is lower than the default value, there will be a problem with the resulting Recipe file names. For example; When the method in the link is called, let's say the defined string length is 19. In this case, the string content is corrupted as in the image. strArr: ARRAY[0..9] OF STRING(19); https://content.helpme-codesys.com/de/libs/Recipe%20Management/Current/pou-RecipeManCommands/GetRecipeNames.html The same problem does not occur when the string definition is made in the default size. strArr: ARRAY[0..9] OF STRING; FYI Regards, Imdat
    
    Last updated: 2025-02-19
    
    
      
        Post by imdatatas on String length issue in GetRecipeNames method
    
    
       CODESYS Forge
    
    
      talk
    
    (Post)
    
    
      Hi, If the string length in the GetRecipeNames method is lower than the default value, there will be a problem with the resulting Recipe file names. For example; When the method in the link is called, let's say the defined string length is 19. In this case, the string content is corrupted as in the image. strArr: ARRAY[0..9] OF STRING(19); https://content.helpme-codesys.com/de/libs/Recipe%20Management/Current/pou-RecipeManCommands/GetRecipeNames.html The same problem does not occur when the string definition is made in the default size. strArr: ARRAY[0..9] OF STRING; FYI Regards, Imdat
    
    Last updated: 2025-02-19
    
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.