Logging data to internal memory ................... 26 Logging data to USB ....................... 27 ADC sampling and logged data ..................... 27 Format of CTC100 log files ....................28 T he system fa n ......................29 Ra ck m ounting the CT C100 .................. 29 U sing P ID feedba ck ....................
Page 4
Repla cing the clock ba ttery ................... 75 Rem oving a n I/O or CP U ca rd ................76 Rem ote prog ra m m ing Connecting to the CTC100 ....................77 Communication, assembly, and run-time errors ..............80 Concurrent macros ........................ 80 Macro names ..........................
Page 5
GPIB option (assembly 289) ....................152 2-channel thermistor/RTD/diode reader (assembly 310) ..........152 100W DC output card (assembly 206) ................157 Analog I/O card (assembly 297) ..................160 Digital I/O card (assembly 298) ..................162 S chem a tics CTC100 Programmable Temperature Controller...
Safety and Preparation for Use L ine voltage The CTC100 operates from an 88 to 264 VAC power source having a line frequency between 47 and 63 Hz. P ow er entry module A power entry module, labeled AC POWER on the back panel of the CTC100, provides connection to the power source and to a protective ground.
±0.25 30 k range ±25 ±1 100 k range ±150 ±4 300 k range ±1 k ±13 2.5 M range ±3 k ±3 k Typical drift due to temperature (at midrange) range ±0.0002 /°C ±0.0001 /°C CTC100 Programmable Temperature Controller...
Page 10
A nalog I/O Inputs/outputs 4 voltage I/O channels, independantly configurable as inputs or outputs Connector 4 BNC jacks Range ±10 V Resolution 24-bit input, 16-bit output ADC noise 30 µV RMS = 100 µV p-p (at 10 samples/s) CTC100 Programmable Temperature Controller...
Page 11
Digital I/O Inputs/outputs 8 optoisolated TTL lines, configurable as either 8 inputs or 8 outputs Connector One 25-pin D-sub socket Relays Outputs 4 independent SPDT relays Connector One 12-pin 3.5mm header Maximum current Maximum voltage 250 VAC CTC100 Programmable Temperature Controller...
2 powered a nd 4 unpowered hea ter outputs The CTC100 has two heater outputs, each capable of delivering up to 100W of power to a 25 ohm heater. In addition, four unpowered voltage I/O channels can be used to drive heaters with the help of an external amplifier.
Page 14
USB, Ethernet, and either RS-232 or an optional GPIB interface. When the USB interface is used, the CTC100 appears on the computer as a standard COM port and can be controlled by any software that is compatible with an RS-232 port.
I/O channels, four 5A relays, and eight digital I/O lines. Temperature sensor inputs The CTC100 has four multi-range inputs, each of which can read resistive sensors having resistances between 1 and 2.5 M , and diode sensors having voltage drops of up to 2.5V.
Page 16
Resistive sensors: Four-wire RTDs usually have two wires of one color attached to one side of the RTD, and two of a second color attached to the other side. In this case, the RTD should be wired to the CTC100 in one of the following two ways (assuming the leads are white and black): Ground...
Page 17
Dewar. AD590 sensors: The CTC100 can read AD590 sensors if the sensor is connected in series with a 2 k resistor as shown below. Note that the diagram shows the sensor connected to channel A, but it can also be connected to channel B.
Page 18
RTD. The CTC100 has 12 measurement ranges. Within any given range, it generates a constant excitation current as shown in the table below. Note that the range has to be greater than the sensor resistance, so if the sensor resistance is 10 k , for example, the range should be 30 k .
Page 19
Noise, accuracy, and amount of self-heating at 25°C for several sensors. accuracy of the CTC100 immediately after calibration and does not account for self-heating or the accuracy of the sensor. Self-heating is the rise above ambient temperature of a ~1 mm diameter sensor hanging by its leads in still air (dissipation constant 1 mW/°C).
Current setting on page 60. 100W heater outputs The CTC100 has two outputs for resistive heaters. The output connectors are #6-32 wire clamp screws and will accept bare wire between 12 and 22 AWG. For the most reliable connection it is recommended to crimp a #6 insulated spade terminal (such as TE Connectivity 34080 for 16 22 AWG wires or 35559 for 14 16 AWG wires) to the end of each heater wire.
Page 21
0.25A. This error can occur if the CTC100 is out of calibration. It can also mean that the CTC100 has been damaged and is no longer capable of correctly regulating its output current or of producing its rated output current.
Lo Lmt setting to about 0.5V (to prevent integral windup). R elay s, digital I/O , and virtual channels The CTC100 has four relays, each rated for up to 5A of current. The connector for the relays is a single 12-pin pluggable terminal block. The four relays are l...
Page 23
Introduction The CTC100 also has eight isolated TTL I/O lines on a 25-pin connector. The pinout of this connector is compatible with the standard PC parallel port. The TTL lines can be used as inputs or outputs, but all eight must have the same direction. The pinout follows (the pin numbers are...
Page 24
CTC100 with the Output Enable button. However, virtual PID feedback loops do stop running when the CTC100 outputs are disabled. When the value of a virtual channel is changed by a macro or via the front panel, the new value does not become effective until an ADC conversion occurs.
Plug the CTC100 in and turn it on with the power switch on the back of the instrument. If the CTC100 does not turn on, a fuse may have blown. Two internal fuses can be accessed by unplugging the instrument and then removing its top cover.
6. If reading in ohms is incorrect, remove the sensor and instead connect a resistor of about the same value to the CTC100. If the reading is still incorrect, the unit may need to be returned to SRS for recalibration.
Set the data logging rate By default, the CTC100 logs three data points per second for each channel. To change this rate for all channels, press the Setup key on the front panel and then t Under interval only affects how often data is recorded;...
Save data to and retrieve data from a U SB memory device If no USB memory stick or hard drive is present, the CTC100 only stores the most recent one million data points for each channel; older points are erased. Therefore, if the logging interval is 0.3 seconds per point, only the most recent 3 days of data can be displayed.
Page 30
Operation 2. Optional: the default baud rate for the FTDI driver is 9600. For faster communication, change the baud rate to 230400 on both the PC and the CTC100. On the CTC100, press the Setup key, touch the System tag .
Operation C ontrol a temperature The CTC100 can control the temperature of one or more external devices with a resistive heater and a temperature sensor. Each of the CTC100 channels can use proportional-integral-differential (PID) feedback software to monitor a temperature sensor and determine how much power to send to the heater.
Page 32
On the Setup screen for channel In 1, under the Alarm heading, set the options as follows: CTC100 Programmable Temperature Controller...
Page 33
Out 1. In the . Then, on the list of channels that appears, touch the temperature input channel . This tells the CTC100 that we want heater Out 1 to control the temperature of sensor In 1. desired temperature entered the setpoint.
Page 34
The feedback tuner changes the heater output and measures how much the temperature changes in response. Before this can be done, the CTC100 needs to be told how much the heater output should be changed and indicate how long it should wait for the temperature to change.
Page 35
, select the tab for the output channel, and then button in the bottom-right corner. When tuning is finished, the CTC100 beeps and the PID feedback is automatically enabled. If the temperature is still below the setpoint, the CTC100 starts increasing power to the heater. The temperature may overshoot the setpoint, but should eventually stabilize at the setpoint.
Operation Input filters The CTC100 has several numeric filters for processing sensor readings. Except for the sensor calibration, the filters are disabled by default and can be enabled by the user. In the order in which they are applied, the filters are: 1.
Page 37
Calibration data: The data contains pairs of numeric values: the value to be displayed, followed by the raw sensor reading. For example, the sample table above tells the CTC100 to display 0 °C when the sensor resistance is 100 ohms.
Turning the CTC100 off and back on again. Virtual channels The CTC100 has three virtual channels named V1, V2, and V3. You can set these channels to any value or make their value follow the value of another channel. The value can then be graphed or saved to the log like any other channel.
Touch the circle again to stop logging. retrieved with the getLog instruction always comes from internal memory. Do not unplug a USB device or switch the CTC100 off while USB logging is enabled. Either of these actions causes If the USB logging indicator is light red, always touch it and wait for it to darken before unplugging the USB device or turning the CTC100 off.
AC line period. For example, if the rate is set to 100 ms, conversions occur every six cycles of the AC voltage if the CTC100 is plugged into a 60 Hz AC wall socket, or every five cycles for 50 Hz AC.
Show. The fan speed can be overridden with the System.Other.Fan remote command. This should only be done if it s certain that the heater output cards will not overheat; otherwise, the CTC100 may be damaged. Besides the main system fan, the CTC100 also has an internal fan that periodically turns on to keep the main power supply cool.
The CTC100 supplies a varying current, voltage, or power to the heater, and assumes that the measured temperature will increase or decrease in a roughly linear fashion with this output signal.
70°C with a slight overshoot that serves to minimize the settling time. If P is increased to 2 W/°C, the temperature responds more quickly but then overshoots the setpoint by an excessive amount, causing the system to oscillate. CTC100 Programmable Temperature Controller...
Page 44
70° setpoint within the time period shown. Without enough integral gain, temperature errors persist for a long period of time. As an approximate guide, the integral gain should be about one-tenth the proportional gain. CTC100 Programmable Temperature Controller...
Page 45
With the right amount of derivative feedback, we can increase P and I to levels that would otherwise cause oscillations, and thereby obtain faster, more responsive feedback control. CTC100 Programmable Temperature Controller...
Operation A utom atic tuning algorithms During automatic tuning, the CTC100 changes the heater power, measures how much and how quickly the temperature changes in response, and then estimates the optimum values of the gain factors P, I, and D. Two tuning algorithms are available: the relay tuner and the step response tuner.
Page 47
PID gains. Because the the feedback input channel to achieve accurate tuning results. Since the relay tuner does not require response tuner. CTC100 selects the relay tuner if both its high and low . In particular, if CTC100 Programmable Temperature Controller...
Page 48
The next figure shows how well the system recovers when we start blowing air over the heater with a fan. The setpoint is a constant 60°C. In this case, aggressive tuning produces the best response. CTC100 Programmable Temperature Controller...
CTC100 increases the heater output, and ag controls how long the CTC100 waits for a response. If either value is too small, the CTC100 may, after attempting to tune, display a message saying that there was an insufficient response.
Page 50
Unable to tune feedback because the outputs are disabled. Press the Output Enable button to enable outputs. The outputs must be enabled before autotuning, or else the CTC100 will not be able to provide any power to the heaters. Unable to tune feedback because the heater is disconnected This message appears when the heater is connected to channels Out 1 or Out 2 and the measured heater resistance is less than 1 or greater than 10 k .
200 degrees but the sensor can only measure temperatures as high as 100 degrees, the CTC100 will continue heating the sample indefinitely. Each input channel has an alarm that can be used to prevent such runaway heating. When properly configured, alarms set the heater output to zero whenever the sensor is disconnected, out of range, or the temperature exceeds limits that you specify.
System.log.logTo { RAM, USB, None } If a USB memory stick is plugged into the CTC100, a small dark-red circle appears in the upper- right corner of the screen. Touch the circle to turn USB logging on; the circle will turn light red to indicate that data is being logged to USB.
Page 53
Each of the green buttons represents one I/O channel. The buttons are arranged in roughly the same order as the connectors on the back of the CTC100. Each . If no sensor or heater is connected, the value may be blank.
Page 54
Touch the Custom tab to view a plot in which each channel can be assigned to one of up to eight graphs. To set the plot a particular channel appears in, display the Setup menu for that channel and 2 and 4 have both been assigned to plot 2. CTC100 Programmable Temperature Controller...
Page 55
Plot screen. If ch the CTC100 front panel, the offset is never recalculated. Viewing the Ponytail plot does not cause offsets to be subtracted from logged data or feedback setpoints.
Page 56
To show current data and Graphs that appear together on a screen always have the same X axis range. However, each selection group has its own, independent X axis range. CTC100 Programmable Temperature Controller...
Page 57
How to pan the graph horizontally By default, the CTC100 continually adjusts the Y-axis scale to accommodate all the data on the graph. Each graph has its own, independent Y axis scale. To change the Y axis scale for a particular graph, touch the area to the left of its Y axis.
Page 58
Operation How to change the Y scale of the bottom graph How to pan the bottom graph vertically CTC100 Programmable Temperature Controller...
Page 59
Operation P rogram A program is a set of one or more CTC100 commands in ASCII text format. Programs can be sent over the RS-232, GPIB, USB, or Ethernet interface, input from the program screen, or transferred as text files on a USB memory device. Regardless of how a program was input, its progress can be monitored from the program screen.
Page 60
Ethernet (via Telnet or a raw UDP data stream), or the optional GPIB port. Each line of text sent to the CTC100 is run as a separate program (the entire program must be on a single line). If two or more lines are sent to the CTC100 in quick succession, the programs may run concurrently;...
Page 61
The menu of instructions closes, and the first line in the Progress window is now a left square bracket. Touch the Progress window again, anywhere beneath the first line. The list of possible instructions appears again The sub-menu that appears contains a CTC100 Programmable Temperature Controller...
Page 62
Operation , on which you can enter an argument for Touch the OK button. The Program screen re-appears CTC100 Programmable Temperature Controller...
Page 63
The CTC can run up to ten concurrent macros started from the front panel. If an eleventh macro When the CTC100 i macro. Any other macros that might have been running when the CTC100 was switched off are not re-started.
Page 64
Sets the default time between log points. If the interval is set, for example, to 1 s, the CTC saves a data point once per second, and each point represents the average reading over one second period. CTC100 Programmable Temperature Controller...
Page 65
Clea r System.Log.clear { RAM, USB, all } Erases logged data. There are three options: RAM deletes all logged data from the CTC100 memory and can be used to clear old data from the plot screen. USB deletes all log files (not just the current file) from the log folder on the external USB memory stick.
Page 66
System.COM.Verbose { Low, Medium, High } Determines how the CTC100 responds to RS-232, USB, GPIB, and Ethernet messages. Low: the CTC100 only sends messages in response to queries. This mode should be selected for IEEE488.2 compatibility. Medium: the CTC100 also sends error messages whenever a command could not be understood.
Page 67
DHCP server. Close System.IP.Close The CTC100 only accepts messages from a single computer and only in a single protocol (Telnet or raw UDP stream). To change the computer or the protocol, press the Close button. CTC100 a Telnet connection is being used and the computer closes it.
Page 68
Elapsed: the labels only indicate the amount of time between grid lines. The elapsed time labels do not actually reflect the amount of time elapsed since any particular event and reset to zero once per minute, hour, or day, depending on the X range of the graph. Absolute X labels CTC100 Programmable Temperature Controller...
Page 69
Displays a text box with information about the firmware version and installed I/O cards. Reset System.Other.Reset { "Running macros", "Saved macros", Display, Ports, "Port settings", Channels, Log, All } Running macros: stops all running macros. Has no effect on saved macros. CTC100 Programmable Temperature Controller...
Page 70
Touch this button to change the name of the channel. The name must have 10 or fewer characters. V a lue Channel.Value? Channel? This button shows the most recent sensor reading. T be changed by typing in a new value, so the button is greyed out. CTC100 Programmable Temperature Controller...
Page 71
Sets the sensor measurement range. The default range is Auto. In general, a lower range produces a larger excitation current, less noise, and more accurate measurements. The range should be manually set if it is critical to limit sensor self-heating; otherwise the CTC100 may change the range and excitation current at unexpected times.
Page 72
Touch a channel and its value is then continuously subtracted from the channel indicated by the blue tab at the top of the Setup screen. If, for example, the Setup menu for CTC100 Programmable Temperature Controller...
Page 73
The sensor is disconnected (except on analog I/O channels, which cannot detect disconnected sensors) When an alarm is triggered, it can do any of the following: Play a sound Trigger a relay on the digital I/O card Shut off an output channel CTC100 Programmable Temperature Controller...
Page 74
Controls which sound plays when the alarm goes off. Output Channel.Alarm.Output "Output name" The alarm, when triggered, can shut off one of the CTC100 ut channels, setting the output lue and the feedback is re-enabled. This feature can be used to guard against runaway feedback loops or to otherwise protect equipment from damage due...
Page 75
The CTC100 offers four different ways to calibrate sensor readings: Built-in calibration tables: the easiest but least accurate way to calibrate your sensors. You select a sensor type and the CTC100 uses built-in calibration data that describes a typical sensor of that type. No experimental data is needed.
Page 76
-in calibrations even though they have the correct resistance at 25°C. The CTC100 uses ASCII character 234 for the Ohms symbol. To type this character on a Windows computer, hold down the alt key and type 0234 on the number pad. On Windows...
Page 77
These figures are approximations only and may not produce the same results as the standard calibration curve. A standard diode or bipolar junction transistor can be connected to the CTC100 and used as a low-cost temperature sensor. In this case a custom calibration must be used. If the voltage across...
Page 78
Touch this button to place a lower limit on the output. If the minimum is greater than zero, the output is still set to zero whenever outputs are disabled with the Output Enable key. Limits are CTC100 Programmable Temperature Controller...
Page 79
"3 min", "10 min", "30 min", "1 hr", Default } By default, at a global log rate that is set from the System Setup screen (System.Log.Interval). The Logging button makes it possible to override the global log rate for individual channels. CTC100 Programmable Temperature Controller...
Page 80
If Ramp is set to zero, ramping is disabled and the CTC100 heats or cools your system at the maximum possible rate.
Page 81
Touch one of the parameter cells to modify its value. If a particular set of parameters is no longer needed, touch its zone number in The PID zone editor CTC100 Programmable Temperature Controller...
Page 82
The min temperatures can be in any order; they do not have to be monotonically ascending or descending. Next, set the zone to he CTC100 automatically selects the zone with the largest Min value that is less than the ramp temperature mode.
Page 83
This setting only applies to the Relays channel on the digital I/O card. Changing the polarity reverses the state of all four relays. The Polarity setting ensures that the relays are in an acceptable state when the CTC100 is switched off. When the Polarity switched off.
Page 84
Closed Closed Open is what the relays revert to when the CTC100 is switched off. If no alarms are configured, they will stay in that state when the CTC100 is turned back on again. Setup screen for virtual channels , and V3 have the same front- panel settings as either the sensor input or the heater output channels.
Page 85
Operation To disable cascade cont select it. CTC100 Programmable Temperature Controller...
6 minutes. rogram the CTC100 again. 5. At this point, the old firmware is still running. Turn the CTC100 off and back on again to start using the new firmware. I/O card firmw are updates 1. Copy all files in the firmware update package to the root directory of a USB flash drive or hard drive.
2. Remove the four black screws that secure the top cover. Lift the cover off of the instrument. 3. Looking at the front of the CTC100, the battery should be clearly visible. It is a 20 mm diameter coin cell located on the left side of the instrument 8 inches behind the front panel.
Usually the best way is to gently push on the In 1 & 2 port with one thumb and on the DIO port with the other, but make sure not to apply so much force that you bend the connectors. 13. It should now be possible to pull the I/O or CPU card out. CTC100 Programmable Temperature Controller...
(decimal 13 = hex D hex A Each line of text sent to the CTC100 is treated as a macro, meaning that it can contain one or more instructions as well as conditional statements and repeated blocks. The macro starts running immediately and, if it takes long enough to complete, its progress can be monitored on the Program screen.
Page 90
U SB device port The CTC100 has a USB 1.1 device interface that can be connected to a PC with a standard USB A-to-B cable. The CTC100 appears on the PC as a virtual COM port, and any software that can communicate with an RS-232 port can be used to send remote commands to the CTC100.
Page 91
Remote Programming G P IB CTC100 units can be ordered with or without a GPIB port. If GPIB is requested, it replaces the RS-232 port. Although any standard GPIB cable can be used, due to space restrictions a single- ended cable (such as a National Instruments X5 cable) is recommended.
C ommunication, assembly , and run-time errors If the CTC100 is unable to receive a macro due to a problem with the I/O port, a communication error may be generated and the macro does not run. If the macro is successfully received, the CTC analyzes it and any macros that it calls to ensure...
If a macro is started by a remote command with 32 or fewer characters, the macro name is the same as the remote command. If the command has more than 32 characters, the CTC100 assigns -digit number.
Page 94
If the right bracket is omitted, all instructions after the left bracket do not run. A negative number after the right bracket causes the group of instructions to repeat indefinitely. Therefore, [print Hello pause 1 s]-1 is equivalent to while (1) { print Hello pause 1 s } CTC100 Programmable Temperature Controller...
Page 95
If the suffix is appended to the name of any menu (System, Channel, System.COM, Channel.PID, etc.), the CTC100 lists the available instructions .list for the menu or submenu. If appended to an instruction, the suffix returns a list of .list...
Page 96
Conversely, a channel name (or any other conditional term) can be preceded with a hash (#) to force the CTC100 to treat it as a query. Since conditional terms are treated as queries by default, the pound sign is only required contain any letters.
Page 97
Spaces are not allowed before the *, /, -, and ^ operators. The equals sign is optional and can be replaced with a space. The CTC100 has three virtual channels that behave like much like variables. However, while a variable can only be used by the macro that defined it, the value of a virtual channel can be accessed by any macro.
Page 98
Errors: If the child macro contains any invalid instructions, an assembly-time error occurs and neither macro runs. A macro cannot be both defined and called by another macro; either an assembly- will occur, or an older version of the macro will be called instead of the new one. CTC100 Programmable Temperature Controller...
Courier In the following listing, words in font represent text that may be sent to or received from the CTC100 over RS-232, USB, GPIB, or Telnet, or via a text file on a USB memory device. italicized Courier Words in...
Page 100
{ Select Channels, Show Data, Program, Setup, Help, Output Enable } menu 1 Makes the CTC100 behave as if one of the front-panel buttons has been pressed. The argument can be the name of a front-panel button or a numeric value between 1 and 6, inclusive ( 1 for...
Returns the current value of the Alarm Status Register (ASR), and then clears the register. The Alarm Status Register is a 32-bit integer that indicates which alarms were triggered since the last *ASR? time the command was issued. Each of the CTC100 in the Alarm Status Register. When an alar channel.alarm.mask set.
Page 102
*EMC either 0 (macros disabled) or 1 (macros enabled). Since the state of does not persist when the CTC100 is rebooted, macros are always enabled when the CTC100 is turned on. *ESE 0 *ESE? Sets (or gets) the value of the Standard Event Status Enable (ESE) register. If a bit in the ESR register is set and the corresponding bit in the ESE register is also set, bit 5 of the Status Byte register is set.
Page 103
Remote Programming *OPC is not generally required because most CTC100 instructions are fully processed before the next instruction in the macro is begun. The exceptions are PID autotuning (i.e., channel.tune.mode channel.setpoint channel.ramp ) and ramp-to-setpoint ( , if has finished.
Page 104
Trigger command. Identical to the Group Execute Trigger (GET) bus message. Causes all channels to read their outputs. The amount of time that it takes to process this command is twice After receiving a trigger command, the CTC100 stops automatically acquiring data. The inputs *TRG...
The name of the text file should be the name of the macro plus the extension the root directory of a USB memory device, and then plug the USB device into the CTC100. The macro should now be available for use as long as the USB device is plugged in.
Page 106
"Popup text" popup.close Produces a popup window on the CTC100 be any alphanumeric string up to 128 characters long. If a help window or another popup message is already showing, it is closed and replaced with the new popup. The user has to press a menu...
Page 107
Puts the CTC100 into standby mode, in which the outputs are turned off, data acquisition is paused, macros are paused, the front panel display and system fan are shut off, and the system does not respond to remote commands. The chassis cooling fan may switch on occasionally. Press the "Output Enable"...
Enables or disables hardware flow control for the RS-232 and USB-to-PC interfaces. system.com.verbose { Low, Medium, High } Determines how the CTC100 replies when a remote instruction is processed. : the CTC100 only replies when a query is processed. Medium : messages are also produced whenever an error occurs.
Page 109
Errors: a run-time error occurs if the argument is less than 10000 (10 seconds) or greater than 2592000000 (30 days). system.IP.Address 0.0.0.0 Sets the CTC100's IP address. The IP address should be in dotted-decimal notation, i.e. "172.16.0.0". Errors: If part of the specified IP address is not in the correct format (i.e. contains a non- numeric character or a value that is not between 0 and 255), that portion of the IP address is set to system.IP.DHCP...
Page 110
Determines which folder on the USB memory device logged data. If the folder does not exist, it is created. If the folder does exist and it already contains CTC100 logfiles, new data points are appended to the existing files. system.log.interval { off, "0.1 s", "0.3 s", "1 s", "3 s", "10 s", "30 s", "1 min", "3 min", "10 min", "30 min", "1 hr"...
Selects the direction of the excitation current. In AC mode, the current direction is switched with each ADC reading and each measurement is the average of the two most recent readings, thereby eliminating errors caused by thermal EMFs. The excitation current can also be switched CTC100 Programmable Temperature Controller...
Page 112
Not all options are available for every output channel. Input If the IO type is set and does not produce an output; it becomes a high-impedance input. Set out Meas out If the either voltage, current, or Channel.Units Set out power, depending on the CTC100 Programmable Temperature Controller...
Page 113
Channel.Off (Output channels only) Turns the selected channel off. The instruction cancels any active autotuning process, turns PID feedback off, channel.Low lmt Errors: attempting to use this instruction on an input channel results in a compile-time CTC100 Programmable Temperature Controller...
Page 114
System.Other.Fan Auto PCB). If the temperature of the circuit exceeds this value and , the CTC100 increases the fan speed to cool the air inside the chassis. The PCB temperature is always System.Display.Units expressed in °C, regardless of the setting.
Page 115
Sets channel Out 1 to output 1 watt of power. Note that omitted. In1.value? Queries the output of channel In1. The response is a numeric value such as 37.4722 System.Com.Verbose is set to Low or Medium, or CTC100 Programmable Temperature Controller...
Page 116
High. If sensor In1 is not connected or is out of the range of its For input channels and measured output channels, the current value reported by the CTC100 is the most recent ADC reading with the sensor calibration and lowpass, difference, etc. filters applied.
Page 117
See the description of the Type button on page 63 for more information. C hannel.P ID submenu channel.PID instructions can only be used on output channels. Attempting to use a PID instruction on an input cha CTC100 Programmable Temperature Controller...
Page 118
Channel.PID.Mode { Off, On, Follow } Enables or disables PID feedback. Turning feedback off freezes the output at its current value current PID gain of the channel input Zero pt Gain selected with the instruction, adjusted by the factors. CTC100 Programmable Temperature Controller...
Page 119
Ramp temperature. The ramp temperature is an internally-generated setpoint for the PID feedback loop; it is the temperature that the CTC100 is trying to maintain at the present moment. If the feedback is not running, the ramp temperature always equals the sensor temperature, since the CTC100 has no control over the sensor temperature when the feedback is not running.
Page 120
' select the third line of the table Out1.PID.Tmin 1000 ' ensure that this line is never used Out1.PID.Zone Auto ' enable zoned feedback Errors: Attempting to change the zone when no PID input channel is selected produces a run- error. CTC100 Programmable Temperature Controller...
Starts or stops PID autotuning. starts the step response tuning algorithm; starts the Auto relay tuning algorithm. In mode, the CTC100 begins a step response if the PID output is less Channel.Tune.StepY than half of ; otherwise it begins the relay tuning procedure. cancels Channel.Tune.Type { Cons, Moderate, Aggr, Auto }...
USB stick. The macro subsequently, it will run each time the CTC100 boots up. Note that the macro must be less than 256 characters long and must not call any macros stored on USB devices. For example, the following remote command defines a startup macro that displays a message each time the CTC boots up: define Startup(popup "Power has cycled")
Touch the highlighted button to stop the macro. If the sample macros are sent to the CTC100 via the RS-232, GPIB, USB device, or Ethernet port, each macro must be formatted as a single line with the comments removed, otherwise each line will be treated as a separate macro, and the lines will all run at the same time instead of sequentially.
This macro turns selection group 1 into a display of channels with tripped alarms. Once per channels are deselected. The macro is best used with the Numeric screen visible, but also works with the Select or Plot screens. if (group==1) { selectAlarmed } pause 1 s CTC100 Programmable Temperature Controller...
L inearizing outputs w hen interfacing w ith ex ternal pow er supplies If you need more heater power than the CTC100 can deliver, you can use the CTC100 outputs to control a programmable power supply. Since the analog input on programmable power...
CTC100. For example, to supply half of the maximum power to the heater, the CTC100 would need to turn the relay on for 5 seconds, off for 5 seconds, on for 5 seconds, etc. The following procedure transforms the output of a PID feedback loop into a variable duty cycle relay.
Page 127
V1, and add these lines after the { #d = 1 } statement: if (#V2>#t) { #d+=2 } if (#V3>#t) { #d+=4 } The macro can automatically run every time the CTC100 is turned on; just send the command CTC100 Programmable Temperature Controller...
Page 129
Remote Programming CTC100 Programmable Temperature Controller...
SRS website at www.thinksrs.com; click on Downloads > Software. Once unzipped, the applications can be run by double-clicking the .exe icon or dragging CTC100 log files to the .exe icon. It is not necessary to run an installation program.
When converting data to a text or HTML file, this setting determines how the time of each data point is recorded: -bit decimal value that indicates how many milliseconds have elapsed since midnight on January 1, 1970. CTC100 Programmable Temperature Controller...
Page 133
S ta rt Press the Start button to begin the conversion. Close Press the Close button to save all settings and close PTCFileConverter. -right corner of the window closes the program without saving any settings. CTC100 Programmable Temperature Controller...
To plot a file, either drag a log file onto the File Grapher icon or double-click the FileGrapher window appears that shows all of the CTC100 files in the same directory as the plotted file. Click on a file in the file selection window to plot it. Shift-click or Control-click to plot two or more files at the same time.
Page 135
Grid linewidth: the width of the plot gridlines, in pixels. Plot linewidth: the width of the plot traces, in pixels. Values other than 1 may significantly increase the amount of tie that it takes to draw the graph. CTC100 Programmable Temperature Controller...
(buffer 1) and the buffer to add (buffer 2). When you irst point in buffer 2 that has a time equal to or greater than the time of the point in buffer 1. CTC100 Programmable Temperature Controller...
Page 137
Creates a new buffer that contains a copy of all data from an existing buffer. Crop Creates a new buffer that contains a copy of data from an existing buffer. Only points that falls Deriva tive Replaces each data point with the difference between it and the succeeding point. CTC100 Programmable Temperature Controller...
A downsampling constant of 3, for example, reduces the number of points in the buffer to one-third of its previous value. L owpa ss Removes noise by emulating an analog RC lowpass filter. Similar to the CTC100 filter, -order rather than sixth-order.
"buffer", "fileName" load a file into a new buffer; specify a name for the buffer and the name of the file to load lowpass "buffer", 1.0 lowpass-filter a buffer; specify the time constant in seconds CTC100 Programmable Temperature Controller...
Page 140
"buffer" subtract initial: buffer = buffer - buffer[0] undo "buffer" undoes the last operation that modified the indicated buffer wave "buffer1", "buffer2", 1.0 weighted average: buffer1 = (buffer1 + buffer2*weighting factor) / (1 + weighting factor) CTC100 Programmable Temperature Controller...
Page 141
PC Applications xLabel "state" Sets the X-axis label to "dateTime" (date and time), "elapsedTime" (elapsed time), or "off" (none), yLabel "text" Label the Y axis of the graph with the indicated text CTC100 Programmable Temperature Controller...
10 ADC conversions are occurring each second, the LED blinks 5 times per second. If the status LED does not blink while the CTC100 is running, or does not blink at the same rate as the status LEDs on the other I/O cards, the card has a hardware or software problem.
CONV* signal; see the description of pin C18 below) with the 50 or 60 Hz line frequency. If this circuit fails, the CTC100 may become unresponsive. Jumper J160 can be used to synchronize the CONV* signal to a 1 MHz clock instead of the line frequency; in this case, the A/D sampling period can be set to any integer multiple of 1 µs rather than being limited to an integer multiple of...
Page 145
The SPI bus is used to reprogram the Atmel m Select (CS*) line must be pulled low for its SPI bus to become active. C20: SCK (SPI Clock). C21: MOSI (Master out, slave in). C22: MISO (Master in, slave out). CTC100 Programmable Temperature Controller...
Circuit Description U A R T Connected to the CTC100 -panel RS-232 port. The I/O cards do not use and are not connected to the backplane UART. A19: CTS (Clear to Send). A20: RTS (Request to Send). A21: RXD (Receive Data).
(OUT+) is 55V; when U220A outputs 0.8V, OUT+ is 24V. Diode D221 protects the feedback pin from an over-voltage condition during start-up. R214 sinks current when the op amp output is near its lower rail. CTC100 Programmable Temperature Controller...
U206 multiplexes the four channels into a 24-bit ADC. Since the ADC has a 0 5V range while the inputs are specified for a ±10V range, the input voltage is divided by 4 and offset by 2.5V. CTC100 Programmable Temperature Controller...
The DIO card also includes four non-latching relays, K401 K404. Each relay is double throw Pins 2, 3, and 4 serve as a monitoring relay. If the monitoring relay fails to switch as expected, XOR gates U410 notify the microcontroller by pulling one of OUT1MON, OUT2MON, etc. high. CTC100 Programmable Temperature Controller...
Circuit boa rd P a g e count PTC211 CPU board PTC222 Backplane PTC232 Front panel PTC240 GPIB card PTC323 2-channel thermistor/diode/RTD reader PTC431 100W DC output card PTC510 Analog IO card PTC520 Digital IO card CTC100 Programmable Temperature Controller...
Need help?
Do you have a question about the CTC100 and is the answer not in the manual?
Questions and answers