- Hardware & Machines
 - Pick and Place
 - Using M201 and Python to Lookup a CSV Table File and Using It's Values
 
Using M201 and Python to Lookup a CSV Table File and Using It's Values
- my1987toyota
 - 
				
									Topic Author
											 - Offline
 - Platinum Member
 - 
				
			 
		Less
		More
		
			
	
		- Posts: 952
 - Thank you received: 410
 
			
	
						14 Aug 2022 03:07				#249692
		by my1987toyota
	
	
		
			
	
	
		
	
			 		
													
	
				Replied by my1987toyota on topic Using M201 and Python to Lookup a CSV Table File and Using It's Values			
			
				Slight update of the code now P, i, and s output the true Float, Integer, and String when Linuxcnc is loaded through
Terminal
the readable text version
the python file
 
			
					Terminal
the readable text version
#remap version 12.02
import emccanon
import sys
import interpreter
import csv
            # These Global Variables are mainly intended for M201 but can be used elsewhere
            # these codes can be changed to meet your machines need
feeds1 = 'F150'    # feed value for Z to pick up part
vacOn = 'M7'    # M_code for turning on vaccum
pTime = 'G4 P0.5'   # G_code for pause time to allow vaccum to stabilize
def M201(self, **words):
    print(words)
    P = words['p']       # outputs a Float value
    i = int(words['p'])  # Converts Float value to integer
    s = str(i)           # Converts integer to string
    feedersFile = open('feeder_V1.04.csv')
    coordinatesReader = csv.reader(feedersFile)
    locationData = list(coordinatesReader)
    fdrPos = locationData
    if P < 0:
        print("error, a P parameter must be passed")
    if P > 0:
        print('P = ' , float(P))    # open linuxcnc in terminal to read the float output of 'P'
        print('i = ', int(i))       # open linuxcnc in terminal to read the integer output of 'i'
        print('s = ', (s))          # open linuxcnc in terminal to read the string output of 's'
        print('Going to Feeder' + ' ' + s)
        self.execute('G53 G0' + ' ' + fdrPos[i][1] + ' ' + fdrPos[i][2] + ' ' + 'Z0.0 C0.0')
        self.execute('G53 G1' + ' ' + fdrPos [i][3] + ' ' + feeds1)
        self.execute(vacOn)
        self.execute(pTime)
        self.execute('G53 G1 Z0.0 C0.0' + ' ' + feeds1)
        self.execute('M161 P' + s)
    return interpreter.INTERP_OK
the python file
Attachments:
		The following user(s) said Thank You: tjtr33, tommylight 	
			Please Log in or Create an account to join the conversation.
- Hardware & Machines
 - Pick and Place
 - Using M201 and Python to Lookup a CSV Table File and Using It's Values
 
		Time to create page: 0.144 seconds