1. Chú ý: Các bạn nên tham khảo Nội quy trước khi viết bài (click vào liên kết bên dưới).
    * Nội quy và Thông báo diễn đàn CNCProVN.com
    * Nếu bạn thấy hứng thú với bài viết. Hãy dùng chức năng Share to facebook để chia sẻ bài viết lên facebook.

          
Kết quả 1 đến 1 của 1

Chủ đề: Hiển thị toàn bộ trạng thái In/Out trong Mach3

  1. #1
    Thợ bậc 4 giaiphapcnc's Avatar
    Ngày tham gia
    May 2014
    Bài viết
    84
    Cám ơn
    15
    Được cám ơn 114 lần
           ở 46 bài viết

    Hiển thị toàn bộ trạng thái In/Out trong Mach3

    Trong trường hợp card của các bác có nhiều cổng In/Out và muốn kiểm tra trạng thái thì màn hình Mach3 không đáp ứng được. Giải pháp để hiển thị toàn bộ In/Out cho Mach3 là sử dụng thêm UserLED. Để thực hiện việc này có thể viết Brain hoặc Plugin, Macro. Dưới đây là giải pháp sử dụng macropump để hiển thị thêm các trạng thái In/Out Input: từ OEMTrigger 1-15, OUTPUT: 7-20, Charge Pump, Charge Pump2, và Current Hi/Low. Màn hình Test sử dụng màn hình của 1024TestIO của Scott.

    Macropump trong Mach3 được quét với tần số 10Hz (100ms sẽ được quét 1 lần). Tần số này bằng tần số quét Brain và PluginUpdate.

    Dưới đây là source code Macro và màn hình và file đính kèm. Cần Copy macro vào thư mục Macro với profile đang hoạt động (chẳng hạn C:\Mach3\macros\Mach3Mill) và Enable Macropump để chương trình hoạt động.

    Màn hình 1024TestIO copy vào thư mục Mach3. Sau đó chọn: View -> Load Screen -> Chọn 1024TestIO. Sẽ thấy toàn bộ Input/Output ở màn tab Diagnostics

    Click vào ảnh để xem ảnh lớn hơn. 

Name:	EnableMacro.jpg 
Views:	1 
Size:	307.4 KB 
ID:	9379
    Enable Macropump

    Click vào ảnh để xem ảnh lớn hơn. 

Name:	AllInOut.jpg 
Views:	133 
Size:	326.0 KB 
ID:	9380
    Màn hình Diagnostics


    Mã:
    '-----------------------------------------------------------------
    'Hien thi trang thai In/Out trong Mach3
    'Su dung Macropump: tan so quet 10Hz (100ms se quet 1 lan)
    'man hinh Test su dung TestIO cua Scott
    'Dev: www.tntmech.com
    '-----------------------------------------------------------------
    Sub Main
    	'Phan Input: OEMTRIG1 -> OEMTRIG15
    	Call SetUserLEDTNT (1301,IsActive(OEMTRIG1))
    	Call SetUserLEDTNT (1301,IsActive(OEMTRIG1))
    	Call SetUserLEDTNT (1302,IsActive(OEMTRIG2))
    	Call SetUserLEDTNT (1303,IsActive(OEMTRIG3))
    	Call SetUserLEDTNT (1304,IsActive(OEMTRIG4))
    	Call SetUserLEDTNT (1305,IsActive(OEMTRIG5))
    	Call SetUserLEDTNT (1306,IsActive(OEMTRIG6))
    	Call SetUserLEDTNT (1307,IsActive(OEMTRIG7))
    	Call SetUserLEDTNT (1308,IsActive(OEMTRIG8))
    	Call SetUserLEDTNT (1309,IsActive(OEMTRIG9))
    	Call SetUserLEDTNT (1310,IsActive(OEMTRIG10))
    	Call SetUserLEDTNT (1311,IsActive(OEMTRIG11))
    	Call SetUserLEDTNT (1312,IsActive(OEMTRIG12))
    	Call SetUserLEDTNT (1313,IsActive(OEMTRIG13))
    	Call SetUserLEDTNT (1314,IsActive(OEMTRIG14))
    	Call SetUserLEDTNT (1315,IsActive(OEMTRIG15))
    
    	
    	
    	'Phan Output: OUTPUT7-> OUTPUT20
    
    	Call SetUserLEDTNT (1316,IsOutputActive(OUTPUT7))
    	Call SetUserLEDTNT (1317,IsOutputActive(OUTPUT8))
    	Call SetUserLEDTNT (1318,IsOutputActive(OUTPUT9))
    	Call SetUserLEDTNT (1319,IsOutputActive(OUTPUT10))
    	Call SetUserLEDTNT (1320,IsOutputActive(OUTPUT11))
    	Call SetUserLEDTNT (1321,IsOutputActive(OUTPUT12))
    	Call SetUserLEDTNT (1322,IsOutputActive(OUTPUT13))
    	Call SetUserLEDTNT (1323,IsOutputActive(OUTPUT14))
    	Call SetUserLEDTNT (1324,IsOutputActive(OUTPUT15))
    	Call SetUserLEDTNT (1325,IsOutputActive(OUTPUT16))
    	Call SetUserLEDTNT (1326,IsOutputActive(OUTPUT17))
    	Call SetUserLEDTNT (1327,IsOutputActive(OUTPUT18))
    	Call SetUserLEDTNT (1328,IsOutputActive(OUTPUT19))
    	Call SetUserLEDTNT (1329,IsOutputActive(OUTPUT20))
    	
    	'CHARGE
    	'CHARGE2
    	'CURRENTHILOW
    	Call SetUserLEDTNT (1330,IsOutputActive(CHARGE))
    	Call SetUserLEDTNT (1331,IsOutputActive(CHARGE2))
    	Call SetUserLEDTNT (1332,IsOutputActive(CURRENTHILOW))
    	
    End Sub
    
    
    
    Public Sub SetUserLEDTNT (ByVal LEDCtrl As Integer,  Expression As Boolean)
    	If (Expression) Then
    		SetUserLED(LEDCtrl,1)
    	Else
    		SetUserLED(LEDCtrl,0)
    	End If
    End Sub
    Download file

    IOMach3.zip
    Lần sửa cuối bởi giaiphapcnc, ngày 07-07-2015 lúc 12:22:22 PM.

  2. Có 7 thành viên đã cám ơn giaiphapcnc cho bài viết hữu ích này:


Các Chủ đề tương tự

  1. hỏi về mắc và set tiếp điểm hành trình trong mach3
    Bởi embedded trong diễn đàn Máy phay CNC
    Trả lời: 22
    Bài viết cuối: 15-05-2015, 12:08:47 PM
  2. Hiển thị file pdf trong bài viết
    Bởi ppgas trong diễn đàn Thắc mắc
    Trả lời: 1
    Bài viết cuối: 03-03-2015, 10:56:47 PM
  3. Giúp em hiển thị số đo 2 con chiết áp với pls
    Bởi Tuấn trong diễn đàn Thắc mắc
    Trả lời: 21
    Bài viết cuối: 27-12-2014, 05:25:53 PM
  4. V/v Tăng số lượng hiển thị bài viết mới nhất
    Bởi ga_cnc trong diễn đàn Đóng góp phát triển
    Trả lời: 8
    Bài viết cuối: 07-10-2014, 03:59:46 PM
  5. Toàn quốc-Bộ Z supper mini
    Bởi quangnguyen89ck trong diễn đàn Gian hàng hết hiệu lực
    Trả lời: 30
    Bài viết cuối: 03-07-2014, 02:01:58 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •