Activity for AEICOR IIoT Team

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, What is the Powerlink cycle time you are using for this test setup ? In the mean time, could you also build the CN in release build and retry ? Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Open Discussion

    Hi Omar, which board are you using ? Can you provide the steps used by you. Do you have problem when you load the powerlink module ? Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Open Discussion

    Hi Bhusan, for openPowerlink you can find documentation and guides here. If there are any queries related to the MN and CN demos, you can mention it here. For the opc ua gateway, you probably can try posting a ticket at the menioned github repo. If you need specific opc ua support , please dm. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Geo, there are restrictions from a spec point of view in sending strings via PDO. Please refer this thread for more info. But theoretically you can do it with some manual editing. For critical realtime communication, PDO is the only way of exchanging data. To exchange a fixed size string, you can handle it in application process loop where you convert it into multiple byte arrays and transfer it breaking (or overriding) the spec/stack restrictions. You can use SDO for normal string transfers,...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi William, It depends on the network configuration i.e. MN calculates the time required for the number of Poll requests and responses configured and then decides a time for txing the SoA frame, where SoC is the start time reference. Note that there is a slight difference in behavior between different devices in how they optimize the poll response timeout. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Steph, Tomas, Sorry for the delay in getting back. The Zynq hybrid design is based on the Zc702 which has a 1GB shared DDR3 between ARM Linux (PS) and Microblaze (PL). For the hybrid master design, this entire memory is divided into 3 sections, as it uses the dual-processor-shared-memory interface library for communication between the OPLK application (on Linux) and communication stack (PCP or Microblaze). The 3 sections are : - Memory visible to Linux (kernel), - Common memory - PCP application...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Great. Cheers !!

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    Hi Johannes, thanks for the update. Good to know. Let me know if you need any support.

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Erik, Glad that it helped. You are right to use the demo_cn_console to build the CN demo and the settings look fine. Just an fyi here, you don't have to build the app twice though. Either Debug or Release build is fine. For application builds, the binary from latest build replaces the previous build binaries. When you build a Debug app, it uses the debug stack library and when you build a release app, it uses the release stack library. The problem you see here are more likely due to insufficient...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Erik, The steps you have followed so far are correct. I assume that you have installed the Ubuntu on RPi and performing a native compilation. The order of build between debug and release does not matter as long as you do a make install before changing the build type. It copies the debug or release libraries into the lib directory until you perform a make clean. For more details, refer this post. Coming to the error here, - You were right to uncomment MN build to fix the first CMake error. - For...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, Okay. The data on your host application will be stored as array of structured buffers. Right now your application will be exchanging OPLK cyclic data with the external module over SPI i.e. read incoming (RPDO) and write outgoing (TPDO). If your openSafety application also resides on the same host as OPLK, you can handle the data exchange with direct calls. I need to understand a bit more about your system to give suggestion. Could you please email me the details ? As an info, have you already...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ivan, Glad to assist :) Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ivan, Glad that it helped. Yes, you are right, using the Edrv kernel drivers will reduce the latency and you can go for lower cycle time. Since in this mode, the stack uses dedicated network drivers, it needs NIC support. Currently, the driver support is added for the 6 NICs, listed in the guide you have shared; the emacps is for Zynq and the other 5 are NICs from Intel and Realtek. You can use the same guide to build the drivers but first do check that you have the right NIC or MAC. If you need...

  • AEICOR IIoT Team AEICOR IIoT Team modified a comment on discussion Getting Started

    Hi Ivan, The PResTimeout is part of the network configuration i.e. mnobd.cdc file which is provided as input to the demo_mn_console application (with the -c switch). In case this file is not specified explicitly, the application takes the default mnobd.cdc file in the same directory. To modify the network configuration parameters, you have to use openConfigurator tool to create a new configuration. There are a couple of default network configuration projects provided along with the openPowerlink_V2...

  • AEICOR IIoT Team AEICOR IIoT Team modified a comment on discussion Getting Started

    Hi Ivan, The PResTimeout is part of the network configuration i.e. mnobd.cdc file which is provided as input to the demo_mn_console application (with the -c switch). In case this file is not specified explicitly, the application takes the default mnobd.cdc file in the same directory. To modify the network configuration parameters, you have to use openConfigurator tool to create a new configuration. There are a couple of default network configuration projects provided along with the openPowerlink_V2...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ivan, The PResTimeout is part of the network configuration i.e. monobd.cdc file which is provided as input to the demo_mn_console application (with the -c switch). In case this file is not specified explicitly, the application takes the default mnobd.cdc file in the same directory. To modify the network configuration parameters, you have to use openConfigurator tool to create a new configuration. There are a couple of default network configuration projects provided along with the openPowerlink_V2...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ivan, Thanks for sharing the log. You can check by increasing the PResTimeout for CN1 to a 15ms value (typically this is sufficient for a virtual machine environment). The error you see on the log HistoryEntry: Type=0x3002 Code=0x8243 (0x01 55 00 00 00 00 00 00) indicates loss of Poll Response from CN1 i.e. its response is not reaching MN within the configured time. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team modified a comment on discussion Getting Started

    Hi Ivan, Thanks for the info. Yes, the logs would be helpful. The default cycle time of 50ms should be good enough for 2 CNs. For the next run, while capturing logs and traces, please try with >10ms Pollsresponse timeout, if feasible. update: just an fyi, when you build the demo CN applications, you have to change the node id in the main file for each CN. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ivan, Thanks for the info. Yes, the logs would be helpful. The default cycle time of 50ms should be good enough for 2 CNs. For the next run, while capturing logs and traces, please try with >10ms Pollsresponse timeout, if feasible. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team modified a comment on discussion Getting Started

    Hi Ivan, From your description of the problem it might be a cycle time performance problem which can be solved by increasing the PResTimeout and cycle time of the CNs and network, respectively; but console logs and a network trace will help in narrowing it down. Fyi, the default MN and CN demos use Linux TUN/TAP (PCAP lib) driver for accessing the network which has a higher system latency and thus higher response times. A virtual CN app has even further latency than native applications. Btw, for...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Evan, From your description of the problem it might be a cycle time performance problem which can be solved by increasing the PResTimeout and cycle time of the CNs and network, respectively; but console logs and a network trace will help in narrowing it down. Fyi, the default MN and CN demos use Linux TUN/TAP (PCAP lib) driver for accessing the network which has a higher system latency and thus higher response times. A virtual CN app has even further latency than native applications. Btw, for...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    Are you still having this error, it is typically related to the cycle time and response timeouts; but also note that there are also max values of the timeouts in the OD, which affect how large a value you are allowed to set in the CDC (i.e. you also have to edit the max value indices).

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Ribeiro, Could you try to run it as super user (i.e. with sudo) and check ? If you still have errors, let me know. First run the driver and then the application and please make sure that you have the TUN/TAP driver enabled since the OPLK has to use pcap on RPi. For the GPIOs, my best guess would be that the RPi IOs (and buttons, LEDs) are probably used to send/indicate different values of cyclic data between master and slave but it would not be critical for getting the network operation running....

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Johannes, Glad to be of help. Let me know if you need any support. Just as a note (may be it will help you ahead), I understand your point of view in using the linkObject API for consistency; do take care of consistent PI pointer management and data copying since the non-PI APIs do not provide it inherently. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Technology

    Hi Jerome, May be you have already figured it out but just in case, pfb some information which can be of help. If you are using a two-port openPowerlink master, currently the stack package (which includes openMAC and openHUB) does not have the Ring redundancy implemented. You would need to handle it in your FPGA or ASIC. Currently you cannot form a ring in the network with the 2-master ports, as the frames will collide creating network errors. To answer your second question, the master switching...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Vasilij, did you get a chance to look at the force standby command ?

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    Hi, if you are still having this error, could you please share the 82573 NIC vendor and device ID ?

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, If you mean dynamic node id assignment, please refer Dynamic Node Allocation for Ethernet Powerlink; but also note that this feature is not implemented in openPOWERLINK stack. A relevant thread is here. Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Johannes, For a C++ API wrapper, you can refer to the openpowerlink Qt APP here. It uses a C++ wrapper and APIs as abstraction class, which can be extended (inherited) for applications. In this demo, the application is written in Qt. Note that the documentation has to be generated once you clone the repo. With regards to the linkObject APIs, you can fine the documentation here. But to simplify, it is better to go with the processimage.c functions for PI related operations. The seemingly redundant...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, Okay, I understand. Just to clarify, both openPOWERLINK and openSafety use their own object dictionary (OD) , i.e. though you may come across same indices in both OD, their instances are independent from each other. For mapping periodic application data exchanges in OPLK, as you may already be familiar, the TPDO and RPDO objects are used. OpenConfigurator can be used to perform/simplify this mapping. Similarly for openSafety, it uses a similar concept of SPDO (Safety process data object) to link...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Technology

    Hi Carlo, Okay I understand. If its feasible for you, could you please share the use case, in a message would also be fine. For DNA, the node would need support in software (SoA frame flags and NMT command) as well as a Physical port on/off control capability on the openHUB in IP core (as you have mentioned). Best Regards, #aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    One such example is here where after benchmarking the application jitter of both single and dual processor systems, we decided to off-load the core scheduling of the application to IP core in order to keep the jitter <3us.

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    Hi Carlo, I have posted a reply previously but it is still flagged for moderation for some reason. If you still need help here, below is a summary of what can be done. Basically, with dual core designs the application jitter is 50% lower than single processor design. So if this is what you are looking for, you could move to the dual NIOS design. If what you are looking for is single digit (us) jitter, it is better to move the task to IP core. From experience while designing motion control systems...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Help

    Hi Kamil, The 1.x openConfigurator did not have support for 64 bit versions and has been phased out in favor of the 2.x eclipse based version. Would it be possible for you to install the Eclipse version and try ? Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, Could you please share the network trace and mnobd.txt file so that we can take a look ? Thanks. Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Diego, From the log, it looks like post configuration, there is a loss of response from slave. Could you please share a network trace of the system ? Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Diego, What is the error which you are running into ? Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Prajjwal, For raspberry Pi, you can follow the steps for running a Linux pcap demo available in the official documentation of OPLK. Once you have the pcap installed, there are two different types of architectures you can follow. 1. Running OPLK app and stack as a single application binary 2. Running OPLK stack as a separate Linux daemon and app as a separate application The only difference is in terms of how you compile using cmake. 1. Stack compilation: here 2. Demo compilation: here 3. Running...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi Larry, The workaround given may allow you to map Octet string into PDO, but as @jbaumgar has pointed out before, though it is theoretically feasible to do this, it it not supported as per the CANOpen standar. If you need any help, please let me know. Thanks. Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Getting Started

    Hi, Can you share the material which you are referring, so that we can take a look and help if we can. openSafety uses producer consumer mode of exchange which can be over the normal multicast PDO exchange of Powerlink. Best Regards, aeicoriiotteam

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Technology

    Hi Selina, We looked through the network trace. If you are using Windows to capture frames, the frame timestamps can be out of order. If feasible, please use a Linux tcpdump or wireshark to capture frames for better accuracy. For narrowing the problem down, please also test the EMacPs CN with APC2100 master. If this is unstable, we can take it from there. This is because the Linux CNs have a slower rx/tx response cycle which can create problems in network behavior. Since you already have a working...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Technology

    Hi Carlo, DNA is not part of the openPOWERLINK stack but you can download the draft standard for DNA from EPSG for reference. But just for my understanding, for the use-case described by you, you need to scale or replace the network with newer nodes without reassigning the IDs. Just to make sure that there is not communication gap, in Powerlink you can replace a node without the need to reassign nodeids on other nodes. Cyclone IV uses on-board switches for nodeid and you just would need to set the...

  • AEICOR IIoT Team AEICOR IIoT Team posted a comment on discussion Porting

    Hi Selina, May be you have already figured it out but just in case, pfb some information which can be of help. the Zynq port of openPOWERLINK supports multiple configurations. There are 3 configurations available - 1. OPLK app+Stack using Linux PCAP on Zynq PS 2. OPLK app+Stack using Linux EMAC driver on Zynq PS 3. App on Linux Zynq PS + OPLK stack on Zynq PL 4. App on bare-metal Zynq PS + OPLK stack on Zynq PL (discontinued) All these configuration vary in terms of Cycle time and jitter performance....

1