Przetwornik DC 10bit i trzy słowa o strukturze plików .clp

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
dragon44
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 616
Rejestracja: 01 mar 2008, 20:46
Lokalizacja: Lubsko

Przetwornik DC 10bit i trzy słowa o strukturze plików .clp

#1

Post napisał: dragon44 » 24 lis 2022, 21:48

Cześć wszystkim.
Potrzebuje wyciągnąć z linuxcnc sygnał 10bitowy do sterowania prędkością obrotową silnika wrzeciona tokarki. Do tematu usiadłem w ciepłym domku i stwierdziłem, że nie chce mi się pisać całej drabinki na maszynie, tylko przerzucę sobie fragmenty pliku *.clp opracowanego w kapciach. I tutaj zaczęły się schody, bo nigdzie nie ma rozpisanej struktury budowy plików clp. Wstępnie to rozgryzłem i postanowiłem się z Wami podzielić.

Wybaczcie za nomenklaturę, nie jestem programistą.
Struktura pliku skłąda się z poszczególnych sekcji. Z moich ustaleń wynika, że nie jest przypadkowa i jest powtarzalna. Nie pytajcie mnie dlaczego bloki programu nie są po kolei i najlepiej na końcu jeden pod drugim. Kolejność jaka jest z góry nałożona jest ważna, ze względu na zmienne arytmetyczne _FILE-arithmetic_expressions.csv , które są przypisywane do kolejnych bloków (np. komparatora albo bloku wprowadzającym zmienne).

Struktura pliku.
Dla uproszczenia widoku są tylko nagłówki.

_FILES_CLASSICLADDER
_FILE-ioconf.csv
_FILE-rung_13.csv
_FILE-rung_8.csv
_FILE-modbusioconf.csv
_FILE-sequential.csv
_FILE-counters.csv
_FILE-rung_3.csv
_FILE-sections.csv
_FILE-timers.csv
_FILE-rung_12.csv
_FILE-rung_1.csv
_FILE-rung_11.csv
_FILE-rung_5.csv
_FILE-arithmetic_expressions.csv
_FILE-rung_6.csv
_FILE-rung_7.csv
_FILE-general.txt
_FILE-com_params.txt
_FILE-timers_iec.csv
_FILE-symbols.csv
_FILE-rung_4.csv
_FILE-rung_10.csv
_FILE-rung_9.csv
_FILE-monostables.csv
_FILE-rung_0.csv
_FILE-rung_2.csv
_FILE-rung_14.csv
_/FILES_CLASSICLADDER


_FILE-rung_[nr] – to blok składający się z sześciu wierszy i dziesięciu kolumn, czyli to co widzimy w classicleadder gdzie programujemy drabinkę. Wytłuszczone są nr bloków. Ich numer nie mówi o rzeczywistej kolejności w drabince. Uwaga – zaczynają się od zera. Trzeba samemu rozgryźć ich rzeczywistą kolejność.

Cała sekcja wygląda tak:

Kod: Zaznacz cały

_FILE-rung_3.csv	- początek sekcji
#VER=2.0
#LABEL=	
#COMMENT=
#PREVRUNG=1	-nr bloku poprzedzającego
#NEXTRUNG=6	-nr następnego bloku, najprawdopodobniej numery te są nadawane podczas dodawania bloku w drabince i są nieco przypadkowe – nie znalazłem prawidłości.
1-0-60/3 , 99-0-0/0 , 13-0-0/3 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 1-0-0/10 , 1-0-0/12 , 50-0-0/8	- nasz wiersz z drabinki. 
0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-1-0/0 , 9-0-0/0 , 50-0-60/7
2-0-50/0 , 1-0-60/4 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/1
0-0-50/0 , 0-0-60/5 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/3
2-0-50/0 , 1-0-60/5 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/2
0-0-50/0 , 0-0-60/7 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/3
_/FILE-rung_3.csv – koniec sekcji/bloku
Najłatwiej jest mi orientować się w tym kodzie po ostatnim składniku. 50-0-0/8 – to w drabince wyjście B9, 50-0-60/7 = Q7 itd...

Warta uwagi jest jeszcze sekcja

FILE-sections.csv
#VER=1.0
#NAME000=Prog1
000,0,-1,0,14,0
_/FILE-sections.csv

000,0,-1,0,14,0 – w tej linii ukryta jest informacja o liczbie bloków, ale jej nie rozgryzłem.

Chcąć wkleić do docelowego pliku .clp bloki przygotowane na innym komputerze, najlepiej jest utworzyć puste bloki w drabince i zamieniać ich zawartość podczas edycji pliku. Należy pamiętać, żeby kolejność bloków była taka sama. Dodatkowo trzeba zwrócić uwagę, czy nie musimy skopiować pozostałych sekcji, np. jak w moim przypadku _FILE-arithmetic_expressions.csv.

Mam nadzieję, że nie namotałem za dużo. A teraz odpowiedź na pytanie na cholerę mi 10bitowe sterowanie wrzecionem.

Na tapecie mam przemiennik częstotliwości baumullera bkf 12/70/400. Początkowo myślałem, że jest strowany +-10V, ale po wgłębieniu się w dokumentacje okazało się, że wejście +-10V dotyczy sprzężenia zwrotnego prędkości z tacho. Do sterowania prędkością obrotową używane jest wejście 10bitowe plus sygnał lewo i prawo. Pomyślałem, że to jakiś żart, że nie mogę się wpiąć z sygnałem analogowym. Okazało się że mogę, w połowie falownika, z pominięciem kart wejściowych za przetwornikiem dac. Niby można, ale trochę to brutalne, wolałem subtelny gotowy przetwornik, ale nie ma takich na półce w osiedlowym. Już pomijam mnogość konwersji sygnału: linuxcnc dc na +-10V, później konwerter 10bit i falownik sobie z powrotem na analog… przegięcie. Ostatecznie stwierdziłem, że linuxcnc w plcku sam mi poda 10 bitów. Dołożę opto i wejdę do karty falownika po bożemu. Na korzyść takiego rozwiązania przemówiła mi do rozsądku myśl o czterobiegowej przekładni na wrzecionie i konieczności skalowania obrotów względem wybranego biegu. Tzn. w pełnej skali obrotów wrzeciona mam cztery różne prędkości obrotowe silnika. Stwierdziłem, że łatwiej jest mi wyskalować sygnał w plc.
A! I optobob mnie nie ratuje, bo widziałem tam wspólną masę, a mój system wymaga podciągnięcia +15V, więc 817ki już czekają w paczkomacie. Wejść nie powinno mi zabraknąć bo sterowanie jest na 7i76e. Wykorzystam Złącze P1 26pinów.


Plik hal:

Kod: Zaznacz cały

#obroty zadane, te wprowadzene parametrem S, np. M3 S300
net spindle-cmd spindle.0.speed-cmd-rps => classicladder.0.floatin-00

#obroty jakie ma mieć wrzeciono, już po uwzględnieniu suwaka albo potencjometru
net spindle-out spindle.0.speed-out-rps-abs => classicladder.0.floatin-01


#plc nie obrabia sygnałów zmiennoprzecinkowych. Wejścia są ok, ale później przy operacjach arytmetycznych ucina to co za przecinkiem. Więc należy np. zakres 0-10 pomnożyć x100, żeby cyfry znaczące mieć po lewej stronie przecinka.

# load the component count equals how many you want
loadrt mult2 count=1
# add component to a thread (pick a valid threadname)
addf mult2.0 servo-thread
# input_signal
net spindle-cmd-rps-abs mult2.0.in0
# constant of 100 to multiply by
setp mult2.0.in1 100
# connect it to classicladder. CL will demote float to S32 internally
net floatin01 mult2.0.out => classicladder.0.floatin-01 

Wykorzystuje w drabince wyjścia Q0-Q3 do wyboru jednego z czterech biegów. Mam je wcześniej skonfigurowane w drabince. Musicie je sobie zasymulować.  
Dla zainteresowanych omówię szerzej i dorzucę też ten fragment.
Plik .clp

Kod: Zaznacz cały


_FILES_CLASSICLADDER
_FILE-ioconf.csv
#VER=1.0
_/FILE-ioconf.csv
_FILE-modbusioconf.csv
#VER=1.0
_/FILE-modbusioconf.csv
_FILE-sequential.csv
#VER=1.0
_/FILE-sequential.csv
_FILE-counters.csv
0
0
0
0
0
0
0
0
0
0
_/FILE-counters.csv
_FILE-rung_3.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=6
#NEXTRUNG=-1
2-0-50/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_3.csv
_FILE-sections.csv
#VER=1.0
#NAME000=Prog1
000,0,-1,1,3,0
_/FILE-sections.csv
_FILE-timers.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-timers.csv
_FILE-rung_1.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=-1
#NEXTRUNG=0
9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/6
1-0-60/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/9
1-0-60/1 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/10
1-0-60/2 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/11
1-0-60/3 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/12
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_1.csv
_FILE-rung_5.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=4
#NEXTRUNG=6
99-0-0/0 , 99-0-0/0 , 20-0-0/37 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/24
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/41
99-0-0/0 , 99-0-0/0 , 20-0-0/38 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/42
99-0-0/0 , 99-0-0/0 , 20-0-0/39 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/23
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/43
99-0-0/0 , 99-0-0/0 , 20-0-0/40 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/44
_/FILE-rung_5.csv
_FILE-arithmetic_expressions.csv
#VER=2.0
0000,@300/[email protected]<=10
0001,@300/[email protected]>=0.4166
0002,@300/[email protected]>2.5
0003,@300/[email protected]<=5
0004,@300/[email protected]>5
0005,@300/[email protected]<=2.5
0006,@310/[email protected][email protected]/[email protected]*1023/@310/[email protected]
0007,@300/[email protected]<=30
0008,@300/[email protected]>10
0009,@310/[email protected]=375
0010,@310/[email protected]=750
0011,@310/[email protected]=1500
0012,@310/[email protected]=3000
0013,@310/[email protected]>=32
0014,@310/[email protected]<32
0015,@310/[email protected]>=16
0016,@310/[email protected]<16
0017,@310/[email protected][email protected]/[email protected]
0018,@310/[email protected]>=512
0019,@310/[email protected][email protected]/[email protected]
0020,@310/[email protected][email protected]/[email protected]
0021,@310/[email protected]<512
0022,@310/[email protected]>=256
0023,@310/[email protected]<256
0024,@310/[email protected][email protected]/[email protected]
0025,@310/[email protected][email protected]/[email protected]
0026,@310/[email protected]>=128
0027,@310/[email protected]<128
0028,@310/[email protected]>=64
0029,@310/[email protected]<64
0030,@310/[email protected][email protected]/[email protected]
0031,@310/[email protected][email protected]/[email protected]
0032,@310/[email protected][email protected]/[email protected]
0033,@310/[email protected][email protected]/[email protected]
0034,@310/[email protected][email protected]/[email protected]
0035,@310/[email protected][email protected]/[email protected]
0036,@310/[email protected][email protected]/[email protected]
0037,@310/[email protected]>=8
0038,@310/[email protected]<8
0039,@310/[email protected]>=4
0040,@310/[email protected]<4
0041,@310/[email protected][email protected]/[email protected]
0042,@310/[email protected][email protected]/[email protected]
0043,@310/[email protected][email protected]/[email protected]
0044,@310/[email protected][email protected]/[email protected]
0045,@310/[email protected][email protected]/[email protected]
0046,@310/[email protected][email protected]/[email protected]
0049,@310/[email protected]>=2
0050,@310/[email protected]<2
0051,@310/[email protected]>=1
_/FILE-arithmetic_expressions.csv
_FILE-rung_6.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=5
#NEXTRUNG=3
99-0-0/0 , 99-0-0/0 , 20-0-0/49 , 9-0-0/49 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/22
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/45
99-0-0/0 , 99-0-0/0 , 20-0-0/50 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/46
99-0-0/0 , 99-0-0/0 , 20-0-0/51 , 9-0-0/51 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/21
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/47
0-0-0/0 , 0-0-0/0 , 0-0-0/52 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/48
_/FILE-rung_6.csv
_FILE-general.txt
PERIODIC_REFRESH=1
SIZE_NBR_RUNGS=100
SIZE_NBR_BITS=100
SIZE_NBR_WORDS=20
SIZE_NBR_TIMERS=10
SIZE_NBR_MONOSTABLES=10
SIZE_NBR_COUNTERS=10
SIZE_NBR_TIMERS_IEC=10
SIZE_NBR_PHYS_INPUTS=50
SIZE_NBR_PHYS_OUTPUTS=50
SIZE_NBR_ARITHM_EXPR=100
SIZE_NBR_SECTIONS=10
SIZE_NBR_SYMBOLS=200
_/FILE-general.txt
_FILE-com_params.txt
MODBUS_MASTER_SERIAL_PORT=
MODBUS_MASTER_SERIAL_SPEED=9600
MODBUS_MASTER_SERIAL_DATABITS=8
MODBUS_MASTER_SERIAL_STOPBITS=1
MODBUS_MASTER_SERIAL_PARITY=0
MODBUS_ELEMENT_OFFSET=0
MODBUS_MASTER_SERIAL_USE_RTS_TO_SEND=0
MODBUS_MASTER_TIME_INTER_FRAME=100
MODBUS_MASTER_TIME_OUT_RECEIPT=500
MODBUS_MASTER_TIME_AFTER_TRANSMIT=0
MODBUS_DEBUG_LEVEL=0
MODBUS_MAP_COIL_READ=0
MODBUS_MAP_COIL_WRITE=0
MODBUS_MAP_INPUT=0
MODBUS_MAP_HOLDING=0
MODBUS_MAP_REGISTER_READ=0
MODBUS_MAP_REGISTER_WRITE=0
_/FILE-com_params.txt
_FILE-timers_iec.csv
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
_/FILE-timers_iec.csv
_FILE-symbols.csv
#VER=1.0
%I0,%I0,
%I1,%I1,
%I2,%I2,
%I3,%I3,
%I4,%I4,
%I5,%I5,
%I6,%I6,
%I7,%I7,
%I8,%I8,
%I9,%I9,
%I10,%I10,
%I11,%I11,
%I12,%I12,
%I13,%I13,
%I14,%I14,
%Q0,%Q0,
%Q1,%Q1,
%Q2,%Q2,
%Q3,%Q3,
%Q4,%Q4,
%Q5,%Q5,
%Q6,%Q6,
%Q7,%Q7,
%Q8,%Q8,
%Q9,%Q9,
%Q10,%Q10,
%Q11,%Q11,
%Q12,%Q12,
%Q13,%Q13,
%Q14,%Q14,
%B0,%B0,
%B1,%B1,
%B2,%B2,
%B3,%B3,
%B4,%B4,
%B5,%B5,
%B6,%B6,
%B7,%B7,
%B8,%B8,
%B9,%B9,
%B10,%B10,
%B11,%B11,
%B12,%B12,
%B13,%B13,
%B14,%B14,
%B15,%B15,
%B16,%B16,
%B17,%B17,
%B18,%B18,
%B19,%B19,
%W0,%W0,
%W1,%W1,
%W2,%W2,
%W3,%W3,
%W4,%W4,
%W5,%W5,
%W6,%W6,
%W7,%W7,
%W8,%W8,
%W9,%W9,
%W10,%W10,
%W11,%W11,
%W12,%W12,
%W13,%W13,
%W14,%W14,
%W15,%W15,
%W16,%W16,
%W17,%W17,
%W18,%W18,
%W19,%W19,
%IW0,%IW0,
%IW1,%IW1,
%IW2,%IW2,
%IW3,%IW3,
%IW4,%IW4,
%IW5,%IW5,
%IW6,%IW6,
%IW7,%IW7,
%IW8,%IW8,
%IW9,%IW9,
%QW0,%QW0,
%QW1,%QW1,
%QW2,%QW2,
%QW3,%QW3,
%QW4,%QW4,
%QW5,%QW5,
%QW6,%QW6,
%QW7,%QW7,
%QW8,%QW8,
%QW9,%QW9,
%IF0,%IF0,
%IF1,%IF1,
%IF2,%IF2,
%IF3,%IF3,
%IF4,%IF4,
%IF5,%IF5,
%IF6,%IF6,
%IF7,%IF7,
%IF8,%IF8,
%IF9,%IF9,
%QF0,%QF0,
%QF1,%QF1,
%QF2,%QF2,
%QF3,%QF3,
%QF4,%QF4,
%QF5,%QF5,
%QF6,%QF6,
%QF7,%QF7,
%QF8,%QF8,
%QF9,%QF9,
%T0,%T0,Old Timer
%T1,%T1,Old Timer
%T2,%T2,Old Timer
%T3,%T3,Old Timer
%T4,%T4,Old Timer
%T5,%T5,Old Timer
%T6,%T6,Old Timer
%T7,%T7,Old Timer
%T8,%T8,Old Timer
%T9,%T9,Old Timer
%TM0,%TM0,New Timer
%TM1,%TM1,New Timer
%TM2,%TM2,New Timer
%TM3,%TM3,New Timer
%TM4,%TM4,New Timer
%TM5,%TM5,New Timer
%TM6,%TM6,New Timer
%TM7,%TM7,New Timer
%TM8,%TM8,New Timer
%TM9,%TM9,New Timer
%M0,%M0,One-shot
%M1,%M1,One-shot
%M2,%M2,One-shot
%M3,%M3,One-shot
%M4,%M4,One-shot
%M5,%M5,One-shot
%M6,%M6,One-shot
%M7,%M7,One-shot
%M8,%M8,One-shot
%M9,%M9,One-shot
%C0,%C0,Counter
%C1,%C1,Counter
%C2,%C2,Counter
%C3,%C3,Counter
%C4,%C4,Counter
%C5,%C5,Counter
%C6,%C6,Counter
%C7,%C7,Counter
%C8,%C8,Counter
%C9,%C9,Counter
%E0,%E0,Error Flag Bit
%E1,%E1,Error Flag Bit
%E2,%E2,Error Flag Bit
%E3,%E3,Error Flag Bit
%E4,%E4,Error Flag Bit
%E5,%E5,Error Flag Bit
%E6,%E6,Error Flag Bit
%E7,%E7,Error Flag Bit
%E8,%E8,Error Flag Bit
%E9,%E9,Error Flag Bit
%I15,%I15,
%I16,%I16,
%I17,%I17,
%I18,%I18,
%I19,%I19,
%I20,%I20,
%I21,%I21,
%I22,%I22,
%I23,%I23,
%I24,%I24,
%I25,%I25,
%I26,%I26,
%I27,%I27,
%I28,%I28,
%I29,%I29,
%I30,%I30,
%I31,%I31,
%I32,%I32,
%I33,%I33,
%I34,%I34,
%I35,%I35,
%I36,%I36,
%I37,%I37,
%I38,%I38,
%I39,%I39,
%I40,%I40,
%I41,%I41,
%I42,%I42,
%I43,%I43,
%I44,%I44,
%I45,%I45,
%I46,%I46,
%I47,%I47,
%I48,%I48,
%I49,%I49,
%Q15,%Q15,
%Q16,%Q16,
%Q17,%Q17,
%Q18,%Q18,
%Q19,%Q19,
_/FILE-symbols.csv
_FILE-rung_4.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=2
#NEXTRUNG=5
99-0-0/0 , 99-0-0/0 , 20-0-0/13 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/26
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/17
99-0-0/0 , 99-0-0/0 , 20-0-0/14 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/34
99-0-0/0 , 99-0-0/0 , 20-0-0/15 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/25
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/35
99-0-0/0 , 99-0-0/0 , 20-0-0/16 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/36
_/FILE-rung_4.csv
_FILE-monostables.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-monostables.csv
_FILE-rung_0.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=1
#NEXTRUNG=2
99-0-0/0 , 99-0-0/0 , 20-0-0/18 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/30
0-0-0/0 , 0-0-0/0 , 0-0-0/19 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/20
99-0-0/0 , 99-0-0/0 , 20-0-0/21 , 9-0-0/19 , 9-0-0/0 , 9-0-0/21 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/19
99-0-0/0 , 99-0-0/0 , 20-0-0/22 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/29
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/22 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/24
99-0-0/0 , 99-0-0/0 , 20-0-0/23 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/25
_/FILE-rung_0.csv
_FILE-rung_2.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=0
#NEXTRUNG=4
99-0-0/0 , 99-0-0/0 , 20-0-0/26 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/28
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/30
99-0-0/0 , 99-0-0/0 , 20-0-0/27 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/31
99-0-0/0 , 99-0-0/0 , 20-0-0/28 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/27
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 60-0-0/32
99-0-0/0 , 99-0-0/0 , 20-0-0/29 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/33
_/FILE-rung_2.csv
_/FILES_CLASSICLADDER

Miłej zabawy
Bartek



Wróć do „LinuxCNC (dawniej EMC2)”