"Building HMI with Visual Basic Technologies - 1998". Though they are old slides but still worth having a look especially for those who are new to HMI and SCADA technologies.
Design of Industrial Automation Functional Specifications for PLCs, DCSs and ...Living Online
The workshop will be useful to both specifiers and implementers and will provide a theoretical grounding as well as a practical guide for preparing a control system functional specification for implementation on Industrial control systems consisting of PLC (Programmable Logic Controllers), HMI (Human Machine Interfaces/SCADA devices) or DCS (Distributed Control Systems).
WHO SHOULD ATTEND?
Consulting engineers
Design engineers
Electrical engineers and technicians
Industrial automation engineers and technicians
Instrumentation and control engineers, technologists and technicians
Maintenance engineers, technicians and staff
Mechanical engineers and technicians
Operation, inspection and repair managers, supervisors and engineers
Plant engineers
System specifiers
MORE INFORMATION: http://www.idc-online.com/content/design-industrial-automation-functional-specifications-plcs-dcss-and-scada-systems-14
Logistic regression vs. logistic classifier. History of the confusion and the...Adrian Olszewski
Despite the wrong (yet widespread) claim, that "logistic regression is not a regression", it's one of the key regression tool in experimental research, like the clinical trials. It is used also for advanced testing hypotheses.
The logistic regression is part of the GLM (Generalized Linear Model) regression framework. I expanded this topic here: https://medium.com/@r.clin.res/is-logistic-regression-a-regression-46dcce4945dd
Design of Industrial Automation Functional Specifications for PLCs, DCSs and ...Living Online
The workshop will be useful to both specifiers and implementers and will provide a theoretical grounding as well as a practical guide for preparing a control system functional specification for implementation on Industrial control systems consisting of PLC (Programmable Logic Controllers), HMI (Human Machine Interfaces/SCADA devices) or DCS (Distributed Control Systems).
WHO SHOULD ATTEND?
Consulting engineers
Design engineers
Electrical engineers and technicians
Industrial automation engineers and technicians
Instrumentation and control engineers, technologists and technicians
Maintenance engineers, technicians and staff
Mechanical engineers and technicians
Operation, inspection and repair managers, supervisors and engineers
Plant engineers
System specifiers
MORE INFORMATION: http://www.idc-online.com/content/design-industrial-automation-functional-specifications-plcs-dcss-and-scada-systems-14
Logistic regression vs. logistic classifier. History of the confusion and the...Adrian Olszewski
Despite the wrong (yet widespread) claim, that "logistic regression is not a regression", it's one of the key regression tool in experimental research, like the clinical trials. It is used also for advanced testing hypotheses.
The logistic regression is part of the GLM (Generalized Linear Model) regression framework. I expanded this topic here: https://medium.com/@r.clin.res/is-logistic-regression-a-regression-46dcce4945dd
Peter Willmot and Billy Done
School of Mechanical & Manufacturing Engineering
(Higher Education Academy National Teaching Fellow)
Loughborough University,
United Kingdom
Education, Research & Development
6th International Conference
4–8 September 2015
Elenite Holiday Village, Bulgaria
www.sciencebg.net
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...Aditya Deshpande
This gives basic idea of MOO ie. Multi Objective Optimization and also Pareto graph used for it.
Here i have done Ansys optimization on simple object to elaborate concept of MOO.
Thanks
Aditya D
deshadi805@gmail.com
3 days Hands on workshop on MATLAB/SIMULINK for Engineering Applications:
this workshop aims to make students to aware of MATLAB to do own projects in engineering life with best available technology E-Simulink Softwares and tools.
Peter Willmot and Billy Done
School of Mechanical & Manufacturing Engineering
(Higher Education Academy National Teaching Fellow)
Loughborough University,
United Kingdom
Education, Research & Development
6th International Conference
4–8 September 2015
Elenite Holiday Village, Bulgaria
www.sciencebg.net
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...Aditya Deshpande
This gives basic idea of MOO ie. Multi Objective Optimization and also Pareto graph used for it.
Here i have done Ansys optimization on simple object to elaborate concept of MOO.
Thanks
Aditya D
deshadi805@gmail.com
3 days Hands on workshop on MATLAB/SIMULINK for Engineering Applications:
this workshop aims to make students to aware of MATLAB to do own projects in engineering life with best available technology E-Simulink Softwares and tools.
Ecava IntegraXor HMI/SCADA
Version 5.0
Tutorial for Beginners
Document number: IGX-TUB-50413
Document date: 1 March 2013
Last revision date: 27 June 2016
Prepared by:
LIM MIN HAW
https://www.integraxor.com
--------------------------------------------------------------------------
Ecava IntegraXor (IGX) is HMI/SCADA software with graphic animation, real time device connectivity, alarm functions, database logging, trending and reporting as basic functions.
It is designed from ground up using web technologies to create a complete tool for building sophisticated and intelligent real-time systems.
- Purpose
The purpose of this document is to give instructions to the reader on how to get started with Ecava IGX. Various tools in Ecava IGX will be utilized to create a simulated candy factory. The examples in this tutorial are meant to give initial guidance to the reader on how to use Ecava IGX and to assist the reader to quickly create and implement projects based on their own requirements.
Contact Us
We welcome any comments or suggestions. Email us at:
support@integraxor.com
Now a days industries working without PLC & SCADA system is the rarest thing. It is the must learn software and module. In this PPT basic about PLC is given as well as some basic but important programs have performed.
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
This session demonstrates building a rich interactive application (RIA) using Silverlight. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, znc how to manipulate data with XML and LINQ. (This is the second in a two-part series.)
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
Presentation at Code Camp on Oct 8, 2011, 1:15 pm in the Foothill College Cafeteria. Overview of iOS Platform and development with demonstration of building two applications that demonstrate the model-view-controller architecture and feature buttons, textfields, labels, and alerts.
Model-based engineering of multi-platform, synchronous & collaborative UIsJean Vanderdonckt
The paper describes an engineering method for building user interfaces for ubiquitous environments. The method comprises of several extensions in the UsiXML family
of modes as well as design and runtime support so as to enable multi-platform, synchronous and collaborative interactions. We demonstrate key concepts of the method and their application by elaborating a scenario of collaborative co-play
of the ‘tic-tac-toe’ game. The specific use case features synchronous co-engagement in game play by remote users (players or observers) using desktop PCs or Android devices.
The semantic web an inside look at the creation of control loop foundationEmerson Exchange
The book Control Loop Foundation and its companion website controlloopfoundation.com have been widely used. One of the reasons for this was the team’s decision to allow access to study materials and labs from a wide-variety of PCs and Tablets. Doing this required putting a web interface on top of DeltaV, supporting multiple browsers, and providing access to continuous and historical data from web pages. Details on the web site design and construction are addressed in this workshop.
Unit Testing 101 presented at ESRI Developer Summit, March 24th, 2009. This talk reviews the key concepts of unit testing, the technologies used by DTSAgile in out development projects.
Overview of WPF in light of Ribbon UI ControlAbhishek Sur
The slides introduces Ribbon UI control as released on Aug 2010 with the basic overview of WPF and XAML. I (Abhishek Sur) have demonstrated this on Community Tech Days session at Kolkata on 28th November 2010
Presentation about Windows Presentation Foundation - that appeared in the .NET Framework 3.0. The technology gives us ability to create outstanding UI for our applications.
I gave that lecture for IT Academic Days at my University.
Solid-State Lighting Research and Development:
Manufacturing Roadmap
August 2012
U.S. Department of Energy (DOE)
---------------------------------
The goals of the SSL R&D Manufacturing Initiative are to:
• Reduce costs of SSL sources and luminaires;
• Improve product consistency while maintaining high quality products; and
• Encourage the growth, leadership, and sustainability of domestic U.S. manufacturingwithin the SSL industry.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Monitoring Java Application Security with JDK Tools and JFR Events
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
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
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
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