3-1SECTION 3. INSTRUCTION SET BASICSThe instructions used to program the CR10 are divided into four types: Input/Output (I/O), Processing,Output Processing, and Program Control. I/O Instructions are used to make measurements and storethe readings in input locations or to initiate analog or digital port output. Processing Instructions performmathematical operations using data from Input Storage locations and place the results back intospecified Input Storage locations. Output Processing Instructions provide a method for generating timeor event dependent data summaries from processed sensor readings residing in specified Input Storagelocations. Program Control Instructions are used to direct program execution based on time and orconditional tests on input data and to direct output to external devices.Instructions are identified by a number. There are a fixed number of parameters associated with eachinstruction to give the CR10 the information required to execute the instruction. The set of instructionsavailable in the CR10 is determined by the PROM (Programmable Read Only Memory) inside theCR10. Appendix B lists the PROM options available.3.1 PARAMETER DATA TYPESThere are 3 different data types used forInstruction parameters: Floating Point (FP), 4digit integers (4), and 2 digit integers (2). Theparameter data type is identified in the listingsof the instruction parameters in Sections 9-12.Different data types are used to allow the CR10to make the most efficient use of its memory.Floating Point parameters are used to enternumeric constants for calibrations ormathematical operations. While it is onlypossible to enter 5 digits (magnitude +.00001 to+99999.), the internal format has a muchgreater range (1x10 -19 to 9x10 18 , Section2.2.1). Instruction 30 can be used to enter anumber in scientific notation into an inputlocation.3.2 REPETITIONSThe repetitions parameter on many of the I/O,Processing, and Output Processing Instructionsis used to repeat the instruction on a number ofsequential Input Channels or Input Storagelocations. For example, if you are making 4differential voltage measurements on the samevoltage range, wire the inputs to sequentialchannels and enter the Differential VoltageMeasurement Instruction once with 4 repetitions,rather than entering 4 separate measurementinstructions. The instruction will make 4measurements starting on the specified channelnumber and continuing through the 3succeeding differential channels. The resultswill be stored in the specified input location andthe 3 succeeding input locations. Averages forall 4 measurements can be calculated byentering the Average Instruction with 4repetitions.When several of the same type ofmeasurements will be made, but thecalibrations of the sensors are different, itrequires less time to make the measurementsusing one measurement with repetitions andthen apply the calibrations with a scaling array(Inst. 53) than it does to enter the instructionseveral times in order to use a differentmultiplier and offset. This is due to set up andcalibration time for each measurementinstruction. However, if time is not a constraint,separate instructions may make the programeasier to follow.3.3 ENTERING NEGATIVE NUMBERSAfter keying in a number, press C or "-" tochange the number's sign. On floating pointnumbers a minus sign (-) will appear to the leftof the number. Excitation voltages in millivoltsfor I/O Instructions are 4 digit integers; when Cis keyed 2 minus signs (-) will appear to theright of the number indicating a negativeexcitation. Even though this display is thesame as that indicating an indexed inputlocation, (Section 3.4) there is no indexingeffect on excitation voltage.3.4 INDEXING INPUT LOCATIONS ANDPORTSWhen used within a loop, the parameters forinput locations and the commands to set,toggle, or pulse a port can be Indexed to theloop counter. The loop counter is added to theindexed value to determine the actual Input