_pv 78 29 сентября, 2023 Опубликовано 29 сентября, 2023 · Жалоба 29 minutes ago, dimka76 said: Модуль отвечает, вайршарк распарсивает ответ и говорит, что ответ содержит ESC (EtherCAT Slave Controller) Revision: 0xC0 ESC Type: 0x02 Так что тут нет никаких битовых полей. По крайней мере, не в этом случае. а там точно других команд кроме brd не было? вот пример что обычно читают через BRD Quote The BRD(Broad Cast Read) command reads out the combined states of all slaves. Slave Count: Number of slave devices connected to the EtherCAT master. DevState: Device status information as WORD (or UINT) variable, assumes the following values: Bit Description: 0 (0x0001) Link error detected. 1 (0x0002) I/O locked after link error (I/O reset required) 2 (0x0004) Link error (redundancy adapter) 3 (0x0008) Missing one frame (redundancy mode) 4 (0x0010) Out of send resources (I/O reset required) 5 (0x0020) Watchdog triggered 6 (0x0040) Ethernet driver (miniport) not found 7 (0x0080) I/O reset active 8 (0x0100) At least one device in 'INIT' state 9 (0x0200) At least one device in 'PRE-OP' state 10 (0x0400) At least one device in 'SAFE-OP' state 11 (0x0800) At least one device indicates an error state 12 (0x1000) DC not in sync Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 29 сентября, 2023 Опубликовано 29 сентября, 2023 · Жалоба On 9/29/2023 at 3:27 PM, _pv said: а там точно других команд кроме brd не было? Вот целиком весь дам от начала общения dump_1.pcapng On 9/29/2023 at 3:27 PM, _pv said: вот пример что обычно читают через BRD Это из какого документа ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 78 29 сентября, 2023 Опубликовано 29 сентября, 2023 · Жалоба подозреваю что в самом начале (пакет #12) этот BRD только для того, чтобы посмотреть на write count, сколько там вообще устройств на шине, а что именно он там "прочитает" никому не интересно. все остальные brd из дампа читают статус. 57 minutes ago, dimka76 said: Это из какого документа ? https://infosys.beckhoff.com/english.php?content=../content/1033/tcsystemmanager/1089009035.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 29 сентября, 2023 Опубликовано 29 сентября, 2023 · Жалоба On 9/29/2023 at 4:28 PM, _pv said: подозреваю что в самом начале (пакет #12) этот BRD только для того, чтобы посмотреть на write count, сколько там вообще устройств на шине, а что именно он там "прочитает" никому не интересно. все остальные brd из дампа читают статус. https://infosys.beckhoff.com/english.php?content=../content/1033/tcsystemmanager/1089009035.html Спасибо. Надо еще раз лог повнимательнее пересмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 2 октября, 2023 Опубликовано 2 октября, 2023 · Жалоба On 9/29/2023 at 4:28 PM, _pv said: подозреваю что в самом начале (пакет #12) этот BRD только для того, чтобы посмотреть на write count Кстати, на write count можно посмотреть уже в самом первом ответе. Думается, что BRD здесь все-таки не для этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BioWolf2000 3 29 ноября, 2023 Опубликовано 29 ноября, 2023 · Жалоба Кто-нибудь применял FIDO5200? https://www.analog.com/en/products/fido5200.html ? В документе как пример стыковка с STM32F103 приведена https://www.analog.com/media/en/technical-documentation/application-notes/AN-1554.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SimSup 1 23 декабря, 2023 Опубликовано 23 декабря, 2023 (изменено) · Жалоба Здравствуйте. Если кто-то знает, подскажите пожалуйста: почему может не программироваться часть памяти i2c? Есть двоичный файл конфигурации, через twincat пробую шить, напрямую в eeprom - зашивается всё кроме шести байт. Соответственно верификация падает. При этом отдельно флешка в программаторе прекрасно работает. Вопросы именно к контроллеру, поскольку смотрел лог обмена i2c - там команд записи по спорным адресам вообще нет. При этом команды чтения есть. Техническое: связка et1100 и 24L02 Изменено 23 декабря, 2023 пользователем SimSup Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 23 декабря, 2023 Опубликовано 23 декабря, 2023 · Жалоба (У меня не et1100, но думаю это не имеет значения.) Вероятно, не шьет служебную область, которая влияет на общение по ECAT (Vendor ID и прочее, что влияет на выбор ESI файла) ? Попробуйте через EtherCAT Slave Stack Code (SSC), тоже от beckhoff . Там есть EEPROM Programmer внутри. Только через него мне удавалось прошить устройства с еще чистым EEPROM. Соединение должно быть точка-точка, то есть на линии ECAT должно быть только одно еще не сконфигурированное устройство. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SimSup 1 23 декабря, 2023 Опубликовано 23 декабря, 2023 · Жалоба Спасибо. Была идея, что это что-то служебное, но проверить сложно, документацию в отличие от файлов мне не дали ) За программу спасибо, спрошу у заказчика тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 24 декабря, 2023 Опубликовано 24 декабря, 2023 · Жалоба 12 часов назад, SimSup сказал: Спасибо. Была идея, что это что-то служебное, но проверить сложно, документацию в отличие от файлов мне не дали ) За программу спасибо, спрошу у заказчика тоже. А как без этой программы ESI файлы и hex(bin)-файлы EEPROM к своим устройствам создавать? Можно, конечно, и врукопашную, в текстовом редакторе, но смысла нет никакого. Эта SSC интересная софтинка (еще и си-исходники может), но я ее только для ESI файлов и прошивки EEPROM использую. Области EEPROM и адреса полностью прописаны в документации ECAT. Например, ethercat_esc_datasheet_sec1_technology_2i3.pdf, раздел "11 SII EEPROM" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SimSup 1 24 декабря, 2023 Опубликовано 24 декабря, 2023 · Жалоба 10 часов назад, Ruslan1 сказал: А как без этой программы ESI файлы и hex(bin)-файлы EEPROM к своим устройствам создавать? Можно, конечно, и врукопашную, в текстовом редакторе, но смысла нет никакого. Эта SSC интересная софтинка (еще и си-исходники может), но я ее только для ESI файлов и прошивки EEPROM использую. Области EEPROM и адреса полностью прописаны в документации ECAT. Например, ethercat_esc_datasheet_sec1_technology_2i3.pdf, раздел "11 SII EEPROM" Двоичный файл кто-то до меня делал, видимо в первый раз когда разрабатывали. И там забавно получилось - тогда всё видимо руками настроили и потом в файл считали. Мне попалась в руки одна старая плата - там верификация проходит, потому что флешка по умолчанию нулями забита. А в новом устройстве по умолчанию FF. Указанный файл я читал, вопросы остались, поскольку как раз на спорных адресах (0x40+) 41 таблица заканчивается, а текст раздела за всеми подробностями посылает в подзамочное описание. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Profi2005 0 21 марта Опубликовано 21 марта · Жалоба Купили плату на AX58100 с Ali. Плата сконфигурирована как 32 Output (X58100_EVB_DO_32), но у нее еще выведен интерфейс SPI Slave. Для начала собрали проект под WIN отсюда: https://github.com/OpenEtherCATsociety/SOEM. Для корректной работы пришлось установить драйвер сетевой карты npcap-1.79. На выходе получили 4 утилиты, которые запускаются с командной строки. *** Меряет среднюю задержку по 10 000 циклам simple_ng.exe \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} Initializing SOEM on '\Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A}'... done Finding autoconfig slaves... 2 slaves found Sequential mapping of I/O... mapped 8O+0I bytes from 1 segments Configuring distributed clock... done Waiting for all slaves in safe operational... done Send a roundtrip to make outputs in slaves happy... done Setting operational state... all slaves are now operational Iteration 10000: 163 usec WKC 4 O: 00 00 00 00 00 00 00 00 I: T: 763454736069056320 Roundtrip time (usec): min 0 max 3006 Requesting init state on all slaves... done Close socket... done *** Простой тест simple_test.exe \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} SOEM (Simple Open EtherCAT Master) Simple test Starting simple test ec_init on \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} succeeded. 2 slaves found and configured. Slaves mapped, state to SAFE_OP. segments : 1 : 8 0 0 0 Request operational state for all slaves Calculated workcounter 4 Operational state reached for all slaves. Processdata cycle 10000, WKC 4 , O: 00 00 00 00 00 00 00 00 I: T:763453756226545360 Request init state for all slaves End simple test, close socket End program *** Информирует об устройствах на шине slaveinfo.exe \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} SOEM (Simple Open EtherCAT Master) Slaveinfo Starting slaveinfo ec_init on \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} succeeded. 2 slaves found and configured. Calculated workcounter 4 Slave:1 Name:AX58100_EVB_DO_32 Output size: 32bits Input size: 0bits State: 4 Delay: 0[ns] Has DC: 1 DCParentport:0 Activeports:1.1.0.0 Configured address: 1001 Man: 00000b95 ID: 00010202 Rev: 00000001 SM0 A:0f00 L: 1 F:00090044 Type:3 SM1 A:0f01 L: 1 F:00090044 Type:3 SM2 A:0f02 L: 1 F:00090044 Type:3 SM3 A:0f03 L: 1 F:00090044 Type:3 FMMU0 Ls:00000000 Ll: 4 Lsb:0 Leb:7 Ps:0f00 Psb:0 Ty:02 Act:01 FMMUfunc 0:1 1:0 2:0 3:0 MBX length wr: 0 rd: 0 MBX protocols : 00 CoE details: 00 FoE details: 00 EoE details: 00 SoE details: 00 Ebus current: 0[mA] only LRD/LWR:0 *** Работа с eeprom eepromtool.exe \Device\NPF_{3A8323FC-BAC5-4A53-9890-83556A88C47A} 1 -r >> 0utput.txt SOEM (Simple Open EtherCAT Master) EEPROM tool Usage: eepromtool ifname slave OPTION fname|alias ifname = eth0 for example slave = slave number in EtherCAT order 1..n -i display EEPROM information -walias write slave alias -r read EEPROM, output binary format -ri read EEPROM, output Intel Hex format -w write EEPROM, input binary format -wi write EEPROM, input Intel Hex format *** Запустили под TwinCAT3, можем зажигать светодиоды. Теперь хотелось бы ее переконфигурировать, скажем на 32 Input / SPI Slave, но пока непонятно как. Вроде как TwinCaAT32 позволяет это сделать -> поменять конфигурацию в ESI (XML) и перепрошить EEPROM ?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 21 марта Опубликовано 21 марта · Жалоба А почему не начать с родных аппнотов от производителя? https://www.asix.com.tw/en/product/IndustrialEthernet/EtherCAT/AX58100 Непонятно что Вы делаете и что за плату используете. Если его родной SPI slave и никаких микроконтроллеров: то да, поддерживает разные I/O. Чтобы их задействовать - да, нужно перешивать конкретные адреса, в которых этот конфиг храниться, и разрешать этому SPI slave работать. А если свой МК- то уже через него делаете что желаете. И он уже подсовывает данные в AX58100. Но XML файл по любому менять если другие данные доставляете, и EEPROM редактировать. Про Гитхабовский проект не знаю, я через "EtherCAT Slave Stack Code (SSC)" софтину всегда XML файл делал (и hex для прошивки тоже). 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Profi2005 0 22 марта Опубликовано 22 марта · Жалоба On 3/21/2024 at 3:16 PM, Ruslan1 said: А почему не начать с родных аппнотов от производителя? https://www.asix.com.tw/en/product/IndustrialEthernet/EtherCAT/AX58100 Непонятно что Вы делаете и что за плату используете. Если его родной SPI slave и никаких микроконтроллеров: то да, поддерживает разные I/O. Чтобы их задействовать - да, нужно перешивать конкретные адреса, в которых этот конфиг храниться, и разрешать этому SPI slave работать. Спасибо. Плата без МК, вот : Плата разработки Ethernet AX58100, плата разработки модуля Ethernet, интерфейс SPI TwinCAT3 и SSC Tool китайцы прислали, только там вся документация на китайском. Если я верно понял, на основе ESI (XML) файла TwinCAT3 умеет прошивать EEPROM. Может и ESI файл умеет гененрировать? Я пока с этим не разобрался. Правильно ли я понимаю, что SSC Tool нужен в основном для генерации кода для МК? Дядечка тут: Make my own EtherCAT device 3. Encoder показывает отдельный онлайн калькулятор для генерации ESI + EEPROM файлов. А еще есть такой EEPROM Generator. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться