# Phần mềm CAD, CAM, CNC > Phần mềm CNC control >  Đóng mở nhiều spindle trong Mach3.

## vanlam1102

Chào các bác.
E có 1 bài tập nho nhỏ với Mach3. Bác nào có kinh nghiệm giúp e với.
Chuyện là như vầy, máy CNC có 4 spindle.
E muốn bật tắt từng Spindle, khi chạy chỉ 1 spindle bật. 
van khí nén mở đẩy Spindle xuống sâu hơn 3 spindle còn lại.
e đang nghĩ tới G54, G55, G56, G57. cách này set tọa độ cũng dễ cho mỗi dao, spindle.
Nhưng không biết phải đưa ngõ out ra như thế nào.
Bác nào biết, hoặc đã làm qua giúp e với.
Nếu được mật thư cho e giá cả hjhj. Số đt của e là 0901 5050 05
E cám ơn các bác trên đây nhiều.

----------


## Tuanlm

Như vậy đc ko bác?
https://youtu.be/9dxtVSOW970

----------


## vanlam1102

> Như vậy đc ko bác?
> https://youtu.be/9dxtVSOW970


ô đúng rồi bác. mà của e tới 4 spindle lận.
bác giúp e với.

----------


## cuong

chà Vanlam làm change tool rồi à

----------


## Tuanlm

40 cái cũng đc nữa ấy chứ. Nhắn mail đi mình gởi code cho. Cũng đơn giản mà.

----------

cnclaivung, huyquynhbk, mig21, Nam CNC, vanlam1102

----------


## Nam CNC

ông Tuấn up cái file lên đi , chia sẽ thì cần gì mail riêng . CHo ông 1 like trước nè.

----------

ktshung

----------


## vanlam1102

> 40 cái cũng đc nữa ấy chứ. Nhắn mail đi mình gởi code cho. Cũng đơn giản mà.


hj e cám ơn anh nhiều nhé. vanlam1102@gmail.com

----------


## ktshung

bác Tuanlm share chung đi, thanks bác trước

----------


## Tuanlm

Ok mấy gà đen. Mai tui dzìa ĐN, tui úp hết gan ruột lên hén. Đang ở trên núi nên ko mần chi đc.

----------


## Duccdt06

hóng bác,thank bác trước

----------


## Tuanlm

Như đã hứa tui post file macro của Mach 3 để sử dụng thay đổi nhiều spindle lên để anh em tham khảo.
file này chiếm khoảng 90% độ quan trọng của công việc.
tên file: M6start.m1s. ( Có thể tạo mới hoặc mod lại file sẵn có.)
nơi cư trú: ....\Mach3\macros\Mach3Mill

Nội dung:
Note: phần chữ màu đỏ là chú thích nhé!!!!
tool = GetSelectedTool()
SetCurrentTool( tool )
if tool=1 then    ‘Chỉ số của spindle tương ứng với toolnumber trong CAM 
code"G52 x0 y0"  
DeactivateSignal(OUTPUT2) ‘Ngõ ra điều khiển cylinder của spindle 
end if
if tool=2 then
code"G52 x100 y100"    ‘X100 và Y100 là tọa độ offset của spindle tham chiếu theo tọa độ gốc
ActivateSignal(OUTPUT2) 
end if
.
Vì máy của em làm chỉ có 2 spindle nên code như vậy là tạm đủ dùng. Em lấy tín hiệu đóng mở solenoid để mở spindle tương ứng, sẽ có những anh em  khó hiểu nên em giải thích sơ bộ vậy. 
Về cơ bản như vậy là chạy đc rồi, tuy nhiên tùy theo yêu cầu về tính an toàn mà các bác chỉnh sửa lại trong postscrip của artcam một chút. (rảnh sẽ post và giải thích sau). Chủ yếu là thời điểm đóng mở spindle thôi.


í quên nữa, mới chỉ có offset X và Y thôi Z thì các bác đo lại và set trong Tooltable của mach3 nhé.

Sơ đồ nối dây thì xin mấy cao thủ giúp đỡ post lên thêm giúp nhé, vì máy của em làm còn qua cái PLC nữa nên post lên đây sẽ rối.

----------

anhcos, Duccdt06, Minh Phi Nguyen, vanlam1102

----------


## vanlam1102

các bác ơi, mấy ngày nay e tìm hiểu cái code mà không thể xuất out được.
bác nào tìm ra rồi giúp e với.
e để nguyên cái code của bác Tuanlm chép vào cũng không được.
giúp e với hj, e cám ơn các bác nhiều.





> tool = GetSelectedTool()
>   SetCurrentTool( tool )
> if tool= 1 then
> code"G52 x0 y0" 
> DeactivateSignal(OUTPUT1)
> end if
> if tool= 2 then
> code"G52 x0 y100"
> ActivateSignal(OUTPUT2) 
> end if

----------


## haipn44

> các bác ơi, mấy ngày nay e tìm hiểu cái code mà không thể xuất out được.
> bác nào tìm ra rồi giúp e với.
> e để nguyên cái code của bác Tuanlm chép vào cũng không được.
> giúp e với hj, e cám ơn các bác nhiều.


Lâm viết sai code kìa. Bao nhiêu spindle thì bấy nhiêu lần "if".

----------


## Tuanlm

Bác VanLam thử check nhé.
1. Set các output trên mach 3 đã đúng chưa.
2. Set chức năng thay dao tự động trên mach 3 chưa?
3. Khi máy chạy đên code M6 thì trên mach 3 có hiển thị thứ tự dao ko?
Bác check kỹ từng cái nhé. Có thì giờ mình sẽ coi tiếp. Nhờ mấy cao thủ truyền thêm ít công lực để bác ấy có thể làm đc. Thank a lot  :Smile:

----------


## Tuanlm

Còn nữa. Vì code của mình dùng cho 2 spin nên chỉ dùng một cặp tiếp điểm (nc-no) của output 2. Bác dùng các tiếp điểm độc lập thì nhớ "deactivate" cái nọ rồi mới "activate" cái kia nhá.

----------


## vanlam1102

Mach3 của e như vầy.

----------


## Tuanlm

còn chỗ này nữa

----------


## vanlam1102

e làm được rồi các bác ạ, không biết thực tế thì như thế nào nhưng các ngõ uotput 1, 2, 3, 4  ok rồi.
sau một hồi tìm hiểu thì e biết được.

DeactivateSignal(OUTPUT2) "tắt ngõ uotput "
ActivateSignal(OUTPUT2)    " bật ngõ uotput " ở đây là uotput2

----------


## vanlam1102

Chào các bác, máy em đã làm xong cũng khá khá thời gian.
nay rảnh up lên khoe các bác, vẫn còn 1 số lỗi nhưng do hạn chế của BOB nên đành chịu.
bác nào muốn tìm hiểu cứ nhắn lên đây em chia sẻ những gì em biết hjhj.

----------

anhcos, h-d

----------

