Activity for Ingo

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Thanks a lot for your feedback. I will forward it to the team. An additional information: We are working on a students project to analyze the realtime performance on Kubernetes. On the testsystem, we got a maximal Jitter below 10us. This is achieved with several tweaks of the system, and by making heavy use of multicore. Its very impressive what's possible with a current realtime kernel!

  • Ingo Ingo committed [0620e3]

    Added workaround to use a central license server.

  • Ingo Ingo committed [r27]

    avoid download, when packages are already there

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    It depends a bit of the card that is used. Currently you can configure the runtime to use a fix memory mapped NVRAM, when the memory is mapped to a fix address, and behaves similar to a normal RAM. check this post: https://forge.codesys.com/forge/talk/Runtime/thread/170a3edf96/#519d

  • Ingo Ingo created ticket #150

    Search: View is corrupted

  • Ingo Ingo modified ticket #148

    Build Service is not working as expected

  • Ingo Ingo posted a comment on ticket #148

    Please retry it. The issue should be solved.

  • Ingo Ingo committed [r13]

    reenabled docu export

  • Ingo Ingo committed [r12]

    removed docu export for now

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    AFAIK it just means, that the interrupts are not calculated on those CPUs. When the other CPU(s) are not blocked, and have enough time, it has no negative effect on the interrupt performance. It might even have positive effects, as interrupts are not blocked by high priority realtime tasks of CODESYS. So this setup sounds really great!

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hi Rafael, sadly not. The files contain mainly generated machine code. So you can't really see the difference between the projects from the binary files. Cheers, Ingo

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I can agree with Tim. This is the problem. But when changing the pack mode, your program will not work on all controllers. For instance, when you have an ARM CPU, with a bit bad luck at the way the memory is connected, it is likely, that your DINT will not be correctly copied, when the memory is not aligned. So I really can't recommend to use this pragma, if you don't know exactly what you are doing. I think you can say, that only in two cases, this is no problem: you access the memory only with...

  • Ingo Ingo modified a wiki page

    Home

  • Ingo Ingo posted a comment on discussion Forge πŸ‡¬πŸ‡§

    Please let us take part. Because the solution sounds fairly simple. What did you need to do manually, and is so much work?

  • Ingo Ingo modified ticket #147

    gateway configuration for successful device scan

  • Ingo Ingo posted a comment on ticket #147

    Please use CODESYS Talk for such questions

  • Ingo Ingo posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    I agree with m.prestel. As you didn't write with which PLC you tried it, I would recommend to test it with the Control Win Soft PLC under windows. This way you can prove, that you did everything right in your project. If it doesn't work on the target, it would be interesting, which target that is. Cheers, Ingo

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    No tutorial I know of. But AFAIK the GPIO driver, which is included fits for all analog and digital GPIOs, which are accessible through the sysfs. And other external busses, like ethernet or CAN should also work, when there is a linux driver for the device. Cheers, Ingo necatibilgin forge@codesys.com schrieb am Sa., 11. Sep. 2021, 17:52: Is there any additional software requirement on Linux side to recognize of our controller's IOs by Codesys? I could not find any example about Linux Arm SL. If anyone...

  • Ingo Ingo modified ticket #146

    Trend auto axis not working with exception values

  • Ingo Ingo posted a comment on ticket #146

    This is a question for CODESYS Talk

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hi! Those events are scanned in the Scheduler interval, which is by default 1ms on most systems. But those events are not useful for fast reactions. Some systems provide so called "external events". Those can be better compared with " interrupt handlers". But the raspi has no support for that. Your only chance is a quick cyclic task, in which you execute your code. Cheers, Ingo

  • Ingo Ingo posted a comment on a blog post

    Hi Guilherme! You may have more luck, getting an anwers, when you ask your question in CODESYS Talk

  • Ingo Ingo committed [r11]

    skip compile-library step, as this doesn't work atm

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Currently I know no real successor. But (as a teaser) for SP18 I saw already concepts for defining constants per FB instance. With this it will be possible to scale buffers for each FB instance. I believe that this will substitute most uses for library parameters in a much better way.

  • Ingo Ingo modified ticket #145

    Control Loop Library - no source code available

  • Ingo Ingo posted a comment on ticket #145

    Hi Martin, sorry, but this question is not CODESYS Forge related. Maybe you want to ask this question in CODESYS Talk?

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    AFAIK the IEC61131 standard defines, that all variables are 0 initialized. It's more or less the other way around. You can define noinit if you want to avoid this initialization.

  • Ingo Ingo committed [r12]

    fixed hanging ffmpeg process under windows

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Did you try to define a watchdog for the task? Usually an expired watchdog should show you the endless loop: https://www.youtube.com/watch?v=Aeihipp6U4I

  • Ingo Ingo posted a comment on discussion Codesys V2.3 πŸ‡¬πŸ‡§

    Hey! Very good idea. Sure, you can do it like that. I don't know why I didn't come up with that. Because, this is the most straight use-case for union πŸ˜‰

  • Ingo Ingo modified a blog post

    User Feed

  • Ingo Ingo modified a blog post

    User Feed

  • Ingo Ingo modified a blog post

    User Feed

  • Ingo Ingo modified ticket #141

    Maximum screenshot limit

  • Ingo Ingo posted a comment on ticket #141

    Hi! Sadly this is not that easily possible. Allura has a fix limit for the screenshots. This is not configurable: if len(screenshots) >= 6: flash('You may not have more than 6 screenshots per project.', 'error')

  • Ingo Ingo posted a comment on ticket #142

    Unfortunately this is right at the moment. Seems like this feature for "Allura" (the underlying framework of forge) was never fully adapted to CODESYS Forge. For the moment: When somebody has a problem, please initiate the export, and ask here to get a link to it. We'll check, if you have the rights, and provide you the export.

  • Ingo Ingo modified ticket #144

    Install Codesys Control licence

  • Ingo Ingo modified a comment on ticket #144

    Please ask your question in the Store support: They might be able to help you...

  • Ingo Ingo posted a comment on ticket #144

    Please ask your question in the Store support: They might be able to help you...

  • Ingo Ingo posted a comment on discussion Codesys V2.3 πŸ‡¬πŸ‡§

    OK, then you need to glue them into an LINT or DWORD first. The "glueing" is actually a shift left, by 16Bit, and an OR of the two types. The shift is necessary to move the bits of the upper to bytes to the correct position. And the OR "merges" the two datatypes into one. With an implicite 32 bit intermediate value: real3 := TO_REAL(SHL(int2, 16) OR int1); And if you want to make it very explicit: dword4 := SHL(int2, 16); dword4 := dword4 OR int1; real3 := TO_REAL(dword4);

  • Ingo Ingo posted a comment on discussion Codesys V2.3 πŸ‡¬πŸ‡§

    Do you mean...? real3 := TO_REAL(int2 - int1); Didn't understand what exactly you meant with "diff" type.

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    AFAIK it is not. Maybe a workaround: drive your GPIOs from one task only (double check this in the 'task deployment' view). Do this in an Event task, which you trigger from a cyclic task, but only when you want to use those GPIOs. This way you have control over, what's written to the GPIOs during runtime. The initialization is still done by the CODESYS driver, but then you are able to reconfigure them in your external application. Cheers, Ingo

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    You are right. I also already heavily searched for the correct post, but didn't find it. The problem seems to be in the linking of the posts. Keeping links between the posts and attachments was the most tricky part, when we migrated the forum. @eschwellinger do you have the old projects still around? Maybe you can at least upload them?

  • Ingo Ingo modified a blog post

    CODESYS Git

  • Ingo Ingo posted a comment on discussion Codesys V2.3 πŸ‡¬πŸ‡§

    If your question is about python scripting, then this thread is totally the wrong place πŸ˜‰ Maybe you want to explain your problem in more detail in the "Engineering" forum. But just in case, that I got your question right, here is a pointer: simimar to read_value, you can do a write: https://forge.codesys.com/tol/scripting/snippets/14/

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Go to /var/opt/codesys and search for .User*.csv files. And for the future, you can disable it like this: https://youtu.be/9tfm0y_Bwis

  • Ingo Ingo committed [r25]

    make codemeter optional (for older releases)

  • Ingo Ingo modified a wiki page

    Home

  • Ingo Ingo committed [r24]

    make versions for CODESYS and EDGE overloadable

  • Ingo Ingo posted a comment on discussion Forge πŸ‡¬πŸ‡§

    Hi Sven, thanks for your contribution! What you've done sounds interesting! I just want to please you to publish the source library, too. The whole CODESYS Forge platform is about open source and the community. So others should profit from your source code.

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hi! This actually can be very easy, when I got your question right πŸ˜‰. I would intuitively use Write8, as you did. The interface is roughly: Write8(usiRegister, usiValue) So, to write your bit 4 to register 1, you need to call s.th. like this: // when you start counting with 1 // => 0000 1000 Write8(1, 16#8); // when you start counting with 0 // => 0001 0000 Write8(1, 16#10); Alternatively, you can write it in binary form, instead of hex: // when you start counting with 1 Write8(1, 2#00001000); //...

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hey, that's an amazing project. I'd be very proud, if parts of our software would make this beast move. Are you already using CODESYS in it, or is it a new modification, on which you are working? Regarding your question: You always need to return s.th. in IEC. So usually you return a BOOL, if you have nothing else to say. There is no such thing, like a void function. It doesn't also feel natural in IEC, as the function represents more or less its return value. When you return a resilt, you assign...

  • Ingo Ingo committed [r10]

    added drone.yml file

  • Ingo Ingo committed [r23]

    check if /lib64 is available

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Hi! The tool doesn't support it. But you already figured out how to start it w/o any UI. So you just need to write a script, which acts as such as server, and executes the other scripts. To execute them, I'd recommend to import them and call a method from them. This can be done with native python. Cheers, Ingo

  • Ingo Ingo created a blog post

    CODESYS Git

  • Ingo Ingo posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Sorry for the problems! Attachments are working again.

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Thanks a lot for this report, and even tracking down the problem this far. I appreciate this!

  • Ingo Ingo posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    I have only theoretical knowledge. But, what you need is a Socket CAN driver for your CAN device. The interface of the socket can driver then needs to be up, wehn the runtime starts. The rest should work, I guess.

  • Ingo Ingo posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It depends. First you need to know more about the exact format. Is it a 32bit IEEE floating point number, which is just packed into an array of 4 bytes? Then, s.th. like this: byValue : ARRAY OF BYTE; prValue : POINTER TO REAL; rValue : REAL; prValue := ADR(byValue); rValue := prValue^; Actually you use pointers to the data to cast it to the correct data type.

  • Ingo Ingo posted a comment on ticket #1

    Most likely linux-image-rt-amd64

  • Ingo Ingo created ticket #1

    Install Realtime kernel by default

  • Ingo Ingo modified a wiki page

    Home

  • Ingo Ingo posted a comment on discussion Forge πŸ‡¬πŸ‡§

    Hi Kodiac, which PLC are you using? I remember, that we had such a report with the Raspberry Pi. And there it seems to be related to the GPIO driver, which has timing issues, when it's called from different tasks.

  • Ingo Ingo posted a comment on discussion Forge πŸ‡¬πŸ‡§

    @oscarfokker / @tobivw I am sure, that I am not the only one, who is curious about your escape room project. Would be great if you could fill your wiki with some pictures / screenshots. Talk Topic about project #escaperoom

  • Ingo Ingo posted a comment on discussion Forge πŸ‡¬πŸ‡§

    @sayedali064 What's the idea behind this project? Talk Topic about project #target-for-8051

  • Ingo Ingo modified ticket #1

    PDO mapping parameters

  • Ingo Ingo posted a comment on ticket #1

    Hello Beember, sorry to ask. But how is this question related to the MCP3008 driver? Maybe you wanted to ask this in CODESYS Talk!?

  • Ingo Ingo posted a comment on discussion Deutsch πŸ‡©πŸ‡ͺ

    Hehe, super veranschaulicht mit dem KOP! πŸ˜‰ Aber da verschiedene Leute unterschiedlich denken, noch meine Merkregel. In der Mathematik gilt immer Punkt vor Strich. Bei logischen ausdrΓΌcken gilt "und" vor "oder". Doch! Ich wΓΌrde auch immer Klammern, und manchmal lieber verschachtelte IFs oder noch besser, mehrere IF BlΓΆcke hintereinander nutzen. Denn das macht den Code schlicht besser lesbar, und man kann auch klarer kommentieren, was dieser komplexe Ausdruck ΓΌberhaupt prΓΌfen soll.

<< < 1 2 >