Activity for mondinmr

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

    Is not very clear what do you want? But a simple event press and release with debounce could be as follow: VAR tmDebounce : TON; oldState : BOOL; END_VAR .... tmDebounce(IN := buttonState <> oldState, PT := T#50ms); IF tmDebounce.Q THEN oldState := buttonState; IF buttonState THEN eventPressFunction(); ELSE eventReleaseFunction(); END_IF END_IF Functions, or if you prefer methods or actions are called only once after debounce time on falling or rising edges.

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Buster. I'm still in Buster, Bullseye is too young. Here is my kernel line in i7 using KVM as hypervisor. GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2,3 processor.max_cstate=1 intel_idle.max_cstate=0 acpi_irq_nobalance noirqbalance console=ttyS0 earlyprintk=ttyS0 quiet nofb loglevel=0 vfio-pci.ids=1002:6987,1002:aae0,8086:9dc8 nofb nomodese intel_iommu=on iommu=1 video=vesafb:off,efifb:off vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1" In BIOS I disabled hyperthreading isolcpus=2,3 turn...

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

    Buster. I'm still in Buster, Bullseye is too young. Here is my kernel line in i7 using KVM as hypervisor. GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2,3 processor.max_cstate=1 intel_idle.max_cstate=0 acpi_irq_nobalance noirqbalance console=ttyS0 earlyprintk=ttyS0 quiet nofb loglevel=0 vfio-pci.ids=1002:6987,1002:aae0,8086:9dc8 nofb nomodese intel_iommu=on iommu=1 video=vesafb:off,efifb:off vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1" In BIOS I disabled hyperthreading isolcpus=2,3 turn...

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

    Port CODESYS development system to an extension in VS Code could be very good. Code management is much more better.

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

    Intel(R) Core(TM) i5-6440EQ CPU @ 2.70GHz Same kernel tuning. 10Β΅s!!! As in attached screenshot.

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

    Isolcpus is the basis. Then there are a couple of extra parameters on the kernel line. An additional script that shifyvinterrupts the kernel previously assigned is very useful in init. Then there would be the two interval parameters in codesyscontrol.cfg, but I haven't found any documentation and I still don't quite understand what they change. I know for a fact that they affect jitter a lot. And in last some tuning in /sys and /proc.

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

    Another test! -Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz -Debian/Linux Buster; -RT kernel; -Headless system; -KVM Hypervisor; -Hyperthreading disabled; -Core 2 and 3 detached from OS; -Core 0 and 1 used by OS and pinned to Windows10 VM; -Windows10 running with main GPU, USB and WIFI in passtrought; -Runtime Linux SL 4.0.2; -Codesyscontrol main process forced to core 2; -IEC tasks fixed and pinned to core 3; -Many tunings in kernel parameters; Max Jitter 18Β΅s after 20 minutes!!!

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    @Igno, you activated me! I played around with /etc/CODESYSControl.cfg, interrupts, kernel parameters etc ... 22Β΅s on J1900 ... Not under 10Β΅s like your tests, but a good result for me. In a system running KDE as window manager!

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    @Igno, you activated me! I played around with /etc/CODESYSControl.cfg, interrupts, kernel parameters etc ... 21Β΅s on J1900 ... Not under 10Β΅s like your tests, but a good result for me. In a system running KDE as window manager!

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

    @Igno, you activated me! I played around with /etc/CODESYSControl.cfg, interrupts, kernel parameters etc ... 21Β΅s on J1900 ...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Wow just tested on a J1900!!! 39Β΅s max jitter!!! We'll put in production next month.

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

    Wow just tested on a J1900!!! 39Β΅s max jitter!!! We'll put in production next month.

  • mondinmr mondinmr modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Shared Memory! Is very simple use it!!! In Qt Window you can use QSharedMemeory, running application as administrator and connecting CODESYS with key. In Qt Linux you must use system functions, Qt manage shared in a non compatible way to CODESYS, but is very easy. Here you have an example of our shared memory manager class. Working in Windows and Linux. Remember //Global/ in shm keys on windows systems. #ifndef ADVSAHREDMEMORYMANAGER_H #define ADVSAHREDMEMORYMANAGER_H #include "advabstractmemorymanager.h"...

  • mondinmr mondinmr modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    Is in opposite OOP direction! We have many large projects in OOP using that for OOP privacy!!! Is bad and unsafe thing convert all to pointers! Instead of reporting the use of REFERENCE TO in return values as an error, it would have been better to allow the methods to return CONST REFERENCE TO as well, in accordance with modern OOP languages. You have done a great job of creating the only true OOP environment for industrial automation. I implore you !!! Don't follow those crazy big companies that...

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

    We started using Linux SL since 3.5.12. On i5 6th gen., isolating 2 cores, using RT Preempt Kernel precompiled by DEBIAN, was very interesting see improvements update after update. 3.5.12 Max Jitter in field application ~180Β΅s. 3.5.14 Max Jitter in field application ~102Β΅s. 4.2.0 Max Jitter in field application ~62Β΅s. In 4.2.0 is near RTE windows Jitter on same hardware, but with a big advantage on security side. Linux SL is running in user space and it's possible isolate it on a chroot jail!!! Windows...

  • mondinmr mondinmr modified a comment on discussion Motion πŸ‡¬πŸ‡§

    There is a new License: https://store.codesys.com/en/codesys-control-for-linux-arm-sl-bundle.html Linux SL for ARM. Compatible with softmotion. I'd like try it 64bit version on a PI4. It could be very interesting in CM4 industrial projects.

  • mondinmr mondinmr posted a comment on discussion Motion πŸ‡¬πŸ‡§

    There is a new License: https://store.codesys.com/en/codesys-control-for-linux-arm-sl-bundle.html Linux SL for ARM. Compatible with softmotion.

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

    Is in opposite OOP direction! We have many large projects in OOP using that for OOP privacy!!! Is an awfull and unsafe thing convert all to pointers!

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

    Shared Memory! Is wonderful!!!

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

    Thankyou... Now is booting, starting HMI in <10s and PLC <20s.

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

    We are testing an embedded solution Codesys based in automatuon side and QT in HMI side. We lowered boot time to <10s, HMI + Runtime, but Tasks are not starting until OPC-UA service is not running. We don't need this service, but I cannot find if is possible disable it. It's requiring about other 10s until tasks start from runtime stared.

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

    You could schedule the script. Take a look to /etc/crontab.

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    You could use a udp datagram. $ Python3 Sensor.py >/dev/udp/127.0.0.1/9187 Read datagrams on port 9187 localhost from CODESYS. Datagram should contain "Temperature: 27.42578125 Β°C" It require permission to write datagram. Another solution could be modify Sensor.py to send directly a datagram. If "27.42578125" is on a string named valueString you can add this to script: byte_message = bytes(valueString, "utf-8") opened_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) opened_socket.sendto(byte_message,...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    You could use a udp datagram. $ Python3 Sensor.py >/dev/udp/127.0.0.1/9187 And read datagrams on port 9187 localhost from CODESYS. Datagram should contain "Temperature: 27.42578125 Β°C" It require permission to write datagram. Another solution could be modify Sensor.py to send directly a datagram. If "27.42578125" is on a string named valueString you can add this to script: byte_message = bytes(valueString, "utf-8") opened_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) opened_socket.sendto(byte_message,...

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

    You could use a udp datagram. $ Python3 Sensor.py >/dev/udp/127.0.0.1/9187 And read datagrams on port 9187 localhost from CODESYS. Datagram should contain "Temperature: 27.42578125 Β°C"

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

    If I use only one Task Group, but changing option "Fixed Pinned" to "0", do I need a MC license? Using a single Task Group should work in SL alone right?

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

    A thousand thanks! You solved a boring problem for me.

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    I make a little patch to /etc/init.d/codesyscontrol .... do_status if [ $? -eq 0 ]; then rm $PIDFILE echo "Error: Failed to start codesyscontrol" exit 1 else PID=$(cat $PIDFILE) taskset -p 1 $PID >>/root/codelog.txt renice -n -20 -p $PID >>/root/codelog.txt tuna --threads $PID --priority=RR:99 IRQBALANCE_BANNED_CPUS=3 irqbalance --foreground --oneshot echo 0 > /proc/sys/kernel/numa_balancing echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 0 > /sys/kernel/mm/ksm/run echo "codesyscontrol...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    I make a little patch to /etc/init.d/codesyscontrol .... do_status if [ $? -eq 0 ]; then rm $PIDFILE echo "Error: Failed to start codesyscontrol" exit 1 else PID=$(cat $PIDFILE) taskset -p 1 $PID >>/root/codelog.txt renice -n -20 -p $PID >>/root/codelog.txt tuna --threads $PID --priority=RR:99 IRQBALANCE_BANNED_CPUS=3 irqbalance --foreground --oneshot echo 0 > /proc/sys/kernel/numa_balancing echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 0 > /sys/kernel/mm/ksm/run echo "codesyscontrol...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    I make a little patch to /etc/init.d/codesyscontrol .... do_status if [ $? -eq 0 ]; then rm $PIDFILE echo "Error: Failed to start codesyscontrol" exit 1 else PID=$(cat $PIDFILE) taskset -p 1 $PID >>/root/codelog.txt renice -n -20 -p $PID >>/root/codelog.txt tuna --threads $PID --priority=RR:99 IRQBALANCE_BANNED_CPUS=3 irqbalance --foreground --oneshot echo 0 > /proc/sys/kernel/numa_balancing echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 0 > /sys/kernel/mm/ksm/run echo "codesyscontrol...

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

    I make a little path to /etc/init.d/codesyscontrol .... do_status if [ $? -eq 0 ]; then rm $PIDFILE echo "Error: Failed to start codesyscontrol" exit 1 else PID=$(cat $PIDFILE) taskset -p 1 $PID >>/root/codelog.txt renice -n -20 -p $PID >>/root/codelog.txt tuna --threads $PID --priority=RR:99 IRQBALANCE_BANNED_CPUS=3 irqbalance --foreground --oneshot echo 0 > /proc/sys/kernel/numa_balancing echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 0 > /sys/kernel/mm/ksm/run echo "codesyscontrol...

  • mondinmr mondinmr modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    It is great that you have given the option to select a dark theme for the text editor. Developing in ST for those with vision problems like me is much more relaxing. However, it would be nice to have this possibility also in the view panels, in those of cross_reference, in that of devices and in that of POUs. The strong contrast using the dark editor and the rest light is very blinding for someone who spends 10-14 hours a day developing.

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

    It is great that you have given the option to select a dark theme for the text editor. Developing in ST for those with vision problems like me is much more relaxing. However, it would be nice to have this possibility also in the view panels, in those of cross_reference, in that of devices and in that of POUs. The strong contrast using the dark editor and the rest light is very blinding for someone who spends 10-14 hours a day developing.

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

    Three years ago we started a big project for a lathe for plate turning. Since CODESYS integrates the OOP paradigm very well, we have used it heavily to make single-project machines, although they are very different in composition of the various components. There are now several machines in production. We will have to implement many more. However, as the machines increase, it is becoming very boring to open the project, as the view of the devices opens completely exploded. Is there any way to make...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hi. Yesterday we try in to replicate problem in a second machine. The only difference is in our FB MachineConfigurator, we made made to differentiate machines keeping only one source for all machines. Testing machine has only one SMC_Interpolator (and all other FBs needed) working, problematic machine two. In all configurations we have 5 axis group instantiated, but only one or two or three working. We cannot replicate bug in 4.5 with testing machine. Next week we'll test adding 2 axes and configuring...

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

    Hi. Yesterday we try in to replicate problem in a second machine. The only difference is in our FB MachineConfigurator, we made made to to differentiate machines keeping only one source for all machines. Testing machine has only one SMC_Interpolator (and all other FBs needed) working, problematic machine two. In all configurations we have 5 axis group instantiated, but only one or two or three working. We cannot replicate bug in 4.5 with testing machine. Next week we'll test adding 2 axes and configuring...

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

    Sorry! I just checked! SoftMotion Version is 4.5.0.0 also with 3.5.16.20 Monday we'll test 4.8.0.0 on customer test machine. Kind regards Mondin Marco ADV Integration Srl

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    I just attached library screen shoots, coming from a working machine 3.5.14.20 and a problematic machine 3.5.16.20 We changed Runtime because we'd see a big improvement in reading encoders and write analog values stability via ethercat, and our Hydraulic PID built to drive Hydraulic axes is working in a very better way then in 3.5.14.20. 3.5.16.20 solved as a big problem in following error of hydraulic axes, and we can use grater gains and FF keeping axes very stable. This is strange because we not...

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

    I just attached library screen shoots, coming from a working machine 3.5.14.20 and a problematic machine 3.5.16.20 We changed Runtime because we'd see a big improvement in reading encoders and write analog values stability via ethercat, and our Hydraulic PID built to drive Hydraulic axes is working in a very better way then in 3.5.14.20. 3.5.16.20 solved as a big problem in following error of hydraulic axes, and we can use grater gains and FF keeping axes very stable.

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    After upgrading 2 machines from 3.5.12 to 3.5.16.20 linux SL on DEBIAN BUSTER RT-PREEMT with CPU pinning, CNC has some problem managing MCodes. If last code of a partprog is "M40 K250 L250" and first is "M06 K9", randomly repeating many times the part prog with SMC_GetMParameters i receive K250 on SMC_INterpolator.wM = 6! It appen randomly repeating 15-20 times the partprog. This cause big problems, because on our lathe machine M06 is for changing tool in turrets and M40 is to move to a fixed quote...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    After upgrading 2 machines from 3.5.12 to 3.5.16.20 linux SL on DEBIAN BUSTER RT-PREEMT with CPU pinning, CNC has some problem managing MCodes. If last code of a partprog is "M40 K250 L250" and first is "M06 K9", randomly repeating many times the part prog with SMC_GetMParameters i receive K250 on SMC_INterpolator.wM = 6! It appen randomly repeating 15-20 times the partprog. This cause big problems, because on our lathe machine M06 is for changing tool in turrets and M40 is to move to a fixed quote...

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

    After upgrading 2 machines from 3.5.12 to 3.5.16.20 linux SL on DEBIAN BUSTER RT-PREEMT with CPU pinning, CNC has some problem managing MCodes. If last code of a partprog is "M40 K250 L250" and first is "M06 K9", randomly repeating many times the part prog with SMC_GetMParameters i receive K250 on SMC_INterpolator.wM = 6! It appen randomly repeating 15-20 times the partprog. This cause big problems, because on our lathe machine M06 is for changing tool in turrets and M40 is to move to a fixed quote...

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello to all. I just tested 32 bit runtime for PI on a Raspberry PI 4, 5.4.51 kernel compiled by me from scratch after patching it to PREEMPT RT. I isolated core 1 from the CPU leaving the cores untouched 0,2,3. Codeyscontrol changed to init.d, and taskset on isolated core. I achieved an average jitter about 28-30us and some peaks about 100us. However, I notice that the runtime dies every 50-60 seconds after starting. Do you think this is due to the fact that I used a 64bit Raspberry OS?

  • mondinmr mondinmr modified a comment on discussion Runtime πŸ‡¬πŸ‡§

    Hello to all. I just tested 32 bit runtime for PI on a Raspberry PI 4, 5.4.51 kernel compiled by me from scratch after patching it to PREEMPT RT. I isolated core 1 from the CPU leaving the cores untouched 0,2,3. Codeyscontrol changed to init.d, and taskset on isolated core. I achieved an average jitter about 28-30us and some peaks about 100us. However, I notice that the runtime dies every 50-60 seconds after starting. Do you think this is due to the fact that I used a 64bit Raspberry OS?

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

    Hello to all. I just tested 32 bit runtime for PI on a Raspberry PI 4, 5.4.51 kernel compiled by me from scratch after patching it to PREEMPT RT. I isolated core 1 from the CPU leaving the cores untouched 0,2,3. Codeyscontrol changed to init.d, and taskset on isolated core. I achieved an average jitter above 28-30us and some peaks above 100us. However, I notice that the runtime dies every 50-60 seconds after starting. Do you think this is due to the fact that I used a 64bit Raspberry OS?

  • mondinmr mondinmr posted a comment on discussion Engineering

    Hi all. I just downloaded Powerlink Configuration Editor to make some tests. I'm using 64bits development system on my VMs, why package is only 32bits compatible? We are working also with B&R products due some drive like ACOPOS has very useful functions, we'd like use ACOPOS drives also in CODESYS.

<< < 1 2