Maker Pro
Maker Pro

DriverLINX API to Display LED characters

C

Chris Uhl

Jan 1, 1970
0
Hi All,

I have the task of programming through the Keithley's DriverLINX API
to light up seven LED characters on a weather station display. I am
having a heck of a time getting a program to send a value through the
IO board. A description of the hardware, software, and my questions
are below:

Description of hardware:

The only hardware I needed to replace was the Keithley ISA PIO12
board with a PCI PIO24 board (same pin-outs). The LED characters,
ribbon, power supply all exist from the old computer.

You can find pictures of the display, the ribbons, and everything
here: http://uhler.smugmug.com/gallery/288697

Each of the seven panels support three LED characters. These control
boards were made by an electrical engineer, and I assume work
correctly. (The LED characters are industry standard, model number
DLO7135 – shown here:
http://uhler.smugmug.com/gallery/288697/1/11473318 . Data sheets are
found here: http://www.alldatasheet.com/datasheet-pdf/pdf/SIEMENS/DLO7135.html)

I am using the PCI PIO-24 to send values through the grey ribbon to
the LED displays.

Description of software:

I am using Windows XP Pro, Visual Studio.NET 2003 and sample code
downloaded from Keithley to write a value through the IO board. The
sample code compiles, but I can't seem to pick the right options to
get anything to display. The VB.NET code looks like this:

With AxSRAIO
.Req_subsystem = DlsrLib.DL_SubsystemConstants.DL_AO
.Req_mode = DlsrLib.Req_modeConstants.DL_POLLED
.Req_op = DlsrLib.Req_opConstants.DL_START
.Evt_Tim_type = DlsrLib.Evt_xxx_typeConstants.DL_NULLEVENT
.Evt_Str_type = DlsrLib.Evt_xxx_typeConstants.DL_COMMAND
.Evt_Stp_type = DlsrLib.Evt_xxx_typeConstants.DL_TCEVENT
.Sel_chan_format = DlsrLib.FormatConstants.DL_tNATIVE
.Sel_chan_N = 1
.Sel_chan_start = 0
.Sel_chan_startGainCode = .DLGain2Code(-1)
.Sel_buf_N = 0
.Res_Sta_typeStatus =
DlsrLib.Res_Sta_typeStatusConstants.DL_IOVALUE
x = TextBox2.Text
.Res_Sta_ioValue = .DLVolts2Code(x)
.CtlRefresh()
End With

When I run the code, the form runs and says I have chosen an invalid
subsystem. This says to me that the communication to the hardware is
good, but the hardware says I've done something wrong.

The original code to write values to the LEDs is made in some old
language, using assembly to write values directly to the IO board. I'm
trying to use the API to write values.

I am using sample code found here:
http://www.keithley.com/main.jsp?action=topproductlinks&mn=DRIVERLINX&link=Downloads
within the link named: VB.NET example for Single Value AI and AO with
DriverLINX

Please respond to this message, or contact me at chris.uhl#usask.ca
(change # to @) if you have any thoughts or need clarification.

Thanks,
Chris.
 
H

H-Man

Jan 1, 1970
0
Hi All,


I am using sample code found here:
http://www.keithley.com/main.jsp?action=topproductlinks&mn=DRIVERLINX&link=Downloads
within the link named: VB.NET example for Single Value AI and AO with
DriverLINX

Please respond to this message, or contact me at chris.uhl#usask.ca
(change # to @) if you have any thoughts or need clarification.

Thanks,
Chris.

Chris,
The exapmle code looks like it's specifically for analog I/O. I've never
worked with the stuff outlined here, but there are definite references to
analog values in your code. Look at the example code for the board you
have, it looks like this one is for polled stats or something like that,
and work from there.

You don't have a VB problem, you just seem to be programming for the wrong
board type.

Personally there are way better ways to do what you're looking to do, but
it would involve changing out the displays. If you want and can justify a
better display option, locate your local Red Lion Controls distributor,
they have displays for almost everything.
 
Top