Кнопка NC-START

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Кнопка NC-START

Сообщение Lexxa »

Собственно задача состоит в том, чтобы на пульте оператора были две кнопки:
1) NC START (CYCLE START)
2) FEED HOLD
с фид холд проблем нет, проблемы с кнопкой NC START.
Казалось бы нет ничего проще, чем завести ее на пин halui.program.run, но нет, не все так просто.
На всех промышленных ЧПУ эта кнопка работает одинаково, это стандарт и так должно быть, и все, что не так это ересь.

Работать она должна несколько по-разному в зависимости от выбранного режима работы
1) Автомат. В Авоматическом режиме и незапущенной программы кнопка запускает программу.
В автоматическом покадровом режиме с незапущенной программой кнопка запускает программу.
В автоматическом покадровом режиме с запущенной программой кнопка выполняет следующий кадр программы.
В автоматическом, покадровом авоматическом, с программным остановом продолжает выполнение в зависимости от состояния покдровости.

2) MDI. В режиме MDI должна выполняться строка, записанная в поле MDI, т.е. аналогично нажатию Enter.
Вообще режим MDI какой-то кривой. Праильно сделать было бы так - оператор вводит несколько строк, маркером выделяется нужная и по нажатию NC START начинают отрабатываться команды подряд, начиная с выделенной маркером с учетом покадровости.

Если работа NC START в автомате реализуется без проблем ладдером, то вот режим MDI ниразу непонятно. Хотя бы заставить работать NC START аналогично ентеру. Как?
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Кнопка NC-START

Сообщение Serg »

Lexxa писал(а):Праильно сделать было бы так - оператор вводит несколько строк, маркером выделяется нужная и по нажатию NC START начинают отрабатываться команды подряд, начиная с выделенной маркером с учетом покадровости.
Кто мешает запустить любимый редактор, ввести несколько команд и исполнять их как обычную программу хоть покадрово, хоть целиком?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

да никто не мешает, есть просто общепринятые стандарты, о которых я и написал

Просто в этой части linuxcnc напоминает cd-плеер - play, stop, pause, random
:bender:
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Кнопка NC-START

Сообщение NightV »

Lexxa в чем-то прав
нет жесткого разделениея между режимами
мало того, это никак не отоброжается
Всё просто! если знаешь КАК!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Кнопка NC-START

Сообщение Serg »

Lexxa писал(а):да никто не мешает, есть просто общепринятые стандарты, о которых я и написал
Вообще-то в промстойках это именно так и происходит - запускается редактор программ, где можно писать команды и выполнять их покадрово или все сразу...

Пользуя LinuxCNC нужно уяснить, что интерфейс axis - это не единственный интерфейс, который призван удовлетворить всех, а всего лишь один из многих, предлагаемых в качестве примера, их можно использовать или написать свой так, как больше нравится.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

UAVpilot писал(а):запускается редактор программ
редактор или не редактор - это название, я обрисовал суть
axis тут непричем - в halui например те же пины run, pause,resume, stop, поэтому и интерфейсы вседо единого с этими кнопками, поэтому в nml командах те же команды.
откройте любой симулятор пром стойк и посмотрите как оно там сделано - оно везде сделано удобно.
UAVpilot, при всем уважении, незамечать проблему не равно ее решить
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Кнопка NC-START

Сообщение nkp »

концептуально мы уже это обсуждали (в mygui) ...
я тогда пробовал решить это ладдером: по некоторым причинам (не от меня зависящим))) это было недоделано (управляется "обычно - мышом и клавой))
так что можно "продолжить" ;)
===============
только лишь двумя "главными" кнопками не обойтись - нужен переключатель режимов ,джог "разделить" на 3-4 подрежима(обычный,инкрем., mpg) и тд.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

nkp писал(а):только лишь двумя "главными" кнопками не обойтись - нужен переключатель режимов ,джог "разделить" на 3-4 подрежима(обычный,инкрем., mpg) и тд.
Это я уже сделал. Остались две кнопки
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Кнопка NC-START

Сообщение Nick »

Модно в axisrc сделать bind твоей кнопки на клавишу выполнить в режиме mdi.
А все остальное вроде и так должно работать.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Кнопка NC-START

Сообщение Serg »

Lexxa писал(а):откройте любой симулятор пром стойк и посмотрите как оно там сделано - оно везде сделано удобно.
UAVpilot, при всем уважении, незамечать проблему не равно ее решить
Fanuc подойдёт?
При переключении в MDI появляется пустое окно редактора программ, при вводе команды и нажатии кнопки Ввод введённая команда появляется в первой строчке редактора и чтоб её выполнить нужно нажать "Cycle Start".
mdi.png (4813 просмотров) <a class='original' href='./download/file.php?id=52761&mode=view' target=_blank>Загрузить оригинал (95.22 КБ)</a>
Как можно увидеть проблему там, где её нет? :)

P.S. Кстати об удобствах: тут есть товарищ, который чуть больше года поработал на фрезере с LinuxCNC (AG-400), а сейчас ему приходится ещё работать и на ОЦ со стойкой Fanuc. Так вот он уже интересовался нельзя-ли Fanuc выкинуть, а LinuxCNC поставить... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Кнопка NC-START

Сообщение nkp »

Lexxa писал(а):Это я уже сделал. Остались две кнопки
так в зависимости от того , как ты "уже сделал" переключение режимов , и решается задача "двух кнопок"...(и всего остального)
выкладывай свое решение по режимам , и тогда ясно будет - как помогать тебе с CYCLE START...
а иначе - пустая тема...(имхо)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

UAVpilot писал(а):Fanuc подойдёт?
Подойдет. Подойдет и сименс и хайденхайн и фагор и митсубиши - одинаково у всех, кроме Lcnc

Мне мануалом не надо - я их пускаю по несколько штук в месяц и фанук и хайден и сименс, всего хватает.

В фануке открывается окно редактора (я его называл окном MDI, но название не важно), туда вводится набор команд, который отрабатывается последовательно. Можно одну строку,можно несколько - сколько душе угодно. После отработки содержимое редактора удаляется (или не удаляется, если включен параметр не удалять). Удаляется и при нажатии ресета (или не удаляется, если включен соответствующий параметр).


В LCNC же вводишь команду и она тут же отработалась и ты исравить ее уже ты не можешь и это косяк, ибо фактор Ч никто не отменял.
В пром стойках - ввел, проверил, на крайняк передумал, исправил и удалил.
Это очень удобно при написании и отработке каких-то нюансов.

В LCNC есть маааааасса вкусностей, но недостатки в корректорах и кривой MDI очень существенны.
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

nkp писал(а):"уже сделал" переключение режимов
Ладдером.
Имеем два галетника, один энкодер, кнопки и gmoccapy
Галетники выбирают инкремент для режима джог или маховичек.
Если включен режим manual и галетник "1" в режиме jog (в gmoccapy это кнопка "continuous") то от хардовых (и софтовых) кнопок движение происходит пока они нажаты. Как только галетником "1" устанавливается инкрементный режим, то от хардовых кнопок (и софтовых) соответствующая ось начинает ездить инкрементно. Состояние галетника "2" в этот момент = положение OFF
Если галетником "2" переключить из OFF в X, Y, Z или 4, то соответствующая ось начнет перемещаться от маховичка с инкрементом равным инкременту галетника "1". если галетник "2" выбрал ось, а галетник "1" в JOG, то от маховичка ось не едет, но может двигаться от кнопок (надо ли это?)

1) Привязка к ладдеру
ladderlogic.hal (для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

#Входы для штурвала
net jog-whell-continuous                     => classicladder.0.in-43               # (JWC) - безразмерные перемещения 
net jog-whell-axis-x                         => classicladder.0.in-47               # (JW-AX) - выбрана ось X
net jog-whell-axis-y                         => classicladder.0.in-48               # (JW-AY) - выбрана ось Y
net jog-whell-axis-z                         => classicladder.0.in-49               # (JW-AZ) - выбрана ось Z
net jog-whell-axis-4                         => classicladder.0.in-50               # (JW-A4) - выбрана ось 4

#Выходы для штурвала
net jog-whell-x                              => classicladder.0.out-18                #  (JWX) - маховичек для X включен
net jog-whell-y                              => classicladder.0.out-19                #  (JWY) - маховичек для Y включен
net jog-whell-z                              => classicladder.0.out-20                #  (JWZ) - маховичек для Z включен
net jog-whell-4                              => classicladder.0.out-21                #  (JW4) - маховичек для 4 включен
net jog-mode                                 => classicladder.0.out-22                #  (JM)  - jog vel mode 
2) Привязка к пинам gmoccapy
pendant.hal (для просмотра содержимого нажмите на ссылку)

Код: Выделить всё

#Входы для штурвала
net jog-inc-0                                <= pendant.jog-continuous      # (JWC) - безразмерные перемещения 
net jog-inc-1                                <= pendant.inc-1               # (JW-100) - перемещение 0.1 мм
net jog-inc-2                                <= pendant.inc-01              # (JW-10) - перемещение 0.01 мм
net jog-inc-3                                <= pendant.inc-001             # (JW-1) - перемещение 0.001 мм
net jog-whell-axis-x                         <= pendant.jog-x               # (JW-AX) - выбрана ось X
#net jog-whell-axis-y                        <= pendant.jog-y               # (JW-AZ) - выбрана ось Y
net jog-whell-axis-z                         <= pendant.jog-z               # (JW-AZ) - выбрана ось Z
#net jog-whell-axis-4                        <= pendant.jog-4               # (JW-AZ) - выбрана ось 4

net jog-mode         axis.0.jog-vel-mode 
net jog-mode         axis.1.jog-vel-mode 
net jog-mode         axis.2.jog-vel-mode

net scale gmoccapy.jog-increment
net scale axis.0.jog-scale   
net scale axis.1.jog-scale
net scale axis.2.jog-scale

#Сигнал инкремента с энкодера для каждой оси
net jog-counts       pendant.jog-wheel-counts
net jog-counts       axis.0.jog-counts 
net jog-counts       axis.1.jog-counts 
net jog-counts       axis.2.jog-counts

net jog-inc-0          gmoccapy.jog-inc-0
net jog-inc-1          gmoccapy.jog-inc-1
net jog-inc-2          gmoccapy.jog-inc-2
net jog-inc-3          gmoccapy.jog-inc-3

#Активная ось 
net jog-whell-x                              => axis.0.jog-enable  gmoccapy.x-sel-led         # (JWX) - маховичек для X включен
#net jog-whell-y                              => axis.1.jog-enable gmoccapy.y-sel-led          # (JWY) - маховичек для Y включен
net jog-whell-z                              => axis.2.jog-enable  gmoccapy.z-sel-led         # (JWZ) - маховичек для Z включен
#net jog-whell-4                              => axis.3.jog-enable gmoccapy.4-sel-led          # (JW4) - маховичек для 4 включен
Ну и секция ладдера
Вложения
pendant-section.jpg (4790 просмотров) <a class='original' href='./download/file.php?id=52779&mode=view' target=_blank>Загрузить оригинал (59 КБ)</a>
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Кнопка NC-START

Сообщение Serg »

Lexxa писал(а):Мне мануалом не надо
Ну извини, в Рязань к тебе его не повезу, поэтому придётся довольствоваться мануалом...
Lexxa писал(а):я их пускаю по несколько штук в месяц и фанук и хайден и сименс, всего хватает.
А я ещё и LinuxCNC хорошо знаю. Дальше что?.. :)
Lexxa писал(а):В фануке открывается окно редактора ...
Зачем всё это?.. Я это уже тут писал: Re: Кнопка NC-START #5
Да и в мануалах на Fanuc это всё написано, которыми тебе почему-то не надо... :)
Lexxa писал(а):В LCNC же вводишь команду и она тут же отработалась и ты исравить ее уже ты не можешь и это косяк
Изображение
Ещё раз: Никто не запрещает в LinuxCNC нажать File -> Edit и спокойно ввести нужные команды, проверить, при желании можно даже красиво раскрасить, если твой любимый редактор это позволяет. Причем при желании делать это можно даже в то время, когда станок что-то пилит.
Не понятно в чём проблема? В том, что LinuxCNC предоставляет не один, а два варианта ручного ввода команд, свой собственный и как в промстойках?
Но если это таки считаешь проблемой, то никто не запрещает сделать так, как тебе нравится (в отличии от промстоек).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

UAVpilot, ненее,я ругаться то не собираюсь
:bender:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Кнопка NC-START

Сообщение Serg »

:lol:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

UAVpilot писал(а): File -> Edit и спокойно ввести нужные команды, проверить,
И это уже не режим MDI!!!
Еще раз. В мануале и на фанук и на любую другую стойку, но раз уж фанук, то так:
Там окно ввода есть, в него пишем T1 M6, жмем инпут. Текст появляется в редакторе и не отрабатывается
Пишем T2 M6 жмем инпут, Текст встает второй строкой.
итд
Написали. Подводим курсор к нужной строке, жмем Cycle Start и начинают отрабатываться программы. Согласен?

В LCNC же все с точностью до наоборот. В строке ввода пишем текст жмем энтер и он отрабатывается и за каким то хреном появляется в истории. Зачем эта история вообще нужна? Ну да бог с ней, есть она и есть.

Подскажи, этот компонент окна MDI где лежит и как называется?
Мне кажется его исправить не особенно сложно.
К настоящему редактору добавить еще одно окно аля настоящему окну ввода команды.
С ентера снимаем команду на отработку и оставляем только на ввод в историю
Добавляем еще одно невидимое глазу окно ввода, в которое копируем перемещением курсора текст из истории/редактора. Сигналом на отработку текста из этого окна будет Cycle Start.

Как считаешь, насколько сложно переделат таким образом компонент MDI?
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Кнопка NC-START

Сообщение nkp »

Lexxa писал(а):этот компонент окна MDI где лежит и как называется?
"компонент" MDI размазан по скрипту axis.py (если речь про Axis GUI) и в bin есть файл mdi , но он
очень "простой":

Код: Выделить всё

import sys, os
import linuxcnc

if len(sys.argv) > 1:
    linuxcnc.nmlfile = sys.argv[1]
    del sys.argv[1]

c = linuxcnc.command()
s = linuxcnc.stat()

if len(sys.argv) > 1:
    c.mode(linuxcnc.MODE_MDI)
    c.mdi(" ".join(sys.argv[1:]))
else:
    try:
        while 1:
            mdi = raw_input("MDI> ")
            if mdi == '':
                s.poll()
                print s.position
            else:
                c.mode(linuxcnc.MODE_MDI)
                c.mdi(mdi)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Кнопка NC-START

Сообщение Lexxa »

Задача прикрутить нормальный MDI в gmoccapy, который весь слеплен из glade
А я нашел другой: папка с исходниками/lib/python/gladevcp/hal_mdihistory.py

Код: Выделить всё

#!/usr/bin/env python
# vim: sts=4 sw=4 et
# GladeVcp MDI history widget
#
# Copyright (c) 2011  Pavel Shramov <shramov@mexmat.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

import os, time, string

import gobject, gtk

from hal_widgets import _HalWidgetBase
import linuxcnc
from hal_glib import GStat
from hal_actions import _EMC_ActionBase, ensure_mode

class EMC_MDIHistory(gtk.VBox, _EMC_ActionBase):
    __gtype_name__ = 'EMC_MDIHistory'
    def __init__(self, *a, **kw):
        gtk.VBox.__init__(self, *a, **kw)
        self.gstat = GStat()
        # if 'NO_FORCE_HOMING' is true, MDI  commands are allowed before homing.
        inifile = os.environ.get('INI_FILE_NAME', '/dev/null')
        self.ini = linuxcnc.ini(inifile)
        no_home_required = int(self.ini.find("TRAJ", "NO_FORCE_HOMING") or 0)
        path = self.ini.find('DISPLAY', 'MDI_HISTORY_FILE') or '~/.axis_mdi_history'
        self.filename = os.path.expanduser(path)

        self.model = gtk.ListStore(str)

        self.tv = gtk.TreeView()
        self.tv.set_model(self.model)
        self.cell = gtk.CellRendererText()

        self.col = gtk.TreeViewColumn("Command")
        self.col.pack_start(self.cell, True)
        self.col.add_attribute(self.cell, 'text', 0)

        self.tv.append_column(self.col)
        self.tv.set_search_column(0)
        self.tv.set_reorderable(False)
        self.tv.set_headers_visible(True)

        scroll = gtk.ScrolledWindow()
        scroll.add(self.tv)
        scroll.props.hscrollbar_policy = gtk.POLICY_AUTOMATIC
        scroll.props.vscrollbar_policy = gtk.POLICY_AUTOMATIC

        self.entry = gtk.Entry()
        self.entry.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, 'gtk-ok')

        self.entry.connect('activate', self.submit)
        self.entry.connect('icon-press', self.submit)
        self.tv.connect('cursor-changed', self.select)

        self.pack_start(scroll, True)
        self.pack_start(self.entry, False)
        self.gstat.connect('state-off', lambda w: self.set_sensitive(False))
        self.gstat.connect('state-estop', lambda w: self.set_sensitive(False))
        self.gstat.connect('interp-idle', lambda w: self.set_sensitive(self.machine_on() and ( self.is_all_homed() or no_home_required ) ))
        self.gstat.connect('interp-run', lambda w: self.set_sensitive(not self.is_auto_mode()))
        self.gstat.connect('all-homed', lambda w: self.set_sensitive(self.machine_on()))
        self.reload()
        self.show_all()

    def reload(self):
        self.model.clear()

        try:
            fp = open(self.filename)
        except:
            return
        lines = map(str.strip, fp.readlines())
        fp.close()

        lines = filter(bool, lines)
        for l in lines:
            self.model.append((l,))
        path = (len(lines)-1,)
        self.tv.scroll_to_cell(path)
        self.tv.set_cursor(path)
        self.entry.set_text('')

    def submit(self, *a):
        cmd = self.entry.get_text()
        if not cmd:
            return
        ensure_mode(self.stat, self.linuxcnc, linuxcnc.MODE_MDI)

        try:
            fp = open(self.filename, 'a')
            fp.write(cmd + "\n")
            fp.close()
        except:
            pass

        self.linuxcnc.mdi(cmd)
        last = self.model.append((cmd,))
        path = self.model.get_path(last)
        self.tv.scroll_to_cell(path)
        self.tv.set_cursor(path)
        self.entry.set_text('')
        self.entry.grab_focus()

    def select(self, w):
        idx = w.get_cursor()[0]
        if idx is None:
            return
        self.entry.set_text(self.model[idx][0])
Кроме того что он компонуется из кусков, что там еще делается?
Действия в нем назначаются?
Как я понимаю - нет, просто назначаются свойства в зависимости от режима -machine_on, homed...
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Кнопка NC-START

Сообщение nkp »

Lexxa писал(а):прикрутить нормальный MD
команды во всех интерфейсах передаются примерно так:

Код: Выделить всё

import linuxcnc
c = linuxcnc.command()
c.mode(linuxcnc.MODE_MDI)
mdi = 'G0 X5'
c.mdi(mdi)
это рыба...
остальное - импровизация: история , обработка ошибки,очистка,и все ,что ты придумаешь...
запусти емс - любой GUI...
в терминале введи код питона ,который выше ...
Ответить

Вернуться в «LinuxCNC»