Подключение Mesa 5i25 к драйверу PLC545 обычным LPT кабелем
Добавлено: 05 янв 2015, 18:39
Делал давно, выкладываю на форуме для истории. Может кому-то пригодится.
Купил я как-то Mesa 5i25 без каких-либо дочерних плат, рассчитывая первое время погонять её с прошивкой PROB_RFX2. Также имелся драйвер шаговых движков PLC545 от Purelogic и кабель LPT для соединения одного с другим.
Прошивка PROB_RFX2 даёт нам 8 генераторов Step/Dir (плюс ещё два генератора PWM и пару входов квадратурных энкодеров) и генераторы эти жёстко привязаны к определённым пинам внешнего и внутреннего разъёмов 5i25. Иначе говоря, если на этапе конфигурирования в Pncconf вы задействуете какие-либо генераторы Step/Dir - они займут строго определенные В ПРОШИВКЕ пины, переназначить их на другие нельзя. Пины незадействованных генераторов превращаются в программируемые входы или выходы, тут пользователь ничем не ограничен.
Так вот, оказалось, что у Mesa 5i25 (с прошивкой PROB_RFX2, конечно же) и у драйвера PLC545 линии Step/Dir приходятся на разные пины в разъёме DB25, что не позволяет подключить одно к другому обычным LPT кабелем. Т.е. физически кабель подключается без каких-либо проблем, но из-за неправильной разводки внутри кабеля покрутить движками не получится.
Разрешить задачку можно двумя способами:
1. Перепайка LPT кабеля.
2. Модификация прошивки PROB_RFX2 с целью изменить дефолтную распиновку генераторов Step/Dir на свою собственную.
Я, как настоящий лентяй, решительно отверг первый вариант, целиком сосредоточившись на втором. Для этого я набросал табличку, из которой видно какие пины в разъёме DB25 со стороны Mesa 5i25 предстоит программно переставить. Во-первых, предстоит изменить последовательность пинов генераторов Step/Dir (зелёная группа на картинке), распределив их так, чтобы обеспечить прямую совместимость с PLC545.
Во-вторых, если мы планируем задействовать генератор PWM для управления оборотами шпинделя (синяя группа на картинке), прошивка PROB_RFX2 автоматически даст нам сразу два выхода: PWMGen (out) и PWMGen (dir). Первый выход мы с радостью заведём на вход преобразователя ШИМ-напряжение PLC545, а вот второй выход заблокирует возможность управлять реле Relay 1 (выделено красным). От возможности клацкать реле мы отказываться не собираемся, поэтому PWMGen (dir) перебросим на внутренний разъём P2 5i25, взяв взамен с него же universal in/out.
Остальные пины не вызывают вопросов, их легко превратить в нужные входы или выходы на этапе настройки в Pncconf.
Собственно, приступим. Нам потребуется архив прошивок к Mesa 5i25 и Xilinx ISE Design Suite. Первое ищем на официальном сайте (или вот прямая ссылка), второе не сложно найти на просторах интернета. Я использовал ISE Design Suite версии 14.5 для Windows 64-bit.
В архиве с прошивками находим и извлекаем:
5i25\configs\hostmot2\5i25_prob_rfx2.xml
5i25\configs\hostmot2\source\hostmot2.zip
Архив с исходниками hostmot2.zip полностью распаковываем в отдельную папочку и запускаем ISE Design Suite. Затем открываем проект с именем fivei25.xise. На требование обновить наш проект до новой версии Project Navigator отвечаем Migrate Only. Сразу же видим сообщение, что мол часть файлов в проекте отсутствует. Отмечаем галкой Remove unspecified files from project , так как эти файлы для сборки нашей прошивки не нужны. Наконец-то откроется проект, в котором переходим во вкладку Libraries. Во вкладке раскрываем список библиотек work, находим библиотеку PIN_PROB_RFx2_34.vhd и открываем её обычным дабл кликом. Начиная со строки 109 можно видеть порядок назначения пинов внешнему и внутреннему разъёмам Mesa 5i25. Нам нужно изменить очерёдность пинов генераторов Step/Dir так, чтобы во внешнем разъёме DB25 они в точности соответствовали распиновке PLC545. Также не забываем про нюанс с PWMGen (dir), нам нужно избавиться от этого пина, заменив его на обычный пин ввода/вывода. Согласно приведённой выше таблице описание пинов примет такой вид:
Сохраняем проект (File > Save All) и закрываем окно редактора (Window > Close). Переходим во вкладку Design и дабл кликом открываем TopPCIHostMot2 - Behavioral( TopPCIHostMot2.vhd).
Пролистываем чуть-чуть вверх до строки 81 и убеждаемся, что из всех поддерживаемых плат выбрана единственно верная - Mesa 5i25.
Далее листаем вниз, внимательно высматривая какие модификации прошивок в этом проекте будут использоваться при компиляции. Видим что-то подобное.
Ненужный файл отключаем при помощи символов комментария, а предварительно исправленный PIN_PROB_RFx2_34 наоборот раскомментируем.
Сохраняем проект (File > Save All) и закрываем окно редактора (Window > Close). Нацеливаем дабл клик на Generate Programming File и, спустя секунд 30...40, видим сообщение о успешной компиляции проекта. В папке куда вы распаковали исходники должен появиться файл прошивки toppcihostmot2.bit, именно его мы будем зашивать в Mesa 5i25.
Собственно процессе прошивки очень прост, он вполне доходчиво описан в мануале к Mesa. В linux консоли придётся набрать что-то вроде:
Теперь осталось объяснить Pncconf, что в нашей прошивке PROB_RFX2 изменилось назначение некоторых пинов, для этого поправим распакованный ранее файлик 5i25_prob_rfx2.xml.
Исправленный 5i25_prob_rfx2.xml нужно скопировать в /lib/firmware/hm2/5i25/, после чего в Pncconf в выпадающем списке напротив Firmware мы сможем указать какую прошивку используем. В соответствии с возможностями PLC545 число генераторов PWM будет «1», количество энкодеров «0», а генераторов шагов — «3» или «4». Затем жмём на Accept components changes и завершаем настройку пинов в двух соседних вкладках.
Тут ничего не меням. На внутренний разъём у нас уехал ненужный выход генератора PWM.
А тут нужно настроить только пины ввода/выводы, генераторы шагов заняли правильные пины автоматически!
Как не трудно догадаться, подобным образом - то есть без переделки LPT кабеля - к Mesa 5i25 можно подключить не только драйвер PLC545, но и любой другой драйвер ШД или breakout плату с разъёмом DB25 и распиновкой, не позволяющей задействовать прошивку PROB_RFX2 в «чистом виде». Надеюсь, кто-то дочитал до конца и не уснул 
Архив с готовой прошивкой и xml для Pncconf пригагаю.
Купил я как-то Mesa 5i25 без каких-либо дочерних плат, рассчитывая первое время погонять её с прошивкой PROB_RFX2. Также имелся драйвер шаговых движков PLC545 от Purelogic и кабель LPT для соединения одного с другим.
Прошивка PROB_RFX2 даёт нам 8 генераторов Step/Dir (плюс ещё два генератора PWM и пару входов квадратурных энкодеров) и генераторы эти жёстко привязаны к определённым пинам внешнего и внутреннего разъёмов 5i25. Иначе говоря, если на этапе конфигурирования в Pncconf вы задействуете какие-либо генераторы Step/Dir - они займут строго определенные В ПРОШИВКЕ пины, переназначить их на другие нельзя. Пины незадействованных генераторов превращаются в программируемые входы или выходы, тут пользователь ничем не ограничен.
Так вот, оказалось, что у Mesa 5i25 (с прошивкой PROB_RFX2, конечно же) и у драйвера PLC545 линии Step/Dir приходятся на разные пины в разъёме DB25, что не позволяет подключить одно к другому обычным LPT кабелем. Т.е. физически кабель подключается без каких-либо проблем, но из-за неправильной разводки внутри кабеля покрутить движками не получится.
Разрешить задачку можно двумя способами:
1. Перепайка LPT кабеля.
2. Модификация прошивки PROB_RFX2 с целью изменить дефолтную распиновку генераторов Step/Dir на свою собственную.
Я, как настоящий лентяй, решительно отверг первый вариант, целиком сосредоточившись на втором. Для этого я набросал табличку, из которой видно какие пины в разъёме DB25 со стороны Mesa 5i25 предстоит программно переставить. Во-первых, предстоит изменить последовательность пинов генераторов Step/Dir (зелёная группа на картинке), распределив их так, чтобы обеспечить прямую совместимость с PLC545.
Во-вторых, если мы планируем задействовать генератор PWM для управления оборотами шпинделя (синяя группа на картинке), прошивка PROB_RFX2 автоматически даст нам сразу два выхода: PWMGen (out) и PWMGen (dir). Первый выход мы с радостью заведём на вход преобразователя ШИМ-напряжение PLC545, а вот второй выход заблокирует возможность управлять реле Relay 1 (выделено красным). От возможности клацкать реле мы отказываться не собираемся, поэтому PWMGen (dir) перебросим на внутренний разъём P2 5i25, взяв взамен с него же universal in/out.
Остальные пины не вызывают вопросов, их легко превратить в нужные входы или выходы на этапе настройки в Pncconf.
Собственно, приступим. Нам потребуется архив прошивок к Mesa 5i25 и Xilinx ISE Design Suite. Первое ищем на официальном сайте (или вот прямая ссылка), второе не сложно найти на просторах интернета. Я использовал ISE Design Suite версии 14.5 для Windows 64-bit.
В архиве с прошивками находим и извлекаем:
5i25\configs\hostmot2\5i25_prob_rfx2.xml
5i25\configs\hostmot2\source\hostmot2.zip
Архив с исходниками hostmot2.zip полностью распаковываем в отдельную папочку и запускаем ISE Design Suite. Затем открываем проект с именем fivei25.xise. На требование обновить наш проект до новой версии Project Navigator отвечаем Migrate Only. Сразу же видим сообщение, что мол часть файлов в проекте отсутствует. Отмечаем галкой Remove unspecified files from project , так как эти файлы для сборки нашей прошивки не нужны. Наконец-то откроется проект, в котором переходим во вкладку Libraries. Во вкладке раскрываем список библиотек work, находим библиотеку PIN_PROB_RFx2_34.vhd и открываем её обычным дабл кликом. Начиная со строки 109 можно видеть порядок назначения пинов внешнему и внутреннему разъёмам Mesa 5i25. Нам нужно изменить очерёдность пинов генераторов Step/Dir так, чтобы во внешнем разъёме DB25 они в точности соответствовали распиновке PLC545. Также не забываем про нюанс с PWMGen (dir), нам нужно избавиться от этого пина, заменив его на обычный пин ввода/вывода. Согласно приведённой выше таблице описание пинов примет такой вид:
Код: Выделить всё
constant PinDesc : PinDescType :=(
-- Base func sec unit sec func sec pin -- external DB25
IOPortTag & x"00" & NullTag & NullPin, -- I/O 00 PIN 1 Output 2 just GPIO
IOPortTag & x"00" & PWMTag & PWMAOutPin, -- I/O 01 PIN 14 Spindle DAC PWM
IOPortTag & x"00" & StepGenTag & StepGenStepPin, -- I/O 02 PIN 2 X Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 03 PIN 15 just GPIO
IOPortTag & x"01" & StepGenTag & StepGenStepPin, -- I/O 06 PIN 4 Y Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 07 PIN 17 Output 1 just GPIO
IOPortTag & x"02" & StepGenTag & StepGenStepPin, -- I/O 09 PIN 6 Z Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 05 PIN 16 Spindle DAC Dir
IOPortTag & x"03" & StepGenTag & StepGenStepPin, -- I/O 11 PIN 8 A Step
IOPortTag & x"00" & StepGenTag & StepGenDirPin, -- I/O 04 PIN 3 X Dir
IOPortTag & x"01" & StepGenTag & StepGenDirPin, -- I/O 08 PIN 5 Y Dir
IOPortTag & x"02" & StepGenTag & StepGenDirPin, -- I/O 10 PIN 7 Z Dir
IOPortTag & x"03" & StepGenTag & StepGenDirPin, -- I/O 12 PIN 9 A Dir
IOPortTag & x"00" & NullTag & NullPin, -- I/O 13 PIN 10 Input 4 just GPIO
IOPortTag & x"00" & QCountTag & QCountQAPin, -- I/O 14 PIN 11 Input 2 (Quad A)
IOPortTag & x"00" & QCountTag & QCountQBPin, -- I/O 15 PIN 12 Input 3 (Quad B)
IOPortTag & x"00" & QCountTag & QCountIdxPin, -- I/O 16 PIN 13 Input 4 (Quad Idx)
-- 26 HDR -- IDC DB25
IOPortTag & x"00" & PWMTag & PWMBDirPin, -- I/O 17 PIN 1 PIN 1 Output 2 just GPIO
IOPortTag & x"01" & PWMTag & PWMAOutPin, -- I/O 18 PIN 2 PIN 14 Spindle DAC PWM
IOPortTag & x"04" & StepGenTag & StepGenStepPin, -- I/O 19 PIN 3 PIN 2 X2 Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 20 PIN 4 PIN 15 just GPIO
IOPortTag & x"04" & StepGenTag & StepGenDirPin, -- I/O 21 PIN 5 PIN 3 X2 Dir
IOPortTag & x"01" & PWMTag & PWMBDirPin, -- I/O 22 PIN 6 PIN 16 Spindle DAC DirHz)
IOPortTag & x"05" & StepGenTag & StepGenStepPin, -- I/O 23 PIN 7 PIN 4 Y2 Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 24 PIN 8 PIN 17 Output 1 just GPIO
IOPortTag & x"05" & StepGenTag & StepGenDirPin, -- I/O 25 PIN 9 PIN 5 Y2 Dir
IOPortTag & x"06" & StepGenTag & StepGenStepPin, -- I/O 26 PIN 11 PIN 6 Z2 Step
IOPortTag & x"06" & StepGenTag & StepGenDirPin, -- I/O 27 PIN 13 PIN 7 Z2 Dir
IOPortTag & x"07" & StepGenTag & StepGenStepPin, -- I/O 28 PIN 15 PIN 8 A2 Step
IOPortTag & x"07" & StepGenTag & StepGenDirPin, -- I/O 29 PIN 17 PIN 9 A2 Dir
IOPortTag & x"00" & NullTag & NullPin, -- I/O 30 PIN 19 PIN 10 Input 4 just GPIO
IOPortTag & x"01" & QCountTag & QCountQAPin, -- I/O 31 PIN 21 PIN 11 Input 2 (Quad A)
IOPortTag & x"01" & QCountTag & QCountQBPin, -- I/O 32 PIN 23 PIN 12 Input 3 (Quad B))
IOPortTag & x"01" & QCountTag & QCountIdxPin, -- I/O 33 PIN 25 PIN 13 Input 4 (Quad Idx)
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for 34 pin 5I25
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for IDROM v3
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,
emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin);
Код: Выделить всё
mesaflash -device 5I25 -write toppcihostmot2.bitКод: Выделить всё
<?xml version="1.0"?>
<hostmot2>
<boardname>5i25</boardname>
<ioports>2</ioports>
<iowidth>34</iowidth>
<portwidth>17</portwidth>
<clocklow>33333333</clocklow>
<clockhigh>200000000</clockhigh>
<modules>
<module>
<tagname>IOPort</tagname>
<numinstances> 2</numinstances>
</module>
<module>
<tagname>Encoder</tagname>
<numinstances> 2</numinstances>
</module>
<module>
<tagname>StepGen</tagname>
<numinstances> 8</numinstances>
</module>
<module>
<tagname>PWMGen</tagname>
<numinstances> 2</numinstances>
</module>
<module>
<tagname>LED</tagname>
<numinstances> 1</numinstances>
</module><module>
<tagname>None</tagname>
<numinstances> 1</numinstances>
</module>
</modules>
<pins>
<pin>
<connector>P3</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>PWMGen</secondarymodulename>
<secondaryfunctionname>PWM/Up (out)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 2</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 3</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 2</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 3</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Phase A (in)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Phase B (in)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P3</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Index (in)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>PWMGen</secondarymodulename>
<secondaryfunctionname>Dir/Down (out)</secondaryfunctionname>
<secondaryinstance> 0</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>PWMGen</secondarymodulename>
<secondaryfunctionname>PWM/Up (out)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 4</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 4</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>PWMGen</secondarymodulename>
<secondaryfunctionname>Dir/Down (out)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 5</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 5</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 6</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 6</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Step (out)</secondaryfunctionname>
<secondaryinstance> 7</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>StepGen</secondarymodulename>
<secondaryfunctionname>Dir (out)</secondaryfunctionname>
<secondaryinstance> 7</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>None</secondarymodulename>
<secondaryfunctionname>0</secondaryfunctionname>
<secondaryinstance>0</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Phase A (in)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Phase B (in)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
<pin>
<connector>P2</connector>
<secondarymodulename>QCount</secondarymodulename>
<secondaryfunctionname>Index (in)</secondaryfunctionname>
<secondaryinstance> 1</secondaryinstance>
</pin>
</pins>
</hostmot2>Архив с готовой прошивкой и xml для Pncconf пригагаю.