скопировал все файлы и также обозвал конфигурациюnkp писал(а):если надо попробовать прием-передачу в ком - в #50 сообщ рабочий конфиг
пробовал?
запускается как обычная конфигурация
может что нетак делаю
скопировал все файлы и также обозвал конфигурациюnkp писал(а):если надо попробовать прием-передачу в ком - в #50 сообщ рабочий конфиг
пробовал?
Я гонял ардуино часами на скорости 115200, при этом она непрерывно обрабатывала поступающий g-code, расчитывала траекторию и выдавала сигналы на шаговики, и не единой помехи. Так что ждать ответа например 0,01 сек было бы достаточно, и реализовать ответ за это время ардуине будет легко.s3301 писал(а):А сколько времени будете ждать ответа на каждом порту?billsmith писал(а): Даже при 10-ти портах и скорости 9600, в зависимости от времени ожидания, время запроса займёт ооочень мало времени.
А если помеха будет длится дольше?
Например управление вот для такого частотника, который многие используют:billsmith писал(а): Но всё таки хочеться запустить вариант Nick`a как более универсальный. Тут подумал купить ещё пару ардуинок маленьких, да наконец сделать управление шпинделем, и может ещё чего придумаю.
http://www.ebay.com/itm/HIGH-QUALITY-VA ... 2eb9f3e030
0.01 сек - это длительность одной полуволны промышленного переменного тока (50 Гц) - вполне потянет на помеху от недалеко расположенного силового кабеля в момент подключения к сети мощной нагрузки...billsmith писал(а): Я гонял ардуино часами на скорости 115200, при этом она непрерывно обрабатывала поступающий g-code, расчитывала траекторию и выдавала сигналы на шаговики, и не единой помехи. Так что ждать ответа например 0,01 сек было бы достаточно, и реализовать ответ за это время ардуине будет легко.
А у меня как раз такой частотник. Но сначала пульт.
Так какой вариант:Саша7892ХН писал(а):скопировал все файлы и также обозвал конфигурациюзапускается как обычная конфигурация может что нетак делаю
Ну с количеством USB проблем как раз нет, разветвители продаются на каждом углу. А вот лепить устройства на одну шину, это уже нужно подумать как лучше, как проще, мне лично паять очень напрягает (хотя в молодости сутками делал различные устройства). А этот вариант подкупает простотой, купил ардуинку за 15 баксов, воткнул её в USB, залил скетч, и готовое любое внешнее устройство.s3301 писал(а):0.01 сек - это длительность одной полуволны промышленного переменного тока (50 Гц) - вполне потянет на помеху от недалеко расположенного силового кабеля в момент подключения к сети мощной нагрузки...billsmith писал(а): Я гонял ардуино часами на скорости 115200, при этом она непрерывно обрабатывала поступающий g-code, расчитывала траекторию и выдавала сигналы на шаговики, и не единой помехи. Так что ждать ответа например 0,01 сек было бы достаточно, и реализовать ответ за это время ардуине будет легко.
А у меня как раз такой частотник. Но сначала пульт.
Дело не в том, что у кого-то нет не единой помехи, а в том, что они у кого-то другого обязательно будут и ваш протокол, не имеющий защиты от них окажется никому не нужен. Посему если протокол разрабатывается для себя и для соседа, то такой подход годится, а если в расчёте на широкое применение, то это совсем другое.
Опять-же зачем ограничивать себя количеством COM/USB портов в системе? Во многих системах для встраивания их всего 2-4 штуки. Или скорости 115200 не хватит для обслуживания нескольких устройств на шине? Тот-же modbus не дураки придумали и нарекли стандартом.![]()
Я не зря дал ссылку на этот частотник - он уже поддерживает modbus, зачем "лепить к нему ардуинку"?
У меня работает с убунта 10.04Саша7892ХН писал(а):вкладки совсем нет
С двумя USB-устройствами подключенными через один разветвитель вы не сможете работать одновременно, ибо контроллер у них будт один. Чем это лучше нескольких устройств на одной шине? Количеством ардуинок?billsmith писал(а): Ну с количеством USB проблем как раз нет, разветвители продаются на каждом углу. А вот лепить устройства на одну шину, это уже нужно подумать как лучше, как проще, мне лично паять очень напрягает (хотя в молодости сутками делал различные устройства). А этот вариант подкупает простотой, купил ардуинку за 15 баксов, воткнул её в USB, залил скетч, и готовое любое внешнее устройство.
Вы можете собрать ещё один точно такой-же ящик и получить совершенно иные помехи...billsmith писал(а):Ну а по поводу помех. я например, работал с ардуиной по USB, которая была в одном ящике с пускателями для двигателей 5КВт и управляла ими, блок питания её лежал там же. На экран (2х строчный) при включении контакторов наводилась импульсная помеха, и он сбрасывался, а самой ардуиной связь не нарушалась. Я не говорю что ненужно делать проверку например по контрольной сумме, для надёжности. Я просто говорю что время опроса даже 10ти USB портов будет ничтожно мало, и этот опрос нужен только при запуске скрипта.
Ещё как получается!billsmith писал(а): А тем ипульсником всё равно просто универсальным скриптом управлять не получиться:
1. Его нужно както подключить к компьютеру, желательно USB. Вот уже и нужен преобразователь.
2. Универсальный скрипт просто будет в порт кидать данные с выбраных пинов. Но частотник этого не поймёт, ему нужен свой формат данных.
И мне кажеться что преобразоватклем легко может стать ардуина. И в ней же пишем скетч для управления частотником.
С двумя устройствами будем работать через разветвитель одновременно. Не забываем про разницу скоростей какие позволяет USB2.0 и какие нам необходимы.s3301 писал(а):
С двумя USB-устройствами подключенными через один разветвитель вы не сможете работать одновременно, ибо контроллер у них будт один. Чем это лучше нескольких устройств на одной шине? Количеством ардуинок?![]()
Попробуйте в один разветвитель воткнуть например USB-мышь и какую-нибудь быструю флешку, лучше USB-диск, запустите копирование файла с/на диск и попробуйте подвигать мышку...
Ещё как получается!
1. Ну да, вместе со всеми остальными устройствами через единственный адаптер USB-RS485.
2. А мне кажется, что быть преобразователем вполне способен уже имеющийся процессор компа, на котором запущена EMC2.![]()
P.S. Ладно, забейте, у меня не задачи переубедить вас в чём-то. В любом случае реализация задуманного пойдёт в копилку вашего опыта.
... exec не обязательно делать, в двух словахСаша7892ХН писал(а):loadusr -Wn rs232 python rs232.py
net rs232-exec <= pyvcp.send => rs232.exec
net rs232-in0 <= pyvcp.my-spinbox => rs232.in0
Говорит, что файл содержит концы строки в стиле dos, питон похоже это не любит... в есть два типа конца строки - \n (new line) и - \r\n carrige return + \n.Саша7892ХН писал(а):с консоли порт читается и пишется а выдает ошибку
inifilefile contains DOS-style line endings.
python exited without becoming ready
Оставлено место под CRC каждого пина. Пока не сделали, надо решить какую сумму считать.s3301 писал(а):Дело не в том, что у кого-то нет не единой помехи, а в том, что они у кого-то другого обязательно будут и ваш протокол, не имеющий защиты от них окажется никому не нужен.
Вроде есть байт, а точнее даже не байт, а все до первого ":" на номер устройства.s3301 писал(а):Опять-же зачем ограничивать себя количеством COM/USB портов в системе?
А как у тебя сейчас запускается скрипт?billsmith писал(а):. Как сделать чтоб при запуске(ну и во время работы желательно) скрипт проверял доступность данного порта? Если недоступен, выдавало окно и работало без скрипта. А ещё желательно при запуске чтоб посылало по всем доступным портам например ID и если получит в ответ "OK" то принимало его к работе. А то у меня сейчас ели пульт не подключил, LinuxCNC не запускается, так как скрипт матюкается что порт недоступен.
Код: Выделить всё
if self.ready :
.....
else :
self.connect()
Хитрая задача...billsmith писал(а):2. Как сделать чтоб при получении строки, питоновский скрипт запускал его как g-code или запускал например подпрограмму в которой записан g-code?
Код: Выделить всё
loadusr -Wn arduino ./arduino.pyКод: Выделить всё
try:
ser = serial.Serial(PORT, 9600, timeout=2)
except serial.SerialException:
pass
Код: Выделить всё
//Обновление раз в 0.1сек
if(millis() - previousMillis > 100) {
previousMillis = millis();
update_info();
}