cla summit 2013: connecting labview to everything else

Post on 05-Jul-2015

5.984 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from JKI's CLA Summit 2013 presentation, "Connecting LabVIEW to Everything Else," presented by Jim Kring. Our consulting customers want the software we create to be “open,” in the sense that they need to integrate it into other business systems, or they need to use it from their own system development, or they just need to get data out in the way they want. This means providing an external API that users/clients can access – especially from tools other than LabVIEW. In this presentation from the Americas CLA Summit 2013, Jim Kring explains why external APIs are a fundamental part of professional software development, and explores how different types of APIs are useful at different stages of development all the way from proof-of-concept to final shipment.

TRANSCRIPT

PUSHING THE LIMITS OF LABVIEW

Connecting LabVIEW to Everything Else!

Jim Kring, JKI at the Americas CLA Summit 2013!geekandpoke.typepad.com

PUSHING THE LIMITS OF LABVIEW 3

APIs and Systems!

APIs

PUSHING THE LIMITS OF LABVIEW 4

•  Products can be more than what’s in the box!

•  Customers can solve more business problems!

•  Customers become loyal and locked-in!

APIs: Business Value!

PUSHING THE LIMITS OF LABVIEW 5

APIs and Systems!

APIs

PUSHING THE LIMITS OF LABVIEW 6

APIs and Instruments!

APIs

PUSHING THE LIMITS OF LABVIEW 7

Instruments APIs using SCPI!

Call 1-800-IEEE-488

MEAS:VOLT? MEAS:CURR?

SCPI = Standard Commands for Programmable Instrumentation

PUSHING THE LIMITS OF LABVIEW 8

Software Defined Instruments!

PUSHING THE LIMITS OF LABVIEW 9

Embedding LabVIEW Becoming More Practical!

More opportunities to create products powered by LabVIEW

PUSHING THE LIMITS OF LABVIEW 10

Back to Instruments and APIs !

It’s time for a demo!!

PUSHING THE LIMITS OF LABVIEW 11

•  System VI!•  Loads up the system and all its components!•  Has a registry of all SCPI tree/nodes and their SCPI command

handlers!•  Runs a TCP-IP Server / Listener at startup!

•  TCP-IP Server / Listener VI!•  Launches a connection handler when a client connects at the port!

•  SCPI Connection Handler VI!•  Parses (REC:RUN) SCPI message to determine which tree/node’s

(REC) command handler VI to call and passes it the (RUN) command.!

•  SCPI Command Handler VI!•  Executes a Case Structure frame for the (RUN) command.!

SCPI API Implementation in LabVIEW!

PUSHING THE LIMITS OF LABVIEW 12

•  SCPI (over TCP-IP, Serial, GPIB)!

•  Web Services (REST / XML: LabVIEW, Custom)!

•  DLLs, .NET, ActiveX, COM!

•  Network Shared Variables!

•  File IO, Dropbox!

•  Custom? Others?!

API Technologies!

PUSHING THE LIMITS OF LABVIEW 13

•  LabVIEW!

•  Python!

•  Others?!

Language Bindings!

PUSHING THE LIMITS OF LABVIEW 14

•  External / Public APIs!

!callable from outside the system!

•  Internal / Private APIs!

!only callable from inside the system!

External vs. Internal APIs!

PUSHING THE LIMITS OF LABVIEW 15

JKI: Prototype Software to Product Software!

PUSHING THE LIMITS OF LABVIEW 16

APIs and Systems!

APIs

PUSHING THE LIMITS OF LABVIEW 19

One More Thing!

Join Our TeamHelp us build the next generation of instrumentation.!

Talk to a JKI engineer or visit jki.net/careers.!

top related