Pętla For

sinumerik 810

Dyskusje na temat systemu Sinumerik

Autor tematu
elmo02
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 128
Rejestracja: 13 lut 2013, 23:17
Lokalizacja: Plock

Pętla For

#1

Post napisał: elmo02 » 28 paź 2021, 15:14

Witam,
Napisałem programik na planowanie. Na Sinumeriku 828D działa bez problemu na 810D jest problem wyskakuje komunikat: "Channel 1 block N70 operation R29=R18 not compatiable with data type"
Co może być nie tak, jakieś pomysły? Kod poniżej:

DEF REAL IVARIABLE1
R1=300;DLUGOSC PRZYGOTOWKI
R2=50;SZEROKOSC PRZYGOTOWKI
R3=150;WYSOKOSC BEZPIECZNA
R4=5;WYSOKOSC POLFABRYKATU
R5=0;WYSOKOSC GOTOWEJ CZESCI
R6=63;SREDNICA FREZA
R7=5000;POSUW ROBOZY
R8=0.8;SZEROKOSC SKRAWANIA
R9=0.5;GLEBOKOSC SKRAWANIA
R24=1500;OBROTY
R30=200;POSUW WGLEBNY
R31=01;KOREKTOR FREZA
;FUNKCE OBLICZENIOWE DONT CHANGE
R10=(R1/2+R6/2+1)
R12=R4-R9
R16=R2/(R6*R8)
R17=ROUND(R16)
R18=1
R21=R2/R17
R22=R21/R6
R25=(R4-R5)/R9
R26=ROUND(R25)
R27=(R4-R5)/R26

;PROGRAM
N10 G94 G17
N20 T="F63"
N30 M6
N40 D=R31
N50 S=R24 M3
N70 FOR R29=R18 TO R26
N80 FOR R23=R18 TO R17
N90 G0 Z=R3
N100 X=-R10 Y=R2/2+R6*(0.5-(R22*R23))
N105 G0 Z=(R4-R27*R29)+1
N110 G1 Z=R4-R27*R29 F=R30
N120 G1 X=R10 F=R7
N130 G0 Z=R3
N140 ENDFOR
N150 ENDFOR
N160 M30



Awatar użytkownika

JacekBelof
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 530
Rejestracja: 02 gru 2018, 22:25
Lokalizacja: Tarnów MP
Kontakt:

Re: Pętla For

#2

Post napisał: JacekBelof » 28 paź 2021, 16:41

Niekompatybilność typów... z jednej strony masz zmienne typu całkowitego z drugiej... hmm .. w zależności od implementacji... albo całkowity, albo rzameczywisty... funkcja ROUND zaokrągla, ale nie zawsze zmienia typ zmiennej... spróbuj TRUNC
Seria, w moim wykonaniu, to dwie sztuki, w tym jedna w odbiciu lustrzanym. :lol:


Autor tematu
elmo02
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 128
Rejestracja: 13 lut 2013, 23:17
Lokalizacja: Plock

Re: Pętla For

#3

Post napisał: elmo02 » 28 paź 2021, 17:12

Niestety, jak wstawię funkcję TRUNC od razu wyrzuca mi błąd w obliczeniach arytmetycznych :(

Awatar użytkownika

JacekBelof
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 530
Rejestracja: 02 gru 2018, 22:25
Lokalizacja: Tarnów MP
Kontakt:

Re: Pętla For

#4

Post napisał: JacekBelof » 28 paź 2021, 18:28

Błąd arytmetyczny wynika prawdopodobnie z innej przyczyny... np. TRUNC z 12.9 to 12, natomiast ROUND to 13.0... spróbuj konstrukcji TRUNC(ROUND (x)) wynikiem powinno wtedy być 13
Seria, w moim wykonaniu, to dwie sztuki, w tym jedna w odbiciu lustrzanym. :lol:


Autor tematu
elmo02
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 128
Rejestracja: 13 lut 2013, 23:17
Lokalizacja: Plock

Re: Pętla For

#5

Post napisał: elmo02 » 28 paź 2021, 20:04

To dziwne ze na 828D działa a naa 810d są takie problemy..... Jutro sprawdzę to co napisałeś, dzieki

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Siemens Sinumerik CNC”