Skip to content

Search these docs, or ask Revo a question — answers link the pages they came from.

VWorks Automation

VWorks Automation Control Software is Agilent’s automation control software — software, not an instrument. Agilent describes it as a solution “to control Agilent automation instruments, seamlessly integrating multi-instrument workflows”, managing standalone and integrated devices in a laboratory automation system. That distinction shapes this page: Revolution does not drive a Bravo or a BenchCel directly. It asks VWorks to run a protocol, and VWorks drives the deck.

ProductVWorks Automation Control Software — VWorks Standard (G5263AA), VWorks Plus (G5264BA)
What it isAgilent’s control software for its automation instruments, spanning standalone and integrated devices
Unit of workThe VWorks protocol, built from processes and tasks, with JavaScript available for the parts that vary
ComplianceVWorks Plus is the compliance-enabled edition — eSignatures, audit trails, tamper detection
Revolution controlRun a protocol by file path, for a given run count; write or replace a file the protocol reads

Agilent states on the product page that VWorks is “compatible with the Agilent Bravo NGS workstation, Agilent Bravo SRT automated liquid handling platform, Agilent Bravo BenchCel workstation, and other BenchCel workstations”.

Below the workstation level, the devices Agilent documents as VWorks-controlled include the BenchBot Robot — which Agilent’s own guide describes as “controlled by the VWorks software”, and which can have up to 10 devices integrated with it — along with the Bravo platform (including AssayMAP Bravo), BenchCel microplate handlers, the PlateLoc sealer, the Microplate Labeler, the Microplate Barcode Reader, the Labware MiniHub, the Centrifuge with Loader, and BioTek devices.

So the hardware in your cell is Agilent’s, arranged and taught in VWorks. What Revolution talks to is VWorks.

Published versions14.0, 14.1, 14.1.1, 14.2, 14.3, 14.4
User rolesVWorks Administrator, VWorks Technician, VWorks Operator, VWorks Guest — a login is required, with an inactivity timeout
Regulatory scope (Plus)Features that help meet U.S. FDA 21 CFR Part 11, EU Annex 11 and similar national electronic-record regulations
Compliance features (Plus)eSignatures, timed lockouts, detailed logs of user actions, audit trails and reporting, secure file handling and tamper detection, security states for record files
Databases (14.x)MySQL Server 8.0.18 for the Inventory database; PostgreSQL for the Experiments database, which replaced the MySQL database used in VWorks 14.0
ScriptingJavaScript in protocols, with an ActiveX Wrapper utility for invoking another product’s ActiveX control and a File Object for reading and writing files

Agilent does not publish a specifications tab or a specification sheet for VWorks. Everything above is taken from the product page and from Agilent’s Automation Solutions documentation; the computer requirements are published only in the release notes, which are not public.

  • RunProtocol — run a VWorks protocol given its File Path, a Run Count (how many times VWorks should run it, minimum 1, default 1) and a Timeout for the operation
  • CreateOrReplaceFile — write a Filename with the given File content on the VWorks machine

Nearly everything about a run lives in the protocol: the deck, the labware, the tasks, the pipetting techniques. A Revolution schedule that needs a plate processed on the Agilent deck names the protocol and waits. The Run Count is passed straight through and handled by VWorks, so a protocol designed to repeat does so without Revolution looping.

CreateOrReplaceFile is what makes a protocol schedulable rather than fixed. VWorks protocols can read a file from JavaScript, so Revolution writes the file the protocol will read — the plate list, the volumes, the barcodes that came off the previous step — and then runs the protocol. Without it, the run would have to be identical every time.

Revolution treats the protocol as finished when VWorks reports completion of a cleanup protocol — not on the first completion event it sees, so a protocol whose main body has finished but whose cleanup is still running is not called done early. Until then the driver polls VWorks every two seconds, tolerating up to ten consecutive failures to read status before it gives up: a long protocol is not failed by one missed poll.

Faults are split the way VWorks splits them. An unrecoverable error or an aborted protocol fails the Revolution operation. A recoverable error is deliberately handed back to VWorks, which presents its own options to the operator: the person at the bench resolves the error in the software that knows the deck, and the schedule continues from there.

Revolution reaches VWorks through Agilent’s VWorks COM API, for which Agilent publishes a VWorks Application Programming Interface reference guide. The API is COM, so it is not hosted inside Revolution: the driver runs a small service in a separate process on the VWorks PC and connects to it over HTTP, by default at http://localhost:1023/vworks4. That keeps a COM apartment and a vendor SDK’s lifecycle out of the scheduler process.

Connecting logs in as a VWorks user. Revolution surfaces what VWorks says about that login rather than guessing — a disabled account, an expired account, a failed password, insufficient authorisation, or too many failed attempts each come back as a distinct error. Once logged in, the driver brings the VWorks window up, so an operator can watch the run and answer VWorks’ own prompts.

PropertyPurpose
VWorks UserThe VWorks account Revolution logs in as. It needs a role and rights sufficient to run the protocol
VWorks PasswordThat account’s password
UrlAddress of the service that owns the VWorks API. Must match the way that service was started
  • VWorks must be installed, licensed and configured, with the devices already commissioned and taught in it. Revolution does not configure VWorks.
  • The protocols the schedule calls must exist at the paths passed, and must already run correctly when started by hand in VWorks.
  • The VWorks account Revolution uses must exist and be able to log in — VWorks requires a role, and an account that is disabled, expired or locked out will stop the device initialising.
  • The API service must be running on the VWorks PC before the device is initialised in Revolution, and its address must match the driver’s Url.
  • Where CreateOrReplaceFile is used, the path must be writable by that service, and the protocol must be built to read it.

VWorks owns the deck, the teachpoints, the pipetting techniques and — in the Plus edition — the audit trail. Revolution starts protocols and supplies their input; it does not edit protocols, drive individual Agilent devices, pause or resume a run, or pull results back. Those stay in VWorks, which is where the reviewed record of the run lives.

If you need more of this instrument driven from a schedule, get in touch — the driver is extended on demand.