Integrate your ERP to BPM Programmers with API
“If you can imagine it, we can make it happen”
— James Cawkell, Director, The Adaptsys Group
ERP API Abstract
BPM Microsystems process software, BPWin, is arguably the best in the industry. But even relatively easy-to-use software has a learning curve. As a standalone unit, an automated programming system (APS) is disconnected from the manufacturer’s process workflow software. Most manufacturers have a Material Requirement Planning system (MRP), Manufacturing Execution System (MES) such as Intellect eQMS, or Enterprise Resource Planning (ERP) such as Oracle and SAP. Would you like to have your ERP “talking” with your APS? This whitepaper explores some real-world solutions implemented to give you an idea of what is possible when connecting your APS to your manufacturing system through an API (Application Programming Interface).
An application programming interface, or API, according to Wikipedia, is a computing interface that defines interactions between multiple software or mixed hardware-software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees. (See Wikipedia article here)
Production Programming Advantages
BPM programming equipment, with the activation of BPWin API, has the capability to interface with your enterprise software in a maintainable and standard interface. BPWin API allows users to solve simple to complex process problems during the programming cycle. Designed specifically for BPM Automated Programmers, the API automation object model gives you the ability to utilize any programming language for interface to BPWin software. BPWin API is a breakthrough in programming equipment connectivity, that digitizes the information being generated throughout your device programming operations, and makes it available where, when, and how you need it.
Control and Monitoring API
The BPM API includes two major modules: Control and Monitoring. Control API (CJobControl Object) allows the external programs to control JobMaster related functions in BPWin software
Configure the programming cycle with commands such as select the device, load the data pattern file, set device options, Start or stop the programming cycle, and more. Monitoring API (CJobMonitor Object) allows for programmer system status to be exported in real-time for monitoring through verification, auditing, and logging of data from within BPWin software.
With a basic understanding of the BPM API, it’s possible for your internal development team to write the API; it’s also possible to outsource the project. BPM and their European partner, The Adaptsys Group, have extensive experience writing custom APIs. Competent third-party developers have also been successful in building APIs (this usually requires at least some interaction with BPM’s technical team and a thorough project specification).
Simple Monitoring Applications
It’s fairly straightforward to hook in real-time monitoring into your MES or ERP, to inform the job is completed, or that there is an issue that the technician needs to address. Moving raw goods inventory (blank programmable devices) into finished goods (programmed/tested devices) is also fairly easy. The API can also be set up to alert the supervisor or technician (via text message or email) upon completion of jobs, or to notify them when it’s time to switch out trays or reels.
Case Study: Automated Work Order
A large automotive contract manufacturer in Europe tasked the Adaptsys Group. (BPM’s Partner for Germany, France, Switzerland, UK, etc) with developing an API that functions as an automated work order to integrate their BPM Automated Programming Systems with their MRP system. It creates an electronic work order, operator checklist, and does finished goods allocation.
The automated work order is written in OPC UA, a machine-to-machine communication protocol for industrial automation developed by the OPC Foundation. OPC UA is an open-source, java-based programming language that is focused on communicating with industrial equipment and systems for data collection and control (See Wikipedia article here). BPM’s API is agnostic when it comes to programming– as long as it interfaces with COM.
The interface is a simple web-based form. The data entry process is used to set up the initial data for a given programming job. The first field in the form called “Programmed Device Name” is entered and later cross-referenced in a second form as a unique name for the parts to be programmed. This programming name can then be used multiple times to program the same device type with the same program code yet still made unique by the use of the Job ID from BPWin. The remaining fields are used to set specific information related to the job, which is later called upon to create the Job Sheet. The job sheet would be used by a production operator, to scan barcodes to automate the setup of the BPM Microsystems device handler.
The next step is to create the Job Sheet for production use. Upon submit, the data is saved to the SQL database and pulls in the linked data to populate a PDF document, which is automatically downloaded. This PDF contains the required job data in the form of barcodes, which are used by the production operator to set up the system.
Setting up and running the automated programmers
This is an example of a manufacturing process flow to handle devices to be programmed, from the time they enter the production environment, until the time they are programmed and tested, finally to move to finished stock.
- Receive Job Sheet. The sheet contains required fields in a barcode format.
- Barcode Job. This contains a link to the .abp file (BPM’s proprietary job file format which also contains the APS workflow instructions) stored on the customer’s server, to load the .bp file (specific to the job) and program file, set the device type, and device configuration stored within.
- Barcode Pressure Plate. Scan the barcode for the correct Pressure Plate for the sockets.
- Barcode Parts. Scan the received parts to ensure they match the job.
- Barcode Quantity. Scan the correct batch quantity that is to be programmed.
- Verify Setup. The final screen before programming, the Verify Screen ensures everything is set up correctly: Verify the socket modules, check devices, and pressure plates match those specified; check the quantity is correct. On-screen field highlighting of failed fields is used to assist.
- Start Programming. When the verification passes, the job can start.
This electronic “checklist” virtually eliminates mistakes. If an incorrect barcode is received, the system returns an error message that allows the error to be quickly corrected.
Post programming data and product handling
Upon completion of the job, the job summary log is saved to the electronic work order for review. It then automatically prints a sheet of labels with barcodes with the following information: Custom device reference, Device quantity on the reel or tray, Label number, job completed date, Input media ID, and Output reel ID. A specific barcode is generated so that the socket modules and pressure plates are moved from a production status to hold. Finally, the customer’s database is updated to indicate the correct quantity of finished devices are verified or scrapped and allocated to appropriate stock locations.
BPWin API can also be used to create custom inventory management. Whether for IoT (internet of things), Industry 4.0, or advanced traceability standards, each device can carry a unique serial number, which can contain more information than is possible with laser or inkjet marking. In addition, advanced security protocols for data encryption can be used as well.
This paper is not intended to explain how to set up your API; the goal is to give you a taste of what is possible. If you are new to device programming, you may be interested in a work order set-up, or at the very least, notifications and feedback. If you’ve been utilizing device programming, you may have identified some functionality that you wish existed, or perhaps a process that is overly repetitive or requires employee interaction. Once you’ve identified the process, BPM can assist you in developing an API, or provide your developers with the framework to write it yourself.