In many cases, an application must communicate with multiple pieces of equipment over a common medium, such as a serial port. In order to prevent multiple driver tags from accessing the same communications medium simultaneously, semaphores (Queued modules) are used. The driver tag is responsible for calling the Sem() module within the VTS port tag. This module will return true indicating the port is ready to be accessed. It is recommended that driver tags be created with separate read and write semaphore modules. This ensures that queued write requests (such as emergency shut-down instructions) will be processed in a timely fashion by alternating between read and write requests.