Home

Real-Time Supervisor System Based on Trinary Logic to Control

image

Contents

1. f am aman mii a am nmi fa nama ut eimcate yet nee am ahem ee ama ima mma hier a i hi 11 umon cron S e S e Pott it Wl s v T Si i man wt 1 Lill ee ee fn LI LOM LIO Mi am y afiwa wmm fa wowma fa am i u a ammm anma a afam njan w waa wm iaw i i a a an a aada aaa aa faman ES ii Loot a BA ET l pa Fa A a I i ee a S I more ta Moa awan Lo Io 1 l Went l PN aapa o mmi in mu mnn unt no wit wn wi iw bom Iter oaa i a ees LS v ane v ae a f in 1 1 1 1 tI i WHILE mi 3 ee MAONO MMM OAOE a LEE TL M na ume in 1 mam N R T T oe yi a sn a MAOI I MI LO l l 1l 1i l m 4 2M Miimi mi awa OM O MA MAAM OAA U i OCOLUANA OMN w OA a a a 0 a a a A A e cr S A gt st i a It ae ul I I jm MODANI MAE AIEEE EME HEM 11 ILA g Wim iman aman foom if ionni 1am Mmi maa naa amaan e mm E A 2 l I 1 n nnm joy I i a y a v J v p l T A wort toot 1 LLIN LI Ool e imu m n C ALENA AE we Hd eC ee La IDMAN a nB DAN eee I I l T LIL Wa Me v 1 z LI id 1 il I ttt z e mam a mw w NOA NAWON AANO ANANIN MAA O na M i a
2. 1 The fact that each time slice has two successors usually the next working slice and an error handling slice shows an important behav ior of the algorithm the possibility of implementing a branch in the execution This possibility can be used to meet the needs of experi mental interest For example you may want to study the neural response in a two choice reaction task like presenting two visual stimuli to an animal and asking it to decide if they are similar or not by making a saccade upward or downward respectively Depending on the reaction of the animal the experiment will proceed in one of two different manners In cases like this the two pointers true and false index of the working slice revealing the animal s decision will point to a working slice Such a situation is shown in Fig 2B The branch point in the flow of the experiment is at the second working slice ws_2 in Fig 2B The experimental condition described in Fig 2B contains the time slice sequence ws_1 ws_2 ws_3 ws_4 ws_7 as well as ws_1 ws_2 ws_5 ws_6 ws_7 It is worth noting that the two branches converge on one time slice ws_7 before ending the con dition This is not necessary but it simplifies the handling of the pointers to the first working slice of the next condition A problem to solve here is again the defined maximum duration of the time slice In the example the branch of the false index will be followed either if during the previou
3. queue E N jassi sh hron data queue TCP line c From host PC BE MooH at Beall to host PC ry Pt notifier E Toooo Seo FIG A3 LabVIEW diagram of the PXI PC main program Only the 2nd and 3rd frames of the program are shown values and calculates the result value as described in the preceding text stops when the state value is gt 0 The third frame reads the finishing time of the time slice writes the number of condition the time slice index the state value of the time slice and the states of the digital input channels in a cluster which is set on the queue these values will be transmitted to the host PC and constitute the chrono logical data Finally the index of the next time slice is calculated in relation to the state value actual index true index if state value 1 or actual index false index if state value gt 1 TABLE Al Priorities of the real time subVIs Name Priority Time critical priority highest Normal priority Normal priority Normal priority Normal priority Normal priority Task_ctrl vi Analog_acq vi Spikes acq vi Tx_chronological_data vi Tx_analog data vi Tx_spikes_data vi When the program has passed the sequence structure the interme diate loop tests whether the task has terminated correctly and sends the stop sequence for all sub VIs by the exit que
4. fask queue io Tre f EH Tag z bm G generate a pulse on the y a rigger line to start isynchrounously lcounters and analog jacquisition E data sii peus H geai Fea emna output Y bole l cock onw config Digital input channels _ L a TE k al digtal H utputs Troup Digital output a Toff state Rotana haros _ Bae z ory o mcm T notifier FIG A4 LabVIEW diagram of the supervisor program on PXI PC The supervisor program with the 3rd frame of the sequence structure containing the innermost while loop occurrence is set to have no time out and the program waits on the begins to read out the buffer assigned to the MIO device The buffer read occurrence until the start signal arrives Immediately after the start signal procedure is organized in an inner while loop which is timed to be the program passes into the case structure starts the MIO device and executed every 4 ms In each loop at least two samples are read from the A tart occurence inalog data eue TOTT 3S Control ERa koccurence Analog data queue CPHIP connection FIG A5 Analog data recording and sending programs on PXI PC A while loop to record analog data B while loop to transmit recorded data to the host PC For details see text J Neurophysiol VOL 93 JUNE 2005 e www jn org
5. the following The monkey presses the start button placed at chest level in front of it 2 waits for a variable time for a LED in front of it to light up green 3 makes a saccade toward the position of the LED 4 fixates the LED and waits for it to change color green gt red 5 releases the start button as a result of the color change 6 makes an arm movement toward the target button and presses the Innovative Methodology 3675 target button 7 remains with its hand on the target button and waits for the LED to switch off 8 releases the target button as a result of the LED switch off 9 makes an arm movement back to the start button and presses the start button 0 is rewarded The experiment is shown in Fig 1B as a time sequence of states of input channels to be controlled top and output channels to be set bottom Advancement in the sequence depends not only on the supervisor system but also in large part on the behavior of the animal For example it is impossible either to foresee the exact time an animal needs to release the start button after the LED color change or the time needed to move its arm toward the target button It is only possible to set some upper limits for these intervals in ranges of physiological behavior Depending on the animal s behavior the supervisor system has to decide to go ahead in the experimental sequence or to change requests to the animal as necessary for example breaking the trial
6. A Ba a y a a a aa Aaa 1 MN hs r tj x K ona j i eS Lus u E AN af k my l LI i l ee TST bOI TU 8 RO mammam wi Mm i M 1 Hamam ee a aw aa aaa 1 aanl siw a vimana aama a odt 1 VA a 1 ammam v w v u Wt Lm iol Mie l oud I il FEU HI tL WE g immm mmm o oem i Madi aioa CM Aa ai m O nh im TEC v ttm r a Hj F w yo MiNI i cc a ur pi LON LENEE M C a tout 10 mn W i mjm mm iN Wi pni mmn i Oona wami a i mmaa ia a VW r m J p ws fe E r i a E v1 V v v 1 Momoa w E a gl ee BA Te E N pii ui LIO M ANALO MONOMO ORD AD a G ma TTT nm t LOI d BRONN MMMM ME B a a O a B a 11 1 l Il ae it pos E v i v Y XIE im Wi l 1 ul UO MOm I l i i l qo PUM mmmn mamno mn DOn AUO AfA MW MEN A AMU UULA MBMA HL mud HA Pd el i 1 FTA Sf j re oe me A a Wi a i n 1 in l 1 u ahm N ili tid 1 mM wea mg tm comm E me foeo fa mn um mmi iim w oa Caim nm rae mammal 13 en Oe a ape fH v Y 1O mjaa a aa a a ja La m oa MO n E Tu CJI ut TOO ee MEI Wine mM jmo mia a a daom aa a o paama TT a a a mm a a m a aa fa TRC UR 14 Ln n i m7 pe a m ee a mm mt 15 Ee _ LOLLE OD OD IiI 0 10 20 30 40 50 60 s FIG 6 Continuous recording The graph shows the continuous recording of 3 neurons eye position signals and behavioral events for gt 15 min of recording time Sixteen rows comprise the graph each row demonstrates the data for lt 1 min and the running minute is indicated on the left side The Zst 3 lines show the raste
7. Innovative Methodology 3686 device buffer and sent on the data queue analog The values of first two channels containing the data of eye position are stored also in a notifier eyes The number of data points remaining on the device buffer is stored in a shift register and used to extend the number of data to read in the next cycle of the inner loop After reading the device buffer it checks whether an element on the exit queue is present If not it begins with a new read operation otherwise it stops the inner while loop immediately sets the MIO device to pause and takes one element from the queue exit In relation to the value from the queue as explained previously the program finishes the outer while loop and terminates the sub VI or goes back to wait a new start signal on the start occurrence The transmission procedure of the data are shown in Fig A5B The algorithm similar to the acquisition algorithm is based on a construc tion of an outer while loop and a case structure containing the inner while loop The references of the start occurrence of the analog and exit queue are passed to this sub VI as well as the reference of a static TCP line for communication with the host PC After the start of outer while loop and the reception of start signal on the start occurrence the program passes to the case structure It first opens a dedicated TCP line for transmission of the analog data and then passes to the inner while loop where
8. Omega Eng Nazareth Israel and their time stamps are recorded by a counter device used for buffered event counting Eye positions are measured using an infrared oculom eter DR BOUIS Devices for movement measurements Karlsruhe Germany and recorded by an analog input device of a multifunctional Host computer Home made Communication stimulation apparatus Control Loop Loop External DISK Time critical Pormal Application A Spike detection lt C gt FIG 3 Schematic drawing representing the systems A A hardware and software structure of the imple Oculometer y User On line mented real time supervisor system Electromyography Data Acquisition Loop Interface pa normal nalysis J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3678 board LED and buttons are through a homemade interface controlled by a digital I O device The method is implemented using the LabVIEW G language Ko dosky and Dye 1989 on two computers see Fig 3 an ordinary PC running Windows host PC and a dedicated PXI CompactPC Na tional Instruments for real time control and data acquisition For a flexible management of time slices conditions and tasks we used a relational database Microsoft Access read out by LabVIEW The host PC serves as the interface between the user and the PXI PC It programs on the PXI stores the data acquired by the PXI PC and analyzes the acquired data on line in the form of peristimu
9. a time slice and its algorithm and higher level structures based on the time slice concept The second part describes the method implementation and the hard Address for reprint requests and other correspondence D F Kutz Dipar timento di Fisiologia Umana e Generale Univerita di Bologna Piazza Porta San Donato 2 40126 Bologna Italy E mail kutz biocfarm unibo it 3674 0022 3077 05 8 00 Copyright 2005 The American Physiological Society The costs of publication of this article were defrayed in part by the payment of page charges The article must therefore be hereby marked advertisement in accordance with 18 U S C Section 1734 solely to indicate this fact www jn org REAL TIME SUPERVISOR SYSTEM ware used In addition the APPENDIX contains a more detailed descrip tion of the different procedures implemented with the LabVIEW G language Kodosky and Dye 1989 Theory CONTROL OF EXPERIMENTS USING BEHAVING ANIMALS Experi ments using awake behaving animals are difficult to control because the behavior of an animal is only partially predictable Although animals like monkeys can be trained for certain tasks e g to perform a saccade toward a target the induced behavior will be correctly per formed with a probability lt 100 Experiments based on animal behav ior must be designed so that they take into account the probabilities of an animal producing behavior in the sequence and timing intended by the scien
10. and finishing any type of stimulation An analysis of the state graph in Fig 1B will show how a super visor system can control different behavior requirements Behavior requirements can be classified as four kinds to remain in the current behavior e g fixation of a visual target to reach a behavioral condition e g starting to press a button to end a behavioral condition e g releasing a button to avoid producing a behavior e g not making a saccade to a distracter Examples for the first three behavior requirements are shown in Fig 1B in the first fourth and fifth intervals At the beginning interval 1 the supervisor system waits for the monkey to press the start button Expressed in sense of information the system waits for the condition pushed to be reached In a subsequent interval No 4 when the LED lights up green and the monkey fixates it the supervisor system checks that the start button remains pushed In the next interval No 5 the LED changes color and the system waits for the condition pushed of the start button is end This description confined for simplicity to the state change of the start button shows that a predefined condition of a control variable can be reached in a time interval can end during a time interval or can remain for a time interval At the moment in which a predefined condition is reached or ends the time interval finishes and the control program advances in the sequence I
11. and Boulden E CORTEX A program for data acquisition and experimental control 5 ed http www cortex salk edu 2004 Fattori P Gamberini M Kutz DF and Galletti C Arm reaching neurons in the parietal area V6A of the macaque monkey Eur J Neurosci 13 2309 2313 2001 Kling Petersen T and Svensson K A simple computer based method for performing and analyzing intracranial self stimulation experiments in rats J Neurosci Methods 47 215 225 1993 Kodosky J and Dye R Programming with pictures Comput Language Mag 1 61 69 1989 Kullmann PH Wheeler DW Beacom J and Horn JP Implementation of a fast 16 Bit dynamic clamp using LabVIEW RT J Neurophysiol 91 542 554 2004 Marzocchi N Cavalcanti S Galletti C Fattori P and Kutz DF A new real time supervisor system for data acquisition analysis and control of visuomotor task experiments FENS Abstr 2 A052 013 2004 Nordstrom MA Mapletoft EA and Miles TS Spike train acquisition analysis and real time experimental control using a graphical programming language LabView J Neurosci Methods 62 93 102 1995 Poindessault JP Beauquin C and Gaillard F Stimulation data acqui sition spikes detection and time rate analysis with a graphical program ming system an application to vision studies J Neurosci Methods 59 225 235 1995 Puppe B Schon PC and Wendland K Monitoring of piglets open field activity and choice behaviour during the replay of maternal vocaliza
12. execution of its last working slice or the end of execution of an error handling slice To concatenate a sequence of conditions the true indexes of any possible last slice irrespective of whether it is a working slice or an error handling slice must point to the first working slice of a condition see Fig 2A It is worth noting that the true index pointer of the error handling slice can be used for different training strategies i e the same condition can be repeated by pointing back the true index to the first working slice of the same condition while loop on a condition or as a different strategy pointing the true index to the first working slice of the following condition like in Fig 2A Time Slice State Sin Sr Motive Cause Algorithm Outcome no change in any selected input channel has occurred and T has not exceeded Tnax go ahead with the same time slice 1 an intended change in an input channel or time slice finishes without any change of the selected go ahead with the next time slice input channels as intended correct end of the time slice of the experiment gt 1 an unintended change in selected input channel or time slice finishes without any intended go ahead with a time slice change of a selected input channel erroneous end of a time slice different from the foreseen one For definition of Sin Sr T and Tmax see Table 1 J Neurophysiol VOL 93 JUNE 2005 e www jn org REAL TIME SUPERVISOR SYSTEM
13. for a fixed duration of trial sweep and therefore it is suitable for experimental studies different from those recording behaving subjects It stimulates a cell and records data for a defined time without the need to react on an intended behavior Another difference lies in the possibility to extent the program Kullmann et al have foreseen the imple mentation of new virtual ion channels as an addition to the software in the real time cycle The experimental task application of pulses of defined duration remains unchanged In contrast our program is designed to construct as many tasks as possible with the hardware environment Another program to control neurophysiological experiments with awake behaving animals is CORTEX developed by Robert Desimone in the early 1980s and re elaborated by many of his colleagues in the following years We will refer here to the VCortex Ver 2 0 User Manual Desimone et al 2004 This program is developed in the C language for a Windows PC CORTEX is mainly a program designed to study neural responses to visual stimulation It is a trial oriented supervisor system in which a defined experimental condition is tested during one trial The basic concept in organizing the experi JUNE 2005 www jn org REAL TIME SUPERVISOR SYSTEM min Innovative Methodology 3681
14. time S Ain analog inputs Aef the reference values of the inputs d maximum difference acceptable Din Current values of digital inputs Dmask sets on the digital inputs to be controlled and Det settles the awaited value for the settled digital inputs T the elapsed time Tnax the acknowledged maximum length of time slice Time slice state is computed as Sin Sr T F True false For description of behaviors remain reach end and avoid see text a change in input channel is expected it is the change itself which provokes the transition from one time slice to the next The same is true for the output channels output channels are changed at the beginning of a time slice Any change in an output channel first needs a transition from one time slice to the next The input channel Eye is a special input channel not only because eye position data are analog and not digital like the start button but also because it is not always necessary to control eye movements In the example experiment of Fig 1 eye movements are controlled only during the third to eighth time intervals TIME SLICE STATE Summarizing the preceding description a time slice can be defined as a time interval of defined maximum duration Tmax during which neither the input or output signals changed in relation to prefixed values Four distinct time slices can be introduced in consideration of the behavior Remain Reach End and Avoid The supervisor syste
15. while loop which receives the task from the host PC starts the control and acquisition routines and stops them The start signal for each recording is given by means of the start occurrence and the stop signal is given by the queue exit The queue exit contains Boolean value The presence of a value on the queue indicates to the other sub VIs to stop the acquisition or the transmission process Depending on the value on the queue the sub VIs wait for a new start signal false value or terminate definitively true value Control loop The control loop Fig A4 is the core of the time slice algorithm implementation In fact it handles one time slice at a time e g it reads the actual state of the input channels and compares them to the intended values until it finds a result value corresponding either to a correct end or to an erroneous end of the time slice Then based on this value it starts the following time slice The control loop has the following construction going from outside to inside Fig A4 an outer while loop a case structure not shown an intermediate while loop and a sequence structure containing in frame 2 the inner while loop The outer while loop cycles around all tasks applied during a recording session The intermediate while loop cycles around all time slices of a task and the inner while loop cycles around all the evaluations of input channel values during a time slice The main VI passes to this sub VI the refere
16. I CAVALCANTI AND GALLETTI input channels are either ignored or are expected to maintain their status without a change An example for the latter case is time slice 3 when the LED in front of the monkey is changed to green and the monkey is expected to make a saccade toward the LED while keeping the start button pressed In this time slice the digital input channels of start and target buttons are expected to remain unchanged whereas the channel Eye reaches a reference value see Table 1 If the task consists of making the saccade and moving the arm from one button to another it has to be split into two time slices In the first time slice the input from the analog channel monitoring eye position would be expected to change Then in the second time slice the execution of the arm movement would be monitored Because saccades are faster than arm movements this strategy works quite well CONDITION AN ORDERLY SEQUENCE OF TIME SLICES The next step is the construction of an experimental condition based on a sequence of time slices In principle this involves composing an experiment as a sequence of time slices like the experiment shown in Fig 1 In the experiment of Fig 1 the supervisor system executes the sequence until the animal behaves as foreseen by the protocol Problematic is the situation when the animal does not behave as required To handle this situation a specific time slice called error handling slice eh has been introduced
17. Innovative Methodology J Neurophysiol 93 3674 3686 2005 First published February 9 2005 doi 10 1152 jn 01292 2004 Real Time Supervisor System Based on Trinary Logic to Control Experiments With Behaving Animals and Humans D F Kutz N Marzocchi P Fattori S Cavalcanti and C Galletti Dipartimento di Fisiologia Umana e Generale and Dipartimento di Elettronica Informatica e Sistemistica Universit di Bologna Bologna Italy Submitted 17 December 2004 accepted in final form 4 February 2005 Kutz D F N Marzocchi P Fattori S Cavalcanti and C Galletti Real time supervisor system based on trinary logic to control experiments with behaving animals and humans J Neurophysiol 93 3674 3686 2005 First published February 9 2005 doi 10 1152 jn 01292 2004 A new method is presented based on trinary logic able to check the state of different control variables and synchronously record the physiological and behavioral data of behaving animals and humans The basic infor mation structure of the method is a time interval of defined maximum duration called time slice during which the supervisor system periodi cally checks the status of a specific subset of input channels An experimental condition is a sequence of time slices subsequently exe cuted according to the final status of the previous time slice The proposed method implements in its data structure the possibility to branch like an if else cascade and the pos
18. Innovative Methodology 3683 in a binary file not in the database and the database contains just the reference to the binary file PXI PC program The main program running on the PXI PC is based on a while loop for the communication and six sub VIs running in parallel in real time Fig A3 There are a couple of sub VIs for acquisition and trans mission of analog data analog acq tx analog data and spike data spike acq tx spike data The other two sub VIs are the control sub VI controlling the experiment real time ctrl and a sub VI trans mitting the chronological data in relation to the advancement of the time slice sequence tx chron data The task control sub VI has time critical real time priority and is set to work with a time accuracy of 1 ms The other sub VIs have lower real time priorities see Table A1 The procedure of the main program is divided into sequence frames In the first frame the counter which triggers the analog acquisition starts then pauses and waits for its activation during the recording sessions This warm up round of the counter ensures a synchronous start at the beginning of each recording The next frame contains the creation of the data queues analog time_slices spikes the control queue exit the notifier eyes and the start occurrence Their references are passed to the acquisition and transmission sub VIs in the third frame shown in Fig A3 This frame also contains the main
19. cord data and during the pauses it waited for the moment when the animal decided to restart the task Continuous recording was possible thanks to the qualities of the algorithm The first time slice of the condition was a Reach time slice set to wait for the animal to press the start button with a duration up to 7 5 s If after this duration the animal has not pressed the start button the time slice finished with an error and the supervisor system proceeded with the error handling slice The error handling slice waited for no button to be pressed which was immediately fulfilled because the animal did not pressed any button Therefore the supervisor system restarted the condition with its first time slice waiting for the animal to press the start button for another 5 s and so on It is worth noting that the recording of eye position signals and time stamps of detected spikes are independent from the time needed by the supervisor system to make a decision The continuous recording allows us to correlate neural response with behavior during the performance of a task but also to correlate neural response recorded during the inter trial phase independently from its duration DISCUSSION This paper describes the design and implementation of a new algorithm to control experiments with awake behaving animals The algorithm was implemented by LabVIEW on an embedded PC fitted with a real time operating system RTOS This imple mentation rep
20. could have been stored on PXI PC hard disk however we preferred host PC because this allows us to perform some on line analyses of the data such as trials statistics and neural discharges visualization raster plots and PSTH The front panel user interface of the host PC program contains all the controls needed by the experimenter such as task choice selection of active spike channels buttons to start and stop the experiment and some useful indicators like trial counters program status etc Furthermore the host PC program communicates by a TCP IP line with the PXI PC program sending user commands and receiving data and other informa tion Received data are stored on a relational database allowing easier retrieval of data for on and off line analyses using simple SQL queries In particular this enables highly flexible on line analysis of the spike trains during the acquisition it is possible to change the visualized spike channels the marker used to align neural activity and the conditions analyzed This provides the scientist with a good tool to understand recorded neurons behavior to optimize their investigation The host PC drives the PXI PC program which has three main duties controlling the advancement of the experimental sequence acquiring data and transmitting them to the host PC The control loop executed with a real time priority represents the implementation of the time slice algorithm It handles one time slice at a ti
21. d we can theoretically store an infinite amount of data In addition the storage of behavioral as well as spike data in a relational database allows us to resynchronize histograms and raster plots to different events during the recording CORTEX contains a large set of predefined functions for visual stimula tion As our program was written with the intention to produce visual as well as other kinds of stimulation by hardware outside the supervisor system the supervisor system controls only the start and end of different stimulations and the responses evoked by them CORTEX contains also the possibility to branch the execution or create loops of different parts but this can be done only of the level of the CSS program language and not in the data structure If one wants to change parts of a task it is necessary to rewrite the program In conclusion our program does not contain any limitation in the length of a condition It synchronously records the signals of four analog channels i e eye position signals electromyography etc the time stamps of several single neurons simultaneously by means of single and multielec trode recording and multi spike detection sets digital output channels and reacts immediately on changes of selected digital or analog channels In our present system we reserved six counters for acquisition of time stamps of detected spikes This number can be scaled by installing additional Timing IO devices The time s
22. e construction of cascades or loops is done by the concatenation of time slices In addition it should be noted that the construction of these control structures does not need knowledge of specific program languages The algorithm described is not the first to be published in the literature Poindessault et al 1995 gave first complete program for stimulation and data acquisition using LabVIEW This pro gram was designed to perform stimulus control and data acquisi tion and off line analysis of visually driven neurons in frog The main difference of between our program and that of Poindessault can be summarized in two points their program is constructed for experiments with animals that do not have to produce any kind of behavior and using the classical non real time LabVIEW envi ronment LabVIEW 2 on a Macintosh II computer the program was not suited to real time needs Any node of the program was executed 1 60s in round robin fashion Therefore real time application had needed to be design around the hardware Poin dessault et al 1995 Recently Kullmann et al 2004 described a new control and recording program using LabVIEW RT The program called G clamp is an implementation of the dynamic clamp method for whole cell voltage clamp studies The authors divided their program into two parts one to be executed in real time on a PXI PC and a second part executed on a Windows PC used as a user interface This program is designed
23. e frame of the control loop containing the time slice control algorithm see Fig A4 in the AppENDIx The loop contained in this sequence frame was performed with a preci sion of 1 ms Taking into account the fact that the fastest behavior a monkey can produce is an expressed saccade latency gt 50 ms we can be sure that any relevant behavior of an animal can be correlated with spike data with accuracy lt 1 ms We also estimated the error of synchronous detection between the analog device eye position or EMG versus digital device and between analog device versus counter device The error was 0 73 0 71 and 1 16 0 58 ms respectively Taking into account that the sample frequency of analog data was 500 Hz the supervisor system recorded data with a sufficient precision to correlate analog data with neural or behavioral data Figure 6 shows the continuous recording of neural activity eye position and behavioral data for gt 15 min in which the animal had to perform a delayed reach task similar to that described in Fig 1 The neurons discharged with varying frequencies during the whole recording The neuron shown in the second line of the raster plot discharged throughout the recording the one in the first line discharged less often and the neuron in the third line dis charged rarely The animal performed the task during the first three minutes and paused for the following 7 min with two exceptions The supervisor system continued to re
24. ehavioral events both triggered by the same event the rising edge of a square wave This means that we can estimate the accuracy with which behavioral data can be correlated with spike data The results Fig 5 show that the system reacted with an error of synchronous detection lt 1 ms when the duration of a time slice was 40 ms Forcing the system to react faster increased the error The maximum error of synchronous detection of all measurements was not longer than 4 ms Forcing the system to react faster than any 4 ms the supervisor system broke down This dead time of the supervi sor system was due to the fact that the inner while loop of the control loop contains a sequence structure with four elements error ms Oo N a7 a XY a 45 10 40 100 time slice duration ms log 400 FIG 5 Results of the performance test The graph shows the difference of time stamps in ms recorded with the counter device and as chronological data by the supervisor program The abscissa gives the duration of the time slices and the ordinate the differences Each point represents the mean and SD of the test J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3680 KUTZ MARZOCCHI FATTORI see APPENDIX Executing all four sequence frames 4 ms time was needed During the execution of longer time slices 240 ms when the supervisor system needed to take a decision the supervisor system was executing the third se quenc
25. eriodically checks the status of a specific subset of input channels The status of a time slice is based on trinary logic which refers to the three behavior dependent states nonfulfillment of required behavior correct performance of task or erroneous task performance An experiment is seen as a sequence of time slices subsequently executed according to the final state of the previous time slice This paper describes the algorithm and its implementation using the real time version of LabVIEW programming envi ronment National Instruments Austin TX Since its intro duction the LabVIEW G language Kodosky and Dye 1989 has been one of the most powerful software tools to create easily supervised systems to control experiments This is dem onstrated by numerous examples in the literature showing the advantages of a graphical software environment in human and animal studies in vitro Budai et al 1993 Kullmann et al 2004 in vivo Budai 1994 Kling Petersen and Svensson 1993 Nordstrom et al 1995 Poindessault et al 1995 animal behav ior Puppe et al 1999 Our algorithm also allows continuous recording in the case of unpredicted animal behavior and can be used to drive psychophysical studies with normal human subjects or pa tients Preliminary data have been presented in abstract form Marzocchi et al 2004 METHODS This section is divided into two parts The first Theory describes the new method introducing the concept of
26. ex Therefore by querying this table predefined time slices can be assembled into any kind of experimental sequence considering all the records with the same ID Condition Similarly different conditions can be assembled into a task by means of the task structure table The database for acquired data includes four tables as shown in Fig 4B The main table called Recordings associates to each experimental recording an identification number ID recording used to reference the entrances of the other tables and specifies the path of the binary file containing analog data This kind of storage for analog data were chosen to enhance the time to write data to hard disk The second table in the database is for chronological data i e information about time slices execution state value start time end time The remaining two tables are used for spike acquisition and contain the list of units recorded on selected spike channels and the spike time stamps respec tively The advantage of storing spike data and chronological data in Innovative Methodology 3679 a database is not only for off line analyses but it also allows on line analyses during the experiment Reading the database for different criteria like different conditions of a task different behavioral events of a condition or different counter number gt different neurons allows the incoming data to be separated for different response characteristics of different neurons and to adapt the
27. ex points to the sequence ws_3 ws_4 and its false index points to the sequence ws_5 ws_6 Both branches converge to the last working slice branch can be added in any branch So the program can behave like an if else cascade TASK A SEQUENCE OF CONDITIONS The task structure will be introduced to complete the description of the experimental protocol A task is referred to as a set of one or more conditions For example if the experimental interest is to study the neural response to saccadic eye movements it could be desirable to study the neural response to different movement directions and or amplitudes Each test to one direction or amplitude will be a different experimental condition All conditions prepared for an experiment will be grouped in one task e g the 8 conditions for studying saccadic eye movements along the directions of the cardinal and oblique axes No order is imposed on the execution of the conditions The decision to use an orderly sequence of conditions or a randomized one often depends on the experimental protocol so it should be possible to present to the animal an orderly sequence as well as a randomized one Implementation The method is implemented so as to perform a task like that described by Fattori et al 2001 Our actual setup Fig 3 allows single and multi electrode recordings Neurons are separated by means of a Schmitt trigger BAK Electronics Germantown MD or a multiple spike detector Alpha
28. it takes first one element from the queue converts it to a string and sends the string to the host PC through the dedicated TCP line The inner loop is stopped when an element is found on the exit queue and no more data elements are stored on the data queue If there are data still stored on the queue the inner loop continues to send the data This makes sure that all acquired data are sent to the host PC After finishing the inner while loop the sub VI sends a character to the host here a on the static TCP line to inform that the transmission of analog data is terminated The inner while loop is timed to be executed every 4 ms We decided to use this short interval to ensure a high transmission rate for analog data because of their large amount The outer while loop is finished in relation to the value taken from the exit queue ACKNOWLEDGMENTS We thank P H Kullmann for useful feedback on the manuscript KUTZ MARZOCCHI FATTORI CAVALCANTI AND GALLETTI GRANTS This work was supported by grants from Ministero dell Istruzione dell Universita e della Ricerca Italy REFERENCES Budai D A computer controlled system for post stimulus time histogram and wind up studies J Neurosci Methods 51 205 211 1994 Budai D Kehl LJ Poliac GI and Wilcox GL An iconographic program for computer controlled whole cell voltage clamp experiments J Neurosci Methods 48 65 74 1993 Desimone R White TM Norden Krichmar TM Olsen J
29. lice based construction of experimental CAVALCANTI AND GALLETTI conditions allows an easy construction of different experimen tal protocols APPENDIX The following is a description of some emblematic procedures to explain the implementation of the time slice algorithm addressing questions linked to the LabVIEW G language and its main structures like the while loop case structure sequence structure event case structure etc Three types of synchronization structures of the Lab VIEW environment play a key role in our program queue notifier and occurrence For a detailed explanation of these structures see http www ni com labview A queue is a buffer in which data are stored and the first data stored in the queue are the first data read from the queue FIFO method The amount of data that can be stored on a queue is virtually infinite and depends on the size of RAM on the PXI PC or on the host PC A notifier is a single element buffer When a new value is written to a notifier the old one is overwritten reading a value from a notifier does not cancel the value in a notifier In LabVIEW queues and notifiers can be of any data type including complex structures like cluster and polymorphic ones An occur rence is a synchronization structure equivalent to a classical Boolean flag It serves to start or stop synchronously different separated parts of the program without forcing LabVIEW to poll on a global variable Host PC progra
30. lus time histograms The PXI PC contains the program to control the experi ment and acquire analog digital and counter data Hardware PXI PCI eXtensions for Instrumentation is a CompactPCI specifica tion which combines the high speed PCI bus with integrated timing and triggering designed specifically for high performance measurements De terministic real time performance is achieved with an embedded control ler and LabVIEW real time environment PXI boards can be connected together for precise synchronization of functions by means of a real time system integration bus RTSI bus LabVIEW and the PXI components are available from National Instruments Austin TX In our present system the PXI PC control module is built into an eight slot chassis and includes a Pentium I processor RAM and a hard disk We use a multifunction data acquisition device for analog acquisition a 96 channel digital IO device for digital input output oper ations and an eight channel counter timer device for spike acquisition and internal timing utilities Table 3 We dedicated two counters of the timing IO device for timing purposes of the PXI program One counter produces TTL pulses at a frequency of 500 Hz to command the analog acquisition Higher frequencies to command an analog acquisition device are possible The maximum frequency depends mainly on the character istics of the device The second counter serves to count the ongoing time and works at a f
31. m The main program running on the host PC contains two while loops working in parallel as main structures The first one containing an event structure controls all input elements of the front panel Fig A1A and sends the commands to the PXI PC The while loop C a m g 5 99 9999999 o ETAR P N ENN R R E c 322 s e Ea 235 les B CPIP ine FIG Al the PXI PC For details see text J Neurophysiol VOL 93 A front panel of the host PC program with different parameters to be set by the user B load task event structure to transmit the task values to JUNE 2005 e www jn org REAL TIME SUPERVISOR SYSTEM interfaces the user with the program running on PXI PC One example of an event case is shown in Fig A1B This event case is executed when the load task button of the front panel is pressed It allows the user to select one of the tasks When the event case is executed it reads for the specified task the sequence of time slices converts them to a string and sends it with an identification letter ahead here t through a TCP connection to the PXI PC The PXI PC confirms the reception of the time slice sequence sending back the identification letter The event case structure is set to have no timeout In this way it reacts immediately to any detected event on the front panel The second main structure of the host program again a loop structure contains a set of parallel working while loop
32. m periodically checks the time elapsed 7 and a time slice specific subset of input channels Each of these input channels is compared with time slice specific conditions yielding a state value Sin 0 1 or 2 for each comparison Table 1 In addition time T is assessed compared with the maximum time allowed for that slice Tmax and the Sy value is assigned The sum of Sin Sr determines the time slice state and thus progression of the subsequent behavior of the control algorithm Table 2 Example In time slice 1 Fig 1 the monkey is expected to press the start button therefore the supervisor system waits for a change in the digital input channel monitoring the start button As long as the button is not pressed and time elapsed is shorter than the time allowed for time slice 1 digital input status Sin and time status S values are both O and the supervisor system stays in time slice 1 If the monkey presses the start button in time the digital input status Sin becomes 1 and the supervisor system proceeds to time slice 2 Finally if the maximum time expires without the start button being pressed the time status S r becomes 2 and the time slice finishes incorrectly causing the supervisor system to restart the experiment An important feature of the time slice concept is that during a time slice only one input channel is monitored for a change while the other TABLE 2 Behavior of the control algorithm KUTZ MARZOCCHI FATTOR
33. me First it sets the output values and then continuously reads the actual values of the input signals digital lines analog channels and elapsed time comparing them with the intended values to calculate the state value Based on this result the control loop continues to check the input signals or proceeds with another time slice as described in the theory section Further information on implementation details and a descrip tion of some emblematic procedures can be found in the APPENDIX Using relational databases for data and tasks As previously mentioned to achieve a flexible management of information regarding task structures and acquired data we used Component Part Main Characteristics 2 80 GHz Pentium IV with 1GB RAM 40 GB HD and 10 100 Ethernet card Windows 2000 LabVIEW 7 0 Express Professional Development System LabVIEW Real Time Module LabVIEW Database Connectivity Toolset Microsoft Access Host computer Embedded PXI 8176 Real Time Embedded Controller Controller PXI 1000B PXI 6070E PXI 6602 PXI 6508 The Ethernet connection between host and embedded controller can run through a LAN or directly between the two machines 1 20 GHz Pentium III with 128 MB RAM 15 GB HD integrated 10 100 BaseTX Ethernet with real time operating system and LabVIEW Real Time Engine installed General Purpose PXI Chassis 8 Slot DC Powered Multifunction I O Card with 16 Analog Inputs 1 25 MS s 12 bit 2 analog O
34. n contrast in cases in which the condition has to remain at a predefined value the time interval finishes after its whole execution Thus during each interval here often called time slice the input channels except channel Eye and output channels remain un changed as the state graph reveals Fig 1B In those cases in which FIG 1 Schematic representation of the task used in Fattori et al 2001 A schematic drawing of the experimental setup B top the states of input controls to be checked during the task The input controls Start Button and Touch Button are digital controls which are checked during the total duration of the task The input control Eye is a special analog control of 2 channels x y controlling eye position which is checked only during a specific time interval ts_3 ts_8 Bottom A O B ts_1 ts_n q ra gt a a gt a a a aa 2 Sic ine l of Jo Hh E h Q Touch PUS i Button off po Ls output channels Reward LED and their states ON OFF and red green oFF respectively during the task Verti cal dashed lines define the start and end of a time slice The time slices are numbered below J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3676 TABLE Time slice state coding Intended Behavior Remain Reach End Avoid Query T F T F T F T F Sin Se oe O 2 1 0 0 1 2 0 Se ToTu 1 0 2 0 2 0 1 The state is coded for input signals S and for
35. nces of the start occur rence the queues task time_slices exit the notifier eyes and the reference of the static TCP line When started the sub VI first configures the input and output boards of the PXI DIO96 device and one clock of the TIO device which serves for time measurement of the time slices and waits at the start occurrence for the start procedure see the description for all other sub VIs later on When the start signal arrives the sub VI sends the synchronization sequence to the TIO device to start counters and clock takes one element from the task queue an array of time slices elements and enters the interme diate while loop The intermediate while loop contains a sequence structure with the following sequence frames 0 reads the actual value of the clock at the start of the time slice 1 reads the actual time slice element of the task array calculates the time when the time slice finishes and writes the digital output values to the PXI DIO96 device 2 contains the innermost while loop timing with 1 ms minimum loop timing possible in LabVIEW 7 0 reads out the actual state of the digital input channels the position of the eyes passed by the notifier eyes and the actual time compares the values with the intended J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3684 KUTZ MARZOCCHI FATTORI CAVALCANTI AND GALLETTI Start occurence ask queue xit queue Analog data
36. ptor describes each time slice of a condition B acquired data are stored in 4 tables Table recordings associates the general data of each recording with the other tables Table chronological data contains information on time slices execution The remaining two tables are used for acquisition of spike time stamps of different spikes detected by means of single and multi spike detection relational databases based on the Structured Query Language SQL readable with different DBMS such as LabVIEW Database Toolkit using the Open DataBase Connectivity ODBC The database containing information on the structure of time slices conditions and tasks and their linkage includes five tables joined as shown in Fig 4A Any task condition time slice is identified by a unique reference number called ID and is described by a record in the corresponding descriptor table containing as fields all the general parameters necessary for its definition The time slice descriptor includes the ID of the time slice its name and description a set of output values and the subset of input to be monitored and their awaited values The task descriptor record includes only its ID its name and a brief description string The remaining two tables are used to define condition and task structures Each record in the condition structure table associates a time slice with a condition states the time slice position in the sequence and specifies the true index and the false ind
37. query procedure as a result thereby allowing us to resynchronize histogram and raster plots to new events during the recording RESULTS We tested the time accuracy of the supervisor system during synchronous recording forcing the system to react as fast as possible to changes in digital input values The recording of changes of digital input is the most critical one because it depends on the reaction time of the control algorithm We used a pulse generator BAK Electronics Germantown MD to generate square pulse waves with equal duration of on and off phase duty cycle 50 The waves were recorded as a continuous signal by the analog device the rising edges of each wave as time stamps by the counter device simulating spike data and each change to high or low value by the digital device simulating behavioral data We constructed a condi tion with only two time slices in which the first time slice waited for the change to high value of the digital input line and the second one waited for the opposite change So each change from off to on phase of the pulse and vice versa triggered a decision by the supervisor system with advancement in the time slice series and entry of a new record in the chronological data table of the database We calculated the accuracy of synchronous detection be tween data from the counter device simulated spikes and the entries for the first time slice of each condition in the table of chronological data b
38. r plot of the simultaneously recorded neurons the next 2 lines show indicates the intervals in which the animal performed the task Thin vertical ment is called condition and it works similarly to our concept of condition In CORTEX a condition is divided into screens of images TESTO to TEST15 A TEST contains a defined set of visual stimulation during a defined period This is a concept similar to the output part of our time slice notion A difference between the two algorithms is the fact that a COR TEX condition cannot contain gt 16 TEST items the horizontal and vertical eye position respectively In the last line a thick line lines show start and end of trials The trial oriented design of CORTEX has some disadvan tages it needs at least a gap of 500 ms between each trial to store and analyze data the on line analysis takes into account only the last stored trial so during recordings histograms cannot be resynchronized to a new event and the maximum number of data for each type of data are set to 15 000 Although this number is large it constrains the user to create J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3682 KUTZ MARZOCCHI FATTORI conditions which are not too long For example recording eye positions 2 channels at a sample frequency of 1 KHZ limits the maximum trial duration to 7 5 s The design of our program allows continuous recording without an inter trial gap see Fig 6 an
39. requency of 100 kHz The other six counters are reserved for acquisition of time stamps of detected spikes or external digital events for this reason we use the word counter data rather than spike data and work at a frequency of 100 kHz To record more time stamps additional timing IO devices each with 8 counters can be added The devices are wired to the periphery by a homemade interface which serves for output signal adaptation i ex the reward system needs a 12 V command voltage or stabilize incoming signals from pressed buttons using flip flop circuitry In our application the RTSI bus is used to trigger and synchronize analog data and spikes acquisition One of the PXI trigger bus lines is used to start all hardware devices synchronously and another TABLE 3 Hardware specifications KUTZ MARZOCCHI FATTORI CAVALCANTI AND GALLETTI one is used to route a square wave generated by one of the timing IO device counters to the scan clock input of the analog data acquisition board This allows a time synchronized analog data acquisition at con stant intervals Software The supervisor system is organized in two main modules running on the host and the PXI PCs respectively for this reason indicated as host PC program and PXI PC program This structure was fixed by the fact that the real time system runs as a target on which the host computer downloads applications and it does not provide a user interface for applications Data
40. resents a good compromise between high perfor mance and ease of use and it allows neural data eye movement electromyography and behavioral data to be recorded synchro nously and continuously with an alignment error of lt 1 ms The data recording is not done in a trial oriented manner and it is independent of the animal s behavior Data and tasks are stored in relational databases The algorithm does not need an inter trial J Neurophysiol VOL 93 CAVALCANTI AND GALLETTI interval for data storage or task management The use of relational databases allows on line analysis during continuous recording The algorithm could be used to drive psychophysical experiments in which human subjects have to react to stimuli performing eye movements hand movements etc The basic information structure of the algorithm is a time interval of defined maximum duration called a time slice The status of a time slice is based on trinary logic which takes into account three possible behavioral states nonfulfillment of task required behavior correct performance of task or errone ous task performance The proposed data structure to imple ment the algorithm allows branching of the condition if else cascade as well as looping of parts of a condition while control Therefore the proposed data structure itself contains the most basic control structures of programming languages This advantage simplifies the construction of complex tasks because th
41. s to read the transmitted data from the PXI PC and store them in a file or database on the host PC An example is shown in Fig A2 containing the two loops to read spike data and store them in the database The first loop Fig A2A contains three read procedures The first one reads from a TCP line the number of data to be transmitted the second one reads the counter number that corresponds to the spike channel to which the data belong and the third one reads the data and converts them into an array All three pieces of information are stored in a cluster and saved on a queue for spike data The queue is needed as a buffer to mediate between the timing of data reception and the timing to write data to hard disk The second loop Fig A2B reads the data from its queue here that of spike data and saves them in the database using the ODBC Toolkit of LabVIEW The other two kinds of data analog and chronological data are received and stored in the same manner with one difference as explained in the implementation section the analog data are stored queue In_data counter ine INSERT INTO counter _data ID_recording counter spike_time SELECT d d d counter data FIG A2 Program on host PC to receive and store spike data A while loop to receive data from the PXI PC B while loop to store the received data in the database For details see text
42. s working slice ws_2 the animal made a saccade downward or if the time slice was timed out So the first thing to do in the false index branch is to check if the saccade occurred This can be done by constructing a working slice ws_5 in Fig 2B in which the animal has to fix on the downward position gt Remain in Table 1 If the animal has reached the position the supervisor system proceeds as required otherwise it terminates immediately In principle another Peripheries RT Series Target PXI Time Slice Innovative Methodology 3677 FIG 2 A schematic drawing of the construction of a condition each time slice contains in its data structure the information of the output channels input controls not shown and a true and false index The supervisor system executes a time slice while the time slice status is 0 If the time slice status becomes 1 the supervisor system ad vances in the sequence to the next time slice indicated by the true index T If the time slice status becomes gt 1 the supervisor system will execute the time slice indicated by the false index F The true indexes are pointing to the next working slice ws_l ws_2 ws_n the false indexes are pointing to the error handling slice eh_1 Note that the false index of the error handling slice is pointing back to itself B schematic drawing of the branching of a condition the condition branches after the second working slice ws_2 Its true ind
43. sibility to repeat parts of it recursively like the while loop Therefore its data structure contains the most basic control structures of programming languages The method was imple mented using a real time version of LabVIEW programming environ ment to program and control our experimental setup Using this super vision system we synchronously record four analog data channels at 500 Hz including eye movements and the time stamps of up to six neurons at 100 kHz The system reacts with a resolution within 1 ms to changes of state of digital input channels The system is set to react to changes in eye position with a resolution within 4 ms The time slices experimental conditions and data are handled by relational databases This facilitates the construction of new experimental conditions and data analysis The proposed implementation allows continuous recording without an inter trial gap for data storage or task management The implementation can be used to drive electrophysiological experiments of behaving animals and psychophysical studies with human subjects INTRODUCTION Electrophysiology research in behaving animals is still a grow ing field in neuroscience as seen from the ongoing increase in the number of publications each year The use of sophisticated digital systems based on microcomputer and related software in the experimental setup has allowed neural activity to be studied in behaving animals in more and more complex experimen
44. tion a comparison between Observer and PID technique Lab Anim 33 215 220 1999 J Neurophysiol VOL 93 JUNE 2005 e www jn org
45. tist The timing of the task sequence expresses the given probabil ities of an animal producing a behavior for instance the maximum time from a stimulus to execution of a behavior A supervisor system must be able to wait for the execution of an intended behavior and react imme diately when it is produced or interrupt the task if the animal does not produce the behavior in a given time Therefore any element of a task sequence can have three distinct states ongoing behavior correct com pletion of behavior or false completion of behavior The three states can be expressed by trinary logic The problems of controlling an electrophysiological experiment with behaving animals are illustrated by an example from the litera ture Fattori et al 2001 In this experiment a monkey Macaca fascicularis had to produce straight arm movements from a start button toward a defined target button indicated by an illuminated light emitting diode LED and then come back to the start button Fig 1A In the meantime the monkey had to maintain fixation of the reaching target LED Bioelectrical activity of single neurons in the posterior parietal cortex was recorded extracellularly The computer had to set the LED oFF green red to control the buttons OFF pushed control the position of the eyes and record the event of neural activity as well as eye movements and events of change of the external apparatus LED buttons The sequence of the experiment is
46. ts Now adays some research methodologies require the synchronous recording of the bioelectrical activity of different neurons eye movements electromyography and other external events or data describing the behavior of the animal The algorithms described in the literature for neurophysio logical experiments with animals or humans Budai 1994 Desimone et al 2004 Kling Petersen and Svensson 1993 Nordstrom et al 1995 Poindessault et al 1995 have two main problems The first is due to the limited computer memory size This forces algorithms to be developed with a maximum recording time limited by the hardware so that experiments must be designed in a trial by trial fashion The second prob lem is a consequence of the trial by trial design of the exper iment When an animal does not react as predicted by the scientist for instance a monkey does not perform eye move ments as intended during a trial the program has to stop and wait until the experimental situation comes back to the origin before starting a new trial Any information during this time is lost To overcome these limitations we developed a new method based on trinary logic able to check the state of different control variables and continuously record electrophysiological data and data describing the animal s behavior The basic information structure of the method is a time interval of defined maximum duration called time slice during which the super visor system p
47. ue The outer loop terminates depending on the value taken from the exit queue PXI data acquisition and transmission The acquisition of data and their transmission is described using the example of analog data acquisition Fig A5 The acquisition of the counter data is solved in a similar manner The sub VIs are started immediately as the references of the queues occurrence and notifier are passed to them As soon as the acquisition VI is started Fig ASA the MIO device is configured for the number of channels to acquire here 4 channels and an external scan clock is assigned The scan signal is sent on one of the RTSI bus lines from the dedicated counter The MIO device is started and paused immediately so it is armed to be used The reference number of the MIO device and the references of the queues notifier and occurrence are passed to a while loop containing a case structure The case structure is guided by the start occurrence in the following way The J Neurophysiol VOL 93 JUNE 2005 e www jn org Innovative Methodology 3685 REAL TIME SUPERVISOR SYSTEM pat loccurence 2 3 False m tT era zia ae aig gt gt
48. utputs 8 digital I O lines two 24 bit counters analog triggering 8 channel 32 bit up down counter timer module Digital I O Card with 96 static digital I O lines in 8 bit ports The specifications regard our implementation Other boards can also be used depending on the experimental requirements Instead of the LabVIEW Professional Version also the Full Version can be used LabVIEW and the PXI components are available from National Instruments Austin TX J Neurophysiol VOL 93 JUNE 2005 www jn org REAL TIME SUPERVISOR SYSTEM A Time Slice Descriptor ID Time Slice Name Description input controls output values Condition Descriptor ID Condition Name Description N Time Slices Slices Task Descriptor ID Task Name Description Task Structure ID Task Structure ID Task ID Condition Condition Structure ID Condtion Structure ID Condition ID Time Slice Index of Time Slice true index false index B Recordings Chronological data ID recording date ID Task analog data path ID recording Index of Time Slice ID Condition state value start time end time Channels Counter data ID channels ID channels ID recording spike time unit name FIG 4 Hierarchy and relations of tables in the relational databases A the tables task descriptor and task structure describe a task the tables condition descriptor and condition structure describe each condition of a task the table time slice descri
49. with the same data structure as the other time slices Its function is to manipulate the experimental situation up to a point at which a new experimental condition can start Therefore two pointers must be added to the data structure of a time slice one for the advancement after a correct end of time slice time slice state 1 and one after an erroneous end time slice state gt 1 These pointers will be called true index and false index respectively For conve nience time slices in condition sequences will be called working slices ws An example of a condition based on a sequence of time slices is shown in Fig 2A The figure shows that the false index of the error handling slice points back to itself This behavior is necessary because any time slice must have a defined maximum duration but it cannot be foreseen how much time is required until the experimental situation allows a new start of the experiment Pointing the false index of the error handling slice back to itself creates a continuous repetition of this time slice until the true index condition is achieved while loop on a time slice In principle it is possible to create a specific error handling slice for each working slice But experience of a real implementation showed that it is much more convenient to handle the false indexes in a way that they point to just one error handling slice Note that an error handling slice is part of a condition A condition ends with the end of

Download Pdf Manuals

image

Related Search

Related Contents

飼料用イネ生産利用マニュアル  Compensador neumático Manual de funcionamiento  Emerson NGA 2000 Computer Accessories User Manual  MOD. 60/30 SPE 65/40 SPE 70/40 SPE 90/40 SPE  Instruzioni per l`uso  (ACME)CP-64U HP日本語取扱説明書  Memorex MX4118 Portable CD Player User Manual  le grand papa et sa toute petite fille  ハイグレードタイプ 取扱説明書(PDF/6.2MB)  HT-F5200_FS5200_ZF XN EN1_FRA_130709.indd  

Copyright © All rights reserved.
Failed to retrieve file