PowerPoint

profilemoh91de
brewmagicmobilepresentation_final.ppt

ENGT 4050

Senior Technology Capstone

Fall 2013

Group B-5

*

Start Nate

*

*

Group B-5

Student 1

Student 2

Student 3

Student 4

Overview

  • Brew Magic Mobile Application - Intro
  • Design
  • Implementation
  • Results
  • The Future and Further Possibilities

*

Brew Magic

*

Unitronics Vision 350

*

*

Android

*

Communication Overview

*

App Features

  • Timers
  • Mirrors PLC display
  • Master and brewer’s timer
  • Reset the brewer’s timer
  • Temperature Monitoring
  • Actual mash temperature
  • Target mash temperature
  • Toggle Power (on/off)
  • Circulation pump
  • Mash heating element

*

*

Goals

  • Extend the functionality of the PLC to a mobile application
  • Ensure desired finished product
  • Increase brewer productivity
  • Maintain brewery safety

*

Design

*

Start JD

*

Design Tools

Android Mobile Application

  • Java Programming Language
  • TCP/IP

Unitronics V350TM PLC

  • Ladder Logic
  • Modbus Communications Protocol
  • TCP/IP
  • Human Machine Interface (HMI)

*

Describe the basic components used and why, particulary the decision to use Java and Modbus.

  • Modbus is an industry standard communications protocol use by PLCs
  • Modus is a standard protocol available on the Unitronics PLC
  • Java is well known high-level programming language that is already widely used for Andoid applications
  • Java provides several free-ware packages used for Modbus communications.

*

Brew Magic Mobile:
Phase 1 Features

  • WIFI connection to PLC
  • DHCP or manual network addressing
  • LAN Connection test
  • GUI
  • Sync PLC display
  • Timers 
  • Temperature
  • Alarms
  • I/O
  • Circulation Pump 
  • Heating element

*

*

Brew Magic Mobile:
Phase 2 Features

  • Additional GUI functionality and refinement
  • Adjustments to temperature set point and timers

Possible additional features

  • Sync/store brew session data
  • Connect remotely via Internet connection

*

Implementation

*

Bill Start

I will provide the basic architecture and a brief description of Modbus and how it works in our project.

*

Project Architecture/Tools

Android Mobile Application

  • Java Programming Language
  • TCP/IP

Unitronics V350TM PLC

  • Ladder Logic
  • Modbus Communications Protocol
  • TCP/IP
  • Human Machine Interface (HMI)

*

Describe the basic components used and why, particulary the decision to use Java and Modbus.

  • Modbus is an industry standard communications protocol use by PLCs
  • Modus is a standard protocol available on the Unitronics PLC
  • Java is well known high-level programming language that is already widely used for Andoid applications
  • Java provides several free-ware packages used for Modbus communications.

*

Modbus Protocol

Industrial communications protocol

Developed by Modicron in 1979

Has since developed into the most commonly used protocol for communication between devices

Reads the binary values in the PLC coils and Registers.

*

Provide a brief description of Modus

*

Modbus Address Scheme

*

Data Element PLC Value Hex Address Decimal Address
Current Temperature MI3 – 16 bit 0003 3
Target Temperature MI4 – 16 bit 0004 4
Brew Timer TA7 – 32 bit D007 53255
Master Timer TA 4 – 32 bit D004 53525
Timer Reset MB55 – 1 bit 0037 55
Pump Toggle MB34 – 1 bit 0022 34
Heat Toggle MB31 – 1 bit 001F 31

Provide a brief explanation of how Modbus is use for this project.

Table provides the data values being used by the Android app.

Brief description of the java package,

  • Create Connection
  • Designate the addresses to read
  • Run the transaction
  • Obtain result.
  • Issues resulting in understanding the java protocol and the data formats from the PLC.

*

Brew Magic Mobile App

*

Two gauges for brew timer and master timer

Two toggle buttons for pump/heat with popups confirming turning on or off

Two timers…one master timer and one brew timer

A brew timer reset

*

How to Communicate?

  • Connection is simple
  • Android needs its values
  • PLC needs its values
  • How to match both needs

*

Connection between the two devices is simple. Using Modbus, after we set the proper connection infromtion, we simply make a connection and send a resquest and get a response.

The hard part is that android has its data it needs and the PLC has its data it needs. The two aren’t the same

Thus we need some type of conversion to convert between the two types of data

*

Solution

Graphical display

Conversion

Modbus Communication

IN

OUT

Android

This is the solution for the android side.

We have the graphical display(slide 19) which shows the app to a graphical way to the user

For modbus to communicate with the plc, we need to set values in a certain way. Thus to transfer between the two we need a conversion that handles these conversions.

Now one may ask why not just send the data from the graphical display directly to the plc by using whatever the plc needs. The reason why we don’t do this and have a conversion is for future needs. If a new update comes to the graphics or to modbus, we do not have to change values on each sides. If we have set values for the graphics display, we simply need to reference the values and the conversion will handle sending the proper data. Also if modbus changes, we simply need to update the modbus communication and not what values are coming in to the android as the converiso handles this.

So rather then send data in the form the plc needs, we convert it so both sides are independent of each other. Their only dependcy is through the converison

*

Solution(cont.)

Application

PLC

Wireless connection

Once we have prepped the data to send, modbus handles the communication to the wireless connection. It sends it over the connection till it arrives at the PLC and in which the PLC takes over and performs the desired function

The opposite goes from PLC to android. We send a request to the plc, get the information needed and send it to the android

*

Issues

  • Layout
  • Sizing
  • What goes where
  • Best flow of application
  • Connectivity
  • Right function

The android layout was a small problem

Correct sizing of buttons etc

Putting buttons, etc. where the go

Finding the best layout that matches an average users needs

Connectivity

Sending it to the correct area on the plc

*

Results

*

Start Jason

*

Project Deliverables

  • Brew Magic Mobile
  • Text fields to send and receive input from the PLC
  • Created buttons to send shutdown commands
  • Developed special graphics to display current temperatures for both the pump and heater
  • Displays to output from the PLC
  • Developed communication classes so the PLC and GUI could translate and communicate with each other (MODBUS and Java)
  • Standard Project Deliverables and Assignments

*

Project Timeline

  • Milestones and Gantt Chart
  • Phase I completed

*

Design Phase

Build Phase

Test Phase

Implement Phase

Phase I

Phase II

The Future and Further Possibilities

*

*

Issues to Be Resolved

  • Timer reset button
  • DHCP
  • App
  • PLC
  • Pop-up notifications

*

Further Possibilities

  • Change target temperature
  • Mirror notifications from the PLC
  • Toggle temp displays Celsius/Fahrenheit
  • Brew Magic software update integration

*

Even Further

  • Add or Modify Recipes
  • Add notes to brew session
  • WAN access
  • Graphic refinement
  • IOS versions

*