EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Значит расширение надо ставит .c а не .comp?
У меня в системе при поиске .comp не находит ни одного файла кроме моих
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

емного не так:
можно компоненты писать на 'языке' comp,
можно на чистом си,можно на питоне
(смотри терминале man halcompile)
в зависимости от языка и расширение файла
---------
то , что в системе нет файлов comp это нормально -
ведь это исходники компонента,а после
компиляции в системе фотмируется файл NAME.ko
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

for i in 11,14,17:
if(in>i) {
out=i;
timer0.5;
out=in;
old_in=in;
}
if(old_in<i){
out=i;
timer0.5;
out=in;
old_in=in;
}
Вот это как можно организовать для компиляции на си.
Библиотеки какие нибудь надо подключать?
Как отработать компонент в си, выводом в терминал что ли?
AVR я программировал в си, и с этим должен наверное разобратся
Только надо начальный толчек, ход действий еще не понятен мне
Вложения
Снимок .png (1868 просмотров) <a class='original' href='./download/file.php?id=90444&mode=view' target=_blank>Загрузить оригинал (134.88 КБ)</a>
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1646
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение N1X »

Для начала оформить цикл for правильно, тот что у тнбя я не знаю на каком языке )
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение selenur »

На си цикл пишется так:

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

for (int i = 0;i<10;i++)
{
... тут получаем переменную i у которой значение меняется от нуля до 9...
}
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

толчек такой:
есть программа на си(или .comp синтаксис)и
есть Hal в емс
пишем программку на си , которая будет брать из ст.входа
наши данные((вроде как наш галетник) , ав ст. выход будет выдавать наш результат...
в той же Geany отрабатываем все моменты ,обкатываем нашу прожку,
потом просто создаем пины входа,куда будем подавать данные и пины выхода...
еще будут два пина для задержки(паузы)
----------------
я завтра буду уже с нормальным компом и напишу тебе компонент(но это не исключает полезности разобраться во всем самому))))
зы
то , что я дал - это набросок, в си с массивом работают (синтаксис) по другому...
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

component port "Inverter";
pin in bit in;
pin out bit out;
function _ nofp;
license "GPL";
;;
FUNCTION(_) { out = ! in; }
Вот ваш компонент вроде скомпилировался как надо.
Как он будет работать? не обьясните?Синткс тут си или comp?
Вложения
Снимок .png (1844 просмотра) <a class='original' href='./download/file.php?id=90452&mode=view' target=_blank>Загрузить оригинал (213.99 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

http://git.linuxcnc.org/gitweb?p=linuxc ... 2d458ac5d7
вот файлы компонентов(там есть и not)
его действие:
если на вход подали 1 , то на выходе 0
и наоборот
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

UAVpilot писал(а):Отладить работу компонента сначала в виде простой программки и только потом делать из неё компонент.
Как вот мне например на базе этого компонента произвести отладку в виде простой программки.
В Geany можно?
Или в терменале?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

#include <stdio.h>;
main(){
int in , out;
in=0;
out = !in;
printf("out = %i",out);
}

если in равен нулю(как выше) - то выведет 1
если изменишь так:

in=1;
то очевидно -выведет 0
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

по 'правильному' надо было прописать ввод с клавы, но сути это не мняет))
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Вот вроде работает.
Как я понял для компонента этот си файл не подойдет,надо будет переписовать под comp?
Опять могут быть ошибки,или есть возможность отлаживать в comp формате?
Вложения
Снимок .png (1827 просмотров) <a class='original' href='./download/file.php?id=90453&mode=view' target=_blank>Загрузить оригинал (104.73 КБ)</a>
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

может я тебя не до конца понял,но это мы как раз взяли стандартный крмпонент емс not
и 'переделали' его в программку на си ;)
чтоб переделать в .comp (как ты пишешь) нужно открыть по ссылке файл not.comp
и посмотреть код ;)
этот код к твоему компоненту не имеет никакого отношения :thinking:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

#include <stdio.h>;
main(){
int i,k,s,in,old_in;
old_in=0;
int I[12]={7,3,11,12,14,4,16,11,18,1,18,13};
int A[3]={11,14,17};

for (k=0;k<12;k++){
s=A;
//if (old_in < s){
//printf("accel %d\n",s);
//printf ("old_in %d\n", old_in);
//}
if (I[k] >= 11 && I[k] < 14 ){
printf("accel 11\n" );
printf("pause0.5 \n" );
printf("input= %d\n",I[k]);

old_in = I[k];
}
else if (I[k] >= 14 && I[k] < 17 ){
printf("accel 14\n");
printf("pause0.6 \n" );
printf("input= %d\n",I[k]);
}
else if (I[k] >= 17 ){
printf("accel 17\n");
printf("pause0.6 \n" );
printf("input= %d\n",I[k]);
}
else {
printf ("not acceleration %d\n", I[k]);
}
//break;

printf ("---------------------------------------------\n");
}
}


вот немного титанического труда :hehehe:
кривенько,но работает только на увеличение ступени(то есть-только разгон)
стыпени тут задаются в массиве ,можно их менять
попробуй компильнуть
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Компильнул.Ошибок нет, предупреждения только.
Как ее проверить на работоспособность?
Вложения
Снимок .png (1813 просмотров) <a class='original' href='./download/file.php?id=90454&mode=view' target=_blank>Загрузить оригинал (175.69 КБ)</a>
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

nkp писал(а):этот код к твоему компоненту не имеет никакого отношения
Это я понял.
А как я буду делать компонент, с этого кода который на си
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение nkp »

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

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Serg »

Валерий писал(а):Как вот мне например на базе этого компонента произвести отладку в виде простой программки.
В Geany можно?
Или в терменале?
Я так понимаю раньше с программированием дела не имел?
Тяжело тебе будет, даже и не знаю что посоветовать... Может нанять кого?..
А сейчас всё это выглядит как попытка научиться водить самолёт только для того, чтобы слетать в отпуск к морю...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

Массив определил так char I[12]={7,3,11,12,14,4,16,11,18,1,18,13};
Вот как стало отрабатывать.
Вложения
Снимок .png (1796 просмотров) <a class='original' href='./download/file.php?id=90460&mode=view' target=_blank>Загрузить оригинал (203.32 КБ)</a>
Валерий
Мастер
Сообщения: 241
Зарегистрирован: 21 июл 2013, 21:01
Репутация: 2
Контактная информация:

Re: EMC2+1516Ф1 с эл.магн. муфтами коробки скоростей и подач

Сообщение Валерий »

UAVpilot писал(а):Я так понимаю раньше с программированием дела не имел?
AVR програмировал,отлаживал,в WINDOWS .
А в Linux я пока новичек.
Последний раз редактировалось Валерий 17 сен 2016, 22:26, всего редактировалось 1 раз.
Ответить

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