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.
3. PUSHING THE
LIMITS OF LABVIEW4
• 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!
6. PUSHING THE
LIMITS OF LABVIEW7
Instruments APIs using SCPI!
Call 1-800-IEEE-488
MEAS:VOLT?
MEAS:CURR?
SCPI = Standard Commands for Programmable Instrumentation
8. PUSHING THE
LIMITS OF LABVIEW9
Embedding LabVIEW Becoming More Practical!
More opportunities to create products
powered by LabVIEW
9. PUSHING THE
LIMITS OF LABVIEW10
Back to Instruments and APIs !
It’s time for a demo!!
10. PUSHING THE
LIMITS OF LABVIEW11
• 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!
11. PUSHING THE
LIMITS OF LABVIEW12
• 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!
13. PUSHING THE
LIMITS OF LABVIEW14
• External / Public APIs!
!callable from outside the system!
• Internal / Private APIs!
!only callable from inside the system!
External vs. Internal APIs!
16. PUSHING THE
LIMITS OF LABVIEW19
One More Thing!
Join Our Team
Help us build the next generation of instrumentation.!
Talk to a JKI engineer or visit jki.net/careers.!