SlideShare a Scribd company logo
1 of 46
Building Your HMI Using Visual
            Basic Technologies - A Tutorial


                                                                                 John Weber
                                                                            The Software Toolbox                                             ®




                                                                                        jweber@softwaretoolbox.com




                                                                   October 21, 1998
                                                                       Houston, TX                                            Poster Presentation

Copyright 1998 Qualitrol International & Software Toolbox.All rights reserved worldwide.The Software Toolbox is a registered trademark of Qualitrol International.
Why are we here today ?

• Take the mystery out of objects and VB
  – Objects & terminology
  – ActiveX & Containers
  – VB - The “Glue”
• Sample Applications
  – Process Graphics    – Alarming/Logging
  – PLC Connections     – Recipes
                        – Networking
  – Trending/Logging
Defining the Technologies
Software Objects
       What are they ?
• You can’t touch them - except on the disks or CD you load
them onto your PC from
• You can see them in many cases through their user interface
• Are pieces of software for a specific task or family of similar
tasks
• Are similar to subroutines or functions
• May contain numerous subroutines and functions of their
own
• Used to model software after real-world machine or process
components or sections
• Are easily transported from one PC to another provided
standard interfaces are followed
• Much of the software you use on your PC is built of objects
Objects - The Building Blocks

  Example - an object representation of a PLC
                     Input Modules Output
                         Class   Modules Class

                                                                                 Interfaces




                                                                        Comms.
                                             Output

                                                      Output

                                                               Output
                     Input

                             Input

                                     Input
               CPU




      Power
      Supply                         PLC Rack
Object Terminology

•   Classes - groupings of similar object types
•   Properties - define how the object behaves
•   Methods - make things happen
•   Events - occur when things happen
              Hypothetical PLC Analog Input Module “class”
               Properties - number of channels, voltage level, scaling set points, channel type
      Input




               Methods - send analog input to CPU, scale value
               Events - voltage changed on field input side, scaling updated, updated value sent
               to CPU, configuration change received from CPU
Object Terminology

A simple software
  object - a text box
  on a VB form

 Properties        Methods          Events
   Alignment        Drag             Change
   BackColor        Move             Click
   BorderStyle      OLEDrag          DblClick
   Font             Refresh          DragDrop
   Height           SetFocus         DragOver
   Name             ShowWhatsThis    GotFocus
   Text             and 5 others     LostFocus
   Visible                           KeyPress
   Width                             Mousedown
   and 43 others                     Mouseup
                                     and 13 others
More Object Terminology
 • COM - Component Object Model
 • DCOM - Distributed Component Object
   Model = COM + Networks
 • ActiveX - a type of COM object
 • Container - a place you assemble your objects
   to form an application
    – Office productivity applications
    – Development tools - visual basic, etc.
    – Web browser
 • OLE - Object Linking and Embedding
Software Objects Examples

         Command
          Button
           Object


          Command
           Button
          Properties


 Everything on your
 Excel spreadsheet is an
 object! - the worksheet
 is a collection of cell
 objects, a workbook is
 a collection of              Cell       Cell
 worksheet objects         Properties   Object
Software Objects Examples

                     Invoking the
                     Print Method




                      The Print Event
Software Objects Examples




                   Visual Basic (VB)
                   comes with a lot of
                   free objects that give
                   you the Windows look
                   and feel with minimal
                   work
Software Objects Examples

 ActiveX control
 objects “plug-in” to
 VB to let you add
 functionality
 • PLC Communications
 • Trends
 • Gauges
 • Tanks
Adding an ActiveX Component to
  the VB Toolbar & To A Form

              Right Mouse
              Click with
              pointer over
              the toolbar
              and select
              “components”

The Default
VB Toolbar

                             Double click      Check the component
                             the new           you want to add
                             component on      “ABCTL OLE Control
                             the toolbar       module” in this case,
                             and it is added   click the Apply button,
                             to your form!     click the OK button,
                                               and the control is
                                               added to the toolbar
An Automation Software Object




                          Actual PLC Communciations ActiveX
                            Object “instances” Placed into a
                              Visual Basic form container

                Instance (noun) - a single copy of a type of software
                object (I.e. text box or ActiveX control) on a form
                Instanciate (verb) - the act of placing a single copy of
                an object onto a form
Browsing the Object’s
     Interfaces
               Actual PLC ActiveX object in
                a VB container application
                   where its properties,
                 methods, and events are
                  browseable using VB’s
                 Object Browser Function

                           Events

                         Properties


                           Methods
VB - The Glue to connect
objects in your container
• VB - Visual Basic - a full fledged
  development environment
• VBA - Visual Basic for Applications
   – It is macro language in the Office applications
   – Is licensed by over 100 companies for use as their
     scripting language for customization
• Both Use simple object.property,
  object.method, object_event syntaxes
• VB known by 3,000,000 people worldwide
Assembling the Objects in a
        Container
  Simple Visual Basic Syntax for referring to objects
       Properties - ObjectName.Property = variable or value
       Methods - Objectname.Methodname (parameters)
       Events - Private Sub Objectname_EventName( )
                    user Logic
               End Sub
  Example Statements             displays text in a text box by setting the
    Text1.Text = “Hello World”   .Text property on the Text1 text box
                                 object
                                 Sets a PLC memory address property
    ABCTL1.FileAddr = “N7:0”     (.FileAddr) to read using a plug-in ActiveX
                                 control object
    ABCTL1.Autopoll(500)         Invokes the .Autopoll Method to read data
                                 every 500ms using a plug-in ActiveX control
                                 object
Human Machine Interface Apps

   •   HMI = Human Machine Interface
   •   Process Graphics
   •   PLC Connectivity for Data
   •   Trending and Logging
   •   Alarming and Logging
   •   Recipe Loading
   •   Networking
Process Graphics - Static
     Step 1-
     Select the
     VB image
     control from
     the VB
     toolbar and
     add to the
     form




                    Step 2 - Paste an image from a Symbol
                    Library to the image control, set the stretch
                    property on the image control to true and
                    size to fit your needs
Process Graphics - Dynamic

        Add an instance of
        a dynamic gauge
        ActiveX plug in to
        your VB toolbar
        and then to your
        form




                             Right click on the object with your
                             mouse, select “properties” on the pull
                             down menu that appears and use this
                             properties page to set your look and
                             feel. Here we’ve used a pre-
                             configured look and feel from the
                             object’s library to get setup quick
PLC Connectivity and Data -
 adding the ActiveX Control



                                                              Add an off-the-shelf ActiveX
                                                              control for PLC connectivity to
                                                              your VB toolbar and then add
                                                              instances of the control to your VB
                                                              form
 • Use multiple instances of the PLC ActiveX control to keep code to a minimum
 • Give the each instance an intuitive name such as PLCMachine1 and PLCMachine2 in your
 applications
 • Use separate instances for reading and writing to keep your code to a minimum, even
 though most PLC Communications ActiveX controls don’t require you to use separate
 instances for reading and writing
PLC Connectivity and Data -
    setting properties
                    This particular PLC communications
                    ActiveX control represents each
                    physical hardware adapter as a “logical
                    adapter”. You run a simple config
                    program shown here to set the hardware
                    settings and communications
                    parameters. By doing this, the
                    developer of this control gives you the
                    ability to change the hardware interfaces
                    to your PLC without recompiling your
                    program.
                 When you right click on each instance of
                 the PLC control, you bring up this
                 properties page to set the properties on the
                 control for whether you are reading or
                 writing (.function), the PLC node address
                 (.node), the PLC memory address
                 (.Fileaddr), and the number of points to
                 read/write.
PLC Connectivity and Data -
 Making the read happen




 • Reading occurs when the .Trigger or .Autopoll methods are invoked
 • In this example when the Form Loads, (Form_Load() Event) the Autopoll method on
 the instance of the PLC ActiveX control called ABCTL1 is invoked.
 • The PLC control does its job and when it is done, it fires the “OnReadDone()” event
 • Displays are updated using the 3 lines of code shown above in the
 ABCTL1_OnReadDone() Event
        • Data is accessed in the PLC ActiveX control using the WordVal and BitVal
        methods to properly format the data
        • Other methods such as floatval, stringval, longval, etc. are available for other
        data types
Trending and Logging

Builds upon what you’ve
already learned by adding 2
new controls
• Trending ActiveX control
• VB’s standard Data control
for database connectivity
Setup a single instance of the
PLC ActiveX control and its
properties like before but this
time use the standard VB
command button’s On_Click()         Properties Page
event to start the polling of the   for the Trending
PLC based on user input             ActiveX Control
Trending and Logging - VB Code
Invoke the PLC ActiveX
Controls’ .Autopoll method to
start/stop polling when user
clicks on command buttons

 These lines setup the timebase
 and variables on the trend chart
 ActiveX control when the form is
 loaded

Update text boxes on screen with data
from the PLC ActiveX Control
                                          This OnReadDone Event
Plot data on the trending ActiveX           fires every time a poll
control                                 completes - the autopoll rate
                                         sets your trend update rate
Log the data to the database using                  for you
the VB data controls methods
Trending and Logging




   The Finished Product in Run Mode
Alarming and Logging - Building the Form


      • Uses same
        controls and
        adds one new
      • Uses new
        methods and
        events on PLC
        ActiveX         VB List Box Control                        PLC ActiveX
        control to        for simple alarm      VB Data Control   Communications
                        display - new to this    for Database
        provide alarm          project           Connectivity
                                                                     Control

        generation
        capability
Alarming and Logging
 Generating the Alarms
• Watchpoint Methods
  – Method included in PLC ActiveX control
  – User specifies high, low limits and type of alarms
    desired (on high, on low, on change, on normal, on
    discrete change)
  – Autopoll method used to tell control how often to
    check the points
• Could all be done with VB If-then structures
• Using the ActiveX controls’ methods instead
  saves code and troubleshooting time
Alarming and Logging

• You setup the watchpoints and go on
  doing other things in your applications
• Handle the events when they happen
• OnAnalogHigh
• OnAnalogLow
• OnAnalogChange
• OnAnalogNormal
• OnDiscreteChange
Alarming and Logging- VB Code
                                       Setting up the watchpoint by
                                      invoking the .WatchPointAdd
                                       method in the PLC Comms
                                              ActiveX Control




                              Use the .Autopoll method to start polling the
                              PLC when the command buttons are clicked
                              - also clear the alarms display when polling
                                                   starts




  Build the high alarm
  message text string,
display it in the list box,
then log the data to the
database using the data
   controls methods
Alarming and Logging- VB Code




                         Build the low alarm
                         message text string,
                       display it in the list box,
                       then log the data to the
                       database using the data
                          controls methods
Alarming and Logging- VB Code

                                             Build the normal alarm
                                              message text string,
                                            display it in the list box,
                                            then log the data to the
                 Update a text box on the   database using the data
                 screen each time a new        controls methods
                  value is read from the
                            PLC




                  Do some simple data validation
                   when the user enters a PLC
                        memory address
Alarming and Logging -
   Finished Product
Alarming and Logging -
  Advanced Displays




For more advanced alarm
displays, ActiveX plug-
ins are available to
provide the needed
functionality
Recipe Loading - Setting up the
        Data Control
                       Use VB’s standard
                        Data Control to
                          connect to a
                            database




   • Don’t let all the properties confuse or
   worry you
   • Key properties to set on data control:
        • DatabaseName = pathname and
        filename of the database
        • RecordSource = table name or
        query name to get records from in
        the database - data control gives
        you a pull-down list
Recipe Loading - Data Binding

                                                          Text box properties page
                                                          has 2 key properties that
                                                          allow the user to connect
                                                          or “bind” the value shown
                                                          in the field to a column in
                                                          a database table or query
                                                          • DataSource - the name
                                                          of the data control that
                                                          you setup to connect to
                                                          the database
                                                          • DataField - the actual
                                                          column, pulled from an
                                                          auto-generated pulldown
   Each text box field on the form is “bound” using the
                                                          list, whose data will be
   DataSource and DataField properties to a column in
                                                          bound to the text box
   the database
Recipe Loading - In Action

                   When the user clicks on the next
                   or previous recipe buttons, the
                   code shown below advances the
                   database pointer forward or
                   backward one record while
                   checking to make sure the
                   beginning or end of the database
                   table is not passed
Recipe Loading - In Action
 When user clicks on “Download
 to PLC”, the code below loads the
 displays values into the PLC
 ActiveX control and invokes its
 trigger method to write the data to
 the PLC. When the
 OnWriteDone event fires, the user
 is notified with a message box
Networking - Leveraging Newer
    Ethernet Aware PLCs

     Client PCs running your VB HMI Application and using a PLC ActiveX
           control that supports direct Ethernet connections to the PLC




            TCP/IP Ethernet Network




                 PLCs with built-in Ethernet Interfaces
Networking - Retrofitting to
     Proprietary PLC Networks
         Client PCs running your VB HMI Application and utilizing a PLC ActiveX control that provides with it an EXE
         application for your server to bridge from Ethernet to the PLC networks or an ActiveX control that is an OPC client
         and can talk to an OPC server




                                                                                                         Remote user via
                                                                             TCP/IP Ethernet             Windows Dial-Up
                  Gateway Server running a software                             Network                  Networking
               bridge between the PLCnetworks and
                                   TCP/IP Ethernet
                                                                   Proprietary PLC Network




• Provides a solution when the investment to replace PLCs with Ethernet Based CPUs is too high or the
PLC network interface cards for each client are cost-prohibitive
• The gateway software bridge can be either an EXE program that is included with some PLC
communications ActiveX controls or an OPC server
Transfer Line Application
Transfer Line Application
Microbrewery Application
Benefits of Using Visual Basic
    for HMI Applications
   • Use the right tool for the right job
      – Simple to moderately complex apps
      – Don’t reinvent a pre-configured HMI in VB if that’s
        really what you need
   • Support for wide range of ActiveX plug-ins
   • Widely known scripting language
   • Flexibility - you control the application
   • Cost
      – you can distribute your VB code royalty free
      – ActiveX components have low or no royalty fees for
Resources for further learning

    • Understanding ActiveX & OLE - David
      Chappel, Microsoft Press
    • Office97 Visual Programmers Guide -
      Microsoft Press
    • Microsoft Websites -
      msdn.microsoft.com/vba
    • Download copy of this presentation and
      other presentations and technical papers at
      www.softwaretoolbox.com/isaexpo98
Where do I find ActiveX controls and
tools for Industrial HMI Applications ?

   Although this presentation is a non-commercial,
   sharing of knowledge presentation, we added this
   slide after show because so many of you at the show
   were asking this question!
   The Software Toolbox is a company that provides you
   with a single place to look to find all the software tools
   you need for automation applications, including Visual
   Basic based HMI applications. Visit our website
   today for more product information.

                          www.softwaretoolbox.com

More Related Content

What's hot

Office 365: Migrating Your Business to Office 365!
Office 365: Migrating Your Business to Office 365!Office 365: Migrating Your Business to Office 365!
Office 365: Migrating Your Business to Office 365!Michael Frank
 
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor FlowPower Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flowserge luca
 
Office 365 Mail migration strategies
Office 365 Mail migration strategiesOffice 365 Mail migration strategies
Office 365 Mail migration strategiesFulvio Salanitro
 
Microsoft 365 and Microsoft Cloud App Security
Microsoft 365 and Microsoft Cloud App SecurityMicrosoft 365 and Microsoft Cloud App Security
Microsoft 365 and Microsoft Cloud App SecurityAlbert Hoitingh
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overviewsolomd
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMohammed Badruddin
 
Crm siebel
Crm siebelCrm siebel
Crm siebelcrm2life
 
Business Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second editionBusiness Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second editionGregor Polančič
 
Implementing BPMN 2.0 with Microsoft Visio
Implementing BPMN 2.0 with Microsoft VisioImplementing BPMN 2.0 with Microsoft Visio
Implementing BPMN 2.0 with Microsoft VisioGoutama Bachtiar
 
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...OpsRamp
 
Pega poc | Pega projects
Pega poc | Pega projectsPega poc | Pega projects
Pega poc | Pega projectsAshock Roy
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Microsoft Private Cloud
 
Peoplesoft Basic App designer
Peoplesoft Basic App designerPeoplesoft Basic App designer
Peoplesoft Basic App designermbtechnosolutions
 
Power Platform Architecture Corrections
Power Platform Architecture CorrectionsPower Platform Architecture Corrections
Power Platform Architecture CorrectionsYusuke Ohira
 
Project Phases Showing Phase Content And Documents With Analysis And Design R...
Project Phases Showing Phase Content And Documents With Analysis And Design R...Project Phases Showing Phase Content And Documents With Analysis And Design R...
Project Phases Showing Phase Content And Documents With Analysis And Design R...SlideTeam
 
Intro to Office 365 Admin
Intro to Office 365 AdminIntro to Office 365 Admin
Intro to Office 365 AdminNikkia Carter
 

What's hot (20)

Office 365: Migrating Your Business to Office 365!
Office 365: Migrating Your Business to Office 365!Office 365: Migrating Your Business to Office 365!
Office 365: Migrating Your Business to Office 365!
 
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor FlowPower Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
Power Automate/ Flow patterns tips and tricks after 3 years with Doctor Flow
 
Office 365 Mail migration strategies
Office 365 Mail migration strategiesOffice 365 Mail migration strategies
Office 365 Mail migration strategies
 
Microsoft 365 and Microsoft Cloud App Security
Microsoft 365 and Microsoft Cloud App SecurityMicrosoft 365 and Microsoft Cloud App Security
Microsoft 365 and Microsoft Cloud App Security
 
BPMN 2.0 overview
BPMN 2.0 overviewBPMN 2.0 overview
BPMN 2.0 overview
 
Microsoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-pptMicrosoft dynamics-crm-online-overview-ppt
Microsoft dynamics-crm-online-overview-ppt
 
Crm siebel
Crm siebelCrm siebel
Crm siebel
 
Business Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second editionBusiness Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second edition
 
Implementing BPMN 2.0 with Microsoft Visio
Implementing BPMN 2.0 with Microsoft VisioImplementing BPMN 2.0 with Microsoft Visio
Implementing BPMN 2.0 with Microsoft Visio
 
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
 
What is power apps
What is power appsWhat is power apps
What is power apps
 
Pega poc | Pega projects
Pega poc | Pega projectsPega poc | Pega projects
Pega poc | Pega projects
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
 
Peoplesoft Basic App designer
Peoplesoft Basic App designerPeoplesoft Basic App designer
Peoplesoft Basic App designer
 
Power Platform Architecture Corrections
Power Platform Architecture CorrectionsPower Platform Architecture Corrections
Power Platform Architecture Corrections
 
Project Phases Showing Phase Content And Documents With Analysis And Design R...
Project Phases Showing Phase Content And Documents With Analysis And Design R...Project Phases Showing Phase Content And Documents With Analysis And Design R...
Project Phases Showing Phase Content And Documents With Analysis And Design R...
 
MS Office 365
MS Office 365MS Office 365
MS Office 365
 
Intro to Office 365 Admin
Intro to Office 365 AdminIntro to Office 365 Admin
Intro to Office 365 Admin
 
Windows intune
Windows intuneWindows intune
Windows intune
 
IBM BPM Overview
IBM BPM OverviewIBM BPM Overview
IBM BPM Overview
 

Viewers also liked

Relationship between pneumatic & PLC
Relationship between pneumatic & PLCRelationship between pneumatic & PLC
Relationship between pneumatic & PLCmajitra
 
PLC and HMI Programming; and Other Examples of Work Performed by Jeff Finger
PLC and HMI Programming; and Other Examples of Work Performed by Jeff FingerPLC and HMI Programming; and Other Examples of Work Performed by Jeff Finger
PLC and HMI Programming; and Other Examples of Work Performed by Jeff FingerJeffrey Finger
 
Plc Siemens Training Notes
Plc Siemens Training NotesPlc Siemens Training Notes
Plc Siemens Training Notesplc_course
 
Simatic s7 200-introduction
Simatic s7 200-introductionSimatic s7 200-introduction
Simatic s7 200-introductionPhan van Tan
 
Basics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADABasics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADAIndira Kundu
 
SCADA Tutorial
SCADA TutorialSCADA Tutorial
SCADA TutorialLy Nguyen
 
Plc scada by bhushan kumbhalkar
Plc scada by bhushan kumbhalkarPlc scada by bhushan kumbhalkar
Plc scada by bhushan kumbhalkarBhushan Kumbhalkar
 
Ladder Intro Tutorial
Ladder Intro TutorialLadder Intro Tutorial
Ladder Intro Tutorialplc_course
 
0015-D17V4 PLC Application Notes
0015-D17V4 PLC Application Notes0015-D17V4 PLC Application Notes
0015-D17V4 PLC Application NotesTristan King
 
Maxon operation & application of maxon’s new epos controller
Maxon  operation & application of maxon’s new epos controllerMaxon  operation & application of maxon’s new epos controller
Maxon operation & application of maxon’s new epos controllerElectromate
 
Smart sensor architecture 2006
Smart sensor architecture 2006Smart sensor architecture 2006
Smart sensor architecture 2006Iiro Jantunen
 
Plc analog Tutorial
Plc analog TutorialPlc analog Tutorial
Plc analog TutorialElectro 8
 
Scada and its Role in Industrial Automation
Scada and its Role in Industrial AutomationScada and its Role in Industrial Automation
Scada and its Role in Industrial AutomationSmart Automation
 

Viewers also liked (20)

Relationship between pneumatic & PLC
Relationship between pneumatic & PLCRelationship between pneumatic & PLC
Relationship between pneumatic & PLC
 
PLC and HMI Programming; and Other Examples of Work Performed by Jeff Finger
PLC and HMI Programming; and Other Examples of Work Performed by Jeff FingerPLC and HMI Programming; and Other Examples of Work Performed by Jeff Finger
PLC and HMI Programming; and Other Examples of Work Performed by Jeff Finger
 
Omron ladder programming
Omron ladder programmingOmron ladder programming
Omron ladder programming
 
Plc ppt
Plc pptPlc ppt
Plc ppt
 
Plc Siemens Training Notes
Plc Siemens Training NotesPlc Siemens Training Notes
Plc Siemens Training Notes
 
PLC - Programmable Logic Controller
PLC - Programmable Logic ControllerPLC - Programmable Logic Controller
PLC - Programmable Logic Controller
 
Simatic s7 200-introduction
Simatic s7 200-introductionSimatic s7 200-introduction
Simatic s7 200-introduction
 
ppt on PLC
ppt on PLCppt on PLC
ppt on PLC
 
Basics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADABasics of Automation, PLC and SCADA
Basics of Automation, PLC and SCADA
 
SCADA Tutorial
SCADA TutorialSCADA Tutorial
SCADA Tutorial
 
Act wintutorial jm
Act wintutorial jmAct wintutorial jm
Act wintutorial jm
 
Plc scada by bhushan kumbhalkar
Plc scada by bhushan kumbhalkarPlc scada by bhushan kumbhalkar
Plc scada by bhushan kumbhalkar
 
Ladder Intro Tutorial
Ladder Intro TutorialLadder Intro Tutorial
Ladder Intro Tutorial
 
Plc Simulation Examples
Plc Simulation ExamplesPlc Simulation Examples
Plc Simulation Examples
 
0015-D17V4 PLC Application Notes
0015-D17V4 PLC Application Notes0015-D17V4 PLC Application Notes
0015-D17V4 PLC Application Notes
 
Maxon operation & application of maxon’s new epos controller
Maxon  operation & application of maxon’s new epos controllerMaxon  operation & application of maxon’s new epos controller
Maxon operation & application of maxon’s new epos controller
 
Smart sensor architecture 2006
Smart sensor architecture 2006Smart sensor architecture 2006
Smart sensor architecture 2006
 
Plc
PlcPlc
Plc
 
Plc analog Tutorial
Plc analog TutorialPlc analog Tutorial
Plc analog Tutorial
 
Scada and its Role in Industrial Automation
Scada and its Role in Industrial AutomationScada and its Role in Industrial Automation
Scada and its Role in Industrial Automation
 

Similar to Building HMI with VB Tutorial [1998]

Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
 
Silverlight 2 For Developers
Silverlight 2 For DevelopersSilverlight 2 For Developers
Silverlight 2 For DevelopersMithun T. Dhar
 
TAO DAYS - Integration of 3rd party components into TAO
TAO DAYS - Integration of 3rd party components into TAOTAO DAYS - Integration of 3rd party components into TAO
TAO DAYS - Integration of 3rd party components into TAOOpen Assessment Technologies
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
 
visual basic for the beginner
visual basic for the beginnervisual basic for the beginner
visual basic for the beginnerSalim M
 
Model-based engineering of multi-platform, synchronous & collaborative UIs
Model-based engineering of multi-platform, synchronous & collaborative UIsModel-based engineering of multi-platform, synchronous & collaborative UIs
Model-based engineering of multi-platform, synchronous & collaborative UIsJean Vanderdonckt
 
Twisting the Triad
Twisting the TriadTwisting the Triad
Twisting the TriadESUG
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundationEmerson Exchange
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlAbhishek Sur
 
WPF - the future of GUI is near
WPF - the future of GUI is nearWPF - the future of GUI is near
WPF - the future of GUI is nearBartlomiej Filipek
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0DivyaR219113
 
Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesRussell Darling
 
ส่วนประกอบของโปรแกรม Visual basic 6
ส่วนประกอบของโปรแกรม Visual basic 6ส่วนประกอบของโปรแกรม Visual basic 6
ส่วนประกอบของโปรแกรม Visual basic 6Tom Nuntiya
 
Miha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeMiha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeNokiaAppForum
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 

Similar to Building HMI with VB Tutorial [1998] (20)

Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)Building Silverlight Applications Using .NET (Part 2 of 2)
Building Silverlight Applications Using .NET (Part 2 of 2)
 
Silverlight 2 For Developers
Silverlight 2 For DevelopersSilverlight 2 For Developers
Silverlight 2 For Developers
 
TAO DAYS - Integration of 3rd party components into TAO
TAO DAYS - Integration of 3rd party components into TAOTAO DAYS - Integration of 3rd party components into TAO
TAO DAYS - Integration of 3rd party components into TAO
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una Daly
 
visual basic for the beginner
visual basic for the beginnervisual basic for the beginner
visual basic for the beginner
 
Model-based engineering of multi-platform, synchronous & collaborative UIs
Model-based engineering of multi-platform, synchronous & collaborative UIsModel-based engineering of multi-platform, synchronous & collaborative UIs
Model-based engineering of multi-platform, synchronous & collaborative UIs
 
Twisting the Triad
Twisting the TriadTwisting the Triad
Twisting the Triad
 
The semantic web an inside look at the creation of control loop foundation
The semantic web   an inside look at the creation of control loop foundationThe semantic web   an inside look at the creation of control loop foundation
The semantic web an inside look at the creation of control loop foundation
 
Unit Testing 101
Unit Testing 101Unit Testing 101
Unit Testing 101
 
WPF Intro
WPF IntroWPF Intro
WPF Intro
 
Silver Light1.0
Silver Light1.0Silver Light1.0
Silver Light1.0
 
Overview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI ControlOverview of WPF in light of Ribbon UI Control
Overview of WPF in light of Ribbon UI Control
 
WPF - the future of GUI is near
WPF - the future of GUI is nearWPF - the future of GUI is near
WPF - the future of GUI is near
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0
 
Session 5#
Session 5#Session 5#
Session 5#
 
Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_Pipelines
 
ส่วนประกอบของโปรแกรม Visual basic 6
ส่วนประกอบของโปรแกรม Visual basic 6ส่วนประกอบของโปรแกรม Visual basic 6
ส่วนประกอบของโปรแกรม Visual basic 6
 
WPF Fundamentals
WPF FundamentalsWPF Fundamentals
WPF Fundamentals
 
Miha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web RuntimeMiha Lesjak Mobilizing The Web with Web Runtime
Miha Lesjak Mobilizing The Web with Web Runtime
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 

More from Sarod Paichayonrittha

พระพุทธเจ้าทรงสั่งสอนอะไร What did the buddha teach
พระพุทธเจ้าทรงสั่งสอนอะไร  What did the buddha teachพระพุทธเจ้าทรงสั่งสอนอะไร  What did the buddha teach
พระพุทธเจ้าทรงสั่งสอนอะไร What did the buddha teachSarod Paichayonrittha
 
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุ
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุสูตรของเว่ยหลาง โดย พุทธทาสภิกขุ
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุSarod Paichayonrittha
 
อานาปานสติสูตร
อานาปานสติสูตรอานาปานสติสูตร
อานาปานสติสูตรSarod Paichayonrittha
 
Ukti marketing brief make it happens -jan2014
Ukti marketing brief  make it happens  -jan2014Ukti marketing brief  make it happens  -jan2014
Ukti marketing brief make it happens -jan2014Sarod Paichayonrittha
 
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณ
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณรำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณ
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณSarod Paichayonrittha
 
Led lighting outdoor design challenge dec2013
Led lighting outdoor design challenge dec2013Led lighting outdoor design challenge dec2013
Led lighting outdoor design challenge dec2013Sarod Paichayonrittha
 
Kwater investor presentation oct2013
Kwater investor presentation oct2013Kwater investor presentation oct2013
Kwater investor presentation oct2013Sarod Paichayonrittha
 
พระพุทธเจ้าทรงสั่งสอนอะไร พระนิพนธ์ในสมเด็จพระญาณสังวร
พระพุทธเจ้าทรงสั่งสอนอะไร  พระนิพนธ์ในสมเด็จพระญาณสังวรพระพุทธเจ้าทรงสั่งสอนอะไร  พระนิพนธ์ในสมเด็จพระญาณสังวร
พระพุทธเจ้าทรงสั่งสอนอะไร พระนิพนธ์ในสมเด็จพระญาณสังวรSarod Paichayonrittha
 
Handbook malaysian fi t feed-in-tariff renewable energy mar2011
Handbook   malaysian fi t feed-in-tariff renewable energy mar2011Handbook   malaysian fi t feed-in-tariff renewable energy mar2011
Handbook malaysian fi t feed-in-tariff renewable energy mar2011Sarod Paichayonrittha
 
รายงานประเมินผลไทยเข้มแข็ง มีค2554
รายงานประเมินผลไทยเข้มแข็ง มีค2554รายงานประเมินผลไทยเข้มแข็ง มีค2554
รายงานประเมินผลไทยเข้มแข็ง มีค2554Sarod Paichayonrittha
 
ตำราพิชัยสงครามสิบสามบท ของซุนวู
ตำราพิชัยสงครามสิบสามบท ของซุนวูตำราพิชัยสงครามสิบสามบท ของซุนวู
ตำราพิชัยสงครามสิบสามบท ของซุนวูSarod Paichayonrittha
 
The ultimatum of god nature the one straw revolution -a recapitulation-1996
The ultimatum of god nature the one straw revolution  -a recapitulation-1996The ultimatum of god nature the one straw revolution  -a recapitulation-1996
The ultimatum of god nature the one straw revolution -a recapitulation-1996Sarod Paichayonrittha
 
Led Lighting SSL Road Map US.DOE aug2012
Led Lighting SSL Road Map US.DOE aug2012 Led Lighting SSL Road Map US.DOE aug2012
Led Lighting SSL Road Map US.DOE aug2012 Sarod Paichayonrittha
 
หลักการเขียนลายเซ็น
หลักการเขียนลายเซ็นหลักการเขียนลายเซ็น
หลักการเขียนลายเซ็นSarod Paichayonrittha
 
ISA Effective Use of PID Controllers 3-7-2013
ISA Effective Use of PID Controllers 3-7-2013ISA Effective Use of PID Controllers 3-7-2013
ISA Effective Use of PID Controllers 3-7-2013Sarod Paichayonrittha
 
Feed in tariff malaysia brochure 2012
Feed in tariff malaysia brochure 2012Feed in tariff malaysia brochure 2012
Feed in tariff malaysia brochure 2012Sarod Paichayonrittha
 

More from Sarod Paichayonrittha (20)

พระพุทธเจ้าทรงสั่งสอนอะไร What did the buddha teach
พระพุทธเจ้าทรงสั่งสอนอะไร  What did the buddha teachพระพุทธเจ้าทรงสั่งสอนอะไร  What did the buddha teach
พระพุทธเจ้าทรงสั่งสอนอะไร What did the buddha teach
 
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุ
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุสูตรของเว่ยหลาง โดย พุทธทาสภิกขุ
สูตรของเว่ยหลาง โดย พุทธทาสภิกขุ
 
อานาปานสติสูตร
อานาปานสติสูตรอานาปานสติสูตร
อานาปานสติสูตร
 
Ukti marketing brief make it happens -jan2014
Ukti marketing brief  make it happens  -jan2014Ukti marketing brief  make it happens  -jan2014
Ukti marketing brief make it happens -jan2014
 
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณ
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณรำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณ
รำลึกวันวาน ปกิณกธรรม หลวงปู่มั่น_ภูริทัตโต_โดยหลวงตาทองคำ_จารุวัณโณ
 
The new scada jun2014
The new scada jun2014 The new scada jun2014
The new scada jun2014
 
Led lighting outdoor design challenge dec2013
Led lighting outdoor design challenge dec2013Led lighting outdoor design challenge dec2013
Led lighting outdoor design challenge dec2013
 
Kwater investor presentation oct2013
Kwater investor presentation oct2013Kwater investor presentation oct2013
Kwater investor presentation oct2013
 
พระพุทธเจ้าทรงสั่งสอนอะไร พระนิพนธ์ในสมเด็จพระญาณสังวร
พระพุทธเจ้าทรงสั่งสอนอะไร  พระนิพนธ์ในสมเด็จพระญาณสังวรพระพุทธเจ้าทรงสั่งสอนอะไร  พระนิพนธ์ในสมเด็จพระญาณสังวร
พระพุทธเจ้าทรงสั่งสอนอะไร พระนิพนธ์ในสมเด็จพระญาณสังวร
 
Oil and gas thailand 2011 v f
Oil and gas thailand 2011 v fOil and gas thailand 2011 v f
Oil and gas thailand 2011 v f
 
Handbook malaysian fi t feed-in-tariff renewable energy mar2011
Handbook   malaysian fi t feed-in-tariff renewable energy mar2011Handbook   malaysian fi t feed-in-tariff renewable energy mar2011
Handbook malaysian fi t feed-in-tariff renewable energy mar2011
 
รายงานประเมินผลไทยเข้มแข็ง มีค2554
รายงานประเมินผลไทยเข้มแข็ง มีค2554รายงานประเมินผลไทยเข้มแข็ง มีค2554
รายงานประเมินผลไทยเข้มแข็ง มีค2554
 
ตำราพิชัยสงครามสิบสามบท ของซุนวู
ตำราพิชัยสงครามสิบสามบท ของซุนวูตำราพิชัยสงครามสิบสามบท ของซุนวู
ตำราพิชัยสงครามสิบสามบท ของซุนวู
 
The ultimatum of god nature the one straw revolution -a recapitulation-1996
The ultimatum of god nature the one straw revolution  -a recapitulation-1996The ultimatum of god nature the one straw revolution  -a recapitulation-1996
The ultimatum of god nature the one straw revolution -a recapitulation-1996
 
ABB DC Circuit Breakers Catalog
ABB DC Circuit Breakers CatalogABB DC Circuit Breakers Catalog
ABB DC Circuit Breakers Catalog
 
Led Lighting SSL Road Map US.DOE aug2012
Led Lighting SSL Road Map US.DOE aug2012 Led Lighting SSL Road Map US.DOE aug2012
Led Lighting SSL Road Map US.DOE aug2012
 
หลักการเขียนลายเซ็น
หลักการเขียนลายเซ็นหลักการเขียนลายเซ็น
หลักการเขียนลายเซ็น
 
ISA Effective Use of PID Controllers 3-7-2013
ISA Effective Use of PID Controllers 3-7-2013ISA Effective Use of PID Controllers 3-7-2013
ISA Effective Use of PID Controllers 3-7-2013
 
China bullet train population 2013
China bullet train population 2013China bullet train population 2013
China bullet train population 2013
 
Feed in tariff malaysia brochure 2012
Feed in tariff malaysia brochure 2012Feed in tariff malaysia brochure 2012
Feed in tariff malaysia brochure 2012
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Building HMI with VB Tutorial [1998]

  • 1. Building Your HMI Using Visual Basic Technologies - A Tutorial John Weber The Software Toolbox ® jweber@softwaretoolbox.com October 21, 1998 Houston, TX Poster Presentation Copyright 1998 Qualitrol International & Software Toolbox.All rights reserved worldwide.The Software Toolbox is a registered trademark of Qualitrol International.
  • 2. Why are we here today ? • Take the mystery out of objects and VB – Objects & terminology – ActiveX & Containers – VB - The “Glue” • Sample Applications – Process Graphics – Alarming/Logging – PLC Connections – Recipes – Networking – Trending/Logging
  • 4. Software Objects What are they ? • You can’t touch them - except on the disks or CD you load them onto your PC from • You can see them in many cases through their user interface • Are pieces of software for a specific task or family of similar tasks • Are similar to subroutines or functions • May contain numerous subroutines and functions of their own • Used to model software after real-world machine or process components or sections • Are easily transported from one PC to another provided standard interfaces are followed • Much of the software you use on your PC is built of objects
  • 5. Objects - The Building Blocks Example - an object representation of a PLC Input Modules Output Class Modules Class Interfaces Comms. Output Output Output Input Input Input CPU Power Supply PLC Rack
  • 6. Object Terminology • Classes - groupings of similar object types • Properties - define how the object behaves • Methods - make things happen • Events - occur when things happen Hypothetical PLC Analog Input Module “class” Properties - number of channels, voltage level, scaling set points, channel type Input Methods - send analog input to CPU, scale value Events - voltage changed on field input side, scaling updated, updated value sent to CPU, configuration change received from CPU
  • 7. Object Terminology A simple software object - a text box on a VB form Properties Methods Events Alignment Drag Change BackColor Move Click BorderStyle OLEDrag DblClick Font Refresh DragDrop Height SetFocus DragOver Name ShowWhatsThis GotFocus Text and 5 others LostFocus Visible KeyPress Width Mousedown and 43 others Mouseup and 13 others
  • 8. More Object Terminology • COM - Component Object Model • DCOM - Distributed Component Object Model = COM + Networks • ActiveX - a type of COM object • Container - a place you assemble your objects to form an application – Office productivity applications – Development tools - visual basic, etc. – Web browser • OLE - Object Linking and Embedding
  • 9. Software Objects Examples Command Button Object Command Button Properties Everything on your Excel spreadsheet is an object! - the worksheet is a collection of cell objects, a workbook is a collection of Cell Cell worksheet objects Properties Object
  • 10. Software Objects Examples Invoking the Print Method The Print Event
  • 11. Software Objects Examples Visual Basic (VB) comes with a lot of free objects that give you the Windows look and feel with minimal work
  • 12. Software Objects Examples ActiveX control objects “plug-in” to VB to let you add functionality • PLC Communications • Trends • Gauges • Tanks
  • 13. Adding an ActiveX Component to the VB Toolbar & To A Form Right Mouse Click with pointer over the toolbar and select “components” The Default VB Toolbar Double click Check the component the new you want to add component on “ABCTL OLE Control the toolbar module” in this case, and it is added click the Apply button, to your form! click the OK button, and the control is added to the toolbar
  • 14. An Automation Software Object Actual PLC Communciations ActiveX Object “instances” Placed into a Visual Basic form container Instance (noun) - a single copy of a type of software object (I.e. text box or ActiveX control) on a form Instanciate (verb) - the act of placing a single copy of an object onto a form
  • 15. Browsing the Object’s Interfaces Actual PLC ActiveX object in a VB container application where its properties, methods, and events are browseable using VB’s Object Browser Function Events Properties Methods
  • 16. VB - The Glue to connect objects in your container • VB - Visual Basic - a full fledged development environment • VBA - Visual Basic for Applications – It is macro language in the Office applications – Is licensed by over 100 companies for use as their scripting language for customization • Both Use simple object.property, object.method, object_event syntaxes • VB known by 3,000,000 people worldwide
  • 17. Assembling the Objects in a Container Simple Visual Basic Syntax for referring to objects Properties - ObjectName.Property = variable or value Methods - Objectname.Methodname (parameters) Events - Private Sub Objectname_EventName( ) user Logic End Sub Example Statements displays text in a text box by setting the Text1.Text = “Hello World” .Text property on the Text1 text box object Sets a PLC memory address property ABCTL1.FileAddr = “N7:0” (.FileAddr) to read using a plug-in ActiveX control object ABCTL1.Autopoll(500) Invokes the .Autopoll Method to read data every 500ms using a plug-in ActiveX control object
  • 18. Human Machine Interface Apps • HMI = Human Machine Interface • Process Graphics • PLC Connectivity for Data • Trending and Logging • Alarming and Logging • Recipe Loading • Networking
  • 19. Process Graphics - Static Step 1- Select the VB image control from the VB toolbar and add to the form Step 2 - Paste an image from a Symbol Library to the image control, set the stretch property on the image control to true and size to fit your needs
  • 20. Process Graphics - Dynamic Add an instance of a dynamic gauge ActiveX plug in to your VB toolbar and then to your form Right click on the object with your mouse, select “properties” on the pull down menu that appears and use this properties page to set your look and feel. Here we’ve used a pre- configured look and feel from the object’s library to get setup quick
  • 21. PLC Connectivity and Data - adding the ActiveX Control Add an off-the-shelf ActiveX control for PLC connectivity to your VB toolbar and then add instances of the control to your VB form • Use multiple instances of the PLC ActiveX control to keep code to a minimum • Give the each instance an intuitive name such as PLCMachine1 and PLCMachine2 in your applications • Use separate instances for reading and writing to keep your code to a minimum, even though most PLC Communications ActiveX controls don’t require you to use separate instances for reading and writing
  • 22. PLC Connectivity and Data - setting properties This particular PLC communications ActiveX control represents each physical hardware adapter as a “logical adapter”. You run a simple config program shown here to set the hardware settings and communications parameters. By doing this, the developer of this control gives you the ability to change the hardware interfaces to your PLC without recompiling your program. When you right click on each instance of the PLC control, you bring up this properties page to set the properties on the control for whether you are reading or writing (.function), the PLC node address (.node), the PLC memory address (.Fileaddr), and the number of points to read/write.
  • 23. PLC Connectivity and Data - Making the read happen • Reading occurs when the .Trigger or .Autopoll methods are invoked • In this example when the Form Loads, (Form_Load() Event) the Autopoll method on the instance of the PLC ActiveX control called ABCTL1 is invoked. • The PLC control does its job and when it is done, it fires the “OnReadDone()” event • Displays are updated using the 3 lines of code shown above in the ABCTL1_OnReadDone() Event • Data is accessed in the PLC ActiveX control using the WordVal and BitVal methods to properly format the data • Other methods such as floatval, stringval, longval, etc. are available for other data types
  • 24. Trending and Logging Builds upon what you’ve already learned by adding 2 new controls • Trending ActiveX control • VB’s standard Data control for database connectivity Setup a single instance of the PLC ActiveX control and its properties like before but this time use the standard VB command button’s On_Click() Properties Page event to start the polling of the for the Trending PLC based on user input ActiveX Control
  • 25. Trending and Logging - VB Code Invoke the PLC ActiveX Controls’ .Autopoll method to start/stop polling when user clicks on command buttons These lines setup the timebase and variables on the trend chart ActiveX control when the form is loaded Update text boxes on screen with data from the PLC ActiveX Control This OnReadDone Event Plot data on the trending ActiveX fires every time a poll control completes - the autopoll rate sets your trend update rate Log the data to the database using for you the VB data controls methods
  • 26. Trending and Logging The Finished Product in Run Mode
  • 27. Alarming and Logging - Building the Form • Uses same controls and adds one new • Uses new methods and events on PLC ActiveX VB List Box Control PLC ActiveX control to for simple alarm VB Data Control Communications display - new to this for Database provide alarm project Connectivity Control generation capability
  • 28. Alarming and Logging Generating the Alarms • Watchpoint Methods – Method included in PLC ActiveX control – User specifies high, low limits and type of alarms desired (on high, on low, on change, on normal, on discrete change) – Autopoll method used to tell control how often to check the points • Could all be done with VB If-then structures • Using the ActiveX controls’ methods instead saves code and troubleshooting time
  • 29. Alarming and Logging • You setup the watchpoints and go on doing other things in your applications • Handle the events when they happen • OnAnalogHigh • OnAnalogLow • OnAnalogChange • OnAnalogNormal • OnDiscreteChange
  • 30. Alarming and Logging- VB Code Setting up the watchpoint by invoking the .WatchPointAdd method in the PLC Comms ActiveX Control Use the .Autopoll method to start polling the PLC when the command buttons are clicked - also clear the alarms display when polling starts Build the high alarm message text string, display it in the list box, then log the data to the database using the data controls methods
  • 31. Alarming and Logging- VB Code Build the low alarm message text string, display it in the list box, then log the data to the database using the data controls methods
  • 32. Alarming and Logging- VB Code Build the normal alarm message text string, display it in the list box, then log the data to the Update a text box on the database using the data screen each time a new controls methods value is read from the PLC Do some simple data validation when the user enters a PLC memory address
  • 33. Alarming and Logging - Finished Product
  • 34. Alarming and Logging - Advanced Displays For more advanced alarm displays, ActiveX plug- ins are available to provide the needed functionality
  • 35. Recipe Loading - Setting up the Data Control Use VB’s standard Data Control to connect to a database • Don’t let all the properties confuse or worry you • Key properties to set on data control: • DatabaseName = pathname and filename of the database • RecordSource = table name or query name to get records from in the database - data control gives you a pull-down list
  • 36. Recipe Loading - Data Binding Text box properties page has 2 key properties that allow the user to connect or “bind” the value shown in the field to a column in a database table or query • DataSource - the name of the data control that you setup to connect to the database • DataField - the actual column, pulled from an auto-generated pulldown Each text box field on the form is “bound” using the list, whose data will be DataSource and DataField properties to a column in bound to the text box the database
  • 37. Recipe Loading - In Action When the user clicks on the next or previous recipe buttons, the code shown below advances the database pointer forward or backward one record while checking to make sure the beginning or end of the database table is not passed
  • 38. Recipe Loading - In Action When user clicks on “Download to PLC”, the code below loads the displays values into the PLC ActiveX control and invokes its trigger method to write the data to the PLC. When the OnWriteDone event fires, the user is notified with a message box
  • 39. Networking - Leveraging Newer Ethernet Aware PLCs Client PCs running your VB HMI Application and using a PLC ActiveX control that supports direct Ethernet connections to the PLC TCP/IP Ethernet Network PLCs with built-in Ethernet Interfaces
  • 40. Networking - Retrofitting to Proprietary PLC Networks Client PCs running your VB HMI Application and utilizing a PLC ActiveX control that provides with it an EXE application for your server to bridge from Ethernet to the PLC networks or an ActiveX control that is an OPC client and can talk to an OPC server Remote user via TCP/IP Ethernet Windows Dial-Up Gateway Server running a software Network Networking bridge between the PLCnetworks and TCP/IP Ethernet Proprietary PLC Network • Provides a solution when the investment to replace PLCs with Ethernet Based CPUs is too high or the PLC network interface cards for each client are cost-prohibitive • The gateway software bridge can be either an EXE program that is included with some PLC communications ActiveX controls or an OPC server
  • 44. Benefits of Using Visual Basic for HMI Applications • Use the right tool for the right job – Simple to moderately complex apps – Don’t reinvent a pre-configured HMI in VB if that’s really what you need • Support for wide range of ActiveX plug-ins • Widely known scripting language • Flexibility - you control the application • Cost – you can distribute your VB code royalty free – ActiveX components have low or no royalty fees for
  • 45. Resources for further learning • Understanding ActiveX & OLE - David Chappel, Microsoft Press • Office97 Visual Programmers Guide - Microsoft Press • Microsoft Websites - msdn.microsoft.com/vba • Download copy of this presentation and other presentations and technical papers at www.softwaretoolbox.com/isaexpo98
  • 46. Where do I find ActiveX controls and tools for Industrial HMI Applications ? Although this presentation is a non-commercial, sharing of knowledge presentation, we added this slide after show because so many of you at the show were asking this question! The Software Toolbox is a company that provides you with a single place to look to find all the software tools you need for automation applications, including Visual Basic based HMI applications. Visit our website today for more product information. www.softwaretoolbox.com