Страница 5 из 13

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

Добавлено: 17 сен 2016, 10:03
Валерий
Значит расширение надо ставит .c а не .comp?
У меня в системе при поиске .comp не находит ни одного файла кроме моих

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

Добавлено: 17 сен 2016, 10:16
nkp
емного не так:
можно компоненты писать на 'языке' comp,
можно на чистом си,можно на питоне
(смотри терминале man halcompile)
в зависимости от языка и расширение файла
---------
то , что в системе нет файлов comp это нормально -
ведь это исходники компонента,а после
компиляции в системе фотмируется файл NAME.ko

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

Добавлено: 17 сен 2016, 13:57
Валерий
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 я программировал в си, и с этим должен наверное разобратся
Только надо начальный толчек, ход действий еще не понятен мне

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

Добавлено: 17 сен 2016, 14:07
N1X
Для начала оформить цикл for правильно, тот что у тнбя я не знаю на каком языке )

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

Добавлено: 17 сен 2016, 14:14
selenur
На си цикл пишется так:

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

for (int i = 0;i<10;i++)
{
... тут получаем переменную i у которой значение меняется от нуля до 9...
}

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

Добавлено: 17 сен 2016, 14:17
nkp
толчек такой:
есть программа на си(или .comp синтаксис)и
есть Hal в емс
пишем программку на си , которая будет брать из ст.входа
наши данные((вроде как наш галетник) , ав ст. выход будет выдавать наш результат...
в той же Geany отрабатываем все моменты ,обкатываем нашу прожку,
потом просто создаем пины входа,куда будем подавать данные и пины выхода...
еще будут два пина для задержки(паузы)
----------------
я завтра буду уже с нормальным компом и напишу тебе компонент(но это не исключает полезности разобраться во всем самому))))
зы
то , что я дал - это набросок, в си с массивом работают (синтаксис) по другому...

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

Добавлено: 17 сен 2016, 15:49
Валерий
component port "Inverter";
pin in bit in;
pin out bit out;
function _ nofp;
license "GPL";
;;
FUNCTION(_) { out = ! in; }
Вот ваш компонент вроде скомпилировался как надо.
Как он будет работать? не обьясните?Синткс тут си или comp?

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

Добавлено: 17 сен 2016, 16:02
nkp
http://git.linuxcnc.org/gitweb?p=linuxc ... 2d458ac5d7
вот файлы компонентов(там есть и not)
его действие:
если на вход подали 1 , то на выходе 0
и наоборот

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

Добавлено: 17 сен 2016, 16:37
Валерий
UAVpilot писал(а):Отладить работу компонента сначала в виде простой программки и только потом делать из неё компонент.
Как вот мне например на базе этого компонента произвести отладку в виде простой программки.
В Geany можно?
Или в терменале?

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

Добавлено: 17 сен 2016, 17:38
nkp
#include <stdio.h>;
main(){
int in , out;
in=0;
out = !in;
printf("out = %i",out);
}

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

in=1;
то очевидно -выведет 0

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

Добавлено: 17 сен 2016, 17:40
nkp
по 'правильному' надо было прописать ввод с клавы, но сути это не мняет))

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

Добавлено: 17 сен 2016, 17:52
Валерий
Вот вроде работает.
Как я понял для компонента этот си файл не подойдет,надо будет переписовать под comp?
Опять могут быть ошибки,или есть возможность отлаживать в comp формате?

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

Добавлено: 17 сен 2016, 18:01
nkp
может я тебя не до конца понял,но это мы как раз взяли стандартный крмпонент емс not
и 'переделали' его в программку на си ;)
чтоб переделать в .comp (как ты пишешь) нужно открыть по ссылке файл not.comp
и посмотреть код ;)
этот код к твоему компоненту не имеет никакого отношения :thinking:

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

Добавлено: 17 сен 2016, 18:09
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:
кривенько,но работает только на увеличение ступени(то есть-только разгон)
стыпени тут задаются в массиве ,можно их менять
попробуй компильнуть

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

Добавлено: 17 сен 2016, 18:21
Валерий
Компильнул.Ошибок нет, предупреждения только.
Как ее проверить на работоспособность?

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

Добавлено: 17 сен 2016, 18:25
Валерий
nkp писал(а):этот код к твоему компоненту не имеет никакого отношения
Это я понял.
А как я буду делать компонент, с этого кода который на си

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

Добавлено: 17 сен 2016, 18:27
nkp
так ты же сам и проверил на работоспособность :)
смотри внимательно на вывод программы(то,что она тебе напечатала)
проанализируй
на торможения пока не обр внимания(это когда вводимая ступень меньше предыдущей)
потом вместо printf будут пины выхода,вместо мвссива - пин входа
надо дописать торможение , потом прицепим пины

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

Добавлено: 17 сен 2016, 21:12
Serg
Валерий писал(а):Как вот мне например на базе этого компонента произвести отладку в виде простой программки.
В Geany можно?
Или в терменале?
Я так понимаю раньше с программированием дела не имел?
Тяжело тебе будет, даже и не знаю что посоветовать... Может нанять кого?..
А сейчас всё это выглядит как попытка научиться водить самолёт только для того, чтобы слетать в отпуск к морю...

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

Добавлено: 17 сен 2016, 22:07
Валерий
Массив определил так char I[12]={7,3,11,12,14,4,16,11,18,1,18,13};
Вот как стало отрабатывать.

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

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