CTRIO FAQs
(Last Update: 02-Feb-2015, CTRIO FAQ0093)

CTRIO FAQ0001
<Deleted>


CTRIO FAQ0002
16-Nov-2015
Q: What causes the CTRIO/CTRIO2 to sometimes get double counts or be sensitive to noise?
A: If the CTRIO/CTRIO2 is counting double it is seeing double edges. Use an oscilloscope to verify the signal. Spurious counting can be caused by:

Things to consider:

  1. Use the shortest distance possible for wiring.
  2. Use shielded cabling.
  3. Use good routing practices (don't run signal wire parallel to high voltage, or near electrically noisy devices).
  4. Isolate the "M" terminal of CTRIO/CTRIO2 so that it is not common with higher current devices (i.e. a 2mA current in "M" leg can cause a false ON state).
  5. Use bipolar sensor outputs (i.e. totem-pole / push-pull).
  6. If using a CTRIO2 you can edit the Input Filter values to filter out unwanted noise:
    1. If using Do-more PLC: From the menu, PLC --> System Configuration... --> Module Configuration(s), select your CTRIO2, press the <Edit Config> button, then press the <Input Filters...> button.
    2. If using Do-more PLC then the Input Filters can also be written to via ladders using the CTREGWR "CTRIO Write Register" instruction.
    3. If using a DL-PLC then the only way to write the Input Filter values is via ladders using the CTRRGWR "CTRIO Register Write" IBox. CTRIO Workbench does not yet allow access to these values during configuration.

CTRIO FAQ0003
<Deleted>


CTRIO FAQ0004
16-Nov-2015
Q: Can Pulse Profile parameters (e.g. accel/decel) be changed on the fly from ladders?
A: No. However, here are some ideas to possibly solve this:


CTRIO FAQ0005 (similar to DirectSOFT FAQ109; ERM FAQ0018)
08-Jul-2002
Q: While installing CTRIO Workbench various problems are encountered.
A: Although installation problems are uncommon the following errors have been seen:


CTRIO FAQ0006
21-May-2002
Q: Have CTRIO configured for Count Capture. When I get a pulse for capture on Input D the count is captured properly. However when I get a Reset on Input C not only is the current count cleared (as expected), the captured count is also cleared!
A: There are two ways in which a Reset can occur. (1) Hardware Reset with Input C; (2) Software Reset with Reset Bit from PLC. Formerly the Hardware Reset did indeed behave this way. It would clear both the Current Count and the Captured Count. The Software Reset however, only cleared the Current Count and left the Captured Count intact. However, for consistency purposes (and some other reasons) we changed the behavior of the Hardware Reset to be identical to that of the Software Reset with regards to the clearing of the Capture Count. This behavior was changed in H2-CTRIO firmware version v2.1.7. See below for Timing diagrams.


CTRIO FAQ0007
16-Nov-2015
Q: Are there examples of each of the CTRIO/CTRIO2 functions using DL-PLC?
A: The manual describes them, and there are several example programs and configuration files under the HAPTools\CTRIO and \HAPTools\CTRIOwb2 folders. However, it is highly recommended you use the Do-more PLC or at least use the CTRIO IBox instructions in the DL-PLC. Using the CTRIO/CTRIO2 using discrete DL instructions is very tedious and prone to error.


CTRIO FAQ0008 (see also DirectSOFT FAQ0224)
07-Feb-2013
Q: Encountering various problems when starting up CTRIO Workbench:
A: Here are some of the more common problems:


CTRIO FAQ0009
<Deleted>


CTRIO FAQ0010
03-Jun-2002
Q: Variables in a CTRIO in PLC rack to Think&Do make sense in Monitor I/O, but not when CTRIO is plugged into WinPLC.
A: We added the ability to display the Monitor I/O in several different formats, including WinPLC format to CTRIO Workbench v2.0.


CTRIO FAQ0011
03-Jun-2002
Q: CTRIO Workbench doesn't automatically enable link if you double-click on it.
A: Added this feature to CTRIO Workbench v2.0.


CTRIO FAQ0012 (see also WinPLC FAQ0036; EBC FAQ0079)
26-Mar-2010
Q: When trying to connect to CTRIO/CTRIO2 in WinPLC or EBC/EBC100 base with CTRIO Workbench, getting "Error reading base definition".
A: This is usually caused by the CTRIO Workbench not having enough of the backplane bandwidth to complete a connection. Thus, depending on what type of base the CTRIO/CTRIO2 is installed in:

     If WinPLC:  Try stopping the WinPLC's application from running; then try CTRIO Workbench again.

     If EBC/EBC100: Try stopping the master that is currently polling, or disconnect from the master altogether; then try CTRIO Workbench again.

     If none of this works, try reinstalling CTRIO Workbench. There have been instances where something on the PC has corrupted the installation and caused this very error message.


CTRIO FAQ0013 (see also EBC FAQ0048; ERM FAQ0031; WinPLC FAQ0029; SDK FAQ0013)
22-Nov-2002
Q: Is it possible to utilize the CTRIO System Functions everywhere it can be installed?
A: In firmware v2.x System Functions were added to the CTRIO products (H0-, H2-, H4- and T1H-CTRIO). These System Functions would allow you to write (and read) various internal registers of the CTRIO. The following table shows what scenarios that these System Functions can be used and how to use them:

  System Function CTRIO Configuration
Local DL PLC Base Remote DL PLC Base DL PLC with ERM/EBC WinPLC (Think&Do) Local Base WinPLC (Think&Do) with ERM/EBC Think&Do (Entivity) to EBC Ethernet SDK to EBC
Mapped System Functions (i.e. in V-memory) Status of Inputs YES NO (4) YES YES YES YES YES
Mode & Status of Outputs YES NO (4) YES YES YES YES YES
CTRIO Shared RAM System Functions 0x01 - Read all registers YES (1) NO (4) NO (5) YES (2) YES (2) YES (2) YES (3)
0x02 - Write all registers YES (1) NO (4) NO (5) YES (2) YES (2) YES (2) YES (3)
0x04 - Write one register YES (1) NO (4) NO (5) YES (2) YES (2) YES (2) YES (3)
0x05 - Write reset value YES (1) NO (4) NO (5) YES (2) YES (2) YES (2) YES (3)

(1) - Use RD/WT instruction in Ladders.
(2) - Use Shared RAM Operations for CTRIO in a CALL block.
(3) - Use Ethernet SDK routine HEIWriteSharedRAM / HEIReadSharedRAM.
(4) - Not possible because CTRIO will not work in remote bases.
(5) - Not possible because Ladders cannot tell the ERM to access the Shared RAM of CTRIO in EBC base.


CTRIO FAQ0014 (see also WinPLC FAQ0013, EBC FAQ0030)
11-Feb-2003
Q: What is the expected hit on the scan time for adding an H2-CTRIO to WinPLC or EBC rack? When I connect with Entivity and add more than one H2-CTRIO I get a timeout.
A: This is different for each product:

For WinPLC, there could be a detectable hit (however, small) simply because it has a comparatively slower processor (100MHz).

On the EBC itself, the addition of a CTRIO will probably not be noticeable at all simply because the EBC has only one thing to do . . . update its I/O.

On a Think&Do or Entivity application there will be about 7ms/CTRIO hit due to the number of tags that are created to handle the extra I/O scanning of the CTRIO from the PC. Thus, in the Connectivity Center of this software, under "Attributes" you must increase the "Timeout Value for Retries(ms)" value accordingly.


CTRIO FAQ0015
20-Dec-2002
Q: Using CTRIO v2.0. If running velocity mode, can the number of pulses that have been output be read?
A: There is a register that can be read out that will contain the number of counts that have been sent out since the output enable bit was set. There is an example program on Host's website that shows how this is accomplished.


CTRIO FAQ0016 (see also WinPLC FAQ0007)
17-Feb-2003
Q: Is there a way to change the preset values in multiple Preset Tables from WinPLC to CTRIO on the fly?
A: Basically there are two choices to do this with CTRIO:

  1. Make a Preset Table that turns on an output and use the "0x15 - Edit Entry / Reload" command to change the preset value in this table when needed
  2. Configure multiple Preset Tables (there are 256 tables available) with different preset values and using the "0x10 - Load Table" command to load the different ones when needed.

CTRIO FAQ0017
17-Feb-2003
Q: Can the CTRIO be made to count in both directions (quadrature encoder) but only in a positive range (e.g. 0-499)?
A: Not easily. Here is how it could work:

  1. Create a Preset Table to handle the positive direction by making it reset the count to 0 (zero) when it reaches a count of 499.
  2. To handle the negative direction, read the count from the CTRIO in the PLC for two consecutive scans and compare them. If the count went down between scans, then set a C-bit to indicate a negative direction. As long as the count goes down, keep the bit set.
  3. If the count increases, clear the C-bit.
  4. If the count keeps decreasing and reaches 0 (zero), then execute a System Command to the CTRIO and write the current count to +499.

In the above solution, the positive direction would work flawlessly, but the negative direction would be sensitive to the speed at which the encoder is turning along with the speed of the PLC scan. Also, depending on which direction is more critical in your application, you could just as easily make a Preset Table to handle the negative direction and the PLC program to handle the positive direction.


CTRIO FAQ0018
04-Jan-2008
Q: What is the input impedance of the CTRIO input?
A: On the input of the CTRIO is a JFET (Junction Field Effect Transistor) in a constant-current source arrangement. In this manner it guarantees the input current will be between 5-15mA for the range of 9-30V. So, the input impedance varies based on this characteristic. So at the high voltage extreme:


CTRIO FAQ0019
06-Feb-2008
Q: How does the Pulse Catch function operate? (The manual is a bit unclear).
A: Below is an example timing diagram of the functionality of Pulse Catch with notes at the end explaining. The settings used to generate this diagram are not likely in the real world, but are given here as only an example.

CTRIO Workbench configuration for the diagram:
     - Input C = Pulse Catch
     - Pulse In = Rising Edge
     - Minimum Width In = 300s
     - Pulse Out Width = 1ms

NOTES:
- The 1st thing to do is to SET the Enable Capture bit. This will cause the CTRIO to start looking for the pulse on Input C.
- The 1st pulse is ignored (200s*) because it doesn't meet the 300s minimum configured.
- The 2nd pulse is captured (400s**) because it meets the 300s minimum configured.
- The 3rd pulse is ignored (400s***) because though it meets the 300s minimum configured, it occurs during a capture.
- The Capture Start Bit comes ON as soon as an edge is detected and goes OFF if the pulse does not meet the 300s minimum. However, it stays ON through the duration of a catch.
- The Output Pulse Bit comes ON as soon as the minimum 300s minimum is met and stays ON for the Pulse Out Width of 1ms as configured.
- The CTRIO Output, if configured for this, will perfectly track the Output Pulse Bit.

Thus, the 2nd pulse is the one that is captured above, and reflected in the 1ms output. In a more practical application, the pulse width would probably be in the <25ms range (as above), but the Pulse Out Width would probably be much longer (e.g. >25ms) so that the PLC would be insured of "seeing" it. 


CTRIO FAQ0020
06-Feb-2008
Q: Is it possible to reset the Preset Table's pointer back to the 1st entry in the Table without resetting the Count or disabling the Output?
A: Yes. The "'round-about" way of doing this is to simply reload the exact same unchanged Preset Table (0x10 Load Preset Table).


CTRIO FAQ0021
11-Mar-2014
Q: Will the CTRIO/CTRIO2 retain the current count upon power loss? (i.e. Does it have retentive count capability?)
A: The CTRIO/CTRIO2 itself does not have this capability, however, there is a way to accomplish this. If you are using the CTRIO/CTRIO2 in a DL-PLC then the CTRIO/CTRIO2 System Commands are utilized along with the retentive V-memory of the host PLC. If you are using the CTRIO/CTRIO2 in a Do-more PLC then this can be accomplished by using some Do-more system features and the CTREGWR instruction. 

If you are using the CTRIO/CTRIO2 in a DL-PLC:

If you are using the CTRIO/CTRIO2 in a Do-more PLC:

CTRIO FAQ0022
18-Mar-2003
Q: Trying to control a stepper motor drive, but sometimes it moves in the wrong direction (e.g. staring up; homing).
A: Make sure that your stepper motor and stepper motor drive don't have a minimum frequency. If they do, then make sure, of course, that the CTRIO output frequencies are configured to put out at least that minimum frequency requirement or else you can get erratic performance (i.e. reversing direction) from your motor.


CTRIO FAQ0023
13-Aug-2002
Q: What is the resolution of the Edge Timer?
A: The maximum resolution is one microsecond (1s).


CTRIO FAQ0024
03-Apr-2003
Q: The CTRIO stays in the booter (OK and ERR LEDs are blinking) after attempting to upgrade its firmware; or gets "OS loader failure" error.
A: This is normally a bandwidth problem (i.e. the firmware telegrams aren't getting there in an efficient fashion. Here are some things that will cause this:

  1. If firmware upgrade is attempted while the PLC/WinPLC is in the RUN mode.
  2. If firmware upgrade is attempted while the EBC is talking to an ERM.
  3. If firmware upgrade is attempted while you are online with DirectSoft and Status is turned on.
  4. If firmware upgrade is attempted through an ECOM that is being used by an EZ Ethernet adapter.

So, before attempting to upgrade, make sure that none of the above is true (e.g. PLC is in PGM mode; ERM (not EBC) is unplugged from network to free up the EBC; DirectSoft isn't connected at all; etc.). If your CTRIO is in the booter mode already (OK and ERR LEDs are blinking), just rerun the firmware upgrade with the above precautions.


CTRIO FAQ0025
06-Oct-2008
Q: When attempting to use the Import function for Freeform Pulse Profile, get "Error on line 1: ..." no matter what I do.
A: This is a bug exclusive to CTRIO Workbench v2.1.11 (all earlier versions work). This can be fixed by upgrading to:

CTRIO Workbench v2.1.12 (or later)

To download the latest CTRIO Workbench:
(1)  Goto www.hosteng.com.
(2)  In left column, click Hardware --> CTRIO.
(3)  Scroll down to CTRIO Workbench v2.1.12 (or later) link.


CTRIO FAQ0026 (see also EBC FAQ0082; PBC FAQ0013; WinPLC FAQ0037)
01-Jun-2009
Q: Why are the I/O Map values not saved if using CTRIO Workbench to talk to a CTRIO in an EBC/EBC100, WinPLC, or PBC base?
A: If the CTRIO is in any of these bases, the values entered in the CTRIO Workbench I/O Map do not determine the CTRIO's I/O address mapping. Something other than the CTRIO itself is determining this mapping (see chart below). Thus the I/O Map, in these cases, is merely a documentation function.

If you enter values in this map, they will not be saved in the CTRIO .CWB file that you might create. Thus, to remember the values, you will have to use the Report button at the bottom and then either Print a hard copy, or Save it to a .TXT file.

BASE CONTROLLER MASTER OF THE BASE CONTROLLER I/O MAPPING DETERMINED or SHOW BY:
DL05 N/A CTRIO Workench (I/O Map)
DL06
DL205
DL405
H*-EBC or H*-EBC100 PC (Ethernet SDK) H*-EBC (NetEdit --> Show Base Contents)
PC (KepDIRECT EBC)
PC (Think&Do or Entivity)
H*-ERM ERM Workbench (Configure ERM)
H*-EBC100 only 3rd-party (Modbus TCP) H*-EBC100 (NetEdit --> Show Base Contents)
H*-ECOM100 (Modbus TCP)
H2-WPLC (Think&Do or Entivity) <N/A> H2-WPLC (Think&Do or Entivity)
H2-WPLC (WinCE) H2-WPLC (3rd-party application)
H2-PBC 3rd-party (Profibus Master) 3rd-party (Profibus configurator)
T1H-EBC or T1H-EBC100 PC (Ethernet SDK) T1H-EBC or T1H-EBC100 (NetEdit --> Show Base Contents)
PC (KepDIRECT EBC)
PC (Think&Do or Entivity)
T1H-EBC100 only 3rd-party (Modbus TCP) T1H-EBC100 (NetEdit --> Show Base Contents)
H*-ECOM100 (Modbus TCP)

NOTE: To use the table, note what is controlling the base where the H*-CTRIO is plugged into. Then note what is controlling the base controller itself. In the last column is the device or software that either determines the I/O mapping, or at least shows it to you.


CTRIO FAQ0027
29-Aug-2002
Q: Is it possible to write a value to the current count in the CTRIO?
A: Yes, using System Command 0x02 Write all registers, and System Command 0x04 Write one register (see manual for details).


CTRIO FAQ0028
03-Sep-2002
Q: It appears that the CTRIO sometimes misses the Z-pulse from my encoder.
A: If this appears to happen (usually at higher frequencies) then you should upgrade the CTRIO to at least v2.0. There was a small window of time in the older CTRIO (v1.0) where it was possible for this to occur. The CTRIO firmware v2.0.1 fixes this.


CTRIO FAQ0029
09-Sep-2002
Q: With a 100KHz pulse input, how many counters can the CTRIO support?
A: The H2-CTRIO and H4-CTRIO can have 2 quadrature or 4 regular counters configured. The H0-CTRIO can have 1 quadrature and 2 regular counters configured.


CTRIO FAQ0030
25-Sep-2003
Q: Using Process Commands, the Command Complete bit never gets set. Everything in Monitor I/O works, however.
A: Consider:


CTRIO FAQ0031
30-Sep-2003
Q: I need to read both the speed/velocity of my encoder input as well as the position (raw count). Is this possible?
A: Both the Scaled Units and the Raw Value are output from the CTRIO to the PLC in the I/O Mapping.


CTRIO FAQ0032
30-Sep-2003
Q: I need to control a CTRIO output based on both a speed/velocity input reading from my encoder as well as the position (raw count). Is this possible?
A: Even though Scaled Units and Raw Value are output from the CTRIO to the PLC in the I/O Mapping, you cannot configure a single CTRIO output to respond based on both the speed/velocity (Scaled Units) value and the position (Raw Value). You could, however, hook the encoder to 2 channels of the CTRIO and use 2 outputs; 1 to respond to the speed/velocity (Scaled Units) value and the other to respond to the position (Raw Value).


CTRIO FAQ0033
30-Sep-2003
Q: Will the H2-CTRIO work with the F2-DEVNETS-1?
A: No, the H2-CTRIO will not work with the F2-DEVNETS-1 (nor the earlier F2-DEVNETS) nor are there any plans to make these work together. However the T1K-DEVNETS is currently (2nd Quarter 2004) being worked on to work with the T1H-CTRIO.


CTRIO FAQ0034 (see also ERM FAQ0019; EBC FAQ0029)
30-Sep-2003
Q: Will the CTRIO work in the local expansion bases of DL205 or DL405 line?
A: No. Do not install the H4-CTRIO nor the H2-CTRIO in local expansion. It will however work in the ERM/EBC configuration. So you can expand the I/O using the ERM/EBC instead.


CTRIO FAQ0035
26-Sep-2002
Q: How many quadrature encoders can I connect to a CTRIO?
A: The H2-CTRIO and H4-CTRIO can support 2 quadrature encoders each. The H0-CTRIO can support only 1.


CTRIO FAQ0036
26-Sep-2002
Q: Using Temposonic quadrature absolute encoder, and occasionally the count in the CTRIO module jumps by 65,536 counts.
A: The Temposonic quadrature encoders actually artificially generate pulse trains based on the absolute position of their magnets. The faster versions are of high enough resolution that when they are at rest the electronic pulse generator inside is actually jittering. This causes direction changes for the CTRIO that are much too fast for it to handle (i.e. out of spec for the speed of the inputs); in fact, the direction changes are taking place faster than a real encoder with real mechanical motion could possibly generate. Thus it is not recommended that these style of encoders be used with the CTRIO unless you make sure that the resolution is large enough (i.e. not as sensitive) so as not to artificially generate these direction changes too quickly.


CTRIO FAQ0037
16-Feb-2010
Q: How is the Rate calculation performed by the CTRIO.
A: Here are some real-life applications to help you understand how these settings work:

EXAMPLE #1 (RPM Value)

Let's say we want the CTRIO to give us the speed of a motor in RPMs (Revolutions Per Minute) instead of just counts. Attached to this motor we have an encoder that yields 800 PPR (Pulses Per Revolution). This encoder is connected to the CTRIO's Inputs and the CTRIO Input has been configured as a Counter.

Thus the givens for this example are:
     - Rate value needs to be in RPMs.
     - Encoder is 800 PPR.

We now pull up the Scaling Wizard by pressing the Ruler () button. This gives the following dialog:

Pick Rate and press the <Next> button. This yields the following dialog:

Engineering Units: This is strictly 4 characters that can have any meaning we want. CTRIO doesn't care.
Output Format: This is how we want the scaling value reported to us. In this example, Integer x10 is picked just because we want a tenth of an RPM accuracy in the value reported. This means, for example, if we get a value back from the CTRIO such as 2124, this has 1 implied decimal place, which means the value is actually 212.4. We now press the <Next> button and get the following dialog:

Since we want our value to be in RPMs (Revolutions Per Minute), then we must set the Unit Time Base as minutes. Now, remember the encoder we are using yields 800 pulses in 1 revolution. Thus if it made 1 revolution in 1 minute, that would yield 800 pulses in 1 minute's time. So if the CTRIO Inputs see 800 pulses in the timespan of 1 minute, this would be 1 RPM. Thus, we must make the Counts / unit equal to 800 (800 pulses per minute = 1 RPM). Basically, we are done with the scaling and there is nothing else to configure. The Calc Options do not affect the scaling calculation being performed but are explained in CTRIO FAQ0070 and CTRIO FAQ0081.

Notice in this dialog, however, there is a tool called the Rate Scaling Calculator that can be used to verify our settings. Let's use it and see if it gives what we think it should:

Counts in sample: This is a number of counts we are going to consider. To make it easy, let's just say the CTRIO receives 800 pulses from the encoder, and thus counts to 800. So we enter 800.
Sample Time: This is the timespan in which the 800 pulses were received. Since we already know if the CTRIO gets 800 pulses in the timespan of 1 minute would equal 1 RPM, then we want to make the Sample Time equal to 1 minute. But the Sample Time is in ms (milliseconds). Thus, to enter 1 minute; this would be 60 seconds, or 60,000 milliseconds. So we enter 60000.
Scaled Value: Here is the answer. It will display 10 RPM. This is not 10 RPM, but rather 1.0 RPM because, in the Output Settings above we picked an implied decimal place. This proves that if the CTRIO gets 800 pulses in the timespan of 60,000 ms, that this would equal 1 RPM.

RATE SCALE FORMULA FOR RPM EXAMPLE

The formula the CTRIO uses to calculate the Rate Scaling is:

Or simplified as:

Where:

R = Result (This value is the Rate Scaling value output by the CTRIO to the PLC)
M = Multiplier (This value depends on the Output Format selected in the Scaling Wizard - Output Settings dialog).
U
= Units in seconds (This value depends on the Unit Time Base selected in the Scaling Wizard - Rate Settings dialog).
C
= Counts per unit (This value is the Counts / unit entered in the Scaling Wizard - Rate Settings dialog).
S = Scale offset (This value is the Scale Offset entered in the Scaling Wizard - Rate Settings dialog).
P = Pulse interval in seconds (This value is the Input to the CTRIO that is being scaled. It is the time in seconds divided by the number of counts received):

Using this formula with the RPM example above:

Since we are going to scale a particular count as received in a particular amount of time, let's use something we already know. We know in our example that if the CTRIO sees 800 pulses in 1 minute, that would be 1 RPM. Thus:

Plugging the values in:

This is the same answer we received when we plugged the values into the Rate Scaling Calculator.
 

EXAMPLE #2 (FPS Value)

RPM scaling is the easiest example. Let's try something more complicated. Let's say we have a conveyor belt running and we want the value obtained from the CTRIO to be FPS (Feet Per Second). A proximity switch is connected to the CTRIO Input that detects the teeth on a gear. The gear has 30 teeth on it, and is coupled directly to a cylinder being driven by a motor to move the conveyor belt. The diameter of the cylinder is 10 inches.

Thus the givens for this example are:
     - Rate value needs to be in FPSs.
     - Proximity switch & Gear provide 30 PPR.
     - Cylinder driving the belt is 10 inches in diameter.

The CTRIO can only see the pulses generated from the proximity switch. Since we want the value the CTRIO gives us to be in FPS (Feet Per Second), we're going to have to figure out how much the cylinder must turn (and thus the gear with teeth detected by the proximity switch) to make the belt move 1 foot (12 inches). To figure this out, we must know the cylinder's circumference. If the cylinder's diameter is 10 inches, then:

This means when the cylinder turns 1 full turn, it has moved the belt 31.4159 inches. This 1 turn of the cylinder would also turn the gear 1 full turn, and thus generate 30 pulses on the proximity switch. Thus 30 pulses = 31.4159 inches of belt movement. But we are interested in feet, not inches. Since there are 12 inches in 1 foot:

This means when the cylinder turns 1 full turn, it has moved the belt 2.618 feet. Again, this 1 turn of the cylinder would also turn the gear 1 full turn, and thus generate 30 pulses on the proximity switch. Thus 30 pulses = 2.618 feet of belt movement. Now in order to configure the CTRIO to give us the right value, we need to know how many pulses the CTRIO Input will see if the belt only travels 1 foot because we are interested in FPS (Feet Per Second). Thus:

Of course, the CTRIO cannot see a fraction of a pulse, but the calculation for the Rate can certainly use a fraction. Thus we now know that when the cylinder has turned 1 foot, and thus turned the gear, the proximity switch will have generated at least 11 pulses. Thus, if the CTRIO sees 11 pulses, it knows the belt has traveled at nearly 1 foot. Realizing this, we can set the values.

We now pull up the Scaling Wizard by pressing the Ruler () button. This gives the following dialog:

Pick Rate and press the <Next> button. This yields the following dialog:

Engineering Units: This is strictly 4 characters that can have any meaning we want. CTRIO doesn't care.
Output Format: This is how we want the scaling value reported to us. In this example, Integer x100 is picked just because we want a hundredth of a FPS accuracy in the value reported. This means, for example, if we get a value back from the CTRIO such as 2124, this has 2 implied decimal places, which means the value is actually 21.24. We now press the <Next> button and get the following dialog:

Since we want our value to be in FPS (Feet Per Second), then we must set the Unit Time Base as seconds. Now, remember the gear/proximity switch we are using yields 30 pulses in 1 revolution, but only yields 11.4591 pulses when the belt has traveled 1 foot. So if the CTRIO Inputs see 11 pulses in the timespan of 1 second, this would be almost (but not quite) 1 FPS. Thus, we must make the Counts / unit equal to 11.4591 (11.4591 pulses per second = 1 FPS). Basically, we are done with the scaling configuration. The Calc Options do not affect the scaling calculation being performed but are explained in CTRIO FAQ0070 and CTRIO FAQ0081.

Notice in this dialog, however, there is a tool called the Rate Scaling Calculator that can be used to verify our settings. Let's use it and see if it gives what we think it should:

Counts in sample: This is a number we are going to consider. To make it easy, let's just say the CTRIO receives 11 pulses from the proximity swtich, and thus counts to 11. So we enter 11.
Sample Time: This is the timespan in which the 11 pulses were received. Since we already know if the CTRIO gets 11 pulses in the timespan of 1 second this would be almost 1 FPS, then we want to make the Sample Time equal to 1 second. But notice the Sample Time is in ms (milliseconds). Thus, to enter 1 second; that would be 1000 milliseconds. So we enter 1000.
Scaled Value: Here is the answer. It will display 96 FPS. This is not 96 FPS, but rather 0.96 FPS (almost 1 FPS) because, in the Output Settings above we picked 2 implied decimal places. This proves that if the CTRIO gets 11 pulses in the timespan of 1000 ms, that this would equal nearly 1 FPS as we expect. Remember the exact number of pulses for traveling 1 foot is technically 11.4591, but the CTRIO can't see fractional pulses, of course. But by increasing the Counts in sample to 12, you can see that the answer would now indicate slightly over 1 FPS, e.g. 1.05 FPS as we expect.

RATE SCALE FORMULA FOR FPS EXAMPLE

Using this formula with the FPS example above:

Since we are going to scale a particular count as received in a particular amount of time, let's use something we already know. We know in our example that if the CTRIO could see fractional pulses and it saw 11.4591 pulses in 1 second, that would be exactly 1 FPS. But since it can only see integer values for pulses, let's just use 11 pulses. As we saw above, this should give us a value less that 1 FPS. (The Rate Scaling Calculator gave us 96). Thus:

Plugging the values in:

Rounded up, this is the same answer we received when we plugged the values into the Rate Scaling Calculator.


CTRIO FAQ0038
10-Jul-2002
Q: Using Data Smoothing for a Rate calculation in H2-CTRIO, the initial value is way off, but after several samples it starts working correctly.
A: This was a bug in the CTRIO firmware. This behavior is corrected in v2.0.1 firmware.


CTRIO FAQ0039 (see also EBC FAQ0038; PBC FAQ0006)
27-Aug-2002
Q: In order to use the newer T1H-CTRIO or H4-CTRIO, what are the requirements as far as configuration software, hardware and firmware?
A: Here are the requirements:


CTRIO FAQ0040
08-Oct-2002
Q: When my CTRIO outputs are tied to Preset Tables, I cannot disable them. Why?
A: CTRIO outputs have two names:


CTRIO FAQ0041
08-Oct-2002
Q: What is the minimum firmware version of the DL250-1 necessary to work with the H2-CTRIO?
A: All DL250-1 PLCs work with the H2-CTRIO. However, if you have the older DL250, then it must have firmware v1.56 or later.


CTRIO FAQ0042
08-Oct-2002
Q: When CTRIO is powered up, the ERR light comes on.
A: This ERR light indicates a serious and fatal error in the CTRIO has occurred. Check:


CTRIO FAQ0043 (see also EBC FAQ0043; PBC FAQ0008)
11-Oct-2002
Q: How many T1H-CTRIOs can be installed in one base?
A: For T1H-EBC, 13. For T1H-PBC, 2. The limit is data budget.


CTRIO FAQ0044
22-Oct-2002
Q: Using a Preset Table I cannot get RESET COUNT at 1250 and RESET COUNT at -1250 to work.
A: This problem actually stems from a misunderstanding as to how the CTRIO's Preset Tables function. Your table:

RESET COUNT at 1250
RESET COUNT at -1250

When the CTRIO sees a RESET COUNT instruction it zero's the count as expected, but it also resets the pointer back to the beginning of the table; which means that once the count is reset after reaching the value of 1250, it is goes back and starts looking for 1250 to happen again.

The function you are trying to get to work is more properly called a programmable limit switch (PLS). We are considering adding this function to the CTRIO in the future.


CTRIO FAQ0045 (see also DirectSOFT FAQ0132; DL Plus FAQ0010; DNLoader FAQ0011; DS Data FAQ0102; EBC FAQ0083; ECOM FAQ0084; EDRV FAQ0084; ERM FAQ0058; EZ Ethernet FAQ0010; General FAQ0004; HA-TADP FAQ0008; Lookout Direct FAQ0015; NetEdit FAQ0037; PBC FAQ0014; PSCM FAQ0003; SDK FAQ0022; SERIO FAQ0004; WinPLC FAQ0038)
31-Dec-2009
Q: What is the export classification of your products (e.g. ECCN)
A: None of our products have an ECCN. Automation Direct sells our products and they export EAR99 NLR (No License Required). ECCN is Export Controlled Classification Number and none of our products are controlled.


CTRIO FAQ0046 (see also EBC FAQ0047; ECOM FAQ0036; EDRV FAQ0009; ERM FAQ0030; EZ Ethernet FAQ0018; PBC FAQ0009; PSCM FAQ0001; WinPLC FAQ0018; NetEdit FAQ0014)
07-Nov-2002
Q: What software tool do I use to upgrade/downgrade my Host Engineering hardware?
A: Refer to the following:

Host Hardware Part Number Firmware/Booter Upgrade Tool
CTRIO H0-CTRIO
H2-CTRIO
H4-CTRIO
CTRIO Workbench
EBC
EBC100
H2-EBC
H4-EBC
T1H-EBC
NetEdit3
T1H-EBC100 NetEdit3 (v3.4 or higher)
H2-EBC100 NetEdit3 (v3.5 or higher)
ECOM
ECOM100
H0-ECOM
H2-ECOM
H4-ECOM
NetEdit3
H0-ECOM100
H2-ECOM100
H4-ECOM100
NetEdit3 (v3.5 or higher)
EDRV EDRV NetEdit3
ERM H2-ERM
H4-ERM
NetEdit3 or ERM Workbench
EZ Ethernet EZ Ethernet
EZ EtherPLUS
EZ Touch
PBC H2-PBC NetEdit3
PSCM H0-PSCM
H2-PSCM
WinPLC WinPLC WinPLC Workbench

NOTE: All the firmware for the above products can be downloaded using NetEdit3's File --> Live Update... The firmware files are stored in c:\HAPTools\Images folder.


CTRIO FAQ0047
31-Dec-2009
Q: What do the values in the Workspace register mean in the various CTRIO IBoxes?
A: The Workspace register is used internally by the CTRIO IBoxes. Consequently, one should never write to this register. However, knowing the meaning of the various possible values can aid in troubleshooting the IBox if something goes wrong.

Generally the Workspace bits are defined as follows:
- Bit0 (i.e. Workspace = 1): Waiting for leading edge trigger of the IBox (power flow is OFF).
- Bit1 (i.e. Workspace = 2): Waiting for token (after leading edge is seen).
- Bit2 (i.e. Workspace = 4): Waiting for CTRIO's Command Complete bit to go OFF
- Bit3 (i.e. Workspace = 8): Waiting for CTRIO's Command Complete to come ON

Here are possible interpretations of these values:
- Workspace = 1: This means the IBox has seen that the input leg to the IBox is OFF and is now waiting for the input leg to come ON (thus providing the leading edge to get things going).
- Workspace = 2: This means the IBox has seen the leading edge trigger and is ready to execute, however, it doesn't have the internal token yet. In other words, there is some other CTRIO IBox that is currently executing for the same CTRIO module, it it has to wait for that one to finish and release the token.
- Workspace = 4: This means the IBox has seen the leading edge trigger and now has the token. It is now only waiting for the possibility that the CTRIO's Command Complete bit has not yet turned OFF from a previous operation. This is just a quick check to make sure the CTRIO module is ready for a new Command.
- Workspace = 8: This means the IBox has seen the leading edge trigger, has the token, the Command Complete bit is OFF, and has executed his code giving the CTRIO a new Command to do and is now waiting for the CTRIO module to tell him he has completed the task.

Thus if you watch the Workspace register you will see it cycle through values 0, 1, 2, 4, 8 and back to 0 pretty fast.

If the IBox, for example, seems to not work and you look at the Workspace register and it is frozen at a value of 8, this usually means you have executed that particular IBox, say, in a Stage, and have terminated that Stage before the IBox gave you a Success or Error bit.


CTRIO FAQ0048
15-Feb-2008
Q: How do I change direction on the Pulse Outputs (i.e. direction of the motor)?
A: Direction is changed depending on the Pulse Profile you have loaded to control the Pulse Output.

COMMAND CODE TABLE DIRECTION CHANGE EXAMPLE
MAPPING (1)
0x10 - Load Table Trapezoid Direction bit C204
S-Curve Direction bit C204
Symmetrical S-Curve Direction bit C204
Dynamic Positioning Parameter3 & Current Position (2) V2020-V2021
(decimal)
Dynamic Velocity Sign of Parameter3 (3) V2020-V2021
(signed decimal)
Home Search Direction bit C204
Free Form Direction bit C204
0x20 - Velocity Mode (4) Direction bit C204
0x21 - Run to Limit Mode (4) Direction bit C204
0x22 - Run to Position Mode (4) Direction bit C204

NOTES:
   (1)
- The example mapping is based on PLC - Mapped Addresses (4 ranges) with:
             Starting V address for word inputs:   V2000-V2017
             Starting V address for bit inputs:  V40600.0-V40605.15 (C0-C137)
             Starting V address for word outputs:  V2020
             Starting V address for bit outputs: V40606.0-V40613.15 (C140-C277)
   (2) - The CTRIO determines the direction by taking the difference between Parameter3 minus Current Position. If the result is positive, the Pulse Outputs will go one way; if negative, the other.
   (3) - Parameter3 is a signed decimal double-word. If it is negative, Pulse Outputs will go in one direction; if positive, the other.
   (4) - No tables are associated with these direct commands.

For NOTE (3) above, to load a negative value (32-bit 2's compliment; decimal) into Parameter3 (e.g. V2020-V2021) starting with a BCD number in V3000-V3001 you would do the following logic; if, however, the value in V3000-3001 is already in binary format then you would, of course, leave out the BIN box:


CTRIO FAQ0049
01-Nov-2002
Q: Can the H2-CTRIO interrupt the PLC when it reaches a certain count like the CTRINT module?
A: No. The H2-CTRIO does not have the ability to interrupt the CPU like the CTRINT. The reason is the DL205 backplane does not have an interrupt line for each slot. The slot adjacent to the CPU (Slot 0) has 4 of its address lines converted to interrupt lines that are only useable by the CTRINT.


CTRIO FAQ0050
02-Dec-2002
Q: Is the CTRIO configuration stored in battery-backed-up RAM?
A: No. The configuration for the CTRIO is stored in NVRAM (Non-volatile RAM) and therefore will not be lost on power failure or battery failure.


CTRIO FAQ0051 (see also DirectSOFT FAQ0163; ERM FAQ0032)
10-Dec-2002
Q: Will DirectSOFT work on Win95 32-bit OS?
A: We have seen this work on a few and not work on others. If it doesn't work we do not know of anything that can be done to make it work. However CTRIO Workbench and ERM Workbench will not even install if the InstallShield engine (used to install DirectSOFT) recognizes that the PC is Win95.


CTRIO FAQ0052
19-Dec-2002
Q: Is there a minimum load required for the CTRIO outputs?
A: No. The CTRIO output is a FET (Field Effect Transistor) which is normally 50m Ω(ohms). Leakage for this device is typically at 150μ amps at temperature extremes. Thus if the load is so small as to require only 150μ amps, then it could inadvertently turn on.


CTRIO FAQ0053
10-Feb-2003
Q:  Installed CTRIO Workbench v2.0 but no options to launch it show up in DSLaunch.
A: By installing CTRIO Workbench v2.0, changes are made to the DS400.INI file. However because you are using an older version of DirectSOFT these menu items cannot be displayed in DSLaunch. In order for these launch items to show up on the DSLaunch menu, CTRIO Workbench v2.0 requires at least DirectSOFT v4.0 Build 18.


CTRIO FAQ0054
27-Mar-2014
Q:  Need to know more about how to configure and control the CTRIO2 from the DL-PLC and Do-more program.
A: Below are 3 sets of flow charts (in PDF format) that will help you control the CTRIO2 from ladder logic either in a DL-PLC without IBoxes, a DL-PLC with IBoxes or a Do-more PLC. They can also be used with the CTRIO module if consideration is given to the limited functionality of the CTRIO versus the CTRIO2.


CTRIO FAQ0055 (see also EBC FAQ0049)
10-Mar-2003
Q:  Are there any slot restrictions for the CTRIO if installed in an EBC?
A: The following restrictions apply:


CTRIO FAQ0056
13-Mar-2003
Q:  While testing Run-to-Position function using Monitor I/O; it seems it doesn't function properly when I enter certain values for the next position.
A: This was a bug in CTRIO Workbench v2.0. The problem was that in Monitor I/O the position value in the CTRIO was internally using an Integer instead of a Floating Point value. To fix, upgrade to CTRIO Workbench v2.1.


CTRIO FAQ0057
20-Jul-2004
Q:  In the Automation Direct catalog (pg. 4-68) it is stated that the CTRIO under certain conditions can output a pulse of up to 50 KHz; but Monitor I/O will not allow me to input a frequency higher than 25 KHz.
A: This was an original intention of the CTRIO, but it did not end up that way. The catalog is incorrect as the CTRIO stands now. The upper limit of the Pulse Output is indeed 25 KHz like Monitor I/O limits you to.


CTRIO FAQ0058
22-Apr-2010
Q:  Will a TTL encoder work with the CTRIO?
A: Not directly; you will have to build a circuit to step up the voltage into the CTRIO's specified range or you can order a board built by Host Engineering:

Part Number: CTRIO-TTLANNEX
Price: $25 each
How to order:
Send e-mail to purchasing@hosteng.com with the following information:
     - Your company name & address.
     - Contact name, phone number & e-mail.
     - Quantity
     - Purchase Order #

NOTE: At this time we do not accept credit cards as a payment method. We will invoice you for the total cost.

     - Shipping preferences (e.g. Use your UPS account? Bill you?)
     - Shipping address & phone number (if different than above)

Size: Approximately 1" length x 1/2" wide x 3/8" thick, with mounting screw hole.

Picture:

Wiring diagram:
 

 


CTRIO FAQ0059
09-Nov-2004
Q: What is the maximum length between edges that the CTRIO's Edge Timer can measure?
A: The CTRIO's Edge Timer can measure a maximum of 268,435,455s between edges. (i.e. 268.4 seconds or about 4 minutes).


CTRIO FAQ0060
18-Nov-2004
Q: How can I wire an open-collector quadrature encoder to the CTRIO?
A: You can use the following diagram for the H2-CTRIO for all CTRIOs. Just pay attention to the signal names on the CTRIO connector:


CTRIO FAQ0061
06-Aug-2004
Q: What causes the Output Stalled error bit to come on?
A: This bit means the Pulse Output train was interrupted because the CTRIO was too busy doing other things. Some things to try:


CTRIO FAQ0062 (see also EBC FAQ0054; NetEdit FAQ0015)
02-Feb-2005
Q: Using an EBC100 and Modbus TCP protocol, how can I figure out where the CTRIO parameters are mapped into the Modbus addresses?
A: The easiest way to do this is to use NetEdit3 and CTRIO Workbench in combination. Follow these steps:

  1. Using NetEdit3 (at least v3.4) to view the network that the EBC100 is connected to.
  2. Right-click on the EBC100 and pick "Show Base Contents..."
  3. Scroll down until you see your CTRIO I/O listed. It will look something like this:

    Base 0 : Slot 8 - Module Type 38 - T1H-CTRIO
                   96 - Bit inputs                     (Modbus 584/984 - Inputs 10025-10120)
                   96 - Bit outputs                   (Modbus 584/984 - Coils 25-120)
                   12 - Word outputs              (Modbus 584/984 - Holding registers 40017-40028)
                    8 - Double word inputs       (Modbus 584/984 - Input registers 30049-30064)
                    4 - Double word outputs     (Modbus 584/984 - Holding registers 40029-40036)

Here you can see that NetEdit3 has provided the Modbus addressing for you. Next you need only to see how these work in the CTRIO.

  1. Using CTRIO Workbench (at least v2.1.9) connect to your CTRIO via the EBC100.
  2. Press the <I/O Map...> button. (This is assuming that you have already configured your CTRIO the way you want).
  3. Select "EBC - Mapped to MODBUS/TCP."
  4. For "Starting input reg for word inputs:" enter the "Input register" number that you saw in NetEdit3 (e.g. 30049 in above example).
  5. For "Starting input for bit inputs:" enter the "Inputs" number that you saw in NetEdit3 (e.g. 10025 in above example).
  6. For "Starting holding reg for word outputs:" enter the smallest "Holding registers" address that you saw in NetEdit3 (e.g. 40017; not 40029 in above example).
  7. For "Starting coil for bit outputs:" enter the "Coils" number that you saw in NetEdit3 (e.g. 25 in above example).

After manually entering these numbers from NetEdit3 into CTRIO Workbench's I/O mapping screen you can now see all the parameters and their appropriate Modbus TCP addressing.


CTRIO FAQ0063
15-Feb-2005
Q: Can I change the default folder for storing the CTRIO Workbench configuration files (.CWB)?
A: Yes. CTRIO Workbench uses the default projects folder as defined in the DS400.INI (or DS300.INI) file. When CTRIO Workbench starts up it looks for the DS300.INI file first and if it finds it, it will use the default projects folder as defined there. If it does not find the DS300.INI file, it will look for the DS400.INI file and use the default projects folder as defined there. If it cannot find the DS400.INI file then it will fault with: "Critical Error - ERROR 1004 - Invalid INI File" and will close when you press the <OK> button.

To change the default folder:

  1. Close CTRIO Workbench (if you have it open).
  2. From Windows desktop, Start --> Run...
  3. Type in "ds400.ini" or "ds300.ini" whichever one you have.


     
  4. Press <OK> button. This should open up a text editor (usually Notepad) showing the contents of this file.
  5. Find the heading [PATHS]. Under this heading you will see a "PATH" line, looks something like:
    PATH=C:\DirectSOFT4\Projects\
  6. Edit this path to point to one of your own choosing.
  7. Save the file and exit.
  8. Restart CTRIO Workbench.

Now when you use the <Write File> button the default folder will be the one you entered.


CTRIO FAQ0064
16-Feb-2005
Q: Using the "BCD (rounded)" selection for Position Scaling; the Position Scaling Calculator depicts a different behavior than what the CTRIO actually does.
A: Yes, this is a bug in the Position Scaling Calculator in versions of CTRIO Workbench of v2.1.9 or less. The incorrect behavior is in the Position Scaling Calculator itself. The CTRIO is actually functioning correctly in that it rounds the scaled value up like you would think (and like the function's name says). However, the Position Scaling Calculator does not round up; instead it is truncating the fraction.


CTRIO FAQ0065
08-Mar-2005
Q: How many Presets can be added to each Preset Table?
A: 255.


CTRIO FAQ0066
08-Mar-2005
Q: How many Presets Tables can the CTRIO have?
A: 255.


CTRIO FAQ0067
08-Mar-2005
Q: Can the duty cycle of the pulse output be changed if using Dynamic Velocity or Dynamic Positioning?
A: No. The duty cycle of the pulse output can, however, be changed using the System Commands "0x20 - Velocity Mode" and "0x22 - Run-to-Position Mode."


CTRIO FAQ0068
21-Sep-2005
Q: Can the accel/decel rates of the Dynamic Velocity Pulse Profile be increased to greater than 50,000? (i.e. instantaneous)
A: No. The highest rate is 50,000. If instant change from one frequency to another is desired you will have to use the Free Form Pulse Profile. This Pulse Profile has no accel/decel parameters and so you can output a number of pulses at one frequency and then go instantly to a different number of pulses at a different frequency. Of course the downside is that you no longer have the "dynamic" feature of Dynamic Velocity Pulse Profile.


CTRIO FAQ0069 (see also EBC FAQ0066)
26-Jul-2005
Q: When using H2-CTRIO in H2-EBC100, the Output Active bit for the CTRIO doesn't come on, however, it works in an H2-EBC.
A: This is a bug caused by the firmware of the H2-EBC100. The DWORD outputs were not getting written to the CTRIO properly. It is fixed in:

H2-EBC100 firmware v4.0.457 or higher.


CTRIO FAQ0070
14-Nov-2005
Q: When using Data Smoothing, what do each of the notches mean from "min" to "max"?
A: From "min" to "max" each notch represents an increasing number of samples that are averaged together to get a smoothing affect. The exact number of samples that are averaged respectively from "min" to "max" positions are:

For Rate Data Smoothing (10 slider positions): 1, 2, 3, 5, 7, 10, 13, 17, 21, 25

For Interval Data Smoothing (12 slider positions): 1, 2, 3, 5, 7, 10, 13, 17, 21, 25, 30, 36


CTRIO FAQ0071
10-Nov-2005
Q: When using Interval Rate Scaling, if Data Smoothing is adjusted to anything other than Minimum, zero (0) is given in the Scaled Value answer.
A: This is a bug in CTRIOs with firmware that was accidentally introduced in v2.0.1 and up. Firmware v1.x actually worked! However, we have fixed this problem in the latest CTRIO firmware (v2.1.15).


CTRIO FAQ0072 (see also EBC FAQ0072; ERM FAQ0047; SDK FAQ0015)
09-Jan-2006
Q: In my H2-ERM/H2-EBC (or H2-EBC100) configuration, the H2-CTRIO word output (WO) and double-word output (DWO) mapping is different than where CTRIO Workbench indicates they should be.
A: This is caused by an I/O mapping problem in the H2-EBC and H2-EBC100 that is fixed in EBC firmware v2.1.441 and later. It has to do with the H2-CTRIO "I/O type." The H2-CTRIO is now reported as a Type 7 module instead of a Type 5 module. This new reclassification of the H2-CTRIO as a Type 7 allows the EBC to manage the order in which things get mapped.

The symptom shows up as a mapping discrepancy in the order in which the CTRIO puts the DWOs and the WOs VS where the ERM Workbench maps them in PLC memory.

For example, for comparison see the chart below:

H2-CTRIO Mapping Component H2-CTRIO mapping in H2-EBC (H2-EBC100) with firmware less than v2.1.441 H2-CTRIO Mapping in H2-EBC (H2-EBC100) with firmware v2.1.441 or later
96 Discrete Input (DI) X340-477 (V40416-40423) X340-447 (V40416-40423)
96 Discrete Output (DO) Y320-457 (V40515-40522) Y320-457 (V40515-40522)
12 Word Output (WO) V2100-2113 V2110-2123
8 Double Word Input (DWI) V2000-2017 V2000-2017
4 Double Word Output (DWO) V2114-2123 V2100-2107

NOTE: If you update the EBC firmware to fix this problem, make sure that you are at least using CTRIO Workbench v2.1.10 to configure the H2-CTRIO.


CTRIO FAQ0073
03-Jan-2006
Q: Can the Reset Value as configured on the Config I/O page of CTRIO Workbench be changed on the fly from ladders?
A: No, not that one. Basically there are two Reset Values:

  1. Hardware Reset Value that is on the Config I/O page of CTIRO Workbench cannot be changed from ladders. This value is the one that will be written to the Current Count when a hardware reset is seen (i.e. Input C) as configured.
  2. Software Reset Value that is the result of using the Reset Bit. This particular Reset Value is a software-only Reset Value and is the value that is written to the Current Count when the Reset Bit is set by ladders. This value can be changed on the fly from ladders using System Function 0x05 "Write reset value."

CTRIO FAQ0074
31-Jan-2006
Q: In the S-Curve (& Symmetrical S-Curve) Pulse Profiles, what do the Min Freq Change and Min Entry Time parameters do?
A: These parameter define the resolution of the S-Curve itself. First of all, the CTRIO is not designed to be a sophisticated motion control device. When you use CTRIO Workbench to configure an S-Curve Pulse Profile, Workbench calculates entries for a table that defines the curve. It is this table that is downloaded into the CTRIO itself. In other words, the CTRIO itself does not do complex math "on the fly" to come up with this curve; that would take too much valuable CTRIO scantime. Instead, the CTRIO is just blindly outputting values from this predefined table. With that understanding:

Min Freq Change: This is a percentage (between 1-10%) that changes the vertical frequency resolution of the output curve. In other word, it is the Y-axis of the graphical representation that you see in CTRIO Workbench. If you change this value and press the <Calculate Profile> button you will notice the vertical resolution of the graph changes. With 1% the CTRIO can use more frequencies and so it is smoother; at 10% the CTRIO will use less frequencies and so it become very course.

Min Entry Time: This is a time (between 1-255ms) that changes the horizontal time resolution of the output curve. In other words, it is the X-axis of the graphical representation that you see in CTRIO Workbench. If you change this value and press the <Calculate Profile> button you will notice the horizontal resolution of the graph changes. With 1ms the CTRIO can use smaller steps and so it is smoother; at 255ms the CTRIO will use less time increments and so it becomes very course.

Thus, with these 2 parameters you control the smoothness of the CTRIO output curve. If you make both parameters very small, the S-Curve will look very smooth, but you also create a bigger table and thus take up more configuration space in the CTRIO:

 If you make both parameters very large, the S-Curve will look very course, but you also create a smaller table and thus take up very little configuration space in the CTRIO.


CTRIO FAQ0075
08-Feb-2006
Q: Will the CTRIO support differential encoder outputs?
A: No. The CTRIO inputs are single-ended in that the M connection is common to all 4 inputs (A, B, C, D). Tying 2 differential encoder outputs together is not a good idea so we'd be limited to 1 input at the most (e.g. A and M). Also because of the sink/source capabilities of the CTRIO inputs, a positive or a negative signal above 9V threshold would be treated as an ON. So even using a single differential signal greater than 9V each side of ground (M), the CTRIO would count both states as ON and therefore count at twice the expected rate. If distance and electrical noise are the reason for using the differential encoder, twisted pair wiring is usually good enough because the CTRIO inputs stay OFF at up to 2 mA and 2V.


CTRIO FAQ0076
13-Feb-2006
Q: Using quadrature counter at 1X, how does the CTRIO increment counts after a reset? Does it synchronize to the rising edge of Input A?
A: After a reset, the CTRIO count defaults to the DOWN direction. Thus if the CTRIO is to count pulses in the UP direction after the reset, then, depending on the configuration, it may need as much as 4 edges to reestablish the UP direction. However, if the CTRIO is to count pulses in the DOWN direction, it will continue without having to reestablish a direction.

For the COUNTING-UP scenario, the rules are:

For 1X quadrature counting: After the reset CTRIO is in the DOWN direction. It takes 4 edges to reestablish the UP direction. On the 4th edge CTRIO will increment the count and then from this point onward it will increment the count on the rising edge of Input A

For 2X quadrature counting: After the reset CTRIO is in the DOWN direction. It takes 2 edges to reestablish the UP direction. On the 2nd edge CTRIO will increment the count and then from here it will increment the count when Input A and Input B are in opposite states or after 2 more edges (which ever comes first). Then from this point onward it will increment the count when Input A and Input B are in opposite states.

For 4X quadrature counting: After the reset CTRIO is in the DOWN direction. It only takes 1 edge to reestablish the UP direction. So CTRIO counts all edges all the time.

These COUNTING-UP rules are displayed in the following tables:

Count gets Reset while Input A = 0 and Input B = 0:

Input A Input B Count (1X) Count (2X) Count (4X)
1 0 0 0 1
1 1 0 1 2
0 1 0 1 3
0 0 1 2 4
1 0 2 3 5
1 1 2 3 6
0 1 2 4 7
0 0 2 4 8
1 0 3 5 9

Count gets Reset while Input A = 1 and Input B = 0:

Input A Input B Count (1X) Count (2X) Count (4X)
1 1 0 0 1
0 1 0 1 2
0 0 0 1 3
1 0 1 2 4
1 1 1 2 5
0 1 1 3 6
0 0 1 3 7
1 0 2 4 8
1 1 2 4 9

Count gets Reset while Input A = 1 and Input B = 1:

Input A Input B Count (1X) Count (2X) Count (4X)
0 1 0 0 1
0 0 0 1 2
1 0 0 1 3
1 1 1 2 4
0 1 1 3 5
0 0 1 3 6
1 0 2 4 7
1 1 2 4 8
0 1 2 5 9

Count gets Reset while Input A = 0 and Input B = 1:

Input A Input B Count (1X) Count (2X) Count (4X)
0 0 0 0 1
1 0 0 1 2
1 1 0 1 3
0 1 1 2 4
0 0 1 2 5
1 0 2 3 6
1 1 2 3 7
0 1 2 4 8
0 0 2 4 9

For the COUNTING-DOWN scenario, the rules are:

For 1X quadrature counting: After the reset CTRIO is in the DOWN direction therefore it will continue to count down on the falling edge of Input A.

For 2X quadrature counting: After the reset CTRIO is in the DOWN direction therefore it will continue to count down when Input A and Input B are in the same state.

For 4X quadrature counting: After the reset CTRIO is in the DOWN direction therefore it will continue to count down on all edges all the time.

These COUNTING-DOWN rules are displayed in the following tables:

Count gets Reset while Input A = 0 and Input B = 0:

Input A Input B Count (1X) Count (2X) Count (4X)
0 1 0 0 -1
1 1 0 -1 -2
1 0 0 -1 -3
0 0 -1 -2 -4
0 1 -1 -2 -5
1 1 -1 -3 -6
1 0 -1 -3 -7
0 0 -2 -4 -8
0 1 -2 -4 -9

Count gets Reset while Input A = 0 and Input B = 1:

Input A Input B Count (1X) Count (2X) Count (4X)
1 1 0 -1 -1
1 0 0 -1 -2
0 0 -1 -2 -3
0 1 -1 -2 -4
1 1 -1 -3 -5
1 0 -1 -3 -6
0 0 -2 -4 -7
0 1 -2 -4 -8
1 1 -2 -5 -9

Count gets Reset while Input A = 1 and Input B = 1:

Input A Input B Count (1X) Count (2X) Count (4X)
1 0 0 0 -1
0 0 -1 -1 -2
0 1 -1 -1 -3
1 1 -1 -2 -4
1 0 -1 -2 -5
0 0 -2 -3 -6
0 1 -2 -3 -7
1 1 -2 -4 -8
1 0 -2 -4 -9

Count gets Reset while Input A = 1 and Input B = 0:

Input A Input B Count (1X) Count (2X) Count (4X)
0 0 -1 -1 -1
0 1 -1 -1 -2
1 1 -1 -2 -3
1 0 -1 -2 -4
0 0 -2 -3 -5
0 1 -2 -3 -6
1 1 -2 -4 -7
1 0 -2 -4 -8
0 0 -3 -5 -9

CTRIO FAQ0077
13-Feb-2006
Q: Does the Scan Time of the CTRIO (as indicated in CTRIO Workbench) affect the response time of the Pulse Output to Presets in the Preset Tables?
A: Yes. There are 3 levels of processing in the CTRIO; (1) hardware dependant; (2) interrupt dependant and (3) scan time dependant. In the case of Presets in the Preset Tables that change the state of the Pulse Outputs, this is handled in the (3) scan time dependant processing. Thus, the maximum time from reaching a Preset count to a change in the Pulse Output as configured in a Preset Table is the Scan Time of the CTRIO. For this to be any different the CTRIO would have to have much faster hardware, which would be more expensive. Thus for an example:

Count coming into the CTRIO rising-edge counter at a rate of 25 KHz and we have a Preset Table with an entry of SET at 12 and a CTRIO Scan Time of 600 s.
     -  At 25 KHz, that is a rising edge every 1 / 25000 = 0.00004 seconds (or 40 s)
     -  The count of 12 will take 12 x 40 s = 480 s
     -  If this event occurred immediately after the CTRIO had already updated its Pulse Outputs, then it could be about 600 s before the Pulse Output was updated. Thus an event that should've happened in 480 s ended up taking 480 + 600 = 1.08 ms. This would tend to give you a similar response for all Preset Values that are faster than the Scan Time of the CTRIO.


CTRIO FAQ0078
13-Feb-2006
Q: Does the CTRIO have a "follower" mode (i.e. produce a Pulse Output at the same velocity as an encoder input)?
A: No, there is no intrinsic follower mode for the CTRIO. The only way to make the CTRIO Pulse Output follow the Rate of a CTRIO counter input is:

  1. Configure a CTRIO output as a Pulse Output.
  2. Configure a Dynamic Velocity Pulse Profile.
  3. Configure a CTRIO Input Channel as a counter and use the Scaling Wizard to make it yield a Rate.
  4. In the PLC program, load the Dynamic Velocity Pulse Profile Table.
  5. In the PLC program load the V-memory for the CTRIO "Scaled Units" and output that to the V-memory for the CTRIO "Parameter 3" (Velocity).

This should work well in most applications simply because the delay between a change of Rate on the CTRIO Input to the change of Velocity on the CTRIO Pulse Output will, at the most, be about 2 PLC scantimes (i.e. in the millisecond range).


CTRIO FAQ0079
27-Feb-2007
Q: What is the difference between Edge-Triggering and Level-Triggering?
A: Here are the differences:

EDGE TRIGGERING: The inputs are sampled by the CTRIO hardware every 16 MHz clock cycle. If the edge exceeds 2V and 2mA, then an edge is reported to the CTRIO firmware as a trigger interrupt. Thus the CTRIO hardware is totally in control of the triggering.

LEVEL TRIGGERING: The inputs are sampled by the CTRIO hardware every 16 MHz clock cycle. If the edge exceeds 2V and 2mA, then a change of state is reported to the CTRIO firmware. As the CTRIO firmware scans and notices there has been a change of state from 0 to 1 of one of its inputs, then it "knows" there was a trigger. Thus the triggering is based not on just an edge detection by the hardware, but also is somewhat delayed by the scantime of the CTRIO.

Therefore, if edge triggering is falsely being triggered by an excessively noisy signal, oftentimes changing to level triggering will filter these false triggers out. However, nothing is a good substitute for a clean signal on the inputs in the first place.


CTRIO FAQ0080
09-Mar-2007
Q: Can the configuration of the CTRIO be printed out using CTRIO Workbench?
A: No, but the configuration can be saved in a .CWB file. The only thing that can be printed out is the I/O map.


CTRIO FAQ0081
15-Feb-2010
Q: What does the Calc Interval  have to do with Rate and Interval Scaling?
A: Calc Interval is just so you can tell the CTRIO how many times you want the CTRIO to calculate the Rate or Interval scaling. In other words, if you need a more accurate measurement and are monitoring the value closely (i.e. high-speed), then calculating this value more frequently would be needed. But is would be useless to calculate it faster than the scantime of your PLC, since the PLC can only look at the value once per scan anyway. If, however, the value is not that high-speed and not needed by the process to be very accurate, then calculating this value less frequently would be better.


CTRIO FAQ0082 (see also PBC FAQ0016)
22-Nov-2010
Q: Cannot get CTRIO Workbench's Monitor I/O function to work with the PBC.
A:  Unfortunately, it is not possible to have this functionality for the CTRIO in the PBC. To comply with specification, CTRIO Workbench cannot suspend the PBC's writing/reading the CTRIO's I/O in order to perform the function, thus it is not supported.


CTRIO FAQ0083
07-Mar-2011
Q: How fast is the CTRIO-TTLANNEX board?
A: The transistors themselves are actually rated at 300 MHz, but due to other design restraints we do not recommend you go over 10 MHz. However, if you are using them with the current CTRIO module itself, the CTRIO input can only go to 100 KHz.


CTRIO FAQ0084
07-Apr-2011
Q: Edge detection on the Run to Limit function (CTRRTLM IB-1011) doesn't work properly.
A: The problem here is the documentation. The Run-to-Limit function in the CTRIO does NOT use an edge detection but rather a level detection. The CTRIO manual (pgs. 6-42 thru 6-43), the DirectSOFT Help file (help for CTRRTLM IB-1011 IBox) and our very own CTRIO Flow Charts.PDF document all had this wrong. Thus, since it is a level detection on the Limit Input, the "Both Edges" detection setting is invalid and the "Rising Edge" is actually a "High Level" and the "Falling Edge" is actually a "Low Level". The idea, for example, in the real world was if the machine was already at the limit switch (Limit Input) then it is not necessary to move the machine at all.

The following chart show the correct values for Parameter2:

00    Channel 1 Input C high level limit
10    Channel 1 Input C low level limit
01    Channel 1 Input D high level limit
11    Channel 1 Input D low level limit
02    Channel 2 Input C high level limit
12    Channel 2 Input C low level limit
03    Channel 2 Input D high level limit
13    Channel 2 Input D low level limit

The CTRIO manual will be corrected in the next release.
The DirectSOFT Help file will be corrected in the next release.
The CTRIO Flow Charts.PDF document has been corrected already.


CTRIO FAQ0085
24-Aug-2011
Q: Is it possible to connect the TTL-level differential encoder outputs of the SureServo to the CTRIO?
A: Yes. But it is necessary to use the CTRIO-TTLANNEX board to step up the voltage levels for the CTRIO inputs. Also since the SureServo encoder outputs on connector CN1 are differential (0A, /OA, OB, /OB, OZ, /OZ) and the CTRIO inputs are single-ended, the /OA, /OB and /OZ signals cannot be used. Instead only the OA, OB and OZ with reference to any GND terminal on CN1 are needed.



CTRIO FAQ0086 (see also Do-more FAQ0028)
14-Mar-2013
Q: Must CTRIO Workbench be used to configure CTRIO and CTRIO2s in Do-more?
A: No, CTRIO Workbench cannot be used with Do-more. Instead, the configuration of CTRIO/CTRIO2 modules is done in Do-more Designer software in the PLC --> System Configuration --> Module Configuration. The CTRIO/CTRIO2 configuration is no longer stored in the module itself, but rather the Do-more CPU (DM1/DM1E).

Also, in Do-more the CTRIO/CTRIO2 parameters are not mapped into V-memory as was the case in DL-PLCs. Instead the various CTRIO/CTRIO2 parameters are mapped to Do-more Structured memory as Structured members (e.g. CTRIO_000_C1F1.AtResetValue is CTRIO zero Channel 1 Function 1's "at reset" parameter bit). See table below for members that can exist. Not all members exist for every CTRIO/CTRIO2 configuration. See Do-more Designer Help file for specific details for any given CTRIO/CTRIO2 configuration and useage (i.e. ladder instructions):

STRUCTURE
e.g. CTRIO_000_...
FUNCTION (2) GENERAL DESCRIPTION
(see Do-more Help file for specifics)
INPUT SCHEMAS OUTPUT SCHEMAS GLOBAL
MEMBER (1) Counter Pulse Catch Edge Timer Discrete Raw Pulse
CxFx.AtResetValue RO





BIT - Indicates when count is at the Reset value
CxFx.CaptureComplete

RO



BIT - Indicates the 2nd edge has been detected and a timer value is available
CxFx.CapturedStart
RO RO



BIT - Indicates an edge has been detected (Pulse Catch) or 1st edge has been detected (Edge Timer)
CxFx.CountCaptured RO





BIT - Indicates an edge has been detected and a count value is available
CxFx.EnableCapture R/W R/W R/W



BIT - ON enables Pulse Catch or Edge Timer function
CxFx.fReg1 RO
RO



REAL - Various meanings based on configuration (e.g. floating-point scaled count for Counter)
CxFx.fReg2 RO
RO



REAL - Various meanings based on configuration
CxFx.iReg1 RO
RO



DWORD - Various meanings based on configuration (e.g. raw count for Counter)
CxFx.iReg2 RO
RO



DWORD - Various meanings based on configuration (e.g. raw count if Counter value is scaled)
CxFx.Output
RO




BIT - Output pulse of Pulse Catch function
CxFx.Reset R/W





BIT - ON resets Counter value to Reset value
CxFx.Timeout

RO



BIT - Indicates edge not seen in allotted time
Outx.AtPosition




RO
BIT - Indicates output pulse has reached commanded position
Outx.AtVelocity




RO
BIT - Indicates output frequency has reached commanded frequency
Outx.Direction




RO
BIT - Indicates cloclwise (OFF) or counter-clockwise (ON) direction for Pulse Output
Outx.EnableOutput


R/W
RO
BIT - ON enables output for Discrete function use with Discrete Tables
Outx.GotoPosition




R/W
BIT - Must be turned ON to move to target position; CTRIO/CTRIO2 will reset OFF when moving
Outx.Output



R/W

BIT - Turn ON to turn Raw output ON
Outx.OutputActive



RO RO
BIT - Indicates with Output is ON or generating pulses
Outx.OutputEnabled


RO
RO
BIT - Indicates if Output has been enabled
Outx.OutputPosition (3)




RO
DWORD - Current position of pulse output
Outx.OutputStalled




RO
BIT - Indicates if Pulse output has stalled (not able to keep up)
Outx.OutputSuspended




RO
BIT - Indicates if Pulse output has been suspended
Outx.OutputVelocity (3)




RO
DWORD - Current frequency of the Pulse output
Outx.TableComplete


RO


BIT - Indicates when a Discrete Table has reached its last entry
.ErrorCode





RO WORD - Last error code
.Mode





RO WORD - 1=PROGRAM; 2=RUN
.ScanTime





RO WORD - Scantime in microseconds
.MaxScanTime





RO WORD - Maximum scantime in microseconds
.InputState





RO WORD - Lower byte indicates input's states (see details in Help file)
.OutputState





RO WORD - Output configuration (see deatils in Help file)
.ChxA





RO BIT - Indicates state of Channel x Input A
.ChxB





RO BIT - Indicates state of Channel x Input B
.ChxC





RO BIT - Indicates state of Channel x Input C
.ChxD





RO BIT - Indicates state of Channel x Input D
.OutxType





RO BIT - Indicates if Output x is configured for Pulse output
.OutxDiscOn





RO BIT - Indicates Output x logic is ON (if Output is enabled then physical output will also be ON)
.OutxDiscEnabled





RO BIT - Indicates if Output x is configured for Discrete output
.OutxPulseActive





RO BIT - Indicates Output x is generating pulses
NOTES:
(1) The "x" in the name is the digit 0, 1, 2 or 3
(2) RO means Read-Only; R/W means Read/Write
(3) Only supported with CTRIO2 (not CTRIO)

CTRIO FAQ0087 
11-Feb-2013
Q: H2-CTRIO and H2-CTRIO2 in an H2-PBC do not map into the Profibus Master with the correct I/O count.
A: This is caused by the H2-PBC booter booting up too quickly (~200ms). With this older booter the H2-CTRIO/CTRIO2 will show up with an incorrect I/O count of:

40 bytes IN
48 bytes OUT

Upgrading to the latest H2-PBC booter will yield the correct H2-CTRIO/CTRIO2 I/O count (in agreement with its .GSD file) of:

44 bytes IN
52 bytes OUT

This is fixed in:

H2-PBC booter v1.0.82

CTRIO FAQ0088
18-Mar-2013
Q: Attempting to upgrade H2-CTRIO2 firmware, receiving "Oops... C:\HAPTools\Images\H0-CTRIO2\h0ctrio2_1_0_0.ga is invalid!"
A: Variants would include, "...h2ctrio2_1_0_0.ga is invalid", or "...h0ctrio2_1_0_0.os is invalid", or "...h2ctrio2_1_0_0.os is invalid". This error means the version of CTRIO Workbench being used is too old to be used with the newer CTRIO2 .GA or .OS files. You must download and install a later version of CTRIO Workbench.

Install and use at least:
CTRIO Workbench v2.2.0

CTRIO FAQ0089
01-Aug-2014
Q: The CTRIO2 is not performing just like the CTRIO. It is missing counts or getting too many counts and wrong edge indications.
A: This is due to an issue with the metastability of the inputs as programmed in the CTRIO2's FPGA chip. The only solution to this is to update the code in the FPGA chip.

This is an important update that should be applied to all CTRIO2s as soon as it is convenient to do so. This is the first time we have had to recommend a field update to the FPGA, so we've made the following two PDF files that contain step-by-step directions on how to update the CTRIO2 modules.

Gate Array Update Procedure Using CTRIO Workbench (v2.2.0 or later)
Gate Array Update Procedure Using Do-more Designer (H2-CTRIO2 only)

CTRIO FAQ0090
14-Oct-2014
Q: The CTRIO2 is not performing just like the CTRIO. The duty cycle behaves exactly opposite.
A: This is a corrected feature in the CTRIO2 module. The behavior was actually wrong in the CTRIO and corrected in the CTRIO2 which makes it behave exactly opposite. In other words, in the CTRIO 30% duty cycle refers to the time the pulse output is OFF whereas in the CTRIO2 30% duty cycle refers to the time the pulse output is ON.

For other considerations in replacing the CTRIO with a CTRIO2 or vise versa, please refer to this detailed document:
          H0_H2-CTRIO_CTRIO2 Replacement Considerations.PDF


CTRIO FAQ0091
Q: The CTRIO2 Preset Table's Discrete Output misses pulses sometimes. Preset Table doesn't appear to execute properly 100% of the time.
A: This is a bug in the CTRIO2 firmware. It shows up in the following way:

If you are using a Preset Table in combination with a hardware Reset input (Input C) then occasionally the Reset will not execute properly and the first entry of the Preset Table could get skipped in execution. Depending on what this entry in the table is, quite a variety of unexpected behavior could occur. A work-around that could be used if you don't upgrade to the new firmware would be to make the first entry in all your Preset Tables something completely redundant that doesn't essentially do anything (e.g. "RESET at 0").

This issue was fixed in the following CTRIO2 firmware:

H0-CTRIO2 v1.0.5
H2-CTRIO2 v1.0.5

CTRIO FAQ0092
02-Feb-2015
Q: The CTRIO2 Preset Table's Discrete Output's Pulse ON is too long of a duration after doing an Add Entry To Preset function.
A: This is a bug in the CTRIO2 firmware. It shows up in the following way:

In DL-PLC using IBoxes: If the IBox IB-1005 CTRADPT "Add Entry To End of Preset Table" is executed while the software Reset bit is ON, then the CTRIO2 will add multiple duplicate entries to the end of the Preset Table instead of just one. If that happened to be a Pulse ON for x ms at count y, then it would make it appear that the Pulse stayed ON for too long of a time but what was actually happening is it was executing multiple Pulse ON entries in the Preset Table.

In Do-more PLC using CTTBLADD "CTRIO Add Entry to Preset Table" instruction: If this instruction is executed while the software Reset bit is ON, then the CTRIO2 will add multiple duplicate entries to the end of the Preset Table just like in the DL-PLC description above.

This issue was fixed in the following CTRIO2 firmware:

H0-CTRIO2 v1.0.5
H2-CTRIO2 v1.0.5


CTRIO FAQ0093
02-Feb-2015
Q: Cannot write a value to the Output register of the CTRIO2.
A: This is a bug in the CTRIO2 firmware. It shows up in the following way:

In DL-PLC executing the IBox CTRRGWR IB-1017 "CTRIO Register Write" to the Destination Register "Out0 Position," "Out1 Position," "Out2 Position," or "Out3 Position" doesn't work. The IBox executes OK and yields a Success bit, but the value is not actually written.

In Do-more executing the instruction CTREGWR "CTRIO Write Register" to the Destination Register "Out0 Position," "Out1 Position," "Out2 Position," or "Out3 Position" doesn't work. The instruction executes OK and yields a Success, but the value is not actually written.

This issue was fixed in the following CTRIO2 firmware:

H0-CTRIO2 v1.0.5
H2-CTRIO2 v1.0.5