Buttons - ResgreenGroup/Botway-Documentation GitHub Wiki

Current Location: Home->Customizing BotWay->Buttons

Summary

Buttons are peripheral devices set up to interact with BotWay and its connected robots. Buttons can be configured to perform a variety of functions like adding a job, releasing a robot, or managing staging areas. Buttons are intended to be used by workers that need to interact with robots. Click Here to visit the accessories page about RGGI's Pushbuttons.

The "Edit Buttons" button on the toolbar allows for Buttons to be configured to perform actions within BotWay.

Editing Through BotWay



After logging in, click the "Edit" Button and then hit the "Buttons" button to display the edit dialog for buttons.



Every button configured in the "Buttons" configurator must be given a button type, a device ID number, and a button number; RGGI pushbuttons and footpedals may contain multiple pedals or buttons on the actual device. This third number specifies which button or pedal on a device will trigger the specific action being created. These fields are visible at the top right of the button dialog and take the form of dropdown menus. A list of Buttons types that can currently be configured is listed below.

Job Add

A button with the type "Job Add" will add a job to a job queue in BotWay.



Queue specifies which job queue to add the job to when the button is pressed. It is limited to queues from the jobdata.xml file.

Type specifies the inclusivity of a job between Concurrent, Consecutive, and Exclusive.

Start Route specifies what route to switch to when the job is accepted.

End Route along with End Tag specify the combination that will trigger a status change in the job from active to whatever the user sets in the Status at End field.

Start Status allows the user to specify the state of a job when a robot accepts it. The robot will immediately begin jobs whose starting state have been set to "Active." When a robot accepts a job whose starting status has been set to "Staged," it will not immediately start the job; instead, the robot will wait to receive an external command that releases it.

Status at end specifies what the job status will change to when the robot reaches the end tag while on the end route.

Completor ID and Completor Number fields are only used when a job has a status at end of "Staged" instead of "Completed." These fields specify the Device ID and button/pedal number on the device that will change the job status from "Staged" to "Completed."

Stage time limit used on Jobmonitor application to flag jobs that are in the "Staged" state for too long.

Job Complete

Buttons of this type are used to complete staged jobs.



When a job is added, its status at the end may be set to "Staged" instead of "Completed." These staged jobs require input from a "Job Complete" button to change their status to "Completed." The Device ID and button/pedal number must match the Completor ID and Completor number of an existing job. When a robot reaches an end tag while on an end route of a job that has a completor button, the job will not be completed until the Completor button is pressed.

Robot Release

Buttons with this type have the simple function of releasing a robot from an indefinite hold by sending it a "Go" command when the button is pressed.



Station Tag specifies what tag this button will release from.

Release Route specifies a new route to release the robot to. If left blank, the robot will continue on its current route.

Job Queue Pause

When a button is assigned this type, it will pause a job queue. Paused queues will not distribute any more jobs until resumed, but jobs in progress will still be completed and new jobs may still be added to the queue.



Queue Name specifies which Queue to pause.

Job Queue Resume

A button of this type will resume a paused job queue when pressed.



Queue Name specifies which Queue to resume.

Stop All Robots

Buttons with this type will immediately send a "stop" command to every robot connected to BotWay.



Job Trigger

When buttons are assigned this type, they become activation components for triggers. A trigger may have the state of a button as a token in its conditional statement.



Job Status

Exclusively used with the JobMonitor tablet extension of BotWay. See the JobMonitor page for more details.



Job Status Change specifies new status for associated job

Give Go specifies if the Robot running the associated job should be given a Go command after job status is changed

buttondata.xml Example

<buttonList rev="1">
   <button>
      <id>VD000001.1</id>
      <type>JOB_ADD</type>
      <queue>Q1-Line</queue>
      <jobType>CONCURRENT</jobType>
      <jobStartTag>100</jobStartTag>
      <jobStartRoute>10</jobStartRoute>
      <jobEndRoute>30</jobEndRoute>
      <jobEndTag>201</jobEndTag>
      <startJobStatus>ACTIVE</startJobStatus>
      <jobStatusAtEndTag>COMPLETED</jobStatusAtEndTag>
      <jobCompletorId/>
      <stationTimeLimit>10</stationTimeLimit>
   </button>
   <button>
      <id>VD000001.2</id>
      <type>JOB_COMPLETE</type>
   </button>
   <button>
      <id>VD000001.3</id>
      <type>RELEASE</type>
      <tagId>A10</tagId>
      <releaseRoute>20</releaseRoute>
   </button>
   <button>
      <id>VD000001.4</id>
      <type>PAUSE_JOBS</type>
      <queue>Q1-Line</queue>
   </button>
   <button>
      <id>VD000001.5</id>
      <type>RESUME_JOBS</type>
      <queue>Q1-Line</queue>
   </button>
   <button>
      <id>VD000001.6</id>
      <type>TRIGGER</type>
   </button>
   <button>
      <id>VD000001.7</id>
      <type>STOP_ALL</type>
   </button>
   <button>
      <id>VD000001.8</id>
      <type>JOB_STATUS</type>
      <newJobStatus>STAGED</newJobStatus>
      <goAfterJobStatus>true</goAfterJobStatus>
   </button>
</buttonList>


⚠️ **GitHub.com Fallback** ⚠️