Traffic Control

Main Page > Technical Documentation > Network Setup > Traffic Control

This section discusses how traffic signal control settings are entered into SwashSim. For a brief overview of traffic signal timing concepts, see this page.

Traffic Control Screen

Pressing the 'Traffic Control' button on the toolbar will load the controller setup screen. Pressing the 'Add Pretimed Controller', 'Add Actuated Signal Controller' or 'Add On-Ramp Signal Controller' will add a signal controller entry to the table immediately below the button. Pressing the 'Edit' button for a given controller under the 'Edit Timing Plan' column will load the signal timing and phasing inputs screen (discussed below).



Pretimed Signal Phasing and Timing Inputs Pressing the ‘Set Phasing & Timing’ button on the main inputs screen will load the ‘Signal Phasing and Timing Inputs' screen (see Figure below).



To add a timing stage, press the “Add Timing Stage” button. This will highlight the next available Timing Stage box in yellow. To edit a Timing Stage, click the desired stage so that it is highlighted in yellow. Timing stages are used to specify the phases (1-8) that will move (i.e., receive green) simultaneously. To add a traffic movement to the timing stage, click on the desired movement arrow(s) in the ring/barrier diagram. To remove a movement, click on the corresponding arrow in the ring/barrier diagram. If movement is selected that conflicts with another movement in that timing stage, an error message will appear and the movement arrow will not be added to the timing stage. For each timing stage, the green, yellow, and all-red times need to be specified. To edit a timing interval, click on the appropriate table cell to highlight it in blue and type in the desired number. Press the ‘Tab’ or ‘Enter’ key to save edits. Note that the number in the left-most column corresponds to the timing stage number. The figure below shows an example timing stage plan.



When the timing stage movements and corresponding interval times have been specified, the last step is to select ‘Create Signal Controller Phasing/Timing Plan’. This will generate a timing plan that is used by the dual-ring signal controller.



If revisions are made to the timing stages and/or interval times, press the ‘Create Signal Controller Phasing/Timing Plan’ again to create a new signal controller timing plan. The last timing plan that is generated is the one that is stored in memory. The simulation program will continue to store this timing plan in memory for the duration of the current session. If you want to save the timing plan to disk, press the “Save To File” button in the Traffic Control Setup screen after existing the controller settings screen.

Select the Phase Control and Detector Assignments tab to specify the signalized control points and/or detectors that associated with each signal phase.



Pressing the Select button for a given phase will load the control points/detectors selection screen (an example for control points is shown in the following figure). After checking the desired control points/detectors and closing, the selections will be displayed in the table on the controller settings screen.



Coordination settings can be specified under the corresponding tab.



Actuated Signal Control

After adding an actuated signal controller, press 'Edit' under 'Edit Timing Plan' to open the Timing Plan Data window.



Use the 'Add Phase' and 'Remove Phase' buttons to add and remove phases to the table on the right. To edit a phase, click on the desired cell so that it is highlighted blue, type the Phase Number (1 through 8) and press tab to move to the next cell. All cells except for Recall Mode should be numerical inputs and then use the drop-down menu to assign a recall mode for each phase. For more information on signal timing, see Basic Signal Timings.



Once the phases are created in the table, then click on 'Edit Phase Sequence' to set phases to corresponding rings. Use the 'Number of Rings' drop down menu to select the number of rings to be used in the intersection. Then, in a similar manner in the Timing Plan Data window, use the 'Add New Row' and 'Remove Current Row' buttons to create a table for ring information. For the typical two-ring, eight-phase timing plan, insert six rows and then use the drop down menu to select 'Barrier' for rows three and six.





Once the Phase Sequence Input table is complete, press 'Close and Save Changes'.

Actuated Signal Controller File Setup

Before adding an actuated signal controller, all detectors and control points must be setup for the intersection(s). The next steps involve the editing of the actuated signal control files labeled ActControlPoints, ActDetectors, and ActTimingPLan. The following steps describe the process for editing the actuated signal control files in order to get actuated signal control to work properly in SwashSim. Please Contact Dr. Washburn to obtain copies of the actuated signal control files: Contact Information.

Once the actuated signal control files have been obtained, the first step is to set the directory location for the ActDetectors and ActControlPoints files. This is done within the ActTimingPlan. The below section of code is used to set the directory location.



The next step is to edit the ActDetector file. This file is used to provide the actuated signal controller information about the detectors around the intersection(s). The below image is a section of code for one detector. Each detector in the intersection will have a section of code.




 * Id: The value should always be 1
 * ControllerId: should be the controller number labeled on the timing plan data page
 * ControlPhaseId: What phase does this detector call
 * LinkId: The link that this detector is on
 * LaneId: The lane that the detector is in
 * LanePositionBeginFeet: Location of the detector within the link (value should be set within SwashSim)
 * LanePostionBeginPct: Location (as a percentage of the link length) of the detector within the link (value should be set within SwashSim)
 * LengthFeet: Length of detector in feet
 * All other variables can be set to default values as shown in the image above

The next step requires the editing of the ActControlPoints file. This files is used to identify the control points that are used by the actuated signal controller. The below image is one section of code for a single control point. Each control point will have its own section of code.




 * Id: The value should always be 1
 * Control: This value indicates what type of control mode this control point is functioning as, for a signalized intersection this will be set to "Signalized"
 * LinkId: The link that this control point is on
 * LaneId: The lane that the control point is in
 * DisplayIndication: Leave at default value, which is "Red"
 * LanePositionBeginFeet: Location of the control point within the link (value should be set within SwashSim)
 * LanePostionBeginPct: Location (as a percentage of the link length) of the control point within the link (value should be set within SwashSim)
 * ControllerId: should be the controller number labeled on the timing plan data page
 * ControlPhaseId: Is the phase number that this control point is assigned to
 * LaneIdsControlled: Same as LaneId
 * TravDir: Used to indicate that direction of travel that the control point is used for
 * All other variables can be set to default values as shown in the image above

Currently SwashSim does not save timing plan data and phase sequence data to the ActTimingPlan when these values are input through the user interface. This means that the values within the ActTimingPlan will need to added/changed within the .xml file itself. After the changes have been saved within the .xml file, then the new values should appear in the user interface portion. The below process describes how to setup the ActTimingPlan file for a new actuated signal controller.

The first step is to setup the ring and barrier for a desired sequence of operations. The below image is an example of ring and barrier setup for a full 8-phase intersection.



The first list of ArrayOfUnsigendByte represents ring 1 and the second list represents ring 2. unsignedByte Values of 0 represent the barriers. Rows may be added or removed depending on the number of phases being used at the intersection.

The next step to setting up the ActTimingPlan is to edit the phase data for each phase being used at the intersection. The below image is a section of code for one phase. Each phase will have a its own section of code.




 * GreenMin: Min green interval, refer to Traffic Signal Control Concepts page for more information
 * GreenMax: Max green interval, refer to Traffic Signal Control Concepts page for more information
 * YellowTime: Yellow change interval, refer to Traffic Signal Control Concepts page for more information
 * AllRedTime: Red clearance interval, refer to Traffic Signal Control Concepts page for more information
 * SplitTime: The sum of max green time, yellow change interval, and red clearance interval (not currently used keep set at 0)
 * PhaseOmit: Tells the controller whether the phase is enable or not
 * Min/Max/Soft Recall: true values enables the recall mode and false values disable the recall mode, refer to Traffic Signal Control Concepts page for more information about recall modes
 * All other variables can be set to default values as shown in the image above

The final step is to set the directory location of the ActTimingPlan within the main .ssim file. The image below indicates which line of code to change in the project .ssim file. Change the directory location on the line labeled FileNameSignalData to where the ActTimingPlan file is stored.



This completes the setup process for adding a new actuated signal controller to a SwashSim intersection project.