Hi, I am currently testing to write a Async only Client. After implementing it according to Specs and setting the fAsyncOnly Flag to true and the type of the client (feature Flags) in the console sample the linux kernel driver runs into an exception. After debugging the code I found that the driver is trying to sent PRes messages during connection startup?! But a Async only client should never send PRes. So I debugged further and found code in dllkevent.c that tries to send PRes during initialization....
Hi, I am looking for few POWERLINK specification extensions, but I could not find it in the EPSG website. If anybody knows where to find the below POWERLINK specifications, please reply. EPSG 302-A EPSG 302-B EPSG 302-C EPSG 302-D EPSG 302-E EPSG 302-F Thank you! Best regards, Mohammed Shibin
Hi, I am looking for few POWERLINK specification extensions, but I could not find it in the EPSG website. If anybody knows where to find the below POWERLINK specifications, please reply. EPSG 302-A EPSG 302-B EPSG 302-C EPSG 302-D EPSG 302-E EPSG 302-F Thank you! Best regards, Mohammed Shibin
Hi, I am new to POWERLINK and my understanding is that the CN has nothing to do with the ring redundancy. If the link is broken, master will take care of it. Please confirm whether my understanding is correct or not. Best regards, Mohammed Shibin
Hello, Sorry to open up this old topic, but I have a question regarding the NetworkManagement element of the XDD. For context: I am using a certified XDD for a POWERLINK CN with 1 cyclic channel and up to 8 process data objetcs. In this XDD there are several of the optional device features in the NetworkManagement element defined: - PDORPDOChannelObjects="8" - PDORPDOChannels="1" - PDOTPDOChannelObjects="8" Currently I am having the problem, that I am unable to define a cyclic channel in the MN configuration...
I'm working on getting openPowerlink (as a CN) running on Nvidia Jetson Xavier NX with an Intel i210 connected over PCIe. While the demo_cn_console application works when using the pcap interface, I've encountered some issues when trying to use the in-kernel driver. First time I run the demo, it appears that everything is working (ie I get to operational state, see messages that PDOs are mapped, etc), however, the PDO data itself does not appear to be transferred (it just stays at zero). After quitting...
Hi Alex, Thank you for you are reply my question! I know that "oplk" replaced "Epl", but there has lot "oplkcfg.h", I don't know which one specially same like that "EplCfg.h" locate in folder "openPOWERLINK-V1.08.4/Examples/X86/Generic/powerlink_user_lib/" Daniel
Hi Daniel, as terms / prefixes have changed from EPL to oPLK with version 2, I assume "oplk.h" and "oplkcfg.h" could be the files you are looking for. Alex
Hi Matteo, in a POWERLINK network there usually may only be POWERLINK devices participating in the network communication. Due to the nature of POWERLINK (half duplex, time aware network access / poll request - poll response mechanism) there are no collisions on the network. When plugging in an ordinary Ethernet device which is not aware of POWERLINK, it will destroy your POWERLINK communication by packet collisions caused by the Ethernet traffic sent out by your laptop. If you are using Windows,...
Hi Matteo, in a POWERLINK network there usually may only be POWERLINK devices participating in the network communication. Due to the nature of POWERLINK (half duplex, time aware network access) there are no collisions on the network. When plugging in an ordinary Ethernet device which is not aware of POWERLINK, it will destroy your POWERLINK communication by packet collisions caused by the Ethernet traffic sent out by your laptop. If you are using Windows, you can try to disable ALL services on the...
Hello, I am new for openPOWERLINK, in Version 1.8.x has header file like Epl.h and EplCfg.h, how about in Version 2.7.x? what filename replace those? Daniel
Hi guys i am new in the forum, I have an issue, during the troubleshooting of the network, we lost too many packet in between the SafePLC and the other component, and we are trying to sniff the packet with wireshark, in order to find witch is the card that lost this packet. When i try to connect the laptop to the Powerlink Hub the CPU go in crash, i think that my ethrnet board is not configured properly for see the Powerlink module. Do we have any configuration about the ethernet card for connect...
Hello, In the EPSG Draft Standard 301 the addressing for MAC addresses and Powerlink addresses are explained (chapter 4.4 & 4.5). How is the mapping of a powerlink node ID (e.g. 20) to a particular MAC address done? Is this statically coded into the MN? Especially for the PollRequest that is a unicast transfer type, how does the MN determine the the MAC address of the CN, whoes node ID is in the destination field of the PollRequest? Thanks for your help. Best regards.
Hello, is here anybody who can help me, please? Thanks A Lot
Hallo together, i am working on some tests on linux ubuntu virtual, using openPowerlink stack 2.7. My powerlink connction works well, but with different features i have some issues. For my tests is necessary to use SDO over UDP. But the problem is on sending those packets. At first I send an payload of 23 bytes with function oplk_WriteObject, selecting kSdoTypeUdp, which returns 0x0 (No Error), but the packets are at 95% not sent. Sometimes are visible in wireshark just normal with source and destination...
Hallo together, i am working on some tests on linux ubuntu virtual, using openPowerlink stack 2.7. My powerlink connction works well, but with different features i have some issues. For my tests is necessary to use SDO over UDP. But the problem is on sending those packets. At first I send an payload of 23 bytes with function oplk_WriteObject, selecting kSdoTypeUdp, which returns 0x0 (No Error), but the packets are at 95% not sent. Sometimes are visible in wireshark just normal with source and destination...
Hallo together, i am working on some tests on linux ubuntu virtual, using openPowerlink stack 2.7. My powerlink connction works well, but with different features i have some issues. For my tests is necessary to use SDO over UDP. But the problem is on sending those packets. At first I send an payload of 23 bytes with function oplk_WriteObject, selecting kSdoTypeUdp, which returns 0x0 (No Error), but the packets are at 95% not sent. Sometimes are visible in wireshark just normal with source and destination...
Hi, please excuse my noob question, but I am totaly new to the Powerlink topic and I am kind of stuck. I hope I could get some help in this place. Till now I've used the exampIe from kalycito which works good for me. I'm using openConigurator (Standalone and Eclipseplugin) to generate my "Network-Layout". In a next step I have to implement a CN for a Powerlink Network that contains 2 Records (1 for TPDO, 1 for RPDO) From this thread I suspect I have to link each sub-object on its own, but.... How?...
Hi Miguel In the meanwhile I switched to Automation Studio from B&R to generate the configuration for the openpowerlink project, I didn't know that this was possible. But for the error: "Modular Child" in the B&R Context would refer to a IO slice. The Buscouppler would be a CN aka "Controlled" node. And the B&R PLC would be a MN, Masternode. So I think you just inserting the XDD at the wrong place, I would expect a ACOPOS Drive to be a CN and not a Child node but I could also be wrong. Or if you...
Hi Miguel In the meanwhile I switched to Automation Studio from B&R to generate the configuration for the openpowerlink project, I didn't know that this was possible. But for the error: "Modular Child" in the B&R Context would refer to a IO slice. The Buscouppler would be a CN aka "Controlled" node. And the B&R PLC would be a MN, Masternode. So I think you just inserting a the XDD at the wrong place, I would expect a ACOPOS Drive to be a CN and not a Child node but I could also be wrong. Or if you...
Hello all. Using openconfigurator (V2.2.1) in order to import XDD for B&R acopos servodrive I receive this error: Modular child CN XDD/XDC cannot be imported as head node. Choose a valid CN XDD/XDC file. Can you help me with this error? Is there any other software than openconfigurator to generate mnobd.cdc and xap.h ? Thank you in advance. Miguel
Hello Alexander, thank you for your post. I found xdd as you told. Using openconfigurator in order to import XDD for acopos driver I receive this error: Modular child CN XDD/XDC cannot be imported as head node. Choose a valid CN XDD/XDC file. Can you help me with this error? Thank you in advance. Miguel
The problem is solved. Although I do not quite understand why it appeared only under CN on ARM LinuxRT. PC to PC with the same configuration work fine without any changes. file location: apps/common/objdict/CiA302-4_MN/objdict.h If I set the (Object 1F8Dh: NMT_PResPayloadLimitList_AU16)>36 it start working. Cycle time: 50ms Original from example: OBD_RAM_INDEX_RAM_ARRAY_ALT(0x1F8D, NMT_MAX_NODE_ID, FALSE, kObdTypeUInt16, kObdAccSRW, tObdUnsigned16, NMT_PResPayloadLimitList_AU16, 36) Changed: OBD_RAM_INDEX_RAM_ARRAY_ALT(0x1F8D,...
Hello Please explain what this message means on MN side: 2021/12/01-14:34:29 EVENT HISTORY HistoryEntry: Type=0x3002 Code=0x8243 (0x01 7F 00 00 8C 9D 00 12) Below is an excerpt from the log file. MH and CH go in a circle. МН constantly resets configurations to СН. Thanks in advance! Stack found node 1 2021/12/01-14:34:29 EVENT NODE Node= 1, NmtNodeEventCheckConf State:NmtCsPreOperational2 2021/12/01-14:34:29 EVENT HISTORY HistoryEntry: Type=0x3002 Code=0x8243 (0x01 7F 00 00 8C 9D 00 12) 2021/12/01-14:34:29...
Ok I got it, as of the older post I already mentioned I was able to run it with the old eclipse version: So to get it running: - Install windows 10 X64 (I had 21H2 19044.1348) - Install Java, I currently Run Version 8 (301). I think the java version iteself does not matter that much. - Install the "Visual C++ Redistributable for Visual Studio 2012 Update 4" according to this post" from https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679 - Install the old Eclipse Version: https://www.eclipse.org/downloads/packages/release/neon/3...
Hello Miguel I found it by conisidence and remembered your question. I initially downloaded the XDD files from a BC083: https://www.br-automation.com/en/downloads/networks-and-fieldbus-modules/powerlink/bus-controllers/x20cbc0083/x20bc0083-xdd-package/?noredirect=1 But it seems to contain all of the xdd files. In the zip file there is a file called "0100006C_8I64xxxxxxx.00X-1.xdd", according to the documentation for the registers also contained in the same zip file under /doc there is a chapter Acopos...
Ok I got it, as of the older post I already mentioned I was able to run it with the old eclipse version: So to get it running: - Install windows 10 X64 (I had 21H2 19044.1348) - Install Java, I currently Run Version 8 (301). I think the java version iteself does not matter that much. - Install the "Visual C++ Redistributable for Visual Studio 2012 Update 4" according to this post" from https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679 - Install the old Eclipse Version: https://www.eclipse.org/downloads/packages/release/neon/3...
Ok I got it, as of the older post I already mentioned I was able to run it with the old eclipse version: So to get it running: - Install windows 10 X64 (I had 21H2 19044.1348) - Install Java, I currently Run Version 8 (301). I think the java version iteself does not matter that much. - Install the "Visual C++ Redistributable for Visual Studio 2012 Update 4" according to this post" from https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679 - Install the old Eclipse Version: https://www.eclipse.org/downloads/packages/release/neon/3...
Ok I got it, as of the older post I already mentioned I was able to run it with the old eclipse version: So to get it running: - Install windows 10X 64 - Install Java, I currently Run Version 8 (301). I think the java version iteself does not matter that much. - Install the "Visual C++ Redistributable for Visual Studio 2012 Update 4" according to this post" from https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679 - Install the old Eclipse Version: https://www.eclipse.org/downloads/packages/release/neon/3...
I could get rid of one error: "Error loading shared librariesC:\Daten\eclipse\plugins\org.epsg.openconfigurator_2.2.1.201708040602\os\win32\x86_64\boost_regex-vc110-mt-1_58.dll: Can't find dependent librarie" In my windows 10 installation By installing: "Visual C++ Redistributable for Visual Studio 2012 Update 4" according to this post: https://sourceforge.net/p/openpowerlink/discussion/newbie/thread/e8c8dd25/ Now Im getting the error: The selected wizard could not be started. Plug-in "org.epsg.openconfigurator"...
Hello together I'm new to openpowerlink and trying to get my hands on the openpowerlink stack. I read a lot of documentation, pulled the project, got the demo code compiling and working on linux. Now I'm trying to get the eclipse plugins running to configure the network and validate resp. customize the XDD files. I'm basically trying to talk to a B&R Buscontroller and try to using the XDD files provided by B&R. Now I tried the most actual Eclipse IDE and the manual installed plugins as well as the...
Hello all, I want to use openpowerlink MN in order to control B&R ACOPOS servo drives. Can it be done? I have been looking for XDD files for these devices but I did not found it. Can anyone help with this? Best regards.
Hi, Thanks for the quick response. cycle time is 50000 CN built with release mode. Please look at the console output. Select the interface to be used for POWERLINK (1-4):3 /-------------------------------------------------- Initializing process image... Size of process image: Input = 1 Output = 1 2021/11/18-07:55:10 INFO GENERIC Allocating process image: Input:1 Output:1 Linking process image vars: Linking process vars... ok 2021/11/18-07:55:10 EVENT STATE_CHANGE NmtGsOff->NmtGsInitializing Originating...
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
I am trying to establish communication between MN on PCx64 and CN on ARM32 controller under LinuxRT. For the test we have susses fully established communication between two PCx64 under Ubuntu 20.04. In a such case MN and CN on operation state. On other case communication PCx64 and PLU CN from preoperational stage go to "Stack entered state: NmtCsReadyToOperate" after this going to "Originating event:NmtEventResetNode" What is going wrong? Please check debug out. MN: Stack found node 1 2021/11/17-18:06:16...
openPOWERLINK V2.7.2
Hello Omar, currently, we cannot reproduce the problem. However, it seems that the 'ioremap_nocache' function (in 'pciedrv.c') fails to map the corresponding memory regions. Between Linux kernel version 4.4 and 4.19, a few changes have been released in the context of this function. Maybe these changes result in the observed behavior. Apart from that, the mentioned function is not recommended to be used for mapping of PCIe BARs. The corresponding recommended PCIe function would be 'pci_iomap'. Maybe...
Hello, I am using a board wich contains the CPU Kontron. I was tested with two types of CPU (DFI and Kontron), and the problem was reproduced only with one type of CPU (Kontron). I have executed the Linux command "lshw" to see the difference between the two CPUs, and I have obtained this result : For the DFI : bus info: pci@0000:03:00.0 version: 03 width: 32 bits clock: 33MHz capabilities: pm msi msix pciexpress cap_list configuration: latency=0 resources: memory:b4b00000-b4b7ffff ioport:d000(size=32)...
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
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
Hi Everyone, I have setup the demo console application on my 2 laptops, I need to read communication between Powerlink MN and CN's. I went through this opcua2powerlink repo and able to read the integer value. Now, I wants to customize this solution to send my simulated data. I am completely new to the Powerlink and I am facing problem to customize this solution. Can you guys help me out in where from I should start? Any references, videos will also help. Thanks.
Hello, I am trying to upgrade the Linux kernel version of my board from 4.4 to 4.19. However, I notice that during the boot of my board, there is a problem of virtual memory mapping of my pci bus (00:00:03.0). I tried to compile my Linux version without openpowerlink module, so my pci bus was mapped correctly. So I think that the openpowerlink module is the cause of this issue. The dmesg logs that I have obtained are : igb : probe of 0000:03:00.0 failed with error -5 . . pci 0000:03:00.0: BAR 0:...
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,...
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
Hi Nandhu, When you use V_STRING, do you have the problem Value to write is too long or too short when you use oplk_linkProcessImageObject to link object with DO ? How do you configure to send a string Thanks
Hello everyone, I am trying to modify the example contributed in openPowerlink. I need to transfer a string via PDO like in example that you transfer an integer between CN and MN by PDO. I tested OBD_SUBINDEX_RAM_USERDEF_NOINIT with type of object kObdTypeVString and C data type tObdVString. But the problem was occurred when I called oplk_linkProcessImageObject to link variable of application to DO with error: Value to write is too long or too short I have some questions: I knew when we use string,...
Hi, How does MN determine the time between SoC and SoA? Is it a fixed value in the specification or calculated by MN based on some facts? Thanks.
Many thanks for your reply! I have one follow-up question: Why isn't the entire RAM available on the ZC702 specified in the device tree i. e. 0x0 - 0x3FFF_FFFF? Would this make any difference? I will DM you for more specific quesions :). Best regards Steph
Hello AEICOR IIoT Team, Thank you for explaining. We are trying to port to a smaller Zynq variation : Z-7010 and it is for a slave instead of master. But we are starting on the ZC702 kit and working our way down from there. to make our work simpler. First, we are analysing how much of logic and memory we can optimize. We will move to the new board, after we get a smaller working design. Could you share your email to share the details ? Regards, Tomas
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...
Hello, we are also looking to optimize this design for a lower footprint deployment. Anyone has worked on it, or can point us to any material where we can find any reference ? Regards, Tomas
Hello, we are also looking to optimize this design for a lower footprint deployment. Anyone has worked on it, or can point us to any material where we can find any reference ? Regards, Thomas
Great. Cheers !!
Running it as sudo solved the issue. So the demo seems to be running properly. Thank you for the support and the clarification! Best regards
Hi Johannes, thanks for the update. Good to know. Let me know if you need any support.
Hi, I have some questions regarding the RAM layout of the "openPOWERLINK MN on Zynq Hybrid design" (Xilinx ZC702). As far as my understanding goes, the use of the RAM is divided into 4 main regions. The address editor in Vivado shows that 512 MiB of ram is mapped onto the PCP (0x2000_0000 - 0x3FFF_FFFF). This region is further divided into "Common Memory" (0x2C00_0000 - 0x2FFF_FFFF) and "Shared Memory" (0x3000_0000 - 0x3FFF_FFFF) as can be seen in openPOWERLINK_V2-master/hardware/boards/xilinx-z702/mn-dual-shmem-gpio/include/dualprocshm-mem.h....
Hi, I have some questions regarding the RAM layout of the "openPOWERLINK MN on Zynq Hybrid design" (Xilinx ZC702). As far as my understanding goes, the use of the RAM is divided into 4 main regions. The address editor in Vivado shows that 512 MiB of ram is mapped onto the PCP (0x2000_0000 - 0x3FFF_FFFF). This region is further divided into "Common Memory" (0x2C00_0000 - 0x2FFF_FFFF) and "Shared Memory" (0x3000_0000 - 0x3FFF_FFFF) as can be seen in openPOWERLINK_V2-master/hardware/boards/xilinx-z702/mn-dual-shmem-gpio/include/dualprocshm-mem.h....
Hi, we've been able to fix the error. One one hand, not all network packages were forwarded to the openPOWERLINK stack by our self-written EDRV driver. One the other hand, we switched from CIRCBUF_QUEUE to DIRECT_QUEUE. The CN successfully runs under Genode OS with the Fiasco.OC microkernel now. We are still working on the MN. Thank you for your reply and input.
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...
Thank you so much for your input! This has helped me move forward. As you pointed out the issue was that the libdbus had not been installed, which I thought I had checked... After installing the library I was able to successfully build the Pcap daemon. Using CMake-gui to build PCAP User Space Daemon in Debug mode make install Using CMake-gui to build PCAP User Space Daemon in Release mode make install Followed by building the demo_cn_console. Here I'm not sure what settings to use for the build since...
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...
Hello everyone, I'm trying to implement the openPOWERLINK stack on a raspberry Pi4 B which I want to use as a CN node. The plan is to use a B&R-PLC as MN. I have tried to follow the guide: https://www.kalycito.com/introduction-on-how-to-get-powerlink-working-on-raspberry-pi-2/ but I have made some changes to the procedure since I'm using a new version of the Pi. I have also made adjustments to the procedure according to information I have found here on the forum. Basically what I have attempted so...
Thanks AEICOR IIoT Team for the info. - Prajjwal
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...
Hi, thanks again. It is very dificult. I have no other possibility as get the data from powerlink over SPI, because this is an offical powerlink modul. So, where the data are stored on host application is clear, but how to use those data for openSAFETY? How to define at all incoming ant outcoming data on host application (is this some kind of array)? Is there any other example of this implementation available which is easiest? Thanks a lot for support. Best Regards
Hi Ivan, Glad to assist :) Best Regards, #aeicoriiotteam
Hi, Thank you very much for for your support and the clarification. I'm pretty new in Linux development and it will be a really good exercise for me to build and set-up application with Edrv kernel drivers. Best regards, Ivan
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...
Hi, Thank you so much for your help! Everything works fine with your mnobd.cdc file. Both Console and Qt MN are able to connect and communicate with CNs. Off topic: You mentioned that default MN and CN demos use Linux TUN/TAP (PCAP lib) driver for accessing the network which has a higher system latency. I followed the instructions here: http://openpowerlink.sourceforge.net/doc/2.2/2.2.0/dc/d8f/page_build_drivers.html I suppose the Linux Edrv Kernel Driver is the "faster" way to access the network....
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...
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...
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...
Hi, Thank you very, very much for the explanation! I really appreciate it! I'm not familiar with the configuration and configuration tools yet. Is PResTimeout configuration of MN or both sides? I suppose it's configurable via configuration tool and cdc file. Best regards, Ivan
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
Good morning, Looks like there are timing issue with CN1 (Virtual machine). Now it's not able to connect to MN. CN1 stuck at State:NmtCsPreOperational2. Log from MN is attached. If I try to connect only CN32 (iMX) everything works fine. I will find a way to exclude virtual machine from tests. Best regards, Ivan
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
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
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...
Hello, Thank you very much for your quick response! Currently I am using default cycle time. It looks like ~50ms, based on Wireshark trace and time between SoA/SoC frames. For iMX6 - computer on module is based on NXP iMX6, it's running Torizon Linux. I've cross-compiled openPOWERLINK stack and CN console demo for it. I will capture detailed logs tomorrow morning - network log from MN and console logs from all applications. Best regards, Ivan
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...
Good evening everyone, Last days I was trying to build openPOWERLINK stack and demos. Now everything is up and running and I've created the following test set-up: openPOWERLINK v.2.7.1 MN - PC, Ubuntu 18.04, Native installation, running demo_mn_console or demo_mn_qt CN1 - PC, Ubuntu 18.04, Virtual machine, running demo_cn_console CN32 - iMX6 computer on module, Embedded Linux, running demo_cn_console All node are running with default openPOWERLINK demo configuration. All devices are connected in...
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).
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....
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