Phase 4. Battery assembly

At this stage of the production, the electrode groups that we have learned to model previously, are placed in a plastic battery case, which then will be filled with acid. The exact number of groups inside the case depends on the battery's intended capacity. We will now model the assembly of electrode groups into the battery case with the help of an industrial crane.

First, we will create a new material agent type to represent the battery.

Add a new material item type

  1. Drag the Material Item Type element from the Material Handling Library palette to the Main graphical diagram.
  2. In the New agent wizard specify the Agent type name: Battery and click Next.
  3. Expand the Warehouses and Container Terminals section and select the Industrial Container 1 figure. Click Finish.
  4. In the Battery graphical editor select the scale element and set the Ruler length corresponds to: 1 meter.
  5. In the Dimensions and movement section of the  Battery agent type specify the following properties:

    a. Length: 0.3 meter
    b. Width: 0.2 meter
    c. Height: 0.15 meter

  6. To adjust the 3D animation so that it fits the specified dimensions of our agent type, select the 3D figure in the graphical editor and in its properties set the Additional scale to 50%.
  7. In the Colors section of the 3D figure's properties specify My color: black.

Next, let's add the layout for this section of the production line: a conveyor, where the electrode groups are put into the battery cases, and the crane that carries the groups over from the buffer zone.

Prepare the layout
  1. Double-click the Conveyor element from the Material Handling section of the Space Markup palette.
  2. Draw the conveyor over the layout as displayed in the image below.
  3. Name it batteryConveyor.


  4. Specify its properties as follows:

    a. Material item type: Battery
    b. Maximum speed: 0.5 meters per second
    c. Initial speed: 0.5 meters per second
    d. Z: 20
    e. Width: 0.5 meter

  5. Drag the  Position on Conveyor element from the Material Handling section of the Space Markup palette to the Main graphical diagram and place it on the batteryConveyor.


  6. Name the element blockInputPosition.

    We will use this element to mark the exact point on the conveyor where the electrode groups must be placed inside the battery case.

  7. Drag the  Rectangular Node element from the Space Markup palette to the Main graphical diagram and place it at the starting point of the batteryConveyor.
  8. Name the node caseBuffer.
  9. In the node's properties specify:

    a. Visible: no
    b. Locations layout: Arranged.

  10. Drag the  Jib crane element from the Material Handling section of the Space Markup palette to the Main graphical diagram and place it according to the layout.
  11. Name the crane batteryBlockCrane.
  12. Specify the crane's properties as follows:

    a. Material item type:  BatteryBlock
    b. In the Position and size section specify Jib length: 3 meter and Crane height: 4 meter

  13. Make sure that the crane's working area fully covers the assembledBlocksBuffer node and the blockInputPosition element on the batteryConveyor. Drag the handle located at the end of the crane's jib to increase and decrease the crane's working area.
  14. Select the Blocked zone check-box and adjust its angle by dragging the handles until the blocked zone looks as displayed in the image below:

Now let's define the logic behind this production step.

Add the battery assembly logic to the flowchart

  1. Drag the  Source element from the  Process Modeling Library palette to the  Main graphical diagram and place it above the assembler block. Make sure that these two blocks don't connect.
  2. Name the source block batterySource.

    This block will serve to generate agents of the  Battery type.

  3. Specify the following in the batterySource properties:

    a. Arrivals defined by: Rate
    b. Arrival rate: 10 per hour
    c. Location of arrival: Network/GIS node
    d. Node: caseBuffer
    e. New agent:  Battery

  4. Deselect the Forced pushing check box.


  5. Drag the  Queue block from the Process Modeling Library palette to the Main diagram and place it after the batterySource block. Make sure the connection between these two blockes is established properly.

    We use this block to model the the battery cases waiting to be used in the buffer zone.

  6. In the queue block's properties, specify:

    a. Capacity: 25
    b. Agent location: caseBuffer.

  7. To model the movement of battery cases from the buffer zone to the assembly conveyor, drag the  Conveyor Enter block from the Material Handling Library palette to the Main diagram and place it after the queue block.
  8. In the conveyorEnter properties, specify:

    a. Entry point defined as: Position on conveyor
    b. Position on conveyor: blockInputPosition

  9. To model the transfer of the electrode groups from the buffer zone to the battery case, drag the  Move By Crane element from the Material Handling Library palette to the Main diagram and place it after the assembler block.
  10. Name the block toCase.
  11. In the toCase block's properties, specify the following parameters:

    a. Crane: batteryBlockCrane
    b. Destination is: Agent
    c. Loading time: 5 seconds
    d. Unloading time: 5 seconds

  12. In the the Agent parameter edit-field type the following line of code: blockInputPosition.getAgent().

    This function returns the agent that is currently located at the blockInputPosition point.

Now, that we have finished defining the logic behind the generation and transfer of the battery boxes to the intended place, we need to connect the two processes into a single flowchart.
  1. Delete the connector between the toCase block and the sink block.
  2. Drag the  Combine element from the Process Modeling Library palette to the Main diagram and place it after the conveyorEnter block. Make sure the connection is established via the combine block's upper port.
  3. Double-click the out port of the toCase block and drag the connector to the combine block's lower in port. Release the mouse button when the connection point is highlighted in cyan.


  4. In the combine block's properties specify The resulting agent is: agent 1.
  5. Place the sink block after the combine block.
  6. Run the model!

Inevitably, an error will occur when the crane attempts to transfer electrode groups to an absent battery case. We can solve this problem with the help of the Process Modeling Library.

Synchronize the group assembly process and the battery case preparation

  1. Drag the  Hold block from the Process Modeling Library palette and place it in the flowchart between the assembler block and the toCase block.

    This block will help us control the flow of electrode groups: we will stop the flow until a new battery case becomes available.

  2. In the block's properties specify the Mode: Block automatically after N agents (use unblock()) and select the Initially blocked check box.
Now, we need to make sure that the unblock() function is called at the appropriate moment of time to synchronize the two production flows.
  1. Expand the Actions section of the conveyorEnter block and type in the following line of code in the On enter field: hold.unblock()

    Now the hold block's unblock() function will be called every time when a battery case enters the conveyor where the crane must place electrode groups inside it. For the rest of the time the movement of electrode groups will be blocked.

  2. Run the model again and observe the production process!

Reference model: Lead Acid Battery Production - Phase 4


          Phase 3. Electrodes wrapping and group assembly

          Phase 5. Battery treatment and quality assurance