Activity for Simon Fok

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, The problem is that the MN and CN xdd files in the folder: ...\apps\common\openCONFIGURATOR_projects\Demo_3CN\deviceImport have not been updated since v2.1.1 even though the support for REAL32 was added long time ago. If one uses the MN and CN xdd files in the respective folders: ...\apps\common\objdicts\CiA302-4_MN & ...\apps\common\objdicts\CiA401_CN then everything will work fine. In the future releases, it is important to make everything consistent. Otherwise, if one uses the xdd...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I am trying to modify the demo programs to send real32 data between MN and a CN. I read the posting: https://sourceforge.net/p/openpowerlink/discussion/newbie/thread/10a06574/ and made the following changes: (1) add real32 support for managed node by changing objdict.h (2) add object definition for controlled node by changing objdict.h (3) add real32 support to xdd file of managing node (4) add object definition to xdd file of controlled node I also ran openCONFIGURATOR and copied the xap.h and...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, With "./plkload oplk82573mn.ko", we could get: "module verification failed: signature and/or required key missing -- tainted kernel". It is not documented how to overcome this. Can you share with me what is the best way around this? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I did "./plkload oplk82573mn.ko" with no errors. I also did "lsmod" to make sure oplk82573mn.ko is loaded. But there is no /dev/proc directory although /dev and /proc exist independently. Where exactly should I be looking for this file? I tried finding anything named "oplk82573" will no success. Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi Christoph, Thanks so much, that did the trick. I have decided to use your option 1 by defining a struct in the ApplicationProcess/dataTypeList for my messages. I have 2 questions: (1) Using your struct.xml example, can you tell me what is the corresponding changes I need to make to the CN objdict.h file? (2)How do I link the process variables to the object dictionary? Can I still use the "tOplkError oplk_linkProcessImageObject" function with "varEntries" set to 1? Thanks again so much for your...

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi Christoph, Thank you very much for your quick response. I tried out the struct.xml file by inserting it in a standard CN.xdd file and pass it to OC and was able to build without problems. However, I couldn't get group.xml to work. BTW, I modified your group.xml file to ensure Byte field enumeration is consistent. See below. Here are the errors that I have encountered: (1) If I insert the following before the <Application Layers=""> line, I got "Content is not allowed in prolog". (2) If I insert...

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Romain, Sorry I did not see your suggestions till today. I weant to: EclipseFolder$\plugins\org.epsg.openconfigurator_2.2.1.201708040602\os\linux\x86_64 I tried the symlink as you delineated and it did not work. Same problem: "Error loading shared librariess - no boost_date_time in java.library.path." Any ideas? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi, My understanding is that it is possible to have a maximum of 0xFE x 0xFE mapped objects per direction. But currently in openCONFIGURATOR , there is only 1 TPDO and 3 RPDO for a CN, this means 254 objects for TPDO and 3x254 objects for RPDO. So how can I get pass this limitation? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi, How do I map a Domain Object of data type = 0x000F? I tried doing this by modifying the default CN xdd file that came with openPOWERLINK by changing one of the "6000" subIndex data type to 0x000F, But when I tried to map it to the TPDO, I got an error: "Insufficient mapping objects available: (Sub)Index 0x6000/0x01 on node "1" cannot be mapped. Data size is not defined or zero." How do I resolve this issue? I understand I need to define the size of the domain object but how? Thanks in advance,...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Thank you for logging this bug. I have 2 questions: (1) I presume the user/kernal space implementation has worked before, can you tell me what version of OPLK and Ubuntu combination was used? and what was the Ethernet Controller HW? (2) "plkload"unbinds the existing kernel driver and loads the oplk82573mn.ko kernel module. But how and where does oplk82573mn.ko get binded to the Ethernet Controller? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, An update, after I did: sudo ./plkload oplk82573.ko I follow-up with "lsmod" and I can see that oplk82576 is loaded. But how and where in the OPLK code does oplk83573.ko get binded to the Ethernet Controller? When I do " lspci -v" after ./demo_mn_console, the "Kernel driver in use" field is empty?! Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Can you suggest what I should check or double-check? Because when I do: sudo ./plkload oplk82573mn.ko I got the following, so I presume the driver is load. Am I wrong? Thanks, Simon Check if high resolution timer support is available... OK 1) 20:00.0 Ethernet controller: Intel Corporation 82567L Gigabit Network Connection unbinding PCI device 0000:20:00.0 Loading POWERLINK module ... POWERLINK module successfully loaded.

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I follow the instructions for a split userspace/kernel implementation . I am running Ubuntu 4.9.20-rt16 with an Intel 82567LM Ethernet Controller. I was succsssful in building the stack, kernel driver and demo_mn_console ( with the flag -DCFG_BUILD_KERNEL_STACK="Linux Kernel Module") ./plkload oplk82573mn.ko was executed successfully. But I encountered a problem when I did: ./demo_mn_console. demo_mn_console: Stack version:V2.6.2 Stack configuration:0x0000001B Using CDC file: mnobd.cdc Initializing...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Adding to my previous post, shouldn't I be getting something like: initOnePciDev enable device initOnePciDev waiting for link to come up... in the dmesg output?? Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I was able to resolve the issue of "module verification failed: signature and/or required key missing - tainting kernel" by providing the required signature and key. However, I am still unable to get ./demo_mn_console to work. After running: ./plkload oplk82573mn.ko ./demo_mn_consoleThe dmesg output is: The dmesg output is: e1000e: enp0s25 NIC Link is Down ... edrv_init pPciDev=NULL edrv_exit calling pci_unregister_driver() edrv_exit PCI driver for openPOWERLINK already unregistered Any ideas...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    BTW, I am using the Intel 82567 Ethernet Controller. Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Below is the dmesg output after running: ./plkload oplk82573mn.ko ./demo_mn_console Simon [ 6531.372717] e1000e: enp0s25 NIC Link is Down [ 6531.696786] oplk82573mn: loading out-of-tree module taints kernel. [ 6531.696991] oplk82573mn: module verification failed: signature and/or required key missing - tainting kernel [ 6573.422758] edrv_init pPciDev=NULL [ 6573.422760] edrv_exit calling pci_unregister_driver() [ 6573.952095] edrv_exit PCI driver for openPOWERLINK already unregistered

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I followed the build steps above but I got an error message: "Failed -- No network interface controller with chip found!" When I check devices.txt list and 82577 is not there. I switched to another laptop that has a 82567 Ethernet controller and the build steps completed with no error. I then ran "sudo ./plkload oplk 82573mn.ko" and no problem. However, when I ran sudo ./demo_mn_console, I got an error initializing openPOWERLINK stack, See attached screen shot. Am I missing something? Thanks,...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I ran into the same problem. As soon as I did "./plkload oplk82573mn.ko ", link light on the switch would go off. So when I ran "demo_mn_console", I got the error described above. When I did, "/plkunload oplk82573mn.ko ", the link would go back up. How do I reolve this? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I am trying to run OPLK with Intel 82577LM Ethernet Controller with split user/kernel layers under Linux. I have 2 questions: (1) Is 82577 supported? (2) Is the following build process correct? -Building stack libraries: >cmake -DCMAKE_BUILD_TYPE=Release DCFG_COMPILE_LIB_MNAPP_KERNELINTF=TRUE ../.. >make >make install -Building drivers: >cmake -DCFG_OPLK_MN=TRUE DCFG_POWERLINK_EDRV_82573=TRUE .. >make >make install -Building Demo application: >cmake (How do I specify CFG_BUILD_KERNEL_STACK should...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, We have an embedded real-time environment with 1 MN and ~10 CNs. They are connected via a 1 GbE switch. We have an existing application that runs under VxWorks. We are trying to ascertain whether to port OPLK to VxWorks or port our application to real time Linux which currently supports OPLK. BTW, I have a question about Segemented Transfers posted in the Technology section. Can you help? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Is openPOWERLINK offers support for VxWorks? I do not see it mentioned in the documentation. If so, what is the relative level of effort to port openPOWERLINK to VxWorks? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi Wolfgang, If I am doing a SDO oplk_writeObject (or oplk_readObject) using Asnd and if I set AsyncMTU = 1500 for transferring a DOMAIN object of 1Mbyte. Is it possible to have multiple 1500 frames in a single SoA cycle? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Thank Wolfgag! Do you know when 2.7.0 is due for final release? Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, As a follow-up question, Object 1003h: ERR_History_ADOM is also not defined in the xdd and objdict.h files. That being the case, what should I do if I want a log of the Error History of the MN and CN? Thanks in advance, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, Thank you for getting back to me so quickly. We would like to log "Late PRes" errors and I see that 1C04, 1C05 and 1C06 are not defined in objdict.h and the xdd file. I could put them in but I want to know if error recognition mechanism for "Late PRes" even exists in the current stack? So this leads me to a general question of many of the DLL_Error Handling Objects that are marked "optional" have the corresponding error recognition mechanisms implemented? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, In the case of the MN, if there is a conflict in an object's value between the xdd/cdc file and objdict.h. Which value would the OPLK stack use? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Per the EPSG Draft Standard 301, ver 1.3.0, there is a list of DLL Error Handling Objects. However, only a few of these objects are defined in the xdd/objdict.h files. I understand that per the standard, a lot of them are optional. Question: Is error recognition available in the openPOWERLINK stack for all the objects on the list? After all, I could add them in xdd/objdict.h but it's useless unless error recognition is implemented as well. Correct? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, As a follow-up to this post, can someone give an explicit example on how to set netTime to non-zero? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, Attached is my ldd output. On first glance it really looks that same. Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I went into Eclipse Neon 3.0 and deinstalled 201708040607, restart Eclipse. Afterwards, I installed V2.2.1.201708040602 (using org.epsg.openconfigurator.updatesite-2.2.1.zip), restart Eclipse. Unfortunately, I got the same error. Is there something else that I need to do? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I replaced the libraries with the ones that you gave me and have the same error. I did notice notice that I have two directories: org.epsg.openconfigurator_2.2.1.201708040602 org.epsg.openconfigurator_2.2.1.201708040607 I replaced the libraries for both. And as I said, same error. Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I have both Eclipse Neon.3 and Oxygen.2, both yielded same error as posted. As for Jave, this what I have: java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 1.8.0_151-b12, mixed mode) Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Can anyone well-versed with OPLK standard help clarify this question regarding how PRes_timeout works? See my earlier post. Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I got the following when I did "ldconfig -p | grep libboost_date_time", libboost_date_time.so.1.58.0 (libc6,x86-64) => /usr/lib/x86-64-linux-gnu/libboost_date_time.so.1.58.0 libboost_date_time.so (libc6,x86-64) => /usr/lib/x86-64-linux-gnu/libboost_date_time.so Is that correct? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Norman, Thank you for your reply. Given what you said, shouldn't the documentation be updated to say "isolcpus=0, 1" instead of "isolcpus=1"? Also, just to be clear, this still applies if I am running everything in user space. Correct? Finally, do you know whether the patch that implements "split softirq locks" is already in Ubuntu kernel 4.x? Best regards, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Does anybody know whether the patch that implements "split softirq locks" is already in Ubuntu kernel 4.x? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I have a question regarding how PRes_timeout works. I have 1 MN and 2 CNs and Pres_timeouts for both CNs are set to be 200 us. MN sends PReq1 to CN1. Suppose CN1 sends PRes1 in 50 us, will the MN wait till 200 us is expired before sending PReq2 to CN2 or will it send PReq2 upon receipt of PRes1 from CN1? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Norman, Your suggestions did the trick. I tried both a hub and the link you provided. While the hub does have an impact, the biggest difference is from the steps delineated in the link. Thanks so much for your help. Now that is squared away, can you help me with the second post regarding isolcpus? I am still confused whether isolcpus should be set to 0 or 1? Best regards, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, As a follow-up question about CPU affinity. I noticed that in apps/common/src/system-linux.c, we have: #if defined(SET_CPU_AFFINITY) { /* binds all openPOWERLINK threads to the second CPU core */ cpu_set_t affinity; CPU_ZERO(&affinity); CPU_SET(1, &affinity); sched_setaffinity(0, sizeof(cpu_set_t), &affinity); } #endif But in drivers/linux/drv_daemon_pcap/daemon.c, we have #if defined(SET_CPU_AFFINITY) { /* binds all openPOWERLINK threads to the first CPU core */ cpu_set_t affinity; CPU_ZERO(&affinity);...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I have been trying to tune performance based on recommendation for User Space driver: (1) Install RT-kernel. (2) Add the following kernel command line inputs: isolcpus=1: this isolates core#1 to be used exclusively for openPOWERLINK irqaffinity=0,2,3: this sets the default interrupt affinity to all other cores. rcutree.kthread_prio=99: this sets CONFIG_RCU_BOOST_PRIO to 99 (3) Disable IRQ balancing. (4) Run ./set_prio [POWERLINK Ethernet Interface] Here is my environment. 1MN with 2CN implemented...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Norman, You are right, it turns out the problem is not related to setting isolcpus. Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I am trying to tune openPOWERLINK performance on my platform. I have an Intel i5 4-core processor running Ubuntu RT kernel 4.9.20-rt16. Per recommendation, I added "isolcpus=1" as a kernel command line input by editing grub and did "update-grub". But when I reboot, I got a "kernel panic - not sycning: VFS :unable to mount root fs..." Any ideas how to resolve this problem? Thanks in advance, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi, I have Ubuntu 16.04.2. I followed the Linux installation instructions, specifically: (1) sudo apt-get update (2) sudo apt-get install default-jre (3) sudo apt-get install libboost-all-dev but I ran into the following error when I click the "New POWERLINK network" icon: "Error loading shared librariess - no boost_date_time in java.library.path." Any help is appreciated. Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, I found the TxMaxPayload in main.c under demo_mn_console, I changed it from 256 to 1490 and is now transmitting the correct number of bytes. Regarding CN, this is what I have: OBD_SUBINDEX_RAM_VAR(0x1F98, 0x01, kObdTypeUInt16, kObdAccR, tObdUnsigned16, IsochrTxMaxPayload_U16, 0) OBD_SUBINDEX_RAM_VAR(0x1F98, 0x02, kObdTypeUInt16, kObdAccR, tObdUnsigned16, IsochrRxMaxPayload_U16, 0) OBD_SUBINDEX_RAM_VAR(0x1F98, 0x03, kObdTypeUInt32, kObdAccR, tObdUnsigned32, PResMaxLatency_U32, 0) // in...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Wolfgang, Thank you for your reponse. A couple of questions: (1) For a CN, if I want to increase the MaxPayload to 512, I would modify the following lines of the objdict.h as follows. Correct? OBD_SUBINDEX_RAM_VAR(0x1F98, 0x01, kObdTypeUInt16, kObdAccR, tObdUnsigned16, IsochrTxMaxPayload_U16, 512) OBD_SUBINDEX_RAM_VAR(0x1F98, 0x02, kObdTypeUInt16, kObdAccR, tObdUnsigned16, IsochrRxMaxPayload_U16, 512) (2) For the MN, where and how do I change the demo_mn_console of the openPOWERLINK stack so it...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Powerlink-team-Kalycito, Were you able to replicate my problem or see something wrong with app.c or configuration files? I look into the issue some more. I find it very perplexing that when MN tries to send CN more than 256 bytes, size of message would be set to O and yet RD = 1. Any chances that there is glinch in the stack during PReq? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Attached please find a 7zip file containing: TestProject folder from OC. This folder contains the xdd files for MN and CN. objdict.h for CN app.c for MN and CN Console logs for MN and CN I am running openPOWERLINK 2.5.2 and OC 2.1.2. Both MN and CN are implemented under Window 7. With these files above, you should be able to duplicate my problem. I am sending 130 objects (260 bybes) from MN to CN & CN to MN. CN was able to send 260 bytes to MN but not the other way around. Thanks in advance,...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    HI, Can someone help with my issue stated above? I am trying to figure out if there are parameters in the the stack or demo applications that inherently limit the number of bytes that the MN can send to the CN to 256? Could there be an issue with openCONFIGURATOR perhaps? As I mentioned above, the message size got set to 0 (based on wireshark capture) if I exceed 128 mapped objects or 256 bytes. This only occurs from MN to CN, data transfers from CN to MN do not have this limitation. Thanks in advance,...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, I have been modifying the demo programs that came with openPOWERLINK 2.5.2 to send and receive more than 1 byte of data using 0x6000 for DigitalInput and 0x6200 for DigitalOutput. I modified both the xdd files and objdich.h to extend the number of sub-objects to 254. Using openCONFIGURATOR, I mapped 128 sub-objects to both TPDO and RPDO. These sub-objects are 2 bytes each. I have one MN and one CN. The cycle time is set to 8 ms. Using wireshark, I can see everything is working fine. 256 bytes...

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi Christoph, I have been modifying the demo programs that came with openPOWERLINK 2.5.2 to send and receive more than 1 byte of data using 0x6000 for DigitalInput and 0x6200 for DigitalOutput. I modified both the xdd files and objdich.h to extend the number of sub-objects to 254. Using openCONFIGURATOR, I mapped 128 sub-objects to both TPDO and RPDO. These sub-objects are 2 bytes each. I have one MN and one CN. The cycle time is set to 8 ms. Using wireshark, I can see everything is working fine....

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi Christoph, I am using openCONFIGURATOR 2.1.2. Regarding question #1, is it possible to change U8 to U16 so I can increae the number of subobjects beyond 254? Regarding question #2, what is the basis for setting the lower bound of 25000ns and PresMaxLatency=2000ns? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi Christoph, Thank you, that did the trick. A couple more questions: (1) Regarding the files 00000000_POWERLINK_CiA401_MN.xdd and 00000000_POWERLINK_CiA401_CN.xdd that I am using, is there an inherent limitation to what value I can use for PDORPDOChannelObjects and PDOTPDOChannelObjects? When I put in the value 512, I got the following error for MN: "openPOWERLINK_MN(240) - Stream Closed" and for CN, the following error: "Content is not allowed in prolog" To get pass these error, I reduce the value...

  • Simon Fok Simon Fok posted a comment on discussion General Discussion

    Hi, I am using 00000000_POWERLINK_CiA401_CN.xdd from the openPOWERLINK sample program but I want to change the default value of 25 mapped objects to 64. I changed the values of both PDORPDOChannelObjects and PDOTPDOChannelObjects, see below: PDORPDOChannels="3" PDORPDOChannelObjects="64" PDOSelfReceipt="false" PDOTPDOChannelObjects="64" But when I run openConfigurator with the modifed 00000000_POWERLINK_CiA401_CN.xdd file, TPDO and RPDO still show 25 possible mapped objects. Why is that? Any help...

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi Wolfgang, Thanks for the quick response. A few more follow questions: (1) While I can calculate the duration of the time slot for each CN per your suggestion and determine the cycle length, how does the MN calculate how much time to allocate for each CN? I presume the time slot for each CN is potential different. Right? (2) For openPOWERLINK, there are a few parameters that are tied to the 100Mb/s speed: Is it as simple as modifying the following parameters (decrease their values by a factor of...

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi, I have a few questions about POWERLINK: (1) How does one determine the duration of the time slot for each CN within the POWERLINK cycle? (2) I know POWERLINK can run in a Gigabit Ethernet environment, but is the bandwidth still limited to 100 Mb/s? (3) Does POWERLINK support Jumbo Frame, i.e., MTU of 9000 bytes? Thanks, Simon Fok

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi, I saw this old posting dated 2015. Has the "Windows NDIS intermediate driver" been implemented in v.2.6.0 so I can send and receive TCP/IP in the async phase? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, We are currently using the Linux network interface “plk” and successfully sending both TCP/UDP IP packets during the Async cycle between a MN node and a CN node. See the post, “How to create datagram for broadcasting video," created: 2014-08-05. A few questions: (1) What are the pros and cons between this way vs. using the oplk_writeObject() API per your suggestion? (2) Can you provide sample code for using the oplk_writeObject() API? (3) Will TCP also work via the oplk_writeObject() API? Thanks,...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, Based on previous discussions, I understand one can send UDP packets during the Async cycle using the Linux network interface “plk”. But I have the following questions: (1) Is there any additional setup I need to do in openCONFIGURATOR? (2) What about TCP/IP? Since there is no “plk” interface for the CN node, I am not sure how a connection can be established. (3) How would I do the same thing for Windows? Thanks in advance, Simon

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi, As a follow-up to this post in 2014....Does the current version of openPOWERLINK (2.6.0) support multiplexing as Managing Node or not? In other words, if I want the MN to send Preq to CN_1 every 10 ms and Preq to CN_2 every 40 ms, do I still have to operate with a 10ms cycle time and address both CNs within this cylce time? Best regards, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi Christoph, Wow, that is good news; very useful tools to have. I downloaded and installed the plug-in. I ran the XDD checker on the MN node (that came with v.2.5.2) and I was very surprised to see a lot of errors. See attached. Is that "normal"? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi Wolfgang, Thanks for your suggestion about running Wireshark on a second PC. I was running MN and Wireshark on the same PC. At first, I thought my changes caused the frame-doubling on the bus. But since I had frame-doubling on the bus even with V2.6.0 and NO changes, I knew something else was causing the issue. I now have wireshark on a separate PC and the frame-doubling goes away. Many thanks for your help, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, I recently posted that I am seeing 2 SoC, 2 PRes and 2 SoA instead of of just 1 with version 2.5.2 after I did minor modifications to the demo xdd file. However, I just downloaded version 2.6.0 and did the builds. To my surprise, I am getting the same behavior WITHOUT any modifications. Has anybody run the demos in windows and and see 2 SOCs, 2 PReqs and 2 SOAs in wireshark?? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi All, I have an additional question about objdich.h in ..\openPOWERLINK_V2.5.2\apps\common\objdicts\CiA401_CN (1) For the line tha contains OBD_BEGIN_INDEX_RAM(0x6*00, 0x05, FALSE). Questions: (1a) I presume 0x05 refers to the fact that there are 5 subindices. Correct? (1b) What does FALSE refer to? (2) For the line that contains OBD_SUBINDEX_RAM_USERDEF(0x600, 0x0, kObdTypeUInt8, kObdAccVPR, tObdUnsigned8, DigitalInput, 0x00). Questions: (2a) I presume “ kObdTypeUInt8” here means that the sub-object...

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Sorry, here is the Modified 00000000_POWERLINK_CiA401_CN.xdd file. Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    In addition, here are two attachments: (1) Modified 00000000_POWERLINK_CiA401_CN.xdd (2) Wireshark captures showing 2 SoC, 2 PReq, 1 PRes, 2 SOA Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi David, If you are following the Kalycito instructions for the demo, the two files that needed to be replaced are: xap.h and mnobd.cdc. If you are using windows, they are located at: (1) ...\openPOWERLINK_V2.5.2\apps\demo_mn_console\src (2) ...\openPOWERLINK_V2.5.2\bin\windows\amd64\demo_mn_console You also need to rebuild the demo_mn_console application. Best regards, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, Problem: After modifying the demo xdd file under the Standardised Device Profile Area so the Digital inputs and outputs are 16 bit instead of 8 bit, demo_console_mn.exe is generating 2 SoC, 2 PRes and 2 SoA instead of just 1. Here is my setup: 1 MN and 1 CN, both running under windows. I was successful in running the default demo programs. I got a wireshark capture and things looked normal enough: SoC, PReq, PRes, SoA etc. Next, I modified the default 00000000_POWERLINK_CiA401_CN.xdd files. Specifically...

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, As a follow-up, I have a question about the following API which is found in app.c in the demo_cn_console folder: tOplkError oplk_linkProcessImageObject ( UINT objIndex_p, UINT firstSubindex_p, UINT offsetPI_p, BOOL fOutputPI_p, tObdSize entrySize_p, UINT * pVarEntries_p ) If have a record consisting of 4 subobjects, the first object is a UINT32 and the rest is UINT16, then what should be the entrySize_p? According to the documentation, entrySize_p is defined as "the size of one process variable",...

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi Norman, Thanks for answering my question. To clarify, under the "apps\common\objdicts\CiA401_CN folder", there are 2 xdd files, I don’t believe these are ever referenced when building the CN demo, only objdict.h is used. Am I correct? By the way, can you help with the question that I posted regarding the correct syntax when the object type is a record? For example when the object type is an array, we have: <Object index="6200" name="DigitalOutput_00h_AU8" objectType="9" dataType="0005"> What happen...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi Rama, In the isochronous phase, the payload from MN to CN is in the PReq frame. The PReq frame structure in on p.73 of the Ethernet POWERLINK Communication Profile Specification ver. 1.2.0. If you look at your wireshark output, you will find 0x88ab and after that is 0x03 (Message Type for PReq) which is octet offset 0. The size of the payload is in octet offset 8&9 and the actual payload (data) is octet offset 10...n. Attached is a sample of a wireshark output. All the allowed data types are described...

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, In the directory "...\openPOWERLINK_V2.5.2\apps\common\objdicts\CiA401_CN", how does objdict.h get created? Is 00000000_POWERLINK_CiA401_CN.xdd linkded to objdict.h in some ways? I.e., if the xdd file is modified, how does that get propagated to objdict.h? Also, what is the purpose of 00000000_POWERLINK_CiA401_CN_configStoreRestore.xdd? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, In one of the demo xdd file, under the Standardised Device Profile Area, we have a line like this... <Object index="6200" name="DigitalOutput_00h_AU8" objectType="8" dataType="0006"> Here the object type = 8 means an array of values of the same data type = 6, which means unsigned 16. If I want to change the object type = 9 because I want to specify a structure of values of different types. What should I do with dataType? Should I just leave it out? See below... <Object index="6200" name="DigitalOutput_00h_AU8"...

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi, Please disregard my previous post, I was reading off Raspberry Pi2 instructions regarding using openCONFIGURATOR. Now I understand that if I need to make certain changes, I simply import Demo_3CN into openCOnFIGURATOR. To do what I described (8 bit data followed by 16 bit and 32 bit data), I will probably need to create a custome XDD device/file. Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi, I want to understand the way the objects are being specified using openCONFIGURATOR. Specifically in Demo_3CN, under the four columns: S.No / Object / Sub-object / Length / Offset, we currently have 1 / DigitalInput_00h_AU8(x6000) / DigitalInput(0x01) / 0x0008 / 0x0000 What is the significance of having “00hAU8(x6000)” part of DigitalInput in naming the object? Likewise does (0x01) have any significance in specifying the Sub-object? In other words, are they for clarifications or needed to generate...

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi, As a follow-up question, if I make changes to app.c in demo_mn_console, I do NOT have to rebuild the stack libraries and pcap driver. All have to do is recompile and rebuid MN by performing cmake and make install. Correct? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hi Wolfgang, Thanks for the reply. I am aware that POWERLINK does not use PRP for ring redundancy. My question is whether anyone in the POWERLINK Community has looked into or used PRP together with POWERLINK. If so, I am interested in any sights and lessons learned... Best regards, Simon

  • Simon Fok Simon Fok posted a comment on discussion Technology

    Hello POWERLINK Community, I know POWERLINK supports ring redundancy. Does anybody know whether POWERLINK is compatible with PRP? If so, has any been implemented in a production environment? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi Norman, Please disregard my previous post. I ran "demo_mn_console" with sudo and the "oplk_create() failed" problem went away. The MN under Linux is now communicating with one of the CN under Windows. Thanks for all your help, Simon

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi Norman, That did the trick. I was able to complete the to create both the debug and release libraries. I was also able to build the demo applications. However when I run ./demo_mn_console. I got a "oplk_create() failed". See below for details. Any ideas why this happening? and how to fix it? Thanks, Simon syssw@roller:~/workspace/openPOWERLINK_V2.5.2/bin/linux/x86_64/demo_mn_console$ ./demo_mn_console openPOWERLINK console MN DEMO application Using openPOWERLINK stack: V2.5.2 2017/04/25-12:26:27...

  • Simon Fok Simon Fok posted a comment on discussion Porting

    Hi, I am trying to bulld the openpowerlink stack on linux (x86 platform). I followed the instructions: cd <openPOWERLINK_dir>/stack/build/linux cmake -DCMAKE_BUILD_TYPE=Debug ../.. make I completed the "cmake" step without errors. However, when I did "make", I encounter the following: "fatal error: pcap.h: No such file or directory" Does anybody know why that is happening? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Getting Started

    Hi According to the "Compile and build MN" instructions, changes to the "linux.cmake", "app.c" files are needed. These changes are delineated in 4 steps. However, when I look at the these files under the "Dev_oplk_Pi" folder, some of these changes (Step 1 to 3) have already been made. But step 4, the changes are different from what's described in the instruction. Question: are the instructions out of date? Do I need to do anything still? Also, in the instruction, there is note saying that after making...

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, That worked -- I am now able to create a new POWERLINK network project....

  • Simon Fok Simon Fok posted a comment on discussion Help

    HI Christoph, As a follow-up, this is my system: Window 7 SP1, intel 64 bit laptop....

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I couldn't get the first suggested solution to work, so I installed...

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I got a bit further...I follow the instructions in the User Manual...

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, What is the link for openCONFIGURATOR 2.1.2? Thanks, Simon

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi Christoph, I tried downloading again and this time I did not get the invalid message....

  • Simon Fok Simon Fok posted a comment on discussion Help

    Hi, I downloaded the Win32 openConfigurator onto a PC but I couldn't even unzipped...

1