cd <classB_path>/Bin/Linux/x64 sudo ./EcMasterDemoEval -f <path_to_eni>/ein.xml -i8254x 1 1 -perf |
The Demo programmes can be found in a private GitLab repository under recipes-ethercat/acontis |
Syntax:
-f Use given ENI file
-i8254x Use LinkLayer „emllI8254x Intel Pro/1000“ for „Intel Pro/1000 network adapter cards“. You may have a different LinkLayer depending on your hardware
1 <instance> Instance nr. May be 2 if you have multiple Ethernet ports.
1 <mode>
Mode 0 = Interrupt mode
Mode 1 = Polling mode
-perf enables performance measurements (Enable max. and average time measurement in μs for all EtherCAT jobs)
More detailed explanation EC-Master_ClassB.pdf 2.4.2
This demo will initialize the EtherCAT master. To stop the demo press CTRL+C The demo will output some performance benchmark.
In the following example the maximal „Cycle Time“ is 1005.2usec. This means, the max jitter is 5.2usec (very good)
Full command line: -f "../../../../eni/06_ENI_2Elmo_1000ms.xml"-i8254x 1 1 -perf 000002 : Run demo now with cycle time 1000 usec 000002 : Using AuxClock 000002 : Calibrate tsc measurement... done: 3392 MHz===== Software ===== 003003 : ========================== 003003 : Initialize EtherCAT Master 003003 : ========================== 003003 : EC-Master V2.9.1.06 (Protected) for Linux_x64 Copyright acontis technologies GmbH @ 2016 003003 : OsGetLinkLayerRegFunc: try to load '/home/ubuntu/etherCAT/EC-Master-V2.9-Linux_x64-Eval/Bin/Linux/x64/libemllI8254x.so' 003004 : PCI: device 00:19.0 found 007178 : Unlicensed version, stop sending ethernet frames after 60 minutes! 007178 : EtherCAT network adapter MAC: 90-B1-1C-8C-C5-C1 007178 : ===================== 007178 : Start EtherCAT Master 007178 : ===================== 007218 : Bus scan successful - 2 slaves found===== Software ===== 007223 : Master state changed from <UNKNOWN> to <INIT> 007257 : Master state changed from <INIT> to <PREOP> 011985 : DCM in sync Cur=" -10370", Avg=" -774", Max=" -21742" 012038 : Cyclic command WKC error on LRW - Address: 0x10000000 - WKC act/set=2/6 012038 : Master state changed from <PREOP> to <SAFEOP> 012080 : Master state changed from <SAFEOP> to <OP> 012080 : 012080 : Job times during startup <INIT> to <OP>: 012080 : ================================================================ 012080 : PerfMsmt 'JOB_ProcessAllRxFrames' (avg/max) [usec]: 1.6/ 5.7 012080 : PerfMsmt 'JOB_SendAllCycFrames ' (avg/max) [usec]: 5.4/ 8.5 012080 : PerfMsmt 'JOB_MasterTimer ' (avg/max) [usec]: 1.3/ 10.9 012080 : PerfMsmt 'JOB_SendAcycFrames ' (avg/max===== Software =====) [usec]: 2.4/ 15.7===== Software ===== 012080 : PerfMsmt 'Cycle Time ' (avg/max) [usec]: 1000.0/1005.0 012080 : PerfMsmt 'myAppWorkPd ' (avg/max) [usec]: 0.0/ 0.4 012080 : ^C034306 : 1 identical messages skipped 034306 : Job times before shutdown 034306 : ================================================================ 034306 : PerfMsmt 'JOB_ProcessAllRxFrames' (avg/max) [usec]: 1.7/ 3.8 034306 : PerfMsmt 'JOB_SendAllCycFrames ' (avg/max) [usec]: 5.5/ 8.0 034306 : PerfMsmt 'JOB_MasterTimer ' (avg/max) [usec]: 1.3/ 2.8 034306 : PerfMsmt 'JOB_SendAcycFrames ' (avg/max) [usec]: 3.7/ 6.5 034306 : PerfMsmt 'Cycle Time ' (avg/max) [usec]: 999.9/1005.2 034306 : PerfMsmt 'myAppWorkPd ' (avg/max) [usec]: 0.0/ 0.3 034306 : ======================== 034306 : Shutdown EtherCAT Master 034306 : ======================== 034318 : Master state changed from <OP> to <INIT> 035384 : EcMasterDemo stop.===== Software ===== |
If the output looks similar to the example above, then the demo runs successfully.
See troubleshooting process The application does not start (TODO)
Before you run this demo make sure, you can run the classB demo successfully.
cd <classA_path>/Bin/Linux/x64 sudo ./EcMasterDemoDc -f <path_to_eni>/ein.xml -i8254x 1 1 -perf |
The demo will output the maximal cycle time every second. You can terminate the demo with CTRL+C.