Перейти к публикации

Макросы в Power Mill


Рекомендованные сообщения

Макрос для создания и активации СК по заготовке

Показать содержимое  
ECHO OFF DCPDEBUG UNTRACE COMMAND ACCEPT //отключение эхо

DIALOGS ERROR OFF
DIALOGS MESSAGE OFF

int $WPsize = size(folder('WORKPLANE')) //счётчик СК

int $j = $WPsize

MODE WORKPLANE_CREATE ; INTERACTIVE BLOCK //создание СК по заготовке

While $WPsize==$j {

//ожидание новой СК

$j = size(folder('WORKPLANE'))

}

int $i = $j - 1

STRING LIST $WP = extract(folder('WORKPLANE'), 'name') //список СК

ACTIVATE Workplane $WP[i]

DIALOGS ERROR ON
DIALOGS MESSAGE ON

 

Hide  
Определяется текущее количество СК, появляется окошко выставления СК по заготовке и в цикле ожидается появление новой СК, при появлении новой СК создаётся полный список всех СК и активируется последняя
Изменено пользователем Konstantin_VP
Ссылка на сообщение
Поделиться на других сайтах


В 24.05.2017 в 13:59, eksodus сказал:

если добавить в настройках Панели состояния в пользовательские поля функцию


limits('toolpath','')[4]

то получим минимальное Z активной траектории

если 4 заменить на 5 - максимальное Z

мне удобно, может и ещё кому пригодится...

 

Zmin.png.d8fc6a6de587667393377803bd188f59.png

Здравствуйте. Это именно то что мне надо, но к сожалению я работаю в Piwermill Pro 10.0 , а там это не работает. Может вы знаете как реализовать это же в Piwermill Pro 10.0 ?

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 22.03.2017 в 13:52, k.sema сказал:

 

Затем для вызова макроса назначил удобное мне сочетание клавиш, всё отлично работает, спасибо!

Подскажите где или начаная с какой версии можно назначать сочетания клавиш на макрос.

Работаю в 2014 R2, не нашёл.

Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте Eksodus.

Где и что в Вашем макросе holes3 нужно изменить, чтобы названия получать на английском. Благодарю за ответ.

Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, raffnec сказал:

Подскажите где или начаная с какой версии можно назначать сочетания клавиш на макрос.

Работаю в 2014 R2, не нашёл.

Я перешёл с версии 2010 сразу в 2016 и там это уже было)

 

Скрытый текст

5bd575e517817_.png.7c256ba122a2d6ca346447cd03b6bef9.png

 

Изменено пользователем k.sema
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Всем доброго дня. Подскажите пожалуйста. Работаю в РМ2017. Есть набор отверстий. Мне нужно  все отверстия этого набора сместить  по X и Y. Не могу найти, как определить координаты центра отверстий. В принципе это и нужно - положить в одну переменную координату X, а в другую координату Y.

Изменено пользователем syncomp
Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток!

Коллеги, подскажите пожалуйста формат команды, для проверки создан ли карман с именем в переменной $karman в подпапке  с именем d переменной  $FeatureGroup1

Нужен вызов  процедуры доработки кармана, если карман создан в предыдущей черновой обработке

Что-то я смотрю в толмуд по макросам , как баран на новые вороты, с гугл -переводчиком курю, не могу добиться результата

Тыкаюсь методом тыка, не могу понять  формат команды, какие вводные данные ему нужны?

 

int obr2 = size(filter(folder($FeatureGroup1), 'position(Name,$karman) == 0')) 
IF  $obr2 != 1 {

......????

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Уважаемый Eksodus, в макросе Holes3 ,диаметр центровки у меня всегда получается 3,9. Это так задумано, или я что-то не так делаю? Благодарю за ответ.

Ссылка на сообщение
Поделиться на других сайтах
В 28.10.2018 в 00:12, igor2511 сказал:

Где и что в Вашем макросе holes3 нужно изменить, чтобы названия получать на английском. Благодарю за ответ.

Макрос - это обычный текстовый файл. Откройте его любым текстовым редактором и исправьте как вам нужно.

В 23.11.2018 в 21:10, igor2511 сказал:

Holes3 ,диаметр центровки у меня всегда получается 3,9. Это так задумано, или я что-то не так делаю?

Я задал такой диаметр чтобы центровка не конфликтовала если вдруг будут отверстия 4,0

Как бы мне думается - что отверстия 4,0 чаще встречаются чем 3,9

В самом же макросе происходит проверка существующего инструмента по типу инструмента (в данном случае Сверло) и по его диаметру

и если у вас вдруг будут отверстия диаметром 4,0 при центровке 4,0 - то сверло 4,0 не будет создаваться и будет использоваться эта центровка

Вот поэтому центровка и имеет диаметр 3,9

Но вы конечно можете открыть макрос в текстовом редакторе и изменить диаметр на любой нужный.

В 11.11.2018 в 02:16, syncomp сказал:

Есть набор отверстий. Мне нужно  все отверстия этого набора сместить  по X и Y. Не могу найти, как определить координаты центра отверстий. В принципе это и нужно - положить в одну переменную координату X, а в другую координату Y.

1) Сместить нужно все отверстия в наборе на одинаковое расстояние ?

2) И обязательно ли вам нужно задавать это через переменные ?

3) И обязательно ли нужны координаты ?

 

Я вроде нашел как это сделать через обычные диалоговые окна самого милла, ну а подставить в цикл это будет делом техники.

 

В 17.10.2018 в 08:19, RadN сказал:

Это именно то что мне надо, но к сожалению я работаю в Piwermill Pro 10.0 , а там это не работает. Может вы знаете как реализовать это же в Piwermill Pro 10.0 ?

Никак. Язык макросов сильно начали улучшать с 2012 милла.

Только поставить новую версию милла.

 

В 27.10.2018 в 19:11, raffnec сказал:

Подскажите где или начаная с какой версии можно назначать сочетания клавиш на макрос.

Работаю в 2014 R2, не нашёл.

Эта возможность появилась в PowerMILL 2015 R2.

 

В 15.11.2018 в 00:20, scorpion1007 сказал:

подскажите пожалуйста формат команды, для проверки создан ли карман с именем в переменной $karman в подпапке  с именем d переменной  $FeatureGroup1

с каким именем карман ? как задаются переменные $karman и  $FeatureGroup1 ? и какая логика самого макроса ?

может лучше выложить сам макрос ? и повермилл - какая версия ?

 

 

Изменено пользователем eksodus
Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, eksodus сказал:

1) Сместить нужно все отверстия в наборе на одинаковое расстояние ?

2) И обязательно ли вам нужно задавать это через переменные ?

3) И обязательно ли нужны координаты ?

 

Я вроде нашел как это сделать через обычные диалоговые окна самого милла, ну а подставить в цикл это будет делом техники.

Я сам знаю, как в диалоговых окнах изменить координаты центра отверстий. Но если их 40? И все изменить нужно? И не на одинаковое расстояние, причем заранее неизвестное, а высчитанное в процессе работы макроса.

Расскажу что я хочу сделать и зачем мне это нужно.

На работе, мы крепим заготовку к  фанерной плите и прикручиваем ее саморезами. Часто в заготовке заложены несколько моделей. Я в Солиде собираю сборку из моделей, а потом импортирую  в РМ как модель. Так проще, не надо каждую импортированную в РМ модель перемещать и устанавливать на свое место. Так вот , когда закончится обработка ,на столе остаются несколько готовых моделей, прикрученные саморезами к плите. Потом, саморезы выкручиваются и остаются обработанные модели и сама плита. Но чтобы знать куда закручивать саморезы, чтобы фреза не попала на него при работе мы составляем таблицу. Подводим мышку к примерному месту и переписываем координаты, причем округляя их до целых.  Ошибки неизбежны. Я и задумал автоматизировать этот процесс. Именно для этого я и спрашивал раньше о команде PICK. Как было бы удобно! Щелкнул мышкой в нужном месте и тебе в файл записались бы координаты точки куда нужно закручивать саморезы! Потом распечатал его и отдал оператору...

Но так как команду PICK использовать не получается, то я решил узнать эту инфу через создание набора отверстий. РМ в любом случае содержит информацию о радиусе/диаметре и центре всех отверстий. Только надо знать где и как получить эту информацию. Получить в переменой, обработать (округлить) и воспользовавшись командой POSITION X/Y переместить в эту точку. ну и записать координаты  в файл...

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, syncomp сказал:

Но если их 40? И все изменить нужно? И не на одинаковое расстояние, причем заранее неизвестное, а высчитанное в процессе работы макроса.

ну так я про это и спрашиваю как раз

 

тогда возникает еще пара вопросов:

4)  как создаются отверстия ДО их перемещения ?

5)  как задаются сами перемещения отверстий по XY ?

вы вручную для каждого отверстия будете вводить координаты смещения ?

или какой алгоритм тут должен быть на ваш взгляд ?

 

Ссылка на сообщение
Поделиться на других сайтах

Добрый вечер всем!

 

Доработал макрос для сверления, и надеюсь больше к нему возвращаться не буду.

Что изменилось:

- немного почистил от мусорных символов

- убрал функцию проверки активной папки, ибо папка и так создается и становится активной в данном макросе

- добавил вопрос - Сверлить ВСЕ отверстия от ВЕРХА Заготовки?

Verh.png.edc1eb47a64e768913c05930a4d2b7d7.png

 

Это для тех случаев - когда отверстия расположены не с самого верха детали, а чуть ниже в понижении

чтобы был выбор - пофрезеровать понижение и потом сверлить или сначала сверлить

 

- уменьшил с 2 до 1 мм высоту включения рабочей подачи и с 1 до 0,5 мм начало цикла сверления

- исправил ошибку в задании режимов резания, - теперь можно спокойно загрузить ДО запуска макроса свои сверла с предзаданными режимами,

и будут использоваться именно режимы заданные в инструменте, а не из макроса

- сделал 2 версии макроса - для 2016 и 2019 повермилла

отличие только в том - что в 2019 версии убран вопрос - "Сверлить отверстия насквозь ?"

макрос автоматически определяет тип отверстия и в зависимости от типа ставит тип сверления "Сквозное" или "Глухое"

к сожалению, это не работает в 2016 милле, поэтому вопрос "Сверлить отверстия насквозь ?" в макросе для 2016 милла остается

- теперь после запуска макроса в Проводнике сворачиваются ветки Траектории, Инструменты и Отверстия, чтобы макрос выполнялся быстрее

в конце макроса они разворачиваются опять

 

Все остальное без изменений.

И сам макрос, точнее два его варианта, с тестовой моделькой внутри:

 

 

Sverlenie.zip

Ссылка на сообщение
Поделиться на других сайтах
В 26.11.2018 в 14:22, eksodus сказал:

4)  как создаются отверстия ДО их перемещения ?

А вы не знаете как создать набор отверстий в РМ?

Блин! Мне всего-то надо получить данные из раздела положение отверстия. Помечено красным.

1.JPG

Изменено пользователем syncomp
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, syncomp сказал:

А вы не знаете как создать набор отверстий в РМ?

причем тут что знаю я ? способов-то создания отверстий - вагон и маленькая тележка, и какой вариант выбрали вы я без понятия

 

3 часа назад, syncomp сказал:

Блин! Мне всего-то надо получить данные из раздела положение отверстия. Помечено красным.

вот пример, выводит XYZ

COPY FEATURESET ; SELECTED
RENAME Featureset # "feature_XYZ"
ACTIVATE Featureset "feature_XYZ"

REAL LIST WP_X = extract($components(entity('featureset','')),'WPPoint[0]')
REAL LIST WP_Y = extract($components(entity('featureset','')),'WPPoint[1]')
REAL LIST WP_Z = extract($components(entity('featureset','')),'WPPoint[2]')

INT $index = 0
WHILE $index < SIZE(WP_X) {
	STRING TEXT = WP_X[$index] + ';' + WP_Y[$index] + ';' + WP_Z[$index]
	PRINT $TEXT
	$index = $index + 1
}

DELETE FEATURESET "feature_XYZ"

 

Изменено пользователем eksodus
Ссылка на сообщение
Поделиться на других сайтах

Добрый день !

Порылся по своим макросам, вот нашел еще один полезный.

Закрывает выбранные отверстия.

 

Вначале спрашивает:

403.png.7b96b0a601028e504110715120455d71.png

 

Если нажимаем ДА, то макрос становится на паузу с запросом -

 

Выберите ВНУТРЕННИЕ верхние
элементы Отверстий!

 

Выбираем отверстия которые нужно закрыть и нажимаем Продолжить.

Подходит для плит или для отверстий на ровных участках типа :

401.png.b0d156188dd67ac4899c1b922a67d5da.png

 

Сама плоскость может быть под любым углом повернута по отношению к Z !

Главное - чтобы была именно плоскость.

 

Если же на первый вопрос ответить НЕТ, то опять появится запрос для выделения поверхностей.

Повторяем все как и в первом случае, только в конце нужно будет еще выбрать поверхность по которой проходит верхний компонент отверстия

 

А этот способ уже подходит для криволинейных поверхностей, например вот таких:

 

402.thumb.png.e36b2ba51ddee8e26a7e17da15e1ae78.png

 

Ну и сам макрос:

 

CapHoles.zip

Ссылка на сообщение
Поделиться на других сайтах

Может кому пригодится. 

Макрос для закраски моделей, можно использовать для удобного выделения моделей через ctrl+alt+left click (выбор всех поверхностей по общему цвету).

Показать содержимое  
REAL ARRAY R[] = {1,     0,     0,     0,     1,     1,     1,     0} // красный
REAL ARRAY G[] = {1,     0,     1,     1,     0,     0,     1,     0} // зелёный
REAL ARRAY B[] = {1,     1,     0,     1,     0,     1,     0,     0} // синий

int $ModelSize = size(FOLDER('model'))
int $i = 0
int $j = 0
string $ModelName = ''

IF $ModelSize > 1 {

While $i<$ModelSize {

$ModelName = FOLDER('model')[$i].Name
EDIT MODEL $ModelName COLOUR RGBSELECT
if $j<size($R) {
RGB ${R[$j]} ${G[$j]} ${B[$j]}
} else {

$j=1

}

$i=i+1
$j=j+1
}


}

 

Hide  
Ссылка на сообщение
Поделиться на других сайтах

Получение списков всех основных компонентов:

Показать содержимое  
//Полный список в активном StockModel
STRING LIST $list1 = extract((entity('StockModel','').States), 'name')


//Список траекторий в активном StockModel
STRING LIST $list2 = extract(filter(entity('StockModel','').States,"Type=='Toolpath'"), 'name')


//Список траекторий в активном ncprogram
STRING LIST $list3 = extract(filter(components(entity('ncprogram','')), "RootType=='nctoolpath'"), 'name')


//Список траекторий в Toolpath
STRING LIST $list4 = extract(folder('Toolpath'), 'name')


//Список траекторий в активной группе
STRING LIST $list5 = EXTRACT(FILTER((components($entity('group', ''))), "roottype=='toolpath'"), "name")


//Список инструмента в Tool
STRING LIST $list6 = extract(FOLDER('Tool'),'name')


//Список инструмента(с повторами) в ncprogram
STRING LIST $list7 = extract(filter(components(entity('ncprogram',entity('ncprogram','').Name)), "RootType=='nctoolpath'"), 'tool.name')


//Список СК в workplane
STRING LIST $list8 = extract(FOLDER('workplane'),'name')


//Список СК(Промежуточные и точка смены) в активном ncprogram
STRING LIST $list9 = extract(filter(components(entity('ncprogram','')), "RootType=='ncworkplane'"), 'name')


//список станков в MachineTool
STRING LIST $list10 = extract(FOLDER('MachineTool'),'name')


//список УП в ncprogram
STRING LIST $list11 = extract(FOLDER('ncprogram'),'name')


//Список шаблонов в Pattern
STRING LIST $list12 = extract(FOLDER('Pattern'),'name')


//Список границ в Boundary
STRING LIST $list13 = extract(FOLDER('Boundary'),'name')


//Список 2D моделей в featureset
STRING LIST $list14 = extract(FOLDER('featureset'),'name')


//список слоёв и наборов в Level
STRING LIST $list15 = extract(FOLDER('Level'),'name')


//Список моделей в model
STRING LIST $list16 = extract(FOLDER('model'),'name')


//Список моделей материала в stockModel
STRING LIST $list17 = extract(FOLDER('stockModel'),'name')

 

Hide  
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

1) Господа, может кто найдёт способ помочь с макросом, который будет перемещать на одну плоскость Z все детали раскроя.
Прикрепляю проект с примером раскроя и макрос, который использую (в макросе ничего интересного нет, просто записанные действия).

В примере правая верхняя деталь по Z расположенная на -28 мм, относительно остальных.
2) Может есть у кого макросы или наработки, которые используются для раскроя?

stapel_rascroy.zip

Ссылка на сообщение
Поделиться на других сайтах
В 23.01.2019 в 23:08, raffnec сказал:

1) Господа, может кто найдёт способ помочь с макросом, который будет перемещать на одну плоскость Z все детали раскроя.
Прикрепляю проект с примером раскроя и макрос, который использую (в макросе ничего интересного нет, просто записанные действия).

В примере правая верхняя деталь по Z расположенная на -28 мм, относительно остальных.
2) Может есть у кого макросы или наработки, которые используются для раскроя?

stapel_rascroy.zip

 Скорее всего никак. Проще выровнять все детали в CADe.

Ссылка на сообщение
Поделиться на других сайтах
В 23.01.2019 в 22:08, raffnec сказал:

может кто найдёт способ помочь с макросом, который будет перемещать на одну плоскость Z все детали раскроя

1) у вас все модели идут в STEP ?

2) каждая модель всегда содержит несколько разных деталей ?

3) повермилл всегда используется только для таких типов моделей ?

4) повершейп установлен ?

5) имеет ли значение если каждая деталь станет отдельной моделью ?

6) нужно ли вам выделять поверхности для какой либо обработки в данных моделях/деталях ? или всё делаете макросом где выделение поверхностей не используется ?

 

PS: вы в макросе разворачиваете отверстия - не совсем понял с какой целью это делается, можете кратко разъяснить ?

Изменено пользователем eksodus
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • v-david
      Вы выбрали конфигурацию, но не активировали ее:       Set swCustPropMgr = CmpDoc.Extension.CustomPropertyManager(CompConfig) '------------------------------------------------------------------------------- lRetVal = CmpDoc.ShowConfiguration2(CompConfig) '-------------------------------------------------------------------------------     lRetVal = swCustPropMgr.Get4("Наименование", False, Val, ValOut)     If ValOut = Empty Then         Set swCustPropMgr = CmpDoc.Extension.CustomPropertyManager("")         lRetVal = swCustPropMgr.Get4("Наименование", False, Val, ValOut)
    • hlibhlib
      При двойном клике на имеющийся Размер для редактирования и последующем подтверждении действия слетают Настройки CAD на дефолт. ===> Бесит! Этого не было в предыдущих версиях. Может какие-то настойки нужны?  Сталкивался-ли кто с такой ситуацией?  Как выход из положения настроил линии и дуги в настройках Атрибутов. Вроде работает, но в меню Главная Цвет и ширина каркасной геометрии Дефолтная.  
    • Viktor2004
      Импортозамещение  
    • vad0000
      Нет, просто отключаете, и забываете о ней   Не надо ничего делать   Откуда приходит сигнал 24 вольта на 7 вход сервоусилителя? Фото другой страницы схемы
    • maxx2000
    • vladimir.songin
      То есть отключаю аналоговую обратную связь от аналогового входа, и подключаю вместо энкодера? Так не делал но сомнения у меня: Вход энкодера может  быть 12 или 5 вольт. У нас 12. Два пина питание, два пина Каналы A B соответственно, один пин REF (непонятно что он означает и как работает). Остальные соеденены вместе. На какие из них подавать аналаговый вход обратной связи дефлектора.  сигналы от энкодера приходят, проверял осцилографом на самом разьёме непосредственно на входе DM02, и некое значение уже могло бы отобразиться в поле энкодера при отключенном аналаговом входе.  Если отключить аналоговый вход, то видим единичку в обоих полях, но уже писал об этом.  
    • Алексей 1977
      Кто знает подскажите как отключить этот ненужный набор букв и символов в готовой УП? Я так думаю надо редактировать постпроцессор? Заранее спасибо ( Общая длина: 130.0) ( Заготовка:) ( MIN X: -10.970) ( MIN Y: -10.970) ( MIN Z: -6.500) ( MAX X: 10.970) ( MAX Y: 10.970) ( MAX Z: 0.000) ( COORDINATE SYSTEM: Глобальная СК) ( Кончик инструмента:) (   X: -0.000) (   Y: 0.000) (   Z: 10.000) ( Рекомендованная длина: 50.000) ( Количество кромок: 4) ( Инструмент:   Концевая фреза) ( DIAMETER: 10.000) ( Безопасность:) ( Рабочие ходы инструмента: Безопасная БЕЗ зарезов) ( Подводы инструмента: Безопасная БЕЗ зарезов) ( Переходы инструмента: Безопасная БЕЗ зарезов) ( Рабочие ходы патрона: Столкновения НЕ проверялись) ( Подводы патрона: Столкновения НЕ проверялись) ( Переходы патрона: Столкновения НЕ проверялись) ( Траектория: Шаблон) ( STEPOVER: 5.000) ( ДОПУСК:0.100) ( THICKNESS:0.000) ( Статистика:) ( LENGTH: 95.318)( LIFTS: ( TIME: 0/00/05) 1) G0X0Y0 G43Z10.H13 X4.75Y-8.227 Z5. G1Z0F500 X9.5Y-5.485F1000 Y5.485 X0Y10.97 X-9.5Y5.485 Y-5.485 X0Y-10.97 X4.75Y-8.227 G0Z10.
    • gudstartup
      считывание происходит при помощи вх\вых сигналов контроллера plc 
    • gudstartup
      @Maks Horhe так все таки скиньте бэкап эмулируем ваше чпу в cncguide и посмотрим куда поедет?  можете снять видео с фиксацией координатных позиций после каждого кадра. Выложу вашу программу пусть программисты посмотрят все ли в ней ок. %O0002 G40 G17 G94 G90 G49 G80 N1 G91 G28 Z0.0 N2 G91 G28 X0.0 Y0.0 N3 G91 G28 B0.0 C0.0 N4 M03 S200 N5 G90 G0 G53 B0.0 C0.0 N6 G54 N7 X0.0 Y0.0 N8 G90 G43 H01 N9 G90 G0 X0.0 Y0.0 N10 G90 G0 Z200.0 N11 G01 Z10.0 F1500. N12 M00 N13 G00 Z200.0 N14 G40 G49 G69 N15 G00 G53 Z0.0 N16 G00 G54 B0.0 C0.0 N17 G68.2 X0.0 Y0.0 Z0.0 1135. J39.2044 K-129.2315 N18 G53.1 N19 G01 X0.0 Y0.0 F1500 N20 G90 G43 H01 N21 G90 G01 X0.0 Y0.0 F1500 N22 G90 G01 Z200. F1500 N24 M00 N25 G00 Z200. N26 G40 G49 G69 N27 G91 G28 Z0.0 N28 G28 X0.0 Y0.0 N29 G91 G28 B0.0 C0.0 N30 M5 N31 M30
    • gudstartup
      @karlf 530 считывает ключ по специальному протоколу при помощи plc и получает его серийный номер а из него определяет возможные режимы доступа. там нет драйвера а есть plc модуль или несколько эти модули написаны на питоне  надпись smartkey исчезает с экрана при запуске чпу??
×
×
  • Создать...