Hardware FAQ

Answers and tips of our experts relating to all our hardware products.

Trigger
Board Cameras
All Models
Trigger
Trigger timings of VC20xx and VC40xx Smart Cameras Trigger timings of VC20xx and VC40xx Smart Cameras

tDEL: Delay from external trigger input to internal CCD exposure. 
Depending on camera model, e.g. 42.0 µs +/- 100 ns constant!

tEXP: Exposure Time. 
Short exposure: 5, 10, 15, 20 µs
Long exposure: 60, 100, 140 µs

This timing applies to all VC20xx, VC40xx, VC44xx cameras except VC4016, VC4018, VCSBC4016 and VCSBC4018.


Exposure and delay timing for VC2038

Exposure type   tEXP[µsec]   tDEL[µsec]
short   30   50
long   80   50
long   130   50
long   180   50


Exposure and delay timing for VC2048

Exposure type     tEXP[µsec]     tDEL[µsec]
short     18     36
long     36     36
long     72     36
long     108     36


Exposure and delay timing for VC2065

Exposure type   tEXP[µsec]   tDEL[µsec]
short   5   57
short   10   52
short   15   47
short   20   42
long   60   42
long   100   42
long   140   42


Exposure and delay timing for VC4038

Exposure type   tEXP[µsec]   tDEL[µsec]
short   5   49.48
short   10   44.48
short   15   39.45
short   19   35.04
long   50   35.04
long   91   35.04
long   122   35.04


Exposure and delay timing for VC4065

Exposure type   tEXP[µsec]   tDEL[µsec]
short   5   43.29
short   10   38.79
short   15   34.29
short   20   29.07
long   50.5   29.07
long   81   29.07
long   111.5   29.07


Exposure and delay timing for VC4066

Exposure type   tEXP[µsec]   tDEL[µsec]
short   10   55.68
short   15   51.18
short   20   46.68
short   30   41.34
long   72.3   41.34
long   114.6   41.34
long   156.9   41.34
Trigger macros Trigger macros

Description of the fast trigger I/O macro functions

TRIGOUT_EXP(): sets the trigger output to exposure controlled mode. The trigger output is set automatically, according to the camera's trigger timings (see article "Trigger timings").

TRIGOUT_USR(): sets the trigger output to user controlled mode. The user can set the trigger output at will with SET_TRIGOUT() and RES_TRIGOUT().

SET_TRIGOUT(): sets the trigger output to active state.

RES_TRIGOUT(): resets the trigger output.

TRIGOUT_POS(): the trigger output is high in active state (during exposition in exposure controlled mode).

TRIGOUT_NEG(): the trigger output is low in active state (during exposition in exposure controlled mode).

TRIGINP_POS(): the trigger input signal is set to rising edge.

TRIGINP_NEG(): the trigger input is set to falling edge.

SET_trig_sticky(): see VCRT 5 documentation.

SET_trig_lossy(): see VCRT 5 documentation.

TRIG_INT_ENABLE(): enable trigger interrupt.

TRIG_INT_DISABLE(): disable trigger interrupt.

Maximum frequency of PLC I/Os and trigger I/O of VC Smart Cameras Maximum frequency of PLC I/Os and trigger I/O of VC Smart Cameras

What is the maximum frequency I/Os of VC Smart Cameras can bear?

The maximum frequency of trigger input and output is about 10 kHz. 
The maximum frequency of PLC I/Os is about 1 kHz.

Quick overview of trigger I/Os of VC Smart Cameras Quick overview of trigger I/Os of VC Smart Cameras
         VC20xx        VC40xx        VCSBC4018

IN

 

        3 - 5 V

 

        3 - 5 V

 

        0 - 0.7 V low

        1.5 - 3.3 V high

 

OUT

 

        Max. 7 V, 50 mA

 

        Max. 7 V, 50 mA

 

        Max. 3 V, 8 mA

 

Optocoupler

 

        IN: yes

        OUT: no

 

        IN: no

        OUT: no

 

        IN: no

        OUT: no

 

Resistor

 

        IN: 330 limiting resistor

        OUT: none

 

        IN: none

        OUT: none

 

        IN: 4K7 pull-up resistor

        OUT: none

 

Reverse voltage protection

 

        IN: shunt diode

        OUT: none

 

        IN: none

        OUT: none

 

        IN: none

        OUT: none

 

Pin assignment
1 (green)
2 (brown)
3 (white)
4 (pink)
5 (grey)
6 yellow)

        Trig IN -
        5 V OUT
        GND
        Keypad IN
        Trig OUT
        Trig IN +

        V24 OUT
        5 V OUT
        GND
        V24 IN
        Trig OUT
        Trig IN
 
PLC inputs of VCSBC40xx and VC4xxx Smart Cameras: faster triggering PLC inputs of VCSBC40xx and VC4xxx Smart Cameras: faster triggering

I use one of the PLC inputs to trigger my camera. But picture taking has a jitter of ±10 milliseconds. Why is that so?

The function inPLC() checks the system variable PLCIN, which is only updated every 10 milliseconds. To avoid this the corresponding hardware register can be read directly using one of the functions of the at the end of this article.

These functions are integrated to the operating system from version 5.26.

  • For VC4016, VC4018, SBC4016, SBC4018, VC4002 Smart Cameras use the function in file plc.c.
  • For all VC4xxx cameras (models above VC4038), use the function plc_in() (attached as an object file, the function can be linked by just adding "-l plc_44xx.obj" to the .cmd file). This function returns a 5-bit value: the 4 least significant bits are the status of the 4 PLC inputs, bit 5 is the power fail bit (corresponds to the POWFAIL system variable).

plc_44xx.zip

Board Cameras
VCSBC4018 flex cables for detached camera head VCSBC4018 flex cables for detached camera head

I am using a VCSBC4018 camera and need to separate the camera daughterboard from the main board. Is there a longer flex cable available that I could use without causing signal integrity issues?

Standard delivery is the 30mm x 20 flex cable. 

There are 2 longer flex cables available for detached camera head mounting: 
80mm x 20, order Number: EK000322
200mm x 20, order Number: EK000629

Please also check the accessories section in the VCSBC4018 manual.

VCSBC4018 Smart Camera board dimensions VCSBC4018 Smart Camera board dimensions

The drawings of the VCSBC4018 board can be downloaded below:

VCSBC4018_Board.pdf
VCSBC4018_Board_J2_J3_J4.pdf

All Models
Serial interface VC40xx Smart Cameras Serial interface VC40xx Smart Cameras

Description of the additional serial interface of the VC40xx Smart Cameras.

Hardware considerations

From VC40xx Smart Cameras, the trigger interface allows 4 different uses:

  • trigger
  • I/Os keypad
  • serial interface (VC40xx ONLY).
  • high speed, 3 channel encoder interface

Serial C6 cables for the standard V24 (RS232) interface can be used only with serial VC20xx cameras! The serial interface found on the VC40xx cameras needs a C4 cable, available in length of 5m, 10m and 25m, and with connector on one or on both sides.
Multiple devices can be connected to this interface at the same time, using one or two Y adaptor cables (order no. VK000124).

Using the serial interface

For the time being, the serial interface cannot directly be accessed via the shell (the feature will be available in a future release of VCRT). Yet a serial shell is available as a stand-alone application in the knowledge base (can be downloaded for testing).

Please note: 
VC4xxx Smart Cameras from model VC4038 (not VC4016 and VC4018) feature from July 2006 an encoder interface. With these cameras, only the serial input line is active after startup. The serial output line needs to be enabled prior to its use, in order to protect a connected encoder.

Using the serial interface

VC4xxx Smart Cameras from model VC4038 (not VC4016 and VC4018) feature from July 2006 an encoder interface. With these cameras, only the serial input line is active after startup. The serial output line needs to be enabled prior to its use, in order to protect a connected encoder.

The following macro needs to be called to enable the serial output line:

INTERFACE_MODE(SERIAL);

The program attached below is an example of how to communicate via the serial interface. Compile it and download it to the camera, then start the program. Open a serial session with your terminal program (for example Teraterm), you will see the string "Hello" transmitted from the camera. Then type any character to the serial interface, you will the the characters on the Ethernet side. Before the program quits it sends a big quantity of data (characters) to the serial interface.

Example file: test_kbd2.c

Serial shell Serial shell

Accessing the shell via the serial interface of VC4xxx cameras

Accessing the shell is now also possible using the additional serial interface of the VC4xxx cameras! This means it is possible to start a camera in "serial shell" mode, starting programs or executing shell commands via the serial camera interface.

We provide two solutions to achieve this: using a serial shell program or simply switching the standard I/Os to the serial interface.

Accessing the shell via the serial interface of VC4xxx Smart Cameras

We provide two solutions to achieve this: using a serial shell program or simply switching the standard I/Os to the serial interface.

1. Using the serial shell program

This program has to be used if you need to be able to use both telnet and serial shells at the same time.
At present the following programs have to be uploaded into camera memory (included in file below):

  • sershell.out - executable program that opens the serial shell.
  • shell2.cex - compressed executable shell - compiled as relocatable code. 

Description:
Calling the program "sershell" starts the serial shell. It is now possible to run 2 shells in parallel - one accessible via Telnet Port 23 and the second one accessible via RS232. The serial shell can be activated at camera startup calling"sershell" with help of an auto exec file.

Default baud rate is 115200 bd.

The serial shell can be closed with the shell command "kill 65547".

The current task ID may vary. The task ID can be queried with help of the shell command "procs":

$procs
print task list
NAME PID STATE PRI FLAGS
...
shell2 65547 WAIT 009 00000004

2. Switching the standard I/Os to serial interface

The second solution, if you need either the telnet shell or the serial shell, is to switch the standard I/Os to the serial shell with the program swtty.c included in the file below.

With no argument, the program switches to the serial interface. With any argument, the program switches back to telnet.

Please note:

  • This feature will be integrated in future operating systems. "sershell" works with the current camera operating system VCRT 5.25 and may not work with future camera OS, so program adjustment may be required when porting the code to newer systems.

Downloads: shell.zip

High speed Encoder Interface for VC4xxx Smart Cameras High speed Encoder Interface for VC4xxx Smart Cameras

Serial output now inactive at startup with new camera hardware

All VC4xxx Smart Cameras (apart from VC4016 and VC4018) now feature a high speed encoder interface. 

Please follow the link below to download the new demo program enc_RPM.c. This program measures the turing speed of the encoder.

Please note: The encoder interface is only supported with new hardware (new PWR board).

  • VC Smart Cameras with the new encoder interface show a "1" as 3rd serial number digit (for example: 201XXXX for a VC4038 with encoder interface).
  • VC Smart Cameras without encoder interface show a "0" (for example: 200XXXXfor a VC4038 without encoder interface).

 Please observe: VC Smart Camera operating systems are not interchangeable. 

  • New camera operating systems from VCRT Version number 5.24-8 cannot be installed on cameras with old hardware (check during installation).
  • It is important not to install older operating systems VCRT Version numbers less than 5.24-8 on cameras with new hardware. (For example: 201XXXX for a VC4038 with encoder interface). This may damage the VC Smart Camera. 

 All VC Smart Cameras are now booting with the serial camera output inactve!

Since the serial output is now used as encoder signal input, this signal (V24 TxD out, Pin 1) is now inactive after starting the camera in order to protect an encoder connected.

Turn the serial interface on as shown in the demo program in order to use the serial output. The serial input is active from the camera start. This way the keypad can still be used to stop autoexec execution or to reset the IP address.

Start the md_rs232 program prior to your main program if you do not want to make adjustments to your code. This program simply calls the macro "INTERFACE_MODE(SERIAL), which means the camera starts up as serial camera as before (see file Mode_RS232.zip, download link below).

Encoder interface macros only work from VCRT/VCLIB PC library update version VCRT5.24_VCLIB302.

Also linked to this article is the source code and the compile test program for the encoder interface.

  • type 'iftest4x enc' => encoder TEST
  • type 'iftest4x ser' => serial I/O TEST

The Encoder.pdf shows the correct pin allocation for connecting an encoder (see download link below).

Encoder.pdf

Encoder.zip

Serial interface specification/Keypad interface specification Serial interface specification/Keypad interface specification

Voltage/Signal level Serial Interface/Keypad for different camera generations

The serial interface hardware has changed from the early VCxx to the current range VC4xxx model - so has the keypad interface. For this reason, different keypads are required for each camera series.

This article includes the power supply and signal level specifications of all keypad interfaces.

The RS232C norm specifies a signal level range from +-3V to 12V. In general, Voltage level have dropped over the years, with most modern RS232 interfaces just supplying LVTTL levels around 3.3V.

These changes also reflect the technical development of the V24 (RS232) of VC cameras. 3rd party equipment needs to match the requirements of each camera generation. Even within one series there may be subtle differences in signal levels - however all true serial interfaces meet the RS232 norm.

 General changes to the keypad interface/RS232 Interface:

  • The VCxx Keypad was attached to the serial V24 camera interface and therefore used a nominal supply voltage of +-12V (+- 25%). Refer to the keypad manual attached.
  • The VC20xx and VC4xxx Keypads are attached to the trigger interface and use the GND/5V supply from this interface.
  • In contrast to the VC20xx, the VC4xxx has a true bi-directional RS232 interface (+-3,3V). The VC20xx trigger interface only had a "Keypad In" line (signal level 0-5V). Note the new trigger input circuit required for VC4xxx cameras resulting from this modification! (Refer to VC4xxx HW manual for details.)
  • The chips used are: VC20xx-MAX202, VC4xxx-MAX3223 (from S/N XX1XXXX), the C4 keypad for VC4xxx cameras uses a MAX3227 chip (see VCSKB.pdf). Data sheets can be downloaded from http://www.maxim-ic.com/.
  • The signal levels may vary slightly within a camera series, however all chips used comply with the RS232C norm.
    Power supply   Signal level
VCxx   +/-12 V (+/-25%)   +/-12 V (+/-25%)
VC20xx   0 V (Gnd) / 5 V   0 V - 5 V (one-directional)
VC4xxx   0 V (Gnd) / 5 V   +/- 3.3 V (true V24, bi-directional)
Bypassing the autoexec execution on VC Smart Cameras Bypassing the autoexec execution on VC Smart Cameras

How do I bypass the autoexec execution on my VC Smart Camera?

  • For serial Smart Cameras: 
    To bypass the execution of the Autoexec, press the "Esc" button on your keyboard repeatedly during power up. The terminal program on the PC side (e.g. TeraTerm, HyperTerminal, ProComm) has to be set to 9600 Bd during this process.
  • For VC20xx ethernet Smart Cameras:
    Execution of an Autoexec can be bypassed by attempting to connect with the terminal program while the camera is booting. This works best if the connection within the camera is started shortly after connecting the camera to a power supply. This prevents the autoexec file from execution.
    Pressing Escape during camera power up on a keypad (order no. VK000002) connected to the trigger input does not only bypass the autoexec but also defaults the camera to the standard IP address of 192.168.0.65. This is the only way of accessing the camera if an invalid IP address has been created with the #IP file.
  • For VC40xx ethernet Smart Cameras:
    Bypassing the Autoexec Execution with VC40xx cameras can only be done using the VCnet Recovery Tool, available in the software section.
VC Smart Cameras with color sensor VC Smart Cameras with color sensor

Specific features and white balance

Description of the differences between VC color cameras

Vision Components sells two kinds of color cameras:

  • "Real" color cameras, with hardware color input look-up table: 
    the VC2065EC, the VC4065/C and VC4465/C.
  • Smart Cameras with color sensor: 
    for example VC4016/C, VC4018/C, VCSBC4016/C, VCSBC4018/C, and theoretically all  VC4xxx Smart Cameras ordered with color sensor.

"Disp" and "wb" shell commands, color LUT

These commands only work now with the VC2065EC. See program "wb.c" for an example of how to adjust the white balance on this camera. See program "whitebal.c" for an example of how to adjust the white balance on cameras with color sensors (especially VC4016/4018C). 
The first step is identical in both cases: use the function WhiteBalanceValues() to calculate white balance values. Then in the first case (VC2065EC) use init_color_lut() to program the hardware color LUT, and in the second case use init_color_table() to program a software color LUT.

Then in the case of a software color LUT, after every picture taking the LUT has to be applied to the picture with the clut_bayer() function.

Bayer pattern

On VC4016/4018C cameras, the bayer pattern may be shifted compared to the bayer pattern of the VC2065EC. This means, if you use color conversion functions like Bayer to RGB, colors will not be right. To solve this, the image variable should begin one line below, that is the start address has to be changed to getvar(CAPT_START) + getvar(VPITCH): 
ImageAssignC(&area, getvar(CAPT_START) + getvar(VPITCH), IMAGE_BAYER, ...);

If the colors still do not seem right, try
getvar(CAPT_START) + 1 or getvar(CAPT_START) + getvar(VPITCH) +1.

Example file: wb.c

Floating point calculations Floating point calculations

The floating point operations are very slow. Is there something wrong in my program?

Texas Instruments TMS320C6xxx DSPs used in VC Smart Cameras are not optimized for floating points operations. Please use integer calculation wherever possible, for example by using a scaling factor. 

See PDF for more information!

If floating point calculation is absolutely needed, the TMS320C62x/C64x FastRTS Library can be used. The execution times are then 2 to 4 times faster than with the "normal" library.

This library is free and can be downloaded from TI.   

VC Smart Cameras and wireless LAN (WiFi) VC Smart Cameras and wireless LAN (WiFi)

Do VC Smart Cameras work in a Wireless LAN (WiFi) network?

Yes, VC Cameras will work in any wireless LAN.

VC Smart Camera battery VC Smart Camera battery

Is there a battery in VC Cameras? What happens if it goes down? Can my data be lost?

Yes, VC Cameras do have a battery. 
Its purpose is only to keep the real-time clock up-to-date. 
Data is saved either on the flash EPROM or on the MMC card, which are non-volatile memories (they need no power to keep the data): there is therefore no risk to lose data if the battery goes down (which has not happened even once for 8 years and more than 30000 cameras sold).

The status of the battery can be accessed with the system variable LOWBATT.

New keypad for VC40xx Smart Cameras New keypad for VC40xx Smart Cameras

The VC20xx keypad does not seem to work with VC40xx cameras. Is there a special keypad for these cameras?

Yes. Due to the introduction of the additional serial interface, the pin 1 of the VC40xx trigger input  is different from the one of VC20xx Smart Cameras. Therefore a different keypad has to be used. (Order number VK000238.)

VCSBC4018 and VC4018 Smart Cameras' real-time clock VCSBC4018 and VC4018 Smart Cameras' real-time clock

I try to set the real-time clock with the command "time -s" but when the camera is restarted, the settings are gone. What's the matter?

Real-time clock is simply not implemented on VC4018 and VCSBC4018 cameras, therefore it is not usable.

Cable between sensor head and body of VC20xx and VC40xx Smart Cameras Cable between sensor head and body of VC20xx and VC40xx Smart Cameras

What is the maximum length allowed for the ribbon cable between the sensor head  the main body of VC20xx and VC40xx Smart Cameras?

It is recommended to use cables that do not exceed 200 millimeter. But then the camera will not be CE-compliant anymore.

VC40xx Smart Cameras Ethernet pin assignment VC40xx Smart Cameras Ethernet pin assignment

Is the pin assignment of the Ethernet interface of VC40xx cameras the same as the pin assignment of the Ethernet Interface of VC20XX cameras?

Yes, the pin assignment is the same. Only the trigger input is different. For details please refer to VC40XX hardware documentation. 

D-SUB 15 pin connector and SVGA cable D-SUB 15 pin connector and SVGA cable

How do I connect a D-SUB 15 pin connector to a SVGA cable (with camera connector on the other side)?

The D-SUB color/Pin allocations are:

      red Signal: 1
      red shield: 6
      green Signal: 2
      green shield: 7
      blue Signal: 3
      blue shield: 8
      white signal: 13
      white shield: 10
      grey signal: 14
      grey shield: 5

For the Hirose camera connector pin allocation, please refer to the hardware documentation of your camera.