<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<!-- Template generated by Exclaimer Signature Manager Exchange Edition on 11:00:58 torsdag, 23 april 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">P.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
LI.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
DIV.ImprintUniqueID {
MARGIN: 0cm 0cm 0pt
}
TABLE.ImprintUniqueIDTable {
MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
page: Section1
}
</style>
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:3.0cm 2.0cm 3.0cm 2.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DA" link="blue" vlink="purple">
<p class="ImprintUniqueID"></p>
<div class="WordSection1">
<p class="MsoNormal">Hej all.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">I have recently run into a problem when I try to run a modified version of the mini example code from the ethercat master.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">After I insert the module the dmesg reads as follow:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.144403] ec_mini: module verification failed: signature and/or required key missing - tainting kernel<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.144434] ec_mini: no symbol version for ecrt_request_master<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145007] ec_mini: Starting...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145012] EtherCAT: Requesting master 0...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145017] EtherCAT: Successfully requested master 0.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145019] ec_mini: Registering domain...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145024] ec_mini: Configuring PDOs...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145056] BUG: unable to handle kernel NULL pointer dereference at 00000008<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145080] IP: [<f8716501>] ecrt_slave_config_pdos+0x11/0x1f0 [ec_master]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145084] *pdpt = 000000002c0bf001 *pde = 0000000000000000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145085]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145088] Oops: 0000 [#1] PREEMPT SMP<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145132] Modules linked in: ec_mini(OE+) nls_iso8859_1 usb_storage ec_generic(O) ec_ccat_netdev(O) ec_master(O) ccat_update(O) ccat_systemtime(O) ccat_sram(O) ccat_gpio(O) snd_hda_codec_hdmi intel_rapl intel_powerclamp
i915 coretemp kvm_intel kvm drm_kms_helper irqbypass snd_hda_intel crc32_pclmul snd_hda_codec aesni_intel aes_i586 drm xts snd_hda_core lrw ablk_helper cryptd snd_hwdep snd_pcm joydev serio_raw lpc_ich ccat(O) snd_timer snd shpchp fb_sys_fops syscopyarea soundcore
sysfillrect sysimgblt autofs4 video mac_hid lp parport igb hid_generic usbhid hid i2c_algo_bit ptp pps_core ahci libahci sdhci_pci sdhci [last unloaded: ccat_netdev]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145137] CPU: 1 PID: 1740 Comm: insmod Tainted: G OE 4.9.219-rt142 #1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145139] Hardware name: Beckhoff Automation GmbH & Co. KG CX5130-0120/CX51x0, BIOS CX51x0 - 0.51 01/04/2017<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145141] task: ed22db40 task.stack: ec04e000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145144] EIP: 0060:[<f8716501>] EFLAGS: 00010296 CPU: 1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145163] EIP is at ecrt_slave_config_pdos+0x11/0x1f0 [ec_master]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145165] EAX: 00000000 EBX: 00000000 ECX: f858e000 EDX: ffffffff<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145167] ESI: f8557000 EDI: ebc37180 EBP: ec04fdb0 ESP: ec04fd6c<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145169] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145172] CR0: 80050033 CR2: 00000008 CR3: 2c0e4fa0 CR4: 001006f0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145173] Stack:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145181] 00000001 00000001 00000000 c10bfe2a 00000000 f8557000 ebc37180 ec04fda8<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145187] ffffffff f858e0d4 00000001 00000008 f858e0d4 00000000 00000000 f8557000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145194] ebc37180 ec04fdc4 f855711f f858d278 03f03052 00000000 ec04fe34 c1002228<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145195] Call Trace:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145204] [<c10bfe2a>] ? up+0x2a/0x40<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145207] [<f8557000>] ? 0xf8557000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145211] [<f8557000>] ? 0xf8557000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145217] [<f855711f>] init_module+0x11f/0x1000 [ec_mini]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145223] [<c1002228>] do_one_initcall+0x38/0x150<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145228] [<c109a507>] ? migrate_enable+0x1b7/0x330<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145234] [<c117fee9>] ? free_hot_cold_page+0x329/0x380<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145237] [<c1195c05>] ? kvfree+0x45/0x50<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145241] [<c11b7810>] ? __vunmap+0x70/0xc0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145244] [<c1176ad5>] ? do_init_module+0x24/0x1e2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145247] [<c1176ad5>] ? do_init_module+0x24/0x1e2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145251] [<c1176b04>] do_init_module+0x53/0x1e2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145256] [<c11037e3>] load_module+0x20c3/0x26e0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145262] [<c11ec5bb>] ? kernel_read_file+0x1fb/0x250<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145267] [<c1103fa2>] SyS_finit_module+0x82/0xd0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145273] [<c10035c9>] do_fast_syscall_32+0x99/0x150<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145278] [<c179be93>] sysenter_past_esp+0x40/0x6a<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145333] Code: f8 89 44 24 04 e8 f6 01 a6 c8 b8 ea ff ff ff e9 67 ff ff ff 8d b6 00 00 00 00 55 89 e5 57 56 53 83 ec 38 3e 8d 74 26 00 89 45 f0 <8b> 40 08 89 55 dc 89 4d ec 8b b0 bc 13 00 00 85 f6 0f 85 8a 01<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145352] EIP: [<f8716501>]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145353] ecrt_slave_config_pdos+0x11/0x1f0 [ec_master]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145354] SS:ESP 0068:ec04fd6c<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.145355] CR2: 0000000000000008<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ 199.150603] ---[ end trace 0000000000000002 ]---<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">As far as I can see it has something to do with my pdo configuration, as it loads fine when I don’t use the modification, of course the pdo config is wrong in that case but it runs further before it stops.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">For reference my pdo config is attached:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define AnaInSlavePos 0, 1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define DigOutSlavePos 0, 2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define Beckhoff_EL1008 0x00000002, 0x03f03052<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#define Beckhoff_EL2008 0x00000002, 0x07d83052<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">// offsets for PDO entries<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static unsigned int off_dig_in;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static unsigned int off_dig_out;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">const static ec_pdo_entry_reg_t domain1_regs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {AnaInSlavePos, Beckhoff_EL1008, 0x1000, 1, &off_dig_in},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {DigOutSlavePos, Beckhoff_EL2008, 0x0f00, 2, &off_dig_out},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static unsigned int counter = 0;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static unsigned int blink = 0;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/*****************************************************************************/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">#if CONFIGURE_PDOS<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/* Master 0, Slave 0, "EL1008"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">* Vendor ID: 0x00000002<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">* Product code: 0x03f03052<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">* Revision number: 0x00110000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_pdo_entry_info_t slave_0_pdo_entries[] ={<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6000, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6010, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6020, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6030, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6040, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6050, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6060, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x6070, 0x01, 1}, /* Input */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_pdo_info_t slave_0_pdos[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a00, 1, slave_0_pdo_entries + 0}, /* Channel 1 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a01, 1, slave_0_pdo_entries + 1}, /* Channel 2 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a02, 1, slave_0_pdo_entries + 2}, /* Channel 3 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a03, 1, slave_0_pdo_entries + 3}, /* Channel 4 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a04, 1, slave_0_pdo_entries + 4}, /* Channel 5 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a05, 1, slave_0_pdo_entries + 5}, /* Channel 6 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a06, 1, slave_0_pdo_entries + 6}, /* Channel 7 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1a07, 1, slave_0_pdo_entries + 7}, /* Channel 8 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_sync_info_t slave_0_syncs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0, EC_DIR_INPUT, 8, slave_0_pdos + 0, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>{0xff}<o:p></o:p></p>
<p class="MsoNormal">};<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">/* Master 0, Slave 1, "EL2008"<o:p></o:p></p>
<p class="MsoNormal">* Vendor ID: 0x00000002<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">* Product code: 0x07d83052<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">* Revision number: 0x00120000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">*/<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_pdo_entry_info_t slave_1_pdo_entries[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7000, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7010, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7020, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7030, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7040, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7050, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7060, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x7070, 0x01, 1}, /* Output */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_pdo_info_t slave_1_pdos[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1600, 1, slave_1_pdo_entries + 0}, /* Channel 1 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1601, 1, slave_1_pdo_entries + 1}, /* Channel 2 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1602, 1, slave_1_pdo_entries + 2}, /* Channel 3 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1603, 1, slave_1_pdo_entries + 3}, /* Channel 4 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1604, 1, slave_1_pdo_entries + 4}, /* Channel 5 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1605, 1, slave_1_pdo_entries + 5}, /* Channel 6 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1606, 1, slave_1_pdo_entries + 6}, /* Channel 7 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0x1607, 1, slave_1_pdo_entries + 7}, /* Channel 8 */<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">static ec_sync_info_t slave_1_syncs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0, EC_DIR_OUTPUT, 8, slave_1_pdos + 0, EC_WD_ENABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> {0xff}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">So my question is am I doing something wrong in the pdo configuration or do I need to install another kernel?
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<p></p>
<p class="ImprintUniqueID"> </p>
<p class="ImprintUniqueID"><font size="2" face="Arial">Best regards<br>
<br>
</font><a href="http://www.cabinplant.com" target=""><img width="180" height="33" style="border: 0px Solid ; " src="cid:imagec326f5.PNG@97407dba.46bb9d75"></a><br>
<br>
<font style="font-family:Arial;font-size:10pt;">Gustav Nicolay Meilby</font><font size="2" face="Arial"> </font><font style="font-family:Arial;font-size:10pt;">Nobel</font><br>
<font style="font-family:Arial;font-size:10pt;">Automation Engineer</font><br>
<br>
<font style="font-family:Arial;font-size:7.5pt;">5683</font><font size="1" face="Arial"> </font><font style="font-family:Arial;font-size:7.5pt;">Haarby</font><br>
<font style="font-family:Arial;font-size:7.5pt;">Denmark</font><br>
<font size="1" face="Arial">T: </font><br>
<font size="1" face="Arial">E-mail: </font><span style="font-family:Arial;font-size:7.5pt;"><a href="mailto:GNO@CABINPLANT.COM" title="Click to send email to Gustav Nicolay Meilby Nobel" target="" style="font-family:Arial;font-size:7.5pt;"><span style="font-family:Arial; font-size:7.5pt;">GNO@CABINPLANT.COM</span></a></span><br>
<font size="1" face="Arial">Internet: </font><span style="font-family:Arial;font-size:7.5pt;"><a href="http://www.cabinplant.com" title="" target="" style="font-family:Arial;font-size:7.5pt;"><span style="font-family:Arial; font-size:7.5pt;">www.cabinplant.com</span></a></span><br>
<br>
<font size="1" face="Arial">Meet us at:<br>
Exhibition list: </font><span style="font-family:Arial;font-size:7.5pt;"><a href="http://www.cabinplant.com/exhibitions" title="" target="" style="font-family:Arial;font-size:7.5pt;"><span style="font-family:Arial; font-size:7.5pt;">www.cabinplant.com/exhibitions</span></a></span><br>
<br>
<font size="1" face="Arial">Cabinplant register the personal data found in the emails we have received.<br>
You can read more about our privacy policy <a href="https://www.cabinplant.com/about-us/privacy-and-cookie-statement/" title="" target="" style="">
here</a>.</font><br>
<br>
<br>
</p>
<p class="ImprintUniqueID"></p>
</body>
</html>