Body shop framing line
8 min
an automotive body shop framing line running at 55 second takt, one body at a time, with per vin genealogy three respot cells, a torque station, a gauge station and end of line seven devices and 181 tags operator view on 4014 , modbus tcp on 5024 , open protocol on 5124 what it demonstrates fastening containment scoped to the bodies actually affected when a tightening result goes out of window, the question is which vehicles carry the suspect joint per vin genealogy answers it in bodies rather than in shifts cold welds that a stepper hides a weld controller's own counters report the schedule it ran, not the joint it made electrode wear running away produces welds that pass the controller and fail the part the constraint against takt every station reports its cycle against the 55 second takt, so the station to fix is the one really costing throughput rather than the one that stopped most recently two protocols, on purpose this is the only solution here that speaks two industrial protocols at once, and that is the point rather than a complication six stations answer modbus tcp on 5024, addressed by unit id the tightening tool controller answers atlas copco open protocol on 5124, where the driver's own field names are the domain model rather than something invented for a demo both ports must be reachable from the edge publishing only the modbus port leaves the torque station unreachable behind a solution that otherwise looks healthy what it puts on litmus edge seven devicehub devices covering the three respot cells, the torque station, the gauge station, end of line and the underbody supply, with 181 tags a digital twin model and instance per station analytics groups behind the containment, weld quality and takt figures deploy services body shop image us docker pkg dev/litmus customer facing/litmus solutions/automotive body shop demo 0 1 0 container name automotive body shop demo restart unless stopped ports \ target 4014 published 4014 protocol tcp \ target 5024 published 5024 protocol tcp \ target 5124 published 5124 protocol tcp environment \# fill these in edge url "${edge url }" edge api token "${edge api token }" sim host "${sim host auto}" apply on start "${apply on start 1}" edge verify tls "${edge verify tls 0}" http port "4014" modbus port "5024" open protocol port "5124" autostart "1" tick seconds "0 2" time scale "5" seed "7" log level "info" edge url=https //10 0 0 5 edge api token=your token sim host=10 0 0 9 docker compose up d open http //localhost 4014 configuration variable default what it does edge url the docker host litmus edge to configure edge api token unset token for that edge or a username and password, or a client id and secret sim host auto address the edge polls to reach this solution apply on start 1 configure the edge on startup edge verify tls 0 1 checks the edge's certificate open protocol port 5124 the tightening tool controller must be reachable from the edge time scale 5 line runs 5x real time, so a shift of production is watchable seed 7 makes a run repeatable what you see the six stations across the top with their live tags, cycle time against takt, and job per hour below them, bodies moving down the line with their vins, and the buffers between stations each body carries its own genealogy, so a fault introduced at one station can be followed to the vehicles that passed through it while the fault was present faults include electrode wear running away in cell 2, the spindle drifting out of the torque angle window, a robot fault that holds the line, a shifted framing fixture, and the underbody supply starving cell 1 removing it docker compose down use clean up in the solutions provisioner # to remove what it created on the edge support support\@litmus io mailto\ support\@litmus io