Propeller Material Control and Data Collections
Computer Geek 101
Posts: 179
I work for a small aerospace company. We have to keep close tabs on all "Class A" material. My boss asked me to design a system to maintain an accounting of where the material is at all times. If a "Class A" material is found without any way to trace it, it must be scrapped. My system uses a propeller powered unit to track the material in and out of the material crib with an Xport, VGA, barcode scanner, keypad, and several buttons.
The operator uses the device to check in the material and assign it a specific location in the material crib. When the material is needed, the operator checkes the material out to a machinist. The system verifies that the material and job match, so we do not use the wrong material on a job. Once the material is out on the shop floor, its the job of the data collections untis to track its progress.
The operator uses the device to check in the material and assign it a specific location in the material crib. When the material is needed, the operator checkes the material out to a machinist. The system verifies that the material and job match, so we do not use the wrong material on a job. Once the material is out on the shop floor, its the job of the data collections untis to track its progress.
Comments
DataCollections_v2.spin
BTI_MatSafeServer.zip
The software is divided into three parts. Material control device, data collections device, and the windows server that process them. These units use the Xport in TCP mode to transfer to the VB.net windows service.
DataCollections.sch
DatacollectionV1_5.pcb
Done with the Propeller Chip and RFID Reader
Since I needed a keypad, It made sense to just use a keyboard wedge.
The Material control records:
Check In:
The person that logged in the material
The material's serial number
Job number
Material quantity
The location where the material is stored
Check Out:
The person that logged in the material
The material's serial number
Job number
Material quantity
The location where the material is stored
The person that checked out the material
Several errors can be generated:
The Job number and the material's serial number do not match
The quantity tanke out is larger than the quantity recorded
The material and location do not match with the recorded information
The Data Collections records:
Clock In:
The employee doing the machining
The Job Number
The Jobs operation number
The material's serial number if the material is "Class A"
The CNC machine the operation was ran on
The starting time
Clock Out:
The employee doing the machining
The Job Number
The Jobs operation number
The Quantity ran
The number of parts scrapped
The ending time
Several errors can be generated:
The Job number and the material's serial number do not match
The RFID scanned does not match an employee
The Job has already been closed or completed
Britt Aero Data Collections Command Set
<V_JobOperation_/>: This command verifies that the Job Operation exists and returns if it is a class “A” material.
JobOperation: The unique ID number for the specific job operation.
The response to this command from the server can be:
<vA/>: This is a class “A” material
<vO/>: This is a non class “A” material
<vE/>: The job does not exist in the system
<S_Employee_JobOperation_SerialNumber_RunType_Machine_UPS_/>: This command clocks the employee into a specific job operation.
Employee: The RFID code for the specific employee.
JobOperation: The unique ID number for the specific job operation.
SerialNumber: The serial number of the class “A” material or “N/A” if it is not a class “A” material.
RunType: This can be SETUP or RUN.
Machine: This is the work center unique ID number.
UPS: This is the UPS tracking number for and operation that is shipped for offsite processing.
The response to this command from the server can be:
<s0/>: No error.
<s1/>: The Job and the material serial number do not match.
<s2/>: Unspecific error.
<s3/>: The Employee RFID code was not found in the database.
<s4/>: The job has been closed.
<s5/>: The data stream has been damaged.
<s7/>: The job has an action alert.
<E_Employee_JobOperation_Quantity_Scrap_/>: This command clocks the employee out of a specific job operation.
Employee: The RFID code for the specific employee.
JobOperation: The unique ID number for the specific job operation.
Quantity: The total quantity of parts ran.
Scrap: The total number of parts scrapped.
The response to this command from the server can be:
<e0/>: No Error.
<e2/>: Unspecific error.
<e3/>: The Employee RFID code was not found in the database.
<e4/>: The job has been closed.
<e5/>: The data stream has been damaged.
<e6/>: The quantity is larger than the ordered quantity.
<X_Employee_SpecOp_/>: This command clocks an employee into a special operation (i.e. maintenance, cleaning, etc.)
Employee: The RFID code for the specific employee.
SpecOp: The special operation ID these operations are located in a SQL database and start with the letter “x”.
The response to this command from the server can be:
<x0/>: No Error.
<x2/>: Unspecific error.
<x3/>: The Employee RFID code was not found in the database.
<x8/>: The special operation was not found in the database.
<Y_Employee_SpecOp_/>: This command clocks an employee out of a special operation (i.e. maintenance, cleaning, etc.)
Employee: The RFID code for the specific employee.
SpecOp: The special operation ID these operations are located in a SQL database and start with the letter “x”.
The response to this command from the server can be:
<y0/>: No Error.
<y2/>: Unspecific error.
<y3/>: The Employee RFID code was not found in the database.
<y8/>: The special operation was not found in the database.
<B_Employee_SpecOp_JobNumber_SerialNumber_RunType_Machine_/>: This command clocks the employee into a specific job under a special operation (i.e. re-work or re-op).
Employee: The RFID code for the specific employee.
SpecOp: The unique ID number for the special operation.
JobNumber: The unique ID for the specific job.
SerialNumber: The serial number of the class “A” material or “N/A” if it is not a class “A” material.
RunType: This can be SETUP or RUN.
Machine: This is the work center unique ID number.
The response to this command from the server can be:
<b0/>: No Error.
<b1/>: The Job and the material serial number do not match.
<b2/>: Unspecific error.
<b3/>: The Employee RFID code was not found in the database.
<b7/>: The job has an action alert.
<C_Employee_SpecOp_JobNumber_Quantity_Scrap_/>: This command clocks the employee out of a specific job under a special operation (i.e. re-work or re-op).
Employee: The RFID code for the specific employee.
SpecOp: The unique ID number for the special operation.
JobNumber: The unique ID for the specific job.
Quantity: The total quantity of parts ran.
Scrap: The total number of parts scrapped.
The response to this command from the server can be:
<c0/>: No Error.
<c2/>: Unspecific error.
<c3/>: The Employee RFID code was not found in the database.
<c4/>: The job has been closed.
<c6/>: The quantity is larger than the ordered quantity.
<W_SpecOp_JobNumber_/>: This command verifies that the SpecOp exists and returns if it is a class “A” material.
SpecOp: The unique ID number for the special operation.
JobNumber: The unique ID for the specific job.
The response to this command from the server can be:
<vA/>: This is a class “A” material
<vO/>: This is a non class “A” material
<vE/>: The job does not exist in the system
<T_/>: This is a request for a time update.
The response to this command is:
<t_Month_Day_Year_Hour_Minute_Second_AMPM_/>
Month: The two digit month.
Day: The two digit day.
Year: The two digit year.
Hour: The two digit hour.
Minute: The two digit minute.
Second: The two digit second.
AMPM: The one character am or pm (i.e. A or P)
<K_Employee_/>: This command requests the total hours works for the specified employee.
Employee: The RFID code for the specific employee.
The response to this command is:
<k_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday_TotalHours_/>
Monday: The total hours worked for Monday.
Tuesday: The total hours worked for Tuesday.
Wednesday: The total hours worked for Wednesday.
Thursday: The total hours worked for Thursday.
Friday: The total hours worked for Friday.
Saturday: The total hours worked for Saturday.
TotalHours: The total hours worked for the week.
DataCollections_v211 - Archive [Date 2011.08.18 Time 11.18].zip
database.pdf