Starting with the basics: Our dedicated MES computers log into MES with a generic shop floor username and password. Then the employees put in their UserID in the box on the left side, hit tab, enter their password, and they clock in for the day, and then start/end activities as the day goes on, clocks out at the end of the day, etc.
This causes for some shop floor staff to be entering their credentials upwards of 50 or more times a day. I have been asked if there would be a way to utilize the RFID cards that we currently use for our building access control system. So, I went and purchased a USB pcProx RFID reader for my cards, plugged it in, configured it to read my cards properly, and that part is done.
Now, what I am trying to do is figure out how (if at all) I can use that USB RFID Reader within MES to clock users in and out.
The RFID Reader acts as a standard keyboard. All of the processing is done in the reader itself. When a card is scanned, it outputs the following (anything within brackets [] can configured to output anything I desire)
[ABC] ### [:] ##### [XYZ] [T] [GN]
- [ABC] and [XYZ] = Pre and Post data delimiters - Only 3 pre and post delimiters total can be configured. If 3 pre-delimiters are set, no post delimiters can be set. Or I can set 1 Pre and 2 Post, etc.
- [:] = The delimiter between the Facility Code and the ID Code.
- [T] = Termination Keystroke
- [GN] = Card Gone Delimiters - This is triggered when the card leaves the RFID field of the reader.
So, right now if I scan my ID Card with notepad opened up, I get the following:
@987 65432#!^&
- Pre-Data Delimiter: @
- Facility Code: 987
- FAC/ID Delimeter: < TAB >
- Post-Data Delimtiter: #
- Termination Keystroke: !
- Card Gone Delimiter 1: ^
- Card Gone Delimiter 1: &
I can have as many as those delimiters set as I need, or one of them. As long as the characters are part of the standard ASCII table, it is far game.
I can easily add a new UD to the Employee portion of Epicor to store the Facility and ID number of the cards that are issued to users, that way I can match them via an MES customization fairly easily. However, what I can’t seem to figure out how to do (or if there is even a way) is how to use the ID card to authenticate the user. I was thinking something along the lines of reading the card (using the various delimiters to break it up for manipulation and to know when to start/stop) and comparing that to the EmpBasic table, looking to see which Employee is issued the card that was scanned. I would then verify if the employee has an active laborheader and if so, bypass the password requirement of MES and take them straight to the main screen so they can start/end activities, take lunch, etc.
I would also customize the Clock Out button to ask for their password, just so people are less likely to clock someone else out.
Thoughts? Am I looking at something that is doable, or am I looking down the wrong end of a shotgun? I don’t know if this would be something that could be done via User Impersonation, or if I would have to change everyone’s password to their ID Number and do some hackey thing that way. I am not looking for anyone to say “this is how you should do that”, but more of a conversation about different avenues that one could take to try to accomplish it. I know I can’t be the only person that has thought about doing something like this.