Hello, I have the Fusion 360 post. You can communicate..
mail:komadoejderi@outlook.com
Hello, I have the Fusion 360 post. You can communicate..
mail:komadoejderi@outlook.com
For the eding controller I am using these output boards to control a few things (spindle on/reverse, coolant)
The nice thing about these is that you can use them any way you'd like; the relay has both a NO and NC connection, and the input can be either switched to high/low (in my case of the edingcnc controller, active is low, open collector if memory serves wel)
They cost next to nothing;
https://nl.aliexpress.com/item/Hot-S...693793910.html
I'm in the Netherlands, visited the states a few times when we didn't had kids. (NY, Vermont, Maine, and in Canada, montreal, California, Utah, Nevada, Arizona) I do like the US for the diversity in nature and the relaxed atmosphere on the road. (it's a great part of the holiday, so that left a positive imprint, except for LA, traffic is about as anti-social as in our countryIntention is to visit again when the boys are older.
Plan is to cut plywood, himacs/corian, MDF and aluminium.
Thanks Frankmali17,
I did as you suggested and inserted // in front of the "@460:=0". That works great. You sir, are AWESOME.
I am not yet comfortable with your suggestion to do your quote- "In the beginning of your macro You need to add some lines that will store your mm/inch mode...
and toward the end, before exiting the macro, you will then "recall" that info.. and put the machine into proper mm/inch mode... to continue running your program correctly."
I don't quite understand your thumbnail.
Also, I would like to add that I created a program like this:
O0001
G71
M6T1
G70
M30
I created this just to change tools, rather than having to type this into MDI every time I wanted to change tools manually, as I could not just MDI T1M6.
I noticed there is a few seconds of lag in the program, so that I have to wait about 3 seconds after the tool change is done before I switch to jog mode.
What was happening is that I would change tools and switch to jog mode before letting the program complete. Then the machine was in metric mode and I had to go back into settings and change it again to inch mode.
Hopefully your suggestion of inserting the mode change in the macro will take care of this issue.
Here is my current macro. Could you highlight where you are referring to?
% @MACRO
WAIT();
//ZÖᰲȫ¸ß¶È²ÎÊýΪ2823
//YÖá»»µ¶Ç°ÖõãλÖòÎÊýΪ2822
//»»µ¶×Ô¶¯¶Ôµ¶XYλÖÃΪ²ÎÊý2841 Óë²ÎÊý2842
//******************************************
//ÅжÏÄ¿±êµ¶ºÅ²»ÔÚ·¶Î§ÄÚ¾ÍÌ ø³ö»»µ¶macro
IF (0 = #1036 OR #1036>8 OR #1036<0 ) THEN
M99;
END_IF;
WAIT();
//******************************************
//ÅжÏÄ¿±êµ¶ºÅΪÖ÷Öáµ¶ºÅ£¬Ç Òµ±Ç°Ö÷ÖáÎÞµ¶
//¶¯×÷Á÷³ÌΪֱ½ÓÈ¥×¥µ¶
WAIT();
G53 Z#26041;
M05;
IF (#6003=1 AND #1036>0 AND #1036<9) THEN
WAIT();
// M05;
M175; // ëˢÉÏ
@104:=#1036; //´¢´æ¼Ó¹¤³ÌʽT_codeÏ´ïµÄÄ¿±ê µ¶ºÅ
@103:=#1004; //´¢´æ½øÈë»»µ¶MACROǰµÄG91/G90״̬
WAIT();
G90 G53 Z#26041; //ZÖá̧µ½°²È«¸ß¶È(µÚÈý²Î¿¼µã pr2823)
WAIT();
M50;
CASE @104 OF
1:
WAIT();
G53 X@10200;
G53 Y@10201;
@460:=1;
WAIT();
G53 Z@10202;
2:
WAIT();
G53 X@10203;
G53 Y@10204;
@460:=1;
WAIT();
G53 Z@10205;
3:
WAIT();
G53 X@10206;
G53 Y@10207;
@460:=1;
WAIT();
G53 Z@10208;
4:
WAIT();
G53 X@10209;
G53 Y@10210;
@460:=1;
WAIT();
G53 Z@10211;
5:
WAIT();
G53 X@10212;
G53 Y@10213;
@460:=1;
WAIT();
G53 Z@10214;
6:
WAIT();
G53 X@10215;
G53 Y@10216;
@460:=1;
WAIT();
G53 Z@10217;
7:
WAIT();
G53 X@10218;
G53 Y@10219;
@460:=1;
WAIT();
G53 Z@10220;
8:
WAIT();
G53 X@10221;
G53 Y@10222;
@460:=1;
WAIT();
G53 Z@10223;
END_CASE;
M51; //¼Ðµ¶
G04X0.5;
WAIT();
@502:=@104; //¸ÄдÖ÷ÖáĿǰµ¶ºÅµ¶
G53 Y#26042; //YÖá¿ìËÙÒÆ¶¯µ¶¿¨Ç°·½(µÚ¶þ²Î ¿¼µãpr2822)
G53 Z#26043; //ZÖá¿ìËÙÒÆ¶¯ÖÁÁãµã(µÚ¶þ²Î¿¼ µãpr2823)
M176; //ëˢÏÂ
WAIT();
G@103; //»Ø¸´½øÈë»»µ¶MACROǰµÄG91/G90״̬
@460:=0;
END_IF;
WAIT();
//******************************************
//ÅжÏÄ¿±êµ¶ºÅΪÖ÷Öáµ¶ºÅ£¬Ç Òµ±Ç°Ö÷ÖáÓе¶
//¶¯×÷Á÷³ÌΪÏÈ»¹µ¶£¬ÔÙ×¥µ¶
WAIT();
IF (#6003=0 AND #1036>0 AND #1036<9 AND @502<>#1036) THEN
//M05;
M175; //ëˢÉÏÉý
@104:=#1036; //´¢´æ¼Ó¹¤³ÌʽT_codeÏ´ïµÄÄ¿±ê µ¶ºÅ
@103:=#1004; //´¢´æ½øÈë»»µ¶MACROǰµÄG91/G90״̬
WAIT();
G90 G53 Z#26041; //ZÖá¿ìËÙÒÆ¶¯ÖÁÁãµã(µÚ¶þ²Î¿¼ µãpr2823)
CASE @502 OF //Åжϵ±Ç°µ¶ºÅ£¬²¢Òƶ¯µ½Ö÷Ö áµ¶ºÅλÖÃ
1:
WAIT();
G53 X@10200 Y#26042;
//@460:=1;
WAIT();
G53 Z@10202;
G53 Y@10201;
2:
WAIT();
G53 X@10203 Y#26042;
//@460:=1;
WAIT();
G53 Z@10205;
G53 Y@10204;
3:
WAIT();
G53 X@10206 Y#26042;
//@460:=1;
WAIT();
G53 Z@10208;
G53 Y@10207;
4:
WAIT();
G53 X@10209 Y#26042;
//@460:=1;
WAIT();
G53 Z@10211;
G53 Y@10210;
5:
WAIT();
G53 X@10212 Y#26042;
//@460:=1;
WAIT();
G53 Z@10214;
G53 Y@10213;
6:
WAIT();
G53 X@10215 Y#26042;
//@460:=1;
WAIT();
G53 Z@10217;
G53 Y@10216;
7:
WAIT();
G53 X@10218 Y#26042;
//@460:=1;
WAIT();
G53 Z@10220;
G53 Y@10219;
8:
WAIT();
G53 X@10221 Y#26042;
//@460:=1;
WAIT();
G53 Z@10223;
G53 Y@10222;
END_CASE;
G04X0.5;
M50; //Ö÷ÖáËɵ¶
WAIT();
G04X0.5;
G53 Z#26043; //ZÖá̧¸ßµ½¸ßÓÚµ¶±ú²Î¿¼Î»ÖÃp r2823
CASE @104 OF
1:
WAIT();
G53 X@10200;
G53 Y@10201;
//@460:=1;
WAIT();
G53 Z@10202;
2:
WAIT();
G53 X@10203;
G53 Y@10204;
//@460:=1;
WAIT();
G53 Z@10205;
3:
WAIT();
G53 X@10206;
G53 Y@10207;
//@460:=1;
WAIT();
G53 Z@10208;
4:
WAIT();
G53 X@10209;
G53 Y@10210;
//@460:=1;
WAIT();
G53 Z@10211;
5:
WAIT();
G53 X@10212;
G53 Y@10213;
//@460:=1;
WAIT();
G53 Z@10214;
6:
WAIT();
G53 X@10215;
G53 Y@10216;
//@460:=1;
WAIT();
G53 Z@10217;
7:
WAIT();
G53 X@10218;
G53 Y@10219;
// @460:=1;
WAIT();
G53 Z@10220;
8:
WAIT();
G53 X@10221;
G53 Y@10222;
//@460:=1;
WAIT();
G53 Z@10223;
END_CASE;
M51; //¼Ðµ¶
G04X0.5;
WAIT();
@502:=@104; //¸ÄдÖ÷ÖáĿǰµ¶ºÅµ¶
G53 Y#26042; //YÖá¿ìËÙÒÆ¶¯µ¶¿¨Ç°·½(µÚ¶þ²Î ¿¼µãpr2822)
G53 Z#26041; //ZÖá¿ìËÙÒÆ¶¯ÖÁÁãµã(µÚ¶þ²Î¿¼ µãpr2801)
M176; //ëˢÏÂ
WAIT();
G@103; //»Ø¸´½øÈë»»µ¶MACROǰµÄG91/G90״̬
@460:=0;
END_IF;
IF #6002=1 AND @502>0 AND @502<9 AND #6003=0 THEN
//******************************¶Ôµ¶³ÌÐò**** *************************************
//==================±äÊý˵Ã÷================ ============
//
// P -> #16 ¤uÒª»»µ¶µÄµ¶ºÅ
// H -> #11 ×îµ××ø±ê
//
// #8 µÚÒ»´ÎÓëµÚ¶þ´Î̽²âµÄÈÝÐíÎ ó²î
// #9 µÚÒ»´ÎÁ¿²âµÄËÙ¶È
// #6 µÚ¶þ´ÎÁ¿²âµÄËÙ¶È
// #39 ÆðʼµãÓë×îµÍµãµÄ¾àÀë
// #40 ¼Ç¼µÚ¶þ´ÎÁ¿²âµ½µÄ×ø±êÖµ� �
// #41 ¼Ç¼µÚÈý´ÎÁ¿²âµ½µÄ×ø±êÖµ
// #42 µÚÒ»´ÎºóÍ˵ľàÀë
// #43 µÚ¶þ´ÎÓëµÚÈý´ÎºóÍ˵ľàÀë
//===================³õʼÌõ¼þ=============== ===========
//
#50:=#16; // Ä¿±êµ¶ºÅÔ¤´æ
#46:=#24; // X²Î¿¼µã×ø±êÔ¤´æ
#47:=#25; // Y²Î¿¼µã×ø±êÔ¤´æ
#48:=#26; // ZÆðʼµã×ø±êÔ¤´æ
#49:=#11; // ×îµÍ×ø±êÔ¤´æ
#6:=50.; // µÚ¶þÈý¶ÎËÙ¶ÈÄÚ¶¨50
#8:=50.; // ÈÝÐíÎó²îÄÚ¶¨50BLU
#39:=STD(#49,#1600)-STD(#48,#1600); // ÆðʼµãÓë×îµÍµãµÄ¾àÀë
//===================¿ªÊ¼Á¿²â=============== =============
//
@105:=#1004; //´¢´æ½øÈë»»µ¶MACROǰµÄG91/G90״̬
#42:=5.; // µÚÒ»´ÎºóÍ˾àÀë
#43:=3.; // µÚ¶þ´ÎºÍµÚÈý´ÎºóÍ˾àÀë
G40;
G49;
//M05;
M175;
G91 G28 Z0; // ZÖáÒÔG28»Øµ½»úеԵã
G90 G53 X#26061 Y#26062; // XYÖáÒÔG00Ëٶȵ½µÚ¶þ²Î¿¼µã,PR28 41,PR2842
G91 G31 Z#26063 F3000; // ZÖáÒÔ3000Ëٶȵ½ZÖáÆðʼµã
WAIT();
IF (#1608 =1) THEN
ALARM(333);
END_IF;
G91 G31 Z-200.F800; // µÚÒ»¶ÎËÙ¶È̽²â
WAIT();
G91 G00 Z5.; // ZÖáºóÍË#42¾àÀë
G91 G31 Z-6.F#6; // µÚ¶þ¶ÎËÙ¶È̽²â
WAIT();
IF (#1608 = 1) THEN
#40:= @10743; // ¼Ç¼µÚ¶þ´ÎÁ¿²âµ½µÄ×ø±êÖµ
//ELSE
// ALARM(331); // δ̽²âµ½£¬·¢ALARM
END_IF;
G91 G00 Z5.; // ZÖáºóÍË#43µÄ¾àÀë
G91 G31 Z-6. F#6; // µÚÈý¶ÎËÙ¶È̽²â
WAIT();
IF (#1608 = 1) THEN
#41:= @10743; // ¼Ç¼µÚÈý´ÎÁ¿²âµ½µÄ×ø±êÖµ
//ELSE
// ALARM(331); // δ̽²âµ½£¬·¢ALARM
END_IF;
IF (ABS(#40-#41) > #8) THEN // µÚ¶þ´ÎÓëµÚÈý´ÎÁ¿²âµÄÎó²î´ óÓÚÊäÈëÌõ¼þ
ALARM(332);
ELSE
@11032:=(#40+#41)/2; // ¼Ç¼Ðźŵ㵽R1032
@11032:= @11032-@10091; //@10091¼´Îª¶Ôµ¶¿éºñ¶È»ò¶Ôµ¶ÒÇ µ½Ì¨Ãæ¾àÀë¶ÔÓ¦pr3411
G90 G53 Z0.; // »Øµ½Z·½ÏòÆðʼµã
END_IF;
//IF (#50<>#0 AND #50>=0 AND #50<=6) THEN // µ¶³¤²¹³¥±àºÅÉ趨
#50:=ROUND(#50); // Ô¤·À²»ÊÇÕûÊýÇéÐÎ
G90 G10 L10 P@502 R@11032; // ½«½á¹ûдµ½ÏàÓ¦µÄµ¶³¤²¹³¥± íÀï
//END_IF;
M176;
G@105;
END_IF;
M99;
Hey Guys...
Just an Update.
I have been working on Reverse Engineering and Mapping out inputs and outputs.
Most of my work has been focused on Syntec's PLC
The use of Inputs and Outputs.. and C-bits, S-bits... etc..
I'm getting to the point I have most of it "mapped" out and identified.
I will be adding/changing things in the Ladder... to enable buttons/functions that do not work currently.
Does anyone know how I can get the 16 relay output board for SYNTEC 6MB?
I believe he means something as followed. The mm/inch is stored by the controller automatically along with a few other things you may want backed up and then recall after a tool change.
start your macro by taking whatever your controller is using.
#31: = #1000; // backup interpolation mode
#32: = #1004; // backup Status of G90 / G91
#33: = #1046; // backup feed
#34: = #1008; // backup machining feed mode, 94/95
The macro will likely have to change these things in the process of the tool change. you want to reapply what was there before the tool change after the tool change is done by doing the following at the end of the macro.
G#31; // Reply to interpolation mode
G#32; // Reply G91 or G90 state
G#34; // Reply machining feed mode 94/95
F#33; // Reply feed
Ill try to answer simple questions and feel free to pm if you need further assistance that cant be discussed on a forum.
Syntec Engineer...
Please tell us more about yourself..
I see you used another approach to Mikes Tool Change macro dilemma.
I guess you are just storing the modal data to local variables only?.
Would it be more of a standard practice to use a registry bit?
Did you contacted the supplier of your machine? Did you considered buying the relays i've suggested?
Hello Serum...
I have reached out to CHina.. the machine producer.. waiting and waiting...
I sent email to SYNTEC in Taiwan,.. Waiting.
I saw your suggestion.. as well as some others...
I would prefer a board that will connect through a 20 pin cable..
Inputs 0 to 15 are directly reflected by the 16 input board... Same goes for the output board..
It will keep things clean and simple.. If I can go that route.
I'm still working on it :-)
Hi serum,
I have the same type of output relays as you. I don't know if this helps or not, but I have a couple empty relays and one of them is controlled from the front panel air blow switch. I believe there should be an M code to control the air blow. Would that be any help?
Mike
Serum , Mike...
Are you able to read/modify your Ladder?... And understand it?...
That is a touchy, touchy, thing.... but that is where you would have to map out the correct inputs, etc.. and assign to an output..(relay) and also create a few conditions/variables.
Remember, the Ladder is how we program the PLC inside Syntec, to configure how inputs/outputs are configured.. but also create logic, for how/when/if what should or shouldn't happen SAFELY...
Mike, about your macro...
That is a long attachment :-)
It would take a long long time for me to filter through it.. but here is something I noticed.. and was trying to say before...
Look at your file... the 3rd line from the bottom says "G@105"
What its trying to do is say.. G"Variable105"... so if you want go to inch mode.. it would need to plug in the variable the represents the 70... for G70
Remember... this macro should work weather you started in Inch or mm machining mode...
at the top of your macro, find these lines:
@104:=#1036; //´¢´æ¼Ó¹¤³ÌʽT_codeÏ´ïµÄÄ¿±ê µ¶ºÅ
@103:=#1004; //´¢´æ½øÈë»»µ¶MACROǰµÄG91/G90״̬
You need to add this line, right bellow the two:
@105:=#1010;
This is going to look at your machine's current mm/inch mode.... record it to that @105 variable... and then recall it at the bottom before you exit out the macro...
"#1010" is a modal variable for mm/inch machine status...
Of course you could have just changed that "3rd from the bottom line" to G70... but if you ever ran in mm mode.. you would always end up in inch mode after the tool change.. and OOPS!
So,that would be the first thing I would try in your T0000 macro..
Like I said.. it will take really long to look for any other errors...
It has taken me a long time.. lots of Research.. and countless hours at machine and computer, reverse engineering what is happening.. to be able to start getting more comfortable with all this.
Please let me know how it works out....
I'm glad the machine is moving faster for you http://www.cnczone.com/forums/images/icons/icon6.png
Thanks Syntecengineer. I am going to have to take some time and try to understand this. I realize the necessity of recording the data and the reinstating the data, but not sure how to go about it.
On a different question, I have not been able to figure out how to start a program from a tool change. I have been having to start each program from the beginning. It seems like it would be simple, but I can;t seem to figure it out.
Say I run tool 1 and 2 completely through a program, and just want to re-run tool 2 with an offset, how can I toggle down in the program to start at tool 2?
I have a Syntec 6MA.
Thanks again. These forums are a big help.
Hello SYNTEC USERS ! :wave: I NEED YOUR HELP!
If you have a SYNTEC Controlled machine, weather 6MB or 6MA, I need your help.
As you all know by now, the support or documentation is very poor at best.
I have been working for quite some time, to compile data, Collect any documentation, etc...
I have also been Analyzing MACROs and their syntax, as Well as the PLC Ladder Structure, and Syntec operations.
I have been working on identifying common inputs/outputs, C-bit, S-Bits, etc... and their DEFINITIONS
This is exhaustive work.. but will allow for significant upgrades, expansions, or even corrections to SYNTEC Machines.
I NEED YOUR HELP! :wave:
If you could please share your SYNTEC BACKUP with me...
I'm looking to see other examples of MACROS, Parameter setups, And "ladder.cnc" Files.
Some of you will know exactly what I'm talking about.. and others.. : Just do a backup of your system.. through the typical system maintnance screen... onto a flash drive.
THANK YOU IN ADVANCE, EVERYONE. :cheers:
Don't know much about programming, but going through your macro shows 2 times an F value, one of F3000 and F800, The F3000 and 800 both seem to be related to the G31, straight probing. and an F#6, the #6 is to be a value of 50 when searching the document. Perhaps that #6 value represents a percentage of the feed. There is some legenda behind the #6 value (a line is not used when // is used in front of it, so it's the line with // #6 , try to translate that from chinese text behind to english. (the texteditor i'm using doesn't show chinese signs, tried adding the chinese language on my mac, but no luck).
@frankmali; just as blue elephant cnc or Omni CNC, they have been very helpful to me.
we have a new machine from china, which I saw working before it was shipped.
We set up the machine here , however we cannot get the machine to go back to the home position.
press the home button , which lights up but the arrow kets wont drive it.
The system works in all axis when i use the MPG remote control
I have upload an image of what the machine is displaying. I have tried to contact blue elephant but its chinese new year & no one is around.
any thoughts
Samguyjes,
don't see the image, i had the same with my blue elephant machine. it reached the limits, also had to set the ATC forks an height measurement 10 mm back, causing that the spindle could not reach the end of the table.
After i did some maintenence on the Y axis belts and rack and pinion it trew out the tools on the floor. had to set it all back again 10 mm and now it reached the edge of the table.
Maybe some encoder problem or any parameter that is not set up correclty.
please sent the image![]()
Hi! Does anybody have Syntec ATC postproxessor for Vectric Aspire? Please share it if you have/ Thanks
Hey Mike and Serum...
This is quite hard to explain in a few words but I will try.
Please test this carefully!...
Please understand that there is a LOT of things happening in the MACRO... while the PLC is doing a lot of other things. AND your machine maker can configure syntec in their own way.. .and can create their own variables.
The Better you can understand it all.. the more this will make sence. Always Test carefully, As I cannot take responsibility for unforseen errors.
I'm attaching a picture to help.
In the beginning of your macro You need to add some lines that will store your mm/inch mode...
and toward the end, before exiting the macro, you will then "recall" that info.. and put the machine into proper mm/inch mode... to continue running your program correctly.
Also..
look for @460:=1
This is actually putting a value of "1" into Registry bit #60 ... yes #60.. not #460 like it would make sence.
this makes Rapids.. or G00 moves at 50%...
So if you would add "//" in front of it... that would make it just a comment...and Syntec will ingnore it... That's the way I recommend it...
Notice at some point.. there is a command "@460:=0" That's when it makes G00 go back to 100%.
I would try it only on lets say Tool #1... and see if you still think it's a good idea.. after you test it out.
Then you could proceed to modify it for all 8 tools.
Guys,
Thank you for sharing your macro...
I hope to give back to the community.
What has been challenging.. is while I am humble... I feel I have quite a bit of experience... and yet I have spent hundreds of hours studying this SYNTEC system.. to be able to get more knowledgeble of it.
NO Formal training or support is available...
Now I understand why some of this stuff costs like $1000 a day for them to come and help you...
and quite honestly... it takes about a day.. to study a larger macro thoroughly to do more significant changes.
ALWAYS DO A BACKUP of your CURRENT AND EXISTING data.. before loading any modified versions. !
Good Luck.
Mike let me know if my info is making sence to you. I spent about 75minutes on it this evening...
This is the great syntec thread, so don't expect any reply too soon :banana:
The card you are looking for is listed on Taobao, i noticed in a movie on youtube that there is a 6.1 revision, but the board is named TB16OUT. if you do a search for that on taobao, there are several offers available.