One of my core beliefs is for a System Integrator to remain relevant, successful and on the cutting edge of technology, the leadership must stay close to the technology. So… while I own Intellic Integration, that doesn’t mean I work in the office on paperwork all day. I still spend a lot of time working on projects (part of the deal I made with myself is that I would never give development up–no matter how successful we became). Last year, I spent 270 days on the road developing–primarily with Ignition. The same will hold true for this year.
This past week, I was on-site in Mexico running off a project our team has been developing since December. This project is a classic example of the type of work we are called on to do. An end-user has an atypical integration… they’ve called on other integrators to take a stab at it and it didn’t go well. They find out about Intellic through the Ignition community and give us a call. The project is late and over-budget before we ever walk in the door. We whiteboard a solution, submit a proposal, a schedule and get to work. This week was classic II…
The Situation:
The client has a Komax Alpha 355S. This is a machine that creates finished products from wire and terminal ends–either single terminal and double terminal. There are 6 total axis of motion control, embedded controller, Windows XP PC with Custom UI and no PLC. The client wants OEE, Error Logging, Status and integration with SAP for work order retrieval and SAP confirmation.
The Challenges:
- No PLC and the OEM won’t allow one to be added or integrated
- Windows XP OS is behind 3 layers of firewall from the Ignition Gateway and IS won’t open anything but a direct connection to :8080
- The OEM provides 3 flat files–production, quality and error–that are updated only on each status change. All of these files are both comma and tab delimited
- The location of the files changes every day
The Solution:
- File copier program in Ignition
- Checks the flat files to see if they have been updated
- Contains a client window with configuration options for the location of the flat files, the location of the gateway, the dynamic pattern of the file location (in this case parentPath + Year/Month/Day)
- Shared script library
- Contains 1 package and 5 scripts–34 total functions and over 2000 lines of code
- Ship the files to a REST endpoint on the Gateway
- doPost contains code that copies the files onto the Gateway server
- doPost logs the copy and then calls shared.ii.parsers.komax
- Parse the files
- Our parsing code contains a total of 26 functions–about half of them are nested
- The parser pulls apart the flat files and builds 3 datasets–one is the complete production history, one is the complete error history, the last is the complete quality history. This dataset is updated each time the status changes
- At the end of parsing, the parser writes values into our UDTs
- UDTs
- We built a total of 9 UDTs to handle monitoring of the files, quality, production and error data
- These UDTs are then used to map into the OEE template exactly as if they were PLC tags coming from a PLC
The Result:
This is a screenshot of the final product in development prior to turning the SAP interface on. All data is test data and contains no IP. The upper right hand corner contains all of the parsed Production and Error Log data. The lower right contains some test buttons (for reset and starting test runs) as well as the quality and count data. In this case, the operator manually enters in waste pieces and tells how many pieces are in a lot for this batch. All counts, errors, status and quality data are pulled from our parser and UDTs–making this a fully automated solution with little input from the operator. Work orders are pulled from SAP and all data is shipped back to SAP on completion of the run.
This is the fun stuff… this is why Intellic has thrived and why I won’t ever stray too far from the technology. Now… its time to grab a flight back to the States and enjoy a weekend with my family.
Thanks for reading!
Blessings,
Walker