Search talk: codesys box with en/eno

 
<< < 1 .. 871 872 873 874 875 .. 877 > >> (Page 873 of 877)

Post by jackbrady on Function Blocks and arrays of function blocks CODESYS Forge talk (Post)
Hello, I am new to Codesys and PLC programming in general (please go easy ha!) I'm not looking for code to be written for me just some help and pointing in the right direction. I am writing some code to send commands to a relay based on input values (to put it simply). Quite basic stuff. I have wrote a function block that takes a global variable (Open_command:BOOL) and outputs to another global variable (Opened : BOOL). The function block is simulating a device so I'll eventually get the globals from that. I now need to create multiple versions of this function block/ device (lets say 100) but I need each iteration of that function block to reference it's own relevant global variable. I think that the best way of doing this would be to use arrays, although I could be wrong. I am aware that for up to 100 instances I could very well manually assign everything but that seems rather time consuming and I want a fancier way of doing it. Here is a very basic example of what I am looking to do, please note I have not written this in proper code it's just to show what I mean. Global Variables V[0-100] int Open_command [0-100] Bool Opened [0-100] Bool Function Block var input x : BOOL Var output y : BOOL if x then y = TRUE ELSE y = FALSE The input to my function block will be Open_command, output will be Opened Example code. If V[x] > 10 then Open_command [x] = TRUE ELSE Open_command [x] = FALSE (So when V1 goes above 10 I need Open_command1 = TRUE therefore initiating FB1 output. V2 > 10, open_command2 = True > FB2 output V3 > 10, open_command3 = True > FB3 output ... ... ) What I can't seem to figure out is how to tie all this together, I have read through the codesys documentation and if anything it has confused me more! ha. Apologies for the poorly written post but hopefully you understand what I am trying to get at. Thanks, Jack
Last updated: 2024-02-14

Post by janderson on OPC UA Server limitations, large array crashes runtime CODESYS Forge talk (Post)
What are the limitations of the OPC UA Server? I am trying to get data off my PLC that is acquired at high rates (~50k samples/s) so I am storing them in arrays and trying to get the arrays off the PLC. When I attempt to read a ~200k element array through OPC UA the server and runtime crashes (requiring tools -> update linux arm64 -> start runtime). Is there a better way to get highspeed data off? The ACDatalog library seems a bit irritating to use so I would prefer to go through OPC UA.
Last updated: 2023-08-23

Post by arnaud on eCockpit - unable to start simulation CODESYS Forge talk (Post)
Hi there! I'm using eCockpit WAGO software to develop HMI's for multiple projects. As I recently starting this, my knowledge on the software is somewhat limited (so maybe my question is a simple one). For most of my projects I can simulate the application and start it to test the code and HMI. However for two projects, I can initiate the "simulation activation" but I cannot start it. Nothing happens when I press start and the visualization shows "The online visualization is waiting for connection. please start the application". - I don't see any errors in the messages - Initially the project are made by a colleague, which moved on. I guess I'm forgetting something, like missing a setting. I appreciate any help I can get. If you need more information to help me out, let me know. Thanks!
Last updated: 2023-08-25

Post by alimans on Hex string CODESYS Forge talk (Post)
Hi kdkwhite, for Word you still can use suggested code by using a union structure and crack down your Word to two byte as bellow: TYPE CrackWordToByte : UNION InWord : WORD; OutBytes : ARRAY [0..1] OF BYTE; END_UNION END_TYPE then define your variable as this type: udInput : CrackWordToByte; now assign your Word variable input to InWord and send OutBytes[x] to the mentioned method: udInput.InWord := WordVariableInput; Input := udInput.OutBytes[x]; Regarding your question about the code: actually 48 is ascii code of "0" and while 65 is the ascii code of "A" so in above code 55 + 10 would be 65.
Last updated: 2023-09-20

Post by matthew on New Ladder Editor Issues CODESYS Forge talk (Post)
Hi There, When using the new ladder editor there is no option for function blocks to Remove uncalled FB call parameters. I also see no update function block. When you double click the function block it no longer opens the function block. I also now get warnings if I insert FB call without a contact in front. Warning is: (Impl)): C0373: Expression or part of it has no effect I take it the new editor must work differently? The only reason for using new ladder editor is the ST execute/block editing is far better, If you have alot of text in the old ST execute the editor window is very small and when online it's even worse. The new ST block seems a lot better Thanks!
Last updated: 2023-10-10

Post by matthew on Persistence Manager Backup CODESYS Forge talk (Post)
Hi, Is there a process to restore Persistence Manager files? I have backups of persistence variables used in a machine that is currently operating and tuned and all set points adjusted. There are about 500 persistence variables, they are building another identical machine. I would like to use Persistence Manager files from the first machine in the second also. I have tried copying the files and replacing them on the new RPI but then the Persistence Manager gets errors and then they are all reset to 0 etc I have tried adjusting the times to match. Instead of replacing whole file, I tried just changing the contents inside the file, but still does not work. I may be missing something here, but surely there must be a way to load a backup. Thanks!
Last updated: 2023-10-18

Post by simotion on Pointer to Softmotion axis CODESYS Forge talk (Post)
In my projet I use Softmotion. There are several Softmotion axis (type SM_Drive_Virtual). In the Global Variable List I have an array of pointers to the adress of the Axis. Axis : ARRAY[1..iMaxCntAxes] OF POINTER TO AXIS_REF_SM3 := ADR(AX01_Axis), // [1 ADR(AX02_Axis), // [2] This works, but when compiling I get the message : . [WARNING] E3D: GVL Device: PLC Logic: Application: C0564: A reference to uninitialized variable AX01_Axis is used for initialization of Axis. Accessing the uninitialized variable may result in unexpected behavior. [WARNING] E3D: GVL Device: PLC Logic: Application: C0564: A reference to uninitialized variable AX02_Axis is used for initialization of Axis. Accessing the uninitialized variable may result in unexpected behavior. Is there a way when initializing to force the hardware (softmotion axis) to first initialize and then the Global Variable List?
Last updated: 2023-10-25

Post by macros8 on Alarm Management - latched variable represented as Text list CODESYS Forge talk (Post)
Hi, I haven´t noticed you put the comment here. I thing it´s a bit different. What I want is to have detail errors of technology in data type e.g. INT. This variable I would latch to the corresponding error msg but I would like to get it convert to text from the text list and not keep it in INT form. Example. Main error Valve Error: SubErrors 1 - Both sensors 2 - Not retracted in time 3 - Not pulled out in time In HMI Main error + latch SubErrors => "Valve Error: Both sensors" The benefit is that text lists are part of translation and can be easily manipulated. I know I can create whole string msg in PLC but then, it lose advantage of Alarm management. Thanks. M.
Last updated: 2023-11-07

Post by bernd on Version 3.5.19.40 probleme bei FUN mit _to_ im Name CODESYS Forge talk (Post)
Hallo, ich habe von Version 3.5.19.0 auf 3.5.19.40 hochgerüstet, jetzt bekomme ich bei allen FUNs die "to" im Namen haben einen Fehlermeldung. Oft in der OSCAT.LIB verwendet. Gleiche Meldung wenn ich einen FUN neu anlege. Sobald ich das to weglasse z.b. nur "t" ist der Fehler weg. Programm ist unverändert. Fehlermeldung: Typ.... wird nicht unterstützt. Hat jemand das gleiche Problem? Bzw. wo liegt das Problem? Bzw. nutzt jemand das SP4 und bei ihm kommt der Fehler nicht? Läuft bei mir auf Rasperry. Beispiel: DT_TO_SDT -> Fehlermeldung Typ DT_TO_SDT wird nicht unterstützt. DT_T_SDT -> Übersetzung Fehlerfrei
Last updated: 2023-11-09

Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug? CODESYS Forge talk (Post)
I'm getting closer to the error. The combination of STRUCT and ARRAY probably causes the strange behavior. As soon as the ARRAY is followed by a variable, the problem arises. Examples: X: ARRAY[1..2] OF INT; // okay Y: ARRAY[1..2] OF STRUCT; // problem Z: STRUCT; Z.ArrayOfInt[1]; // okay Z.ArrayOfStruct[1].Variable // problem // *update - array of array also causes the error A: ARRAY[1..2] OF ARRAY[1..4] OF BOOL; // problem I can't be the only one who has this problem. Or? Maybe there is a solution. Anyone? Or is it a bug after all?
Last updated: 2023-11-17

Post by captaincookie on SP19 Runtime Zugriff auf lokales Dateisystem CODESYS Forge talk (Post)
Hallo, das konkrete Problem konnte ich seither leider nicht lösen, allerdings habe ich mit SP19 Patch 4 einen Workaround gefunden, der zumindest für meine Anwendung funktioniert: Zunächst besteht das Problem nicht für alle Funktionalitäten gleichermaßen. Die Anzeige einer .bmp oder .tiff-Datei im Visu-Elementtyp Bild beispielsweise funktioniert aus dem lokalen Dateisystem. Die Anzeige von .cnc-Dateien in einer Tabelle dagegen nicht. Allerdings funktioniert das wiederum, wenn der Dateipfad in den Ordner der PLC führt, genannt '_cnc'. In der PLC wird dieser Ordner über den Pfad _cnc/ erreicht. Auch lohnt es sich einen Blick in die PLC Config-Datei zu werfen und ggf. Anpassungen vorzunehmen. Einzelne Einträge definieren Zugriffsrechte und ähnliches. Die beschriebene Lösung ist nicht sonderlich schön und es erklärt das Problem nicht. Vielleicht kann das noch jemand anders beantworten.
Last updated: 2023-11-22

Post by mikek10 on HTTP Client TCP Init Error CODESYS Forge talk (Post)
Hi, I tried posting in the discussion for the HTTP Client example but perhaps that is not monitored? I have been using http client successfully for approximately 12 months, however in recent weeks I have begun to get TCP_INIT_ERROR when attempting to communicate. The only resolution seems to be power cycling and then the connection begins to work again for a time. I am not aware of any changes to code or libraries between working ok and now. Cold reset does not resolve, only power cycle. It seems the error from NBS.TCP_Client is 6002 which I think is invalid_addr However the address is the same when working and not working?
Last updated: 2024-07-04

Post by mubeta on parker servo and position CODESYS Forge talk (Post)
Reading between the lines of what you did not specify, it therefore seems to appear that in the programme, at the end of the movement order, there is an order to remove power and switch off the pulse modulation. if this is the case, it is obvious that the motor then remains free. If the position is to be maintained at the end of the movement, the motor current modulator, which on the PLC side is controlled via the MC_Power method, must not be interrupted. Another possibility is that in the motor drive settings, the standstill torque current is set very low or zero and without position monitoring. You have to check this via the servo motor drive.
Last updated: 2024-08-05

Post by bernhardw on Probleme mit MC_HALT_SML und MC_STOP_SML CODESYS Forge talk (Post)
Hallo … ich verwende: SoftMotionLight im Positions-Mode Ethercat-Bus Servoverstärker: Metronix BL4104-C . MC_HALT_SML funktioniert nicht zuverlässig (Achse fährt manchmal zu weit oder bis zum Softwareschalter) Ich habe festgestellt, dass intern beim Aufruf von Positions- auf Velocity-Mode umgeschaltet wird - und dann wird wahrscheinlich intern auf Drehzahl 0 abgeregelt. Kennt jemand dieses Problem? – der Wechsel der Betriebsart ja ist nicht verzögerungsfrei! MC_STOP_SML Der Baustein hat keinen Eingangsparameter "Deceleration" Die Achse stoppt und bleibt im Positions-Mode. Aber die Verzögerung ist nicht wie beschrieben: nicht "Objekt 6085h: quick_stop_deceleration" - sondern "Objekt 6084h: profile_deceleration" - aus zuvor aufgerufenem MC_MOVE_ABSOLUTE_SML Ich wäre dankbar für jeden Hinweis Gruß Bernhard
Last updated: 2024-08-05

Post by trusty-squire on parker servo and position CODESYS Forge talk (Post)
@gepert, When you say "I do not turn off power", are you saying you don't power off the drive, or you don't turn of the MC_POWER function block? I read your statement as you don't kill actual electrical power. MC_POWER should stay enabled. @Gustavo, not related to problem at all, but when you say 1.6 Nm is only enough torque to unscrew a loose bottle cap, I think that's a bit low. A quick mental math I use is 1 Nm is almost the same force as 1kG applied to a 10cm wrench. So 1.6kG applied to a 10cm wrench is still not a huge force, but more than enough to be felt if trying to turn the shaft by hand.
Last updated: 2024-08-06

Post by alimans on OPC-UA Server, Symbol Set: Raise an error: Object reference not set to an instance of an object. CODESYS Forge talk (Post)
Hi everyone, I just created a very simple library without any code and, added it to my very simple project. after adding this library, I get an error when I try to open "Symbol Set" in "OPC UA Server" in "Communication Manager". Here is the code of my POU in the library: FUNCTION_BLOCK POU VAR eCommand : (CMD_NONE:=0, CMD_RESET:=-1) INT := CMD_NONE; END_VAR Attached is the error that I get. I also noticed that by removing the enumeration variable above (eCommand), I can open the "Symbol Set" again. Anybody has any idea why this error is raised and how could I use enumeration variables without error in "OPC UA Symbol Set"?
Last updated: 2024-08-08

Post by gilbertamine on Comparing Arrays of structure CODESYS Forge talk (Post)
Hi Everybody, I'm looking for a simple way of comparing two array of a structure. My structure is define like this : TYPE Positions_T : STRUCT PosX: DINT; PosY: DINT; PosZ: DINT; END_STRUCT END_TYPE I have multiples Var : ARRAY [0..220] OF Positions_T, that I need to compare quickly. I don't really want to do a Loop that goes by every 220 points and compare each one of them so I was wondering if there is another way. I came accross the MEM.Compare function, but it require to know the size in Bytes of the memory, and I don't know how to do that... Has anybody an idea on how to do the comparing easily ? Thanks in advance
Last updated: 2024-08-22

Post by jonathan1321351 on IO-Link write parameters Ethernet/IP CODESYS Forge talk (Post)
I want to read and write parameters of an IO-Link device using acyclic messages. I have a Cube67+ in Ethernet/IP, connected to an IO-Link master. In the datasheet, I can find the parameters required for the message (Service, Class, Instance, etc.). I see the function block "Set_attribute_single" in the "EthernetIP Services" library, but I'm not sure how to correctly send the index and sub-index for the IO-Link device. The class in the datasheet is 0x80 for the IO-Link Parameter Object, but it’s not present in the CPIClass enum. Is there another function block more suitable for configuring IO-Link devices? (similar to "iol_call" in PROFINET or what’s used in EtherCAT).
Last updated: 2024-09-02

Post by jonathan1321351 on IO-Link read/write parameters Ethernet/IP CODESYS Forge talk (Post)
I want to read and write parameters of an IO-Link device using acyclic messages. I have a Cube67+ in Ethernet/IP, connected to an IO-Link master. In the datasheet, I can find the parameters required for the message (Service, Class, Instance, etc.). I see the function block "Set_attribute_single" in the "EthernetIP Services" library, but I'm not sure how to correctly send the index and sub-index for the IO-Link device. The class in the datasheet is 0x80 for the IO-Link Parameter Object, but it’s not present in the CPIClass enum. Is there another function block more suitable for configuring IO-Link devices? (similar to "iol_call" in PROFINET or what’s used in EtherCAT).
Last updated: 2024-09-04

Post by davidbo on RPI can system operation like rm in a shell have an impact on a Task cycle time CODESYS Forge talk (Post)
I have noticed that a rm file1.txt command on a shell has an impact on the cycle time for a TASK writing to file2.txt. Seen in the Monitor fane of the Task configuration Furthermore if a TASK makes a system call like rm, its cycle time increases of course but it seems to have an invisible impact on other TASKs too. I have a TASK for handling communication over the CANbus (SPI) where it stops sending "Heartbeats" for many seconds when another TASK does a system rm. Why is that not seen on the Monitor fane? Is even codesyscontrol paused when system calls are made? The CPU load is about 30-40%
Last updated: 2024-09-23

Post by andrebrandt on FB string and naming CODESYS Forge talk (Post)
Hi Tim. Not quite correct. What i'd like, is when you place the FB in prog, i choose a block NTC10k, and name this RT401. What i'm trying to do, is to get the name RT401 automaticly into the FB, so i can put this into the string i pass in a struct. So in var in POU, i saw this a place i could do this, RT401: NTC10k(Tag:='RT401'), but i can't get this to work. I shurly must have had something like this in FB: FUNCTION_BLOCK NTC10k String TAG But it's here where I'm stuck...
Last updated: 2024-09-30

Post by dakmueller on Digital Input nachrĂĽsten ohne Variablen umbenennen. CODESYS Forge talk (Post)
Hallo zusammen, ich habe ein Problem mit einer Anlage. Dort müsste eine Digital Input Karte(XNE-8DI-24VDC-P) nachgerüstet werden. Das Problem ist, dass wenn ich die Karte über die Steuerungkonfiguration einbinde, die Karte direkt hinter den Eingangskarten und vor den Analogkarten positioniert wird. Dadurch müsste ich die Variablen der Analogkarten ändern, die hinter der Digitalen Eingangskarten sind. Das wäre Mega Aufwand. Gibt es eine andere Möglichkeit? z.B hinter die Analogkarten zu Adressieren? Z.Zt. sieht es so aus: %IB0 %IB1 %IW2 %IW4 %IW6 Zwischen %IB1 und %IW2 soll die neue Karte. Dadurch wird %IW2 zu %IW4. Dadurch müssen alle Variablen nach %IW2 geändert werden. Vielleicht kann mir jemand helfen. Danke Dennis
Last updated: 2024-10-11

Post by trent on Automation server - trends stop recording - need to manually reconnect CODESYS Forge talk (Post)
Hi All, I use the analysis page in automation server to capture historical trends from my PLC - i only sample one point per hour but it does the job (for now) One issue I have is I often log on to analysis page to find the system has stopped recording trends from my PLC. To fix this, I need to choose "state information" in the "List view" under PLC and click "Reconnect" When I do this I see my variables listed under "parameters" under "PLC Details" start updating again and the trend in Data analyzer continues to update. My Question, Why do I need to manually reconnect? Is there a way to get automation server to automatically reconnect to the PLC so I continue to capture data from the PLC? Regards, Trent
Last updated: 2024-10-22

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

<< < 1 .. 871 872 873 874 875 .. 877 > >> (Page 873 of 877)

Showing results of 21921

Sort by relevance or date