Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | ATOMS
File : Details
Login with GitLab

ISG500 Function Generator & frequency-meter

Driver for ISG500 (& ISG1200) Function Generator & frequency-meter
(2587 downloads for this version - 2587 downloads for all versions)
Samuel Gougeon
Samuel Gougeon
Supported Scilab Version
Creation Date
March 16, 2012
function [rep] = FG_ISG500(varargin)

 Function Generator ISG500: Driver for Scilab >= 5.0
 The ISG1200 12 MHz Functions Generator should also be supported.

 MAIN DEVICE CHARACTERISTICS (See full datasheet from IeS manufacturer):

  Frequency range : 10 mHz - 5 MHz
  Function shapes : DC Sinus Triangle Square Slope+ Slope- TTL (Pulse)
    Sweep (internal):
        Range   : 200 mHz - 100 KHz
        Type    : Linear  or logarithmic
        Periode : 20 ms - 20 s
    AM : 0 - 100%        BW= 0-20 kHz
       internal: 500 Hz sinus
       external: 1 Vrms = 100%
    FM : 100 Hz - 5 MHz  BW= 0-5 kHz
    FSK: 100 Hz - 5 MHz  BW= 0-100 kHz
    PSK: 0 - 360°        BW= 0-100 kHz
  Output can be limited (for safety)

 SERIAL COM: BEWARE: Please set RS-232 speed = 19200 bauds on the device:
                       Button MENU => Interface => RS232 => choix
 LIMITATION: Only one ISG500 device can be driven from a computer

   . Command names are case unsensitive
   . Commands may be sent whatever is the output status for power (on|off)
   . Every command (except 'close' & 'reset') needs an argument, making
      a (command, argument) pair
   . Multiple pairs (command, argument) can be processed in a once.
     Then, commands are performed in the order to which they are provided.
   . Commands only set the device. There is no command to query its status.

 Possible (command, argument) pairs and signification are:
 'open', portId : Open the serial communication
                  portId: serial port number (1,2,..) to be used

 'reset'    : Reset parameters to default values stored in set #0 (see

 'close'    : Close serial communication for this device

 'shape', 'sinus'|'triangle'|'square'|'DC'|'TTL'|'pulse'|'slope+'|'slope-' :
                  Set the shape of delivered signal. 
                  Shape's name is case unsensitive.

 'amplitude', A : Set the amplitude of delivered signal to A (decimal number).
                  in TTL mode    : A = -10 -> 10 V
                  in other modes : A =   0 -> 20 V
                  In case of overvalue, amplitude is set to the nearest accepted

                   limit, and a warning message is displayed

 'offset', val  : Set the offset to val [V] (float number). Range = [-10, 10] V

 'frequency', F : Set the main Frequency to F Hz. 
                  F = 10 mHz - 5 MHz  (0.01 -> 5e6)
                  F may be specified in normal or scientific notations.

 'limit', 'on'|'off'|value [V] :
                  Enable | Disable | Set voltage limitation output for securing
                  the powered circuitry. Beware that setting a new value does 
                  not automatically enable the limitation.

 'rWidth', rW : Set the relative width [%] of square signal: range= [5, 95] %
                rW = Relative duration of Vmax state / periode

 'width', w   : Set pulse duration [s].  At a given frequency F, the relative
                 pulse width rW is set to achieve the required pulse duration.
                 One should have w = rW.F , with  0.05 < rW < 0.90

 'modulation', [ Type Source] : Start modulation mode of the specified Type and

                  Source, with possible values:
                  Type: 'SWP' | 'AM' | 'FM' | 'FSK' | 'PSK' | 'TTL'
                        SWP: Frequency Sweeping (vobulation)
                         AM: Amplitude Modulation
                         FM: Frequency Modulation
                        FSK: Frequency Shift Keying (Numerical FM)
                        PSK: Phase Shift Keying (Numerical Phase modulation)
                        TTL: Gate modulation (source parameter not required)
                   Source: 'int' | 'ext'  (respectively: internal, or external)
                   External modulation can be performed when an external source
                    is connected to the device through its 
                    "Modulation input" BNC connector.
                     'modulation', ['FSK' 'int']: start FSK internal modulation
                     'modulation','stop': Stop running modulation & return
                                          to fixed frequency delivery.

 'modParam',arg : Set modulation parameters (without stopping any running 
                  Note: A running modulation must be stopped before changing its

                   parameters (else, parameters are not updated).
            arg=['AM' modRate ] : Set modulation rate for AM modulation, in %.
                  modeRate must be a positive decimal number <= 100 
                  specified as a string
            arg=['FM' FM_shift] : Set the frequency shift for FM modulation. 
                  FM_shift must be a string among the following (as shifts
                   specified in Hz):
            arg=[Type F_start F_end Periode ]: Set internal sweeping parameters
                  Type=0  : Linear variation of the frequency
                  Type=1  : Logarithmic variation of the frequency
                  F_start : Starting frequency [Hz]. in [0.2 Hz, 5 MHz]
                  F_end   : Ending frequency [Hz].   in [0.2 Hz, 5 MHz]
                    Warning: Sweeping is performed with increasing frequencies
                    (so F_start & F_end are inverted if F_start > F_end)
                  Periode : Sweeping periode [s].  in [20 ms, 20 s]
                  The 4 parameters must be specified as numbers
            arg=[ 'FSK' F2 ] : Set the second frequency F2 for FSK modulation.
                   F2 in Hz as a string
            arg=[ 'PSK' phase ] : Set the phase shift [°] for PSK modulation.
                  phase must belong to [0 360[ ° and be specified in a string.

 'store', nS  : Store in the nSth set of parameters the current ones. 
                nS= 1->9 (integer)

 'recall', nS : Set current parameters to their values stored in the nSth set 
                of params.
                nS= 1->9 (integer). Set #0 is reserved for default params.

 'Fmeter', flag : Set or unset the device as a frequency-meter
        flag= %F | 'off'| 0: Set the device as a Functions Generator (default)
        flag= %T | 'on' | any not null number: => device = Frequency-meter.
                  Frequency range: 100 mHz - 100 MHz. 
                  Input: "Counter Input" BNC
Files (2)
[23.96 kB]
Miscellaneous file
ISG500 Driver. exec() this file. Then in Scilab type
to display the help (see the main description above)
[259.70 kB]
Miscellaneous file
ISG500 device: command pannel (for thumbnail)
News (0)
Comments (0)
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.