Hi Hassen, To find the configuration of the hostinterface pins, kindly refer to this link (under the section PCP with an external parallel interface ): http://openpowerlink.sourceforge.net/doc/2.7/2.7.0/page_platform_altera-cn.html We have not tried porting the user side of stack to external MCU with ARM processor instead of Nios II. This looks like a high level business requirement, for premium support write to us at enterprise.services@kalycito.com. Regards, Powerlink-Team-Kalycito
Hi Hassen, In general there is a shared memory between the kernelspace (PCP) and userspace (host) through which the data exchange happens. For your first question: The data sent from host is stored in a shared memory and it triggers an interrupt by which the PCP is notified. For your second question: The openMAC receives the data from the openPOWERLINK network and triggers an interrupt to notify the PCP about the received frame. Kindly refer to the edrv-openmac.c file present in the stack to understand...
Hi Patrick, From your configuration we see that PResTimeout value is greater than your cycle time. PResTimeout value is the timeout value for the CN to respond within the time specified. And this timeout value should be lesser than your cycle time. We tested with the same stack version V2.6.0 with default PResTimeout value of 27us and it works fine (CN is operational). Kindly reduce your PResTimeout value less than cycle time and let us know your observation. Regards, Powerlink-Team-Kalycito
Hi Ahmed, To help you further, we would require versions of the openPOWERLINK stack and openCONFIGURATOR plugin that you are using. Also let us know the object / sub-object index and its datatype. Share us debug log and wireshark trace to support you better. Regards, Powerlink-Team-Kalycito
Hi User, As you have already explored, Intel I219-LM (Vendor ID - 0x8086, Device ID - 0x156f) is not implemented in openPOWRLINK stack and we would require time to implement the same. Could you also try the same in edrv-i210.c file and come back with your observation. Thanks, Powerlink-Team-Kalycito
Hi Konstantinos, openPOWERLINK application is available in many embedded and OS based targets. You could also use Raspberry Pi for running your openPOWERLINK application, it depends upon how much performance you are expecting. Just for evaluating openPOWERLINK stack you can use Raspberry Pi running Linux. But once your requirement is for stable high performance real time solution then you would require IPCs and RTOS. Kindly visit our guides pages to get Quick Start Guides and detailed information...
Hi Patrick, We reproduced the error faced by you on Windows 10. We shall invest it in detail and provide you solution earliest possible. Regards, Powerlink-Team-Kalycito
Hi Hassen, The openPOWERLINK design is implemented in Altera DE2-115 variant without the ICB-HSMC module. Regards, Powerlink-Team-Kalycito
Hi User, As existing openPOWERLINK stack does not contain Zed board implementation, we couldn't provide you support on the same. if you do not get support from the community and require premium support to sort out this issue, kindly write to us to enterprise.services@kalycito.com. Regards, Powerlink-Team-Kalycito
Hi Larry York, If a node is in Basic Ethernet mode and when connected to a PC/laptop, - With no knowledge of Powerlink (No openPOWERLINK application is running) normal TCP/IP communication is possible - With openPOWERLINK CN application running, only the Powerlink communication (MN to CN communication) is possible For your second question, yes it's possible to implement the board with your requirement. Kindly let us know for any support required. Regards, Powerlink-team-Kalycito
Hi Mladen, We worked on the issue and identified that there are 12 DLL prints, out of which below 5 DLL prints (in (openPOWERLINK_dir)/stack/src/kernel/dll/dllkframe.c) are causing this issue. Print statement1 in line 3031: DEBUG_LVL_DLL_TRACE(" --> Send StatusRequest: ER:%d\n", ((pIntNodeInfo->soaFlag1 & PLK_FRAME_FLAG1_ER) != 0)); Print statement2 in line 208: DEBUG_LVL_DLL_TRACE("%s(): pfnCbAsync=0x%p SrcMAC=0x%llx\n", __func__, dllkInstance_g.pfnCbAsync, ami_getUint48Be(pFrame->aSrcMac)); Print...
Hi Akshay, This isn't a serious issue. CycleLen in tOplkApiInitParam is not working because, the structure is called during the openPOWERLINK stack initialization. So, the application here takes the value from CDC file as the definition of structure "tOplkApiInitParam" says below, The structure defines the openPOWERLINK initialization parameters. The openPOWERLINK stack will be initialized with these parameters when oplk_create() is called. Most of the parameters will be stored in the object dictionary....
Hi Ahmed, For your first question, The XDD file is the device description file which contains default values for each object and provided as an input to the openCONFIGURATOR The XDC file is obtained with the configuration changes that are made by the user to create a openPOWERLINK network. For eg: By default the object 1006 (cycle time) will not contain any value. The user can modify the value of object 1006 in openCONFIGURATOR and these modified information will be updated in the XDC file The objdict.h...
Hi Liu, We see that many queries are been raised by you. And your queries seems to be business-level support (or require immediate reaction for you to progress). To provide you premium support kindly write to us to enterprise.services@kalycito.com. Thanks, Powerlink-Team-Kalycito
Hi Andrea, Just for a clarity, are you running MN link to application (or) MN console with "Kernel stack on Windows" in the Windows 10 PC? Both the PC's having an other active on-board NIC interface will not cause any issue. Regards, Powerlink-Team-Kalycito
Hi Andrea, Kindly refer to the SourceForge Query link to get a solution on data exchange between MN and CN. Regards, Powerlink-Team-Kalycito
Hi Andrea, To run a openPOWERLINK demo application you require a physical interface. In case of running in a Virtual box, the Virtualbox networking should be set to bridged mode so that the packets can come out of the physical interface of the host system. Regards, Powerlink-Team-Kalycito
Hi Andrea, You should assign the output image to input image as below in processSync() function of CN app.c (Located in apps/demo_cn_console/src). pProcessImageIn_l->digitalIn = pProcessImageOut_l->digitalOut; Thanks, Powerlink-Team-Kalycito
Hi Akshay, If your requirement is not specific in hard coding in the stack as you requested earlier, then you can use openCONFIGURATOR for the same. You could generate CDC's of different cycle time and use it as required. Pre-requisite: Install eclipse openCONFIGUARTOR plugin from here. Steps to change cycle time: 1. Import the Demo_3CN openCONFIGURATOR project 2. In the Powerlink Network view, right click on properties tab of openPOWERLINK_MN 3. Change the cycle time in Network section as required...
Hi Mladen, The issue was reproducible at our end. It seems to be a bug in the stack. We have raised ticket in openPOWERLINK GitHub and you can track it from here. Regards, Powerlink-Team-Kalycito
Hi Bruno, It is not possible to run kernel based stack on the Raspberry Pi3. Regards, Powerlink-Team-Kalycito
Hi Mladen, It seems like a debugging prints causing your application to crash. Too many prints will consume more memory when it comes to embedded targets with memory constraints. Try enabling the trace for EDRV and then DLL. Kindly get back to us if you still face issues. Regards, Powerlink-Team-Kalycito
Hi Liu zhi qiang, The TTC Resolution factor is calculated based on the values of clock frequency and prescaler. The steps to calculate the TTC value are as follows: Divide the clock frequency by the prescaler value. This gives number of values the counter counts in one second. Now calculate the time taken to count one value alone. This output must be represented in Nano seconds to get TTC Resolution factor value. Kindly make use of the prescaler value and follow the above steps to calculate it for...
Hi Andrea, The xap.h file is present in the following path: apps\demo_mn_console\src\ Regards, Powerlink-Team-Kalycito
Hi Andrea, Great to see the MN coming to operational on your side. For the loopback data exchange between MN and CN, kindly follow the below step In processSync function of CN assign digitalOut_l to digitalIn_l (Use xap.h to map objects), after the input image value is read and stored in digitalOut_l. Regards, Powerlink-Team-Kalycito
Hi Andrea, It seems like an access issue. Could you please try running the driver and application as sudo user and get back to us if you still face the issue. Regards, Powerlink-Team-Kalycito
Hi Andrea, For stack build, By default, all the configurations will be enabled. You have to set the unused configuration to FALSE. Kindly follow the below mentioned commands. Debug mode: cd <openPOWERLINK_dir>/stack/build/linux > cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCFG_INCLUDE_MN_REDUNDANCY=FALSE -DCFG_COMPILE_LIB_CN=FALSE -DCFG_COMPILE_LIB_CNAPP_KERNELINTF=FALSE -DCFG_COMPILE_LIB_CNAPP_USERINTF=FALSE -DCFG_COMPILE_LIB_CNDRV_PCAP=FALSE -DCFG_COMPILE_LIB_CN_SIM=FALSE -DCFG_COMPILE_LIB_MN=FALSE...
Hi Andrea, From the output terminal prints we understood that you are building the driver for Raspberry pi. There is no hardware (82573 edrv) module in the Raspberry Pi3. The Raspberry Pis Ethernet is internally connected via USB. Only Pcap driver application is compatible in Raspberry Pi3. So, kindly follow the build step for pcap design as follows - Build stack with configuration MNAPP_USERINTF and MNDRV_PCAP enabled. - Build the driver for linux/drv_daemon_pcap. - Build the application with “Linux...
Hi Akshay, Yes, your understanding is correct. Object 0x1006 is used to set the cycle time in the POWERLINK Nework. We can set the cycle time value in the stack code by assigning value for the variable cycleLen in the structure tDllConfigParam. Thanks, Powerlink-Team-Kalycito
Hi Hassen, Thanks for your contribution to openPOWERLINK stack. We will validate your pull request and then proceed with integration activities. Regards, Powerlink-Team-Kalycito
Hi Andrea, Yes, for the openCONFIGURATOR part you can make use of the same cdc file to run your openPOWERLINK application. Regards, Powerlink-Team-Kalycito
Hi Andrea, The binaries were pre-built for Raspberry pi-2 which differs from your current environment. You need to rebuild stack, driver and application to run in Ubuntu Mate. Kindly refer to the below mentioned link for further details. https://www.kalycito.com/guides/introduction-on-how-to-get-powerlink-working-on-raspberry-pi-2/ Regards, Powerlink-Team-Kalycito
Hi Andrea, Could you please make sure that the CN is connected to the interface where MN is running? If the problem still persist, kindly provide us with the details of MN and CN design you are using which will help us to assist you better. Regards, Powerlink-Team-Kalycito
Hi Derik, On the same network interfaces it is not possible to run MN and CN simultaneously. It is possible to run both MN and CN on the same machine with two different interfaces. This can be done by differentiating the Virtual interface and driver name for the MN and CN application (as of now the stack provides a generic virtual interface name of 'plk_veth' and driver name of 'plk' for all the designs) Regards, Powerlink-Team-Kalycito
Hi Andrea, To exchange data between MN and CN, you have to perform a Loopback in the processSync function of CN application(that is assign the digitalOut_l data to digitalIn_l). If this is done, the counter value will be incremented in MN and sent to CN, which will again be looped back. You can monitor this via Wireshark trace. Regards, Powerlink-Team-Kalycito
Hi Liu zhi qiang, For your first question, The circular buffer is used to manage the Kernel events, User events and DLL queues. It is present in the Communication Abstraction Layer(CAL). In the DDR, the circular buffers are used to handle exchanges between the ARM and MicroBlaze, so it is present in the shared memory region allocated in the DDR. For your second question, The difference between shared and common memory are as follows 1. Common memory segment is used for exchanging control signal and...
Hi Andrea, The init_timer() is deprecated in Linux Kernel version greater than 4.15. We think the issue your facing is because the Kernel version you are using is greater than 4.15. A fix for this is available as a pull request in github and has not yet been intregated into the master branch. Kindly refer to this link and make use of the stack changes available there to resolve your issue. Regards, Powerlink-Team-Kalycito
Hi Andrea, From the attached mnobd.txt, we understand that you have not mapped the objects for CN. If you want to see the Basic POWERLINK network alone to be running, you can make use of the already available CDC file in the openPOWERLINK stack(apps\common\openCONFIGURATOR_projects\Demo_3CN\output). If you want to configure and generate a CDC file on your own, kindly refer to the mnobd.txt file that is available in the same path mentioned above and map the objects by referring to it. Regards, Po...
Hi Andrea, This error occurs if your using a Linux Kernel without RT patch. Kindly build the driver in a Linux Kernel which has RT patch in it and this will resolve your issue. Regards, Powerlink-Team-Kalycito
Hi Andrea, The same XDD files can be used for Windows Platforms. Regards, Powerlink-Team-Kalycito
Hi Andrea, From your query we understand that you have configured a new network and generated a mnobd.cdc file. For you to run the openPOWERLINK demo_mn_console application(kernel module) follow the steps, Compile your stack(refer to this link. The link contains build steps for different platform and you can choose the steps for the platform that is available at your end. Compile your driver(refer to this link. This link contains build steps for different driver variants and you can choose the steps...
Hi Andrea, The XDD files are generic to all Linux platforms. You can make use of it which is available in the openPOWERLINK stack (apps\common\objdicts\CiA302-4_MN). XDD files and network interface cards are independent. Regards, Powerlink-Team-Kalycito
Hi Liu zhi qiang, From the screenshots, we see that CN is being reset because of PRes (response frame) send by CN is not being received by MN. The error code 0x8243 states the E_DLL_LOSS_PRES_TH error. To avoid this error kindly increase the value of object 0x1F92(NMT_MNCNPResTimeout_AU32) in the openCONFIGURATOR. This will solve the loss of PRes error. Hope this will also solve your other query . Regards, Powerlink-Team-Kalycito
Hi Liu zhi qiang, From the screenshots, we see that CN is being reset because of PRes (response frame) send by CN is not being received by MN. The error code 0x8243 states the E_DLL_LOSS_PRES_TH error. To avoid this error kindly increase the value of object 0x1F92(NMT_MNCNPResTimeout_AU32) in the openCONFIGURATOR. This will solve the loss of PRes error. Hope this will also solve your other query as well. Regards, Powerlink-Team-Kalycito
Hi Andrea, Please follow the below mentioned links for getting started with openPOWERLINK on Raspberry Pi 3. For introduction to Raspberry Pi, refer the below links which contains the quick start guides as well. https://www.kalycito.com/guides/introduction-on-how-to-get-powerlink-working-on-raspberry-pi-2/ https://www.kalycito.com/guides/quick-start-powerlink-on-raspberry-pi2/ The OS mentioned in guide is not supported for Raspberry Pi 3. So, kindly try with different OS as mentioned in below links....
Hi Liu zhi qiang, The "interrupt" pin in the Axi Ethernet IP core can be used instead of the "timer_pulse_irq" pin in the Axi Openmac IP core. Kindly replace the same and try building the hardware. If you face any issue during the hardware build, please provide us with the console log so that we can assist you better. Thanks, Powerlink-Team-Kalycito
Hi Derik, As you have mentioned, Version A follows implementation similar to demo_mn_qt and Version B follows implementation similar to demo_cn_console. The demo_cn_qt application that you are developing should follow the Version B style of implementation for the data exchange between MN and CN. The oplk_exchangeProcessImageOut function exchanges output process image data and oplk_exchangeProcessImageIn function exchanges input process image data. As your requirement is to implement PDO sync in CN,...
Hi Akshay, For your first question: Kindly ensure that the CFG_STORE_RESTORE flag is set when the stack and application is build and also make sure that CONFIG_OBD_USE_STORE_RESTORE flag is set to TRUE. Only if these flags are set the obdconf_storePart and obdconf_loadPart function will get executed. For your second question: No, it is not necessary that this must be added manually in the XDD file. It is already available in the XDD file present in the stack. Please refer to apps/common/objdicts/CiA401_CN/00000000_POWERLINK_CiA401_CN_configStoreRestore.xdd...
Hi Derik, From your question, we understand that you are trying to implement a CN design by having the demo_mn_qt as your base in Linux environment. As you have mentioned processSyncEvent() is the function where the data exchange has to happen between the MN and CN. The CN just requires a syncthread to synchronize and exchange data with the MN. You can replicate the way the demo_cn_console application is organized to get the demo_cn_qt application run. Could you please tell us the thread section...
Hi User, It seems like the support for VSTRING object is not available in openCONFIGURATOR. This is the reason for empty xap.h file. When the datatype VSTRING is mapped along with other datatypes, the eclipse crashes. If your requirement is to send the data (other than VString) to MN or viceversa, You can use the available objects (of supported datatypes in dynamic channel) to send and receive the data. Or with your successfully built openCONFIGURATOR project (one with empty xap.h) manually edit...
Hello Derick, Could you please share us the openCONFIGURATOR project, and details of MN and CN application (Linux-edrv/PCAP ) used? Thanks, Powerlink-Team-Kalycito
Hi Nandhu, For your question regarding the "[ERROR] Dynamic channel....", The Dynamic channel support should be enabled in MN. The approach you have taken is correct. We were also able to reproduce the issue of eclipse crashing while mapping. To debug this further, can you please share the log file of openCONFIGURATOR?. The log file will be present in the path eclipse-workspace.metadata.plugins\org.epsg.openconfigurator. Thanks, Powerlnk-Team-Kalycito
Hi Liu zhi qiang, For your 1st question: The hrestimer-zyncttc.c file has a target specific implementation of hrestimer module for Linux kernel space running on Zynq platform. The hrestimer module uses TTC(triple timer counters) that has two devices which provides the continuous timers support. In the present implementation of Emacps, interrupts are not generated from ttc module from Linux, so the driver is updated to use hrestimer-linuxkernel.c file Modification of hrestimer-zynqttc.c into hrestimer-zynqttc-noos.c...
Hi Liu zhi qiang, The circbuffer.c file provides an implementation of circular buffer library. The circular buffer library is designed in such a way that different instances(threads, processes, etc.) can concurrently access the circular buffer. So, a shared memory which is accessible by all instances and a lock mechanism to lock the critical sections is required. We understand that you have modified the SHARED_MEM_SPAN and SHARED_MEM_BASE value other than default values available in the stack. The...
Hi Axel Fischer, The error you have highlighted is not the reason for the issue you are facing. This error usually occurs when the configuration gets downloaded to CN. The reset and retry behaviour that you see in CN might be because of the timeout or cycle time values. Kindly let us know if you have used the default CDC generated or provide following details if you have customized the CDC to assist you better 1. Cycle time 2. CN PRestimeout Thanks, Powerlink-Team-Kalycito
Hi Maoyuze, The openPOWERLINK cycle consists of three periods. 1. During the start period, the MN sends a Start of Cycle frame(SoC) to all CNs to synchronize the devices 2. In the second period, called as isochronous phase payload data exchange occurs 3. The third period of a cycle marks the beginning of the asynchronous phase, which allows for the transfer of larger and non time-critical data packets The MN establishes a connection with all the CNs via the SoC frame send during the first period....
Hi Liu zhi qiang, From your question we understand that you want to convert the PCP Daemon C code to VHDL. We have not tried such kind of conversion yet. A google search for this, says that Vivado HLS has a convertor which converts C code to VHDL. Kindly refer to the Vivado HLS user guide and proceed to find a solution to your conversion requirement. Thanks, Powerlink-Team-Kalycito
Hello User, Kindly upgrade to the stack version to 2.7.0 and follow the build steps for stack, driver and application. After loading the driver and running the application, you will find the interface name as "plk_veth"(the interface name is updated in the latest stack). Select that interface and try running the application. Kindly get back to us if you face any other issues with it. Thanks, Powerlink-Team-Kalycito
Hi Nandhu, We reproduced the error faced by you. Kindly add default value for VString object to resolve this issue. The admissible values of data of type can range from 20 to 7E. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, The shared memory must be located in the microblaze side. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, The shared memory must be loctaed in the microblaze side. Thanks, Powerlink-Team-Kalycito
Hello User, You can suppress PRE_OP1 and PRE_OP2 states by setting NMT_StartUp_U32 bit 2 to "0". When this bit set to "0", the MN directly reaches MS_OPERATIONAL state. Let us know for further support required. Thanks, Powerlink-Team-Kalycito
Hi Nandhu, To answer your question below: Yes, you can pass a string from CN to MN in isochronous phase. Also kindly share us the steps you carried out in openCONFIGURATOR project with detailed information on mapping of input_string. So that we could help you better in creating the openCONFIGURATOR project. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, We have a question on why Zynq design has to run an embedded application on it? Is your requirement so particular to have embedded application to be run on Zynq design? However, "Kernel stack has gone! Exiting" error occurs if the kernel stack is not alive and also from the screenshots you have attached we find that the MN sends only SoC and SoA frames. The POWERLINK MN should send a PReq frame to communicate with a CN and that frame is not being sent by your MN. We can also infer...
Hi Liu zhi qiang, Kindly find below the responses for the questions that you have posted. We have not tried replacing the openMAC driver with Emacps or Emaclite. But we guess it requires modifications in the driver interface codes. The driver interface code for the openMAC driver must be replaced with the Emacps and its respective hardware description files must be added to the stack. It makes use of one High resolution timer to communicate in between the user space and kernel space Sync Timer in...
Hi Liu zhi qiang, The openmac timer module is used for the following purposes: Accessing the MAC timing Generating interrupts in case of receiving any data frames from the Network or sending data frames to the Network Modifying the register contents to enable read and write of data Thanks, Powerlink-Team-Kalycito
Hello Liu zhi qiang, To make MN to enter NMT_MS_BASIC_ETHERNET state, kindly set "NMT_StartUp_U32.Bit13 (1f80)" to 1 in openCONFIGURATOR. In this state, MN may perform Legacy Ethernet communication according to IEEE 802.3 and there is no POWERLINK specific network traffic control. Thanks, Powerlink-Team-Kalycito
Hi Akshay, Yes your understanding is correct. The "E_NMT_WRONG_STATE" error is reported when the expected NMT state transition is not happened in the Network. The possibility for "E_NMT_WRONG_STATE" error to occur in the Network is: - When the CN does not switch to the expected target state Kindly look at the NMT state transition of CN to resolve this issue. Hope this helps. Thanks, Powerlink-Team-Kalycito
Hi Nandhu, You can refer to the following queries to proceed further: For query on adding analog inputs: https://sourceforge.net/p/openpowerlink/discussion/opendiscussion/thread/1f9c0f4a/?limit=25#dbb6 For queries on real32: https://sourceforge.net/p/openpowerlink/discussion/newbie/thread/10a06574/ For information on general data exchange: https://sourceforge.net/p/openpowerlink/discussion/newbie/thread/c061732f/?limit=25#6313 Note: Use updated xdd files from <openPOWERLINK-dir>\apps\common\objdicts\CiA302-4_MN...
Hi Akshay, For the first question regarding the object dictionary entry: The object 0x1010 is needed to implement the store/restore function in CN This object supports the saving of parameters in non volatile memory. By read access the device provides information about its saving capabilities. For the second set of questions: Yes there is a signature value associated with each object dictionary. These signature values are mostly used to avoid misintepretation and these values must be written to the...
Hi Liu zhi qiang, From the screenshot you have shared we see MN reaches operational state and there is no error in the debug prints. Could you please provide detailed description of issue you are facing? For your question regarding the processSync call: processSync() is called by initPowerlink function in apps/demo_mn_embedded/src/main.c. Thanks, Powerlink-Team-Kalycito
Hi Nandhu, It seems like Ubuntu image provided is supported only on Raspberry pi 2 model. There is no official support for raspberry pi 3 in Ubuntu 14.04. Can you please try with any OS (Raspbian/ Ubuntu Mate/ Snappy Ubuntu core)? Thanks, Powerlink-Team-Kalycito
Hello User, We understood that your are making the openPOWERLINK Managing Node to be ROS package. Can you please provide the following information to assist you better 1. openPOWERLINK stack version 2. Is the MN coming to operational state without ROS package? 3. In which environment your are running the above mentioned application (OS, Kernel version, MN device) And yes, real time signal 0 is an error from the openPOWERLINK. Regards Powerlink-Team-Kalycito
Hi Simon, Thanks for the detailed description of issue. We will update the stack with latest XDD files in the upcoming release. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, The PCP consists of the daemon.c file present in drivers/xilinx-microblaze/drv_daemon folder. We are currently working on implementing Zynq Hybrid as CN. Kindly refer to the Github issue #345 for updates. Thanks, Powerlink-Team-Kalycito
Hi Hassen, We are currently working on implementing Zynq Hybrid as CN. Kindly refer to the Github issue #345 for updates on the same. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, The PCP consists of the daemon.c file present in drivers/xilinx-microblaze/drv_daemon folder. We are currently working on implementing Zynq Hybrid as CN. Kindly refer to the Github issue #347 for updates. Thanks, Powerlink-Team-Kalycito
Hello User, The hardware version of Avnet FMC board that we have used is AES-FMC-ISMNET-G and from your query we can infer that you are using a different version of the board. Impact on the differences in the avnet board should be analysed to resolve this issue. Thanks, Powerlink-Team-Kalycito
Hi Hassen, For your first question: Regarding memory segment, common memory is used for exchanging control and information. Shared memory is used for bulk data exchange. For your second question: openPOWERLINK daemon application is running on Microblaze and it gets the value of PDO from shared memory location which is mapped into the user space to provide direct access to the user stack. (Source file location: stack/src/user/pdo/pdou.c) For your third question: After receiving a frame, openMAC sends...
Hello Hassen, We tried migrating the Zynq design to Vivado 2017.4. But it was not successful because certain IP's and features supported by Vivado 2016.4 is not available in Vivado 2017.4 and a few of them are modified. There is no issue with respect to stack files and it seems to be a toolchain issue. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, Kindly refer to "Building for embedded system (Non-OS targets)" section of this link to get information on building the demo_cn_embedded application. To build the complete CN embedded application of your requirement, refer Supported Processor Platform from the main page of the sourceforge documentation. Note: Kindly follow the building steps of either Microblaze or Arm based upon the architecture you are using. Thanks, Powerlink-Team-Kalycito
Hi Liu zhi qiang, From the query, we understand that you need to find a place in the code where the microblaze is reset. Kindly refer to the drivers/linux/drv_kernelmod_zynq/zynqdrv.c which is the C file where the microblaze is reset. Thanks, Powerlink-Team-Kalycito
Hi Franco, We understand that you want to perform two operations with a single CN (SDO over UDP and file transfer via TFTP protocol). Could you please share us detailed information on the following: 1. Type of Windows MN platform (Link-to-application/NDIS/QT demo) 2. Type of CN Also let us know if normal SDO read/write via UDP is working fine without TFTP ? Thanks, Powerlink-Team-Kalycito
Hi liu zhi qiang, We are currently implementing Zynq Hybrid (in Zc702) as CN. We will update the status in the bug once the implementation is available. Thanks, Powerlink-Team-Kalycito
Hi Simon, This issue could be happening if the device you have and the device tree compiled in the kernel has some version configuration mismatch. Technically the 82573 driver also works for 82567LM. We noticed that the driver for the 82567LM in the openPOWERLINK stack excluded support for few versions. We have created a pull request in Github #350 including the versions 9, 9M and 10 of 82567LM. Depending on your device ID, this should work. Keep us posted on your results. Thanks, Powerlink-Team...
Hi Akshay, From the attacheed wireshark trace, we can infer that the openPOWERLINK cycle is not taking place properly (after PReq there should be a PRes frame but the Asnd frame which has to be send during the asynchronous phase is actually being sent in the isochronous phase itself). Before looking into why the SOC frame is not sent properly, kindly correct the openPOWERLINK cycle sequence such that the Asnd frame comes only in the Asynchronous phase of the cycle. Please refer to the porting link...
Hello Simon, This error occurs if the kernel module signature verification is enabled in your kernel. If this is enabled, then kernel will not allow the loading of modules that the vendor has not signed. To solve this you have to disable this option in the kernel and rebuild the kernel. Steps to disable: cd /usr/src/<linux_header> make menuconfig (it opens a pop-up screen) Select Enable loadable module support That will navigate to a screen and disable Module signature verification Please find attached...
Hello User, As per your requirement, to port it to very limited embedded system you need certain optimization to be done. Memory allocation happens for the entire 254 objects (by default) in the heap memory. So by reducing the number of objects (as required by your application) you can reduce the heap memory. Thanks, Powerlink-Team-Kalycito
Hello Wesley, Okay. Kindly get back to us if you have any queries regarding openPOWERLINK. Thanks, Powerlink-Team-Kalycito
Hello User, The behavior you see on "plk" interfaces loading is correct. Kindly ensure that your MN is running with the correct interface that is connected to the CN. Let us know for any help. Thanks, Powerlink-Team-Kalycito
Hi Hassen, This error will be thrown only if the driver is not inserted properly. Kindly check if the Avnet board is connected properly to J3 expansion. Please see below the tested configuration: Zynq ZC702 version - 1.0 AVNET expander board (AES-FMC-ISMNET-G) Thanks, Powerlink-Team-Kalycito
Hi Xiaokang, From your problem statement we understand that you want to reduce the idle time (time between SoA and the next SoC). There is no specific object to modify the idle time. It can be done by changing the timeout values of POWERLINK frames. Could you please share us detailed information on your requirement to assist you better? Thanks, Powerlink-Team-Kalycito
Hi Simon, Could you please check in "/sys/module/oplk82573mn" for the loaded ethernet driver? Thanks, Powerlink-Team-Kalycito
Hello User, The observed values of jitter and Preq-Pres Latency for Zynq Hybrid design at 250us cycle time is as below Jitter value: Min value: -40ns Max value: 80ns Preq-Pres Latency - 7.7us Kindly provide us the cycle time in which your trying to run so that we can give you more accurate data for you to have it as a benchmark. Thanks, Powerlink-Team-Kalycito
Hi Wesley, Ok. Let us know if you require any help. Thanks, Powerlink-Team-Kalycito
Hi Hassen, We see that it requires modification in the Microblaze side of the Zynq hybrid design to make it act as CN. This must be a complete new implementation of the design. We have logged this bug in Github https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/345 . You can track the status of the bug in Github. Thanks, Powerlink-Team-Kalycito
Hello User, We see that it requires modification in the Microblaze side of the Zynq hybrid design to make it act as CN. This must be a complete new implementation of the design. We have logged this bug in Github https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/345 . You can track the status of the bug in Github. Thanks, Powerlink-Team-Kalycito
Hi Zhengyan Xie, We understand that you are using PC with Centos7 as MN with 7 DE2-115 CN (single-gpio). But we are not able to clearly understand the problem statement of your's. Could you please provide us detailed information about your problem. Thanks, Powerlink-Team-Kalycito
Hi Wesley, Before proceeding with the steps to add CN in the Openconfigurator, kindly refer to the Openconfigurator Plugin User manual available in the Sourceforge website. In the manual refer to the Section 6.1, this section contains a detailed step by step procedure that has to be followed to add CN.You need not modify the objdict.h header file for a Basic run test. If you are trying in any other configuration and facing this issue, kindly provide us detailed information on it so that we can suggest...
Hi Wesley, Kindly provide us with a feedback on whether the FTP is working with the Vstring.patch file that was provided by us. In the meanwhile, we will try implementing the same with DOMAIN object and avail you the information. Thanks, Powerlink-Team-Kalycito