---
title: "Access Request Module AI Datasheet"
slug: "access-request-module-ai-datasheet"
updated: 2026-01-08T15:35:46Z
published: 2026-01-08T15:35:46Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vention.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Access Request Module AI Datasheet

| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/CE-SA-017-0001__2.png) |
| --- |

## Overview

The Access Request Module AI, [CE-SA-017-0001__2](https://vention.io/parts/access-request-module-ai-3192) is intended to interface up to 4 guardlocks (lockable interlock) with MachineMotion AI.

> [!WARNING]
> This document covers requirements for latest version of Vention’s Access Request Module. For previous version, refer to link below:
> 
> [*Documentation for Previous Product Versions*](/technicaldocumentation/docs/access-request-module-ai-datasheet#documentation-for-previous-product-versions)

## Features

- Compatible with every model of MachineMotion AI
- Configuration-free, plug-and-play
- Daisy-chainable
- RGB LED indicator for safety status (emergency stop, faults)
- Single-color LED indicators for power and communication status
- Can be connected to up to 4 guardlock devices but only one with high duty (>1 opening per hour)

## Included cables

- 1x Safety Extension cable (5m) - CE-CA-102-5000__3
- 1x Dry Contact Jumper - CE-JP-000-0002
- 2x Safety Jumper - CE-SA-102-0001
- 2x Guard Lock T-Splitter - CE-SA-124-0001

## Important Notes

## Safety

![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/iso-7000-2760-product-information1(5).png) The Access Request Module AI performs safety functions as a part of a whole installation or machine. A complete safety system normally includes sensors or input units, logic units and contactors or output units. The manufacturer of the installation or machine is responsible for ensuring proper functioning of the whole system. The total concept of the control system into which the Safety Module is integrated must be validated by the user. Vention cannot guarantee all specifications of an installation or a machine without being responsible for the risk assessment and the design of the safety system. Vention takes over no liability for recommendations which are given or implied in the following description.

The following items must be taken into consideration during the design, risk assessment & installation of the safety system:

- The Safety Module shall not be put into operation only after the safety functions have been tested during the commissioning.
- The use of the Safety Module does not prevent the automatic reset of devices connected to the Safety OUT port.
- The use of the Safety Module does not prevent the automatic start of the devices connected to the Safety OUT ports. According to EN IEC 60204-1:2018 and EN ISO 10218-1:2011 it is not allowed to restart automatically after emergency stop. Therefore the control systems of the connected devices have to disable the automatic start after emergency stop.
- Opening the Safety Module or implementing unauthorized changes voids any warranty.

![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/iso-7010-w001-general-warning-sign1(5).png) **Functional error! Danger to life, risk of serious injuries or property damage**

- The Access Request Module AI may only be used in VENTION safety ecosystem;
- The Access Request Module AI does not monitor the input redundant signals at the End Effector IN and Position IN ports. If the connected device at the Position IN port does not have monitoring of its output signals, the performance level of the safety function can be reduced;
- If the a jumper is used for the Position IN port but a limit switch is connected to the End effector IN port, the performance level of the safety function can be reduced;
- No emergency stop button shall be connected to the Safety IN port;
- If devices with OSSD signals are connected to the both Position IN and End Effector IN ports, the device connected in the End Effector IN port shall accept OSSD inputs and be placed in cascade using the pins 1 and 3 as OSSD inputs;
- As per ISO/TR 24119:2015, only 1 guardlock shall be high duty (opening the guardlock at a frequency greater than 1 per hour);
- A maximum of 4 guardlock should be connected to maintain the performance level of the module;
- Bypassing the guardlock with the Manual override may expose the operator to residual risk (heavy boxes in grippers, robot in wrong position);
- The Access Request Module AI is designed to operate in indoor environments without dust or high humidity. Dust and dampness may lead to malfunction. Do not install or operate the Safety Module outdoors;
- The machine shall be designed in such a way that it is not possible to press the reset button from inside a safeguarded area without triggering one of the devices connected to the Device ports.

### Important Information

- The electronic fuse contained in the Mode Switching Safety Module AI protects from internal faults and external faults, but the 24V power output on the *Safety In* port is not protected by the electronic fuse. The electronic fuse has an auto-retry mechanism (it does not latch faults and does not require a power cycle to reset).
- As per ISO/TR 24119:2015, only 1 guardlock shall have a high duty (opening the guardlock at a frequency greater than 1 time per hour). Bypassing the guardlock with the manual override may expose the operator to residual risk (heavy boxes in grippers, robot in wrong position, etc.).

## Technical specs

## General Specifications

| Item | Specification |
| --- | --- |
| Part Number | [CE-SA-017-0001__2](https://vention.io/parts/access-request-module-ai-3192) |
| Weight | 0.8kg |
| Dimensions | 19.0 x 15.0 x 9.0mm |
| Material | - Bottom enclosure: Aluminum - Top enclosure: Aluminum |
| Operating Temp | 0 to 40°C |
| IP rating (IEC 60529) | IP54 |

## Electrical Specifications

| Item | Specification |
| --- | --- |
| Nominal input voltage | 24 VDC (Class 2 or SELV power supply**) |
| Input voltage range | 19.2 ~ 26.4 VDC |
| Operating power consumption | 2.5 W without safety devices |
| Short circuit protection | Internal electronic fuse, max 2.5A |

** Note: In North America, the Safety Module shall be supplied by a certified class 2 power supply. In Europe, the Safety Module must be supplied by an SELV circuit. When powered by the MachineMotion those requirements are met.

## Physical Interface

| ![Figure 1: Physical Interface](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/CE-SA-017-0001.png) ***Figure 1: Physical Interface*** |
| --- |

## LED Indicators

| Name | LED Color | Indicates (when ON) |
| --- | --- | --- |
| POWER | White | Power supplied to the module |
| COMM | White | Ethernet communication functional |
| FUSE | Red | Module internal fuse tripped |
| STATUS | Off | Module disconnected |
| STATUS | Green | System operational |
| STATUS | Orange | Error |
| STATUS | Red | System emergency stop |
| STATUS | Blinking Red | Emergency stop after unlock is granted |
| STATUS | Blinking Blue | Processing unlock request |

## Functionality

The Access Request Module AI enables guardlock devices to be interfaced with MachineMotion AI. A guard lock is a device that prevents a user to open a door or gate based on a safety or programming condition. The 2 safety conditions to be met are represented by the *Position In* and the *End Effector In*ports. The *Position* input can be connected to a safe robot output or to a fail-safe inductive sensor (CE-SN-010-0001) whose OSSD outputs are high when the source of danger (e.g. robot arm) is in a safe position. The *End Effector* input can be connected to a redundant dry contact sensor whose contacts are closed when the end effector (e.g. robot gripper) does not create a hazard (e.g. no payload). The *End Effector In* condition is optional, meaning that if there is no residual risk involving an end effector in a cell, the *End Effector* input can be jumped with a 4-position yellow jumper (CE-JP-000-0002).

Once everything is properly connected, software on the MachineMotion must be running in order to send the lock/unlock request. This architecture allows completely flexibility on the functionality. Pressing the buttons of the Access Request Module AI sends a message to the MachineMotion AI. Optionnally, the MachineMotion AI may send a command to park the robot or gantry in a safe position as confirmed by the *Position*input. The MachineMotion AI should then send a request to the Access Request Module AI to lock/unlock the door. In order for an access request to be successful, the cell must be in a safe state. Therefore, access request modules must be integrated into your application. See below for [MachineLogic](/technicaldocumentation/docs/access-request-module-datasheet) and [MachineLogic Python](/technicaldocumentation/docs/access-request-module-datasheet) examples.

### Making a Lock or Unlock Request

The Access Request Module AI will accept requests to unlock under the following conditions:

- Interlocks are detected on the guardlock port connectors
- The guardlocks are closed and locked
- The *Position In* port OSSD inputs are high & *End Effector In* port dry contacts are closed

| ![Figure 2: Successful unlock sequence](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/Access20request20unlock1.png) ***Figure 2: Successful unlock sequence*** |
| --- |

The Access Request Module AI will accept requests to lock under the following conditions:

- Interlocks are detected on the guardlock port connectors
- The guardlocks are closed and unlocked
- The *Position In* port OSSD inputs are high & *End Effector In* port dry contacts are closed

| ![Figure 3: Successful lock sequence](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/Access20request20lock1.png) ***Figure 3: Successful lock sequence*** |
| --- |

## Port definitions and pinouts

| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/CE-SA-017-0001__2 - Bottom.png) ***Figure 4: Access Request Module AI ports*** |
| --- |

## Safety Out - M12, male, 12-pin, A-Keyed

The *Safety Out*port connects to the *Safety In* port of the MachineMotion AI, or to another Safety Module when daisychaining.

| Pin | Function |
| --- | --- |
| Pin 1 | 24 VDC input |
| Pin 2 | 0V input |
| Pin 3 | OSSD output A |
| Pin 4 | 24 VDC input |
| Pin 5 | OSSD output B |
| Pin 6 | 24 VDC input |
| Pin 7 | Reset input |
| Pin 8 | 0V |
| Pin 9 | Ethernet RX+ |
| Pin 10 | Ethernet RX- |
| Pin 11 | Ethernet TX+ |
| Pin 12 | Ethernet TX- |

## Safety In - M12, female, 12-pin, A-Keyed

The *Safety In* port connects to the *Safety Out* port of another Safety Module when daisychaining. If the port is unused, plug the included yellow jumper (CE-SA-102-0001).

| Pin | Function |
| --- | --- |
| Pin 1 | 24 VDC output |
| Pin 2 | 0V output |
| Pin 3 | OSSD input A |
| Pin 4 | 24 VDC output |
| Pin 5 | OSSD input B |
| Pin 6 | 24 VDC output |
| Pin 7 | Reset output |
| Pin 8 | 0V output |
| Pin 9 | Ethernet RX+ |
| Pin 10 | Ethernet RX- |
| Pin 11 | Ethernet TX+ |
| Pin 12 | Ethernet TX- |

## Door 1 & 2 - M12, female, 12-pin, A-Keyed

To connect 2 guarlocks to this port, use the provided guardlock T-splitter (CE-SA-124-0001). If the port is unused, plug the included yellow jumper (CE-SA-102-0001).

| Pin | Function |
| --- | --- |
| Pin 1 | Lock signal 24V output |
| Pin 2 | 0V |
| Pin 3 | Guardlock 1 & 2 dry-contact input 1-1 |
| Pin 4 | Guardlock 1 & 2 dry-contact input 1-2 |
| Pin 5 | Guardlock 1 & 2 dry-contact input 2-1 |
| Pin 6 | Guardlock 1 & 2 dry-contact input 2-2 |
| Pin 7 | 24V (fused) |
| Pin 8 | Gate feedback input |
| Pin 9 | NC |
| Pin 10 | NC |
| Pin 11 | NC |
| Pin 12 | NC |

## Door 3 & 4 - M12, female, 12-pin, A-Keyed

To connect 2 guarlocks to this port, use the provided guardlock T-splitter (CE-SA-124-0001). If the port is unused, plug the included yellow jumper (CE-SA-102-0001).

| Pin | Function |
| --- | --- |
| Pin 1 | Lock signal 24V output |
| Pin 2 | 0V |
| Pin 3 | Guardlock 3 & 4 dry-contact input 1-1 |
| Pin 4 | Guardlock 3 & 4 dry-contact input 1-2 |
| Pin 5 | Guardlock 3 & 4 dry-contact input 2-1 |
| Pin 6 | Guardlock 3 & 4 dry-contact input 2-2 |
| Pin 7 | 24V (fused) |
| Pin 8 | Gate feedback input |
| Pin 9 | NC |
| Pin 10 | NC |
| Pin 11 | NC |
| Pin 12 | NC |

## Position In - M12, female, 4-pin, A-Keyed

| Pin | Function |
| --- | --- |
| Pin 1 | 24V (fused) |
| Pin 2 | OSSD input A |
| Pin 3 | 0V |
| Pin 4 | OSSD input B |

## End Effector In - M12, female, 4-pin, A-Keyed

The *End Effector In* port allows to connect a redundant dry contact feedback of the machine’s end effector status (e.g. a box gripper sensor to confirm the absence of a box). If the port is unused, plug the included 4-position yellow jumper (CE-JP-000-0002).

| Pin | Function |
| --- | --- |
| Pin 1 | Dry contact input 1-1 |
| Pin 2 | Dry contact input 1-2 |
| Pin 3 | Dry contact input 2-1 |
| Pin 4 | Dry contact input 2-2 |

## Status Out - M12, male, 4-pin, A-Keyed

The *Status Out* port allows to daisychain several Access Request Module AI without requiring a second set of safe position sensor and end effector sensor inputs. Simply connect the *Status Out* port of the module with sensors to the *Position In* port of the module without sensors.

| Pin | Function |
| --- | --- |
| Pin 1 | NC |
| Pin 2 | OSSD output A |
| Pin 3 | 0V |
| Pin 4 | OSSD output B |

## Mounting

Install the module mounting bracket (CE-HW-005-1002) to the extrusion with the screws provided (HW-FN-003-0018). Install the module onto the mounting bracket as illustrated below.

| ![Figure 5: Module Mounting](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/Mounting201(4).png) ***Figure 5: Module Mounting*** | ![Figure 3: Module Mounting](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/Mounting202(4).png) ***Figure 6: Module Mounting*** |
| --- | --- |

## Wiring Diagrams

| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/MMAI with ARM with 4x interlocks with callouts(1).png) ***Figure 7: Access Request Module AI with 4 guardlocks*** |
| --- |
| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/MMAI with 2x ARM with 3x interlocks with callouts.png) ***Figure 8: Daisy-chaining Access Request Module AI*** |
| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/MMAI with ARM &amp; RSM &amp; 2x Interlocks with callouts.png) ***Figure 9: Access Request Module AI with Robot Safety Module*** |
| ![](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/MMAI - ARM - 2x guardlocks with callouts.png) ***Figure 10: Access Request Module AI with 2 guardlocks*** |

*Note: Insert a jumper on any unused safety input for proper functionality. See table below to identify the appropriate jumper part number (included with the module).

| Jumper Part Number | Description | Target module | Port restrictions |
| --- | --- | --- | --- |
| CE-SA-125-0001 | M12, male, 12 pins, black jumper | Muting Safety Module AI (CE-SA-015-0001__2) Mode Switching Module AI (CE-SA-018-0001__2) Auto-Reset Module AI (CE-SA-019-0001__2) | Strictly reserved for *Device* ports |
| CE-JP-000-0002 | M12, male, 4 pins, yellow jumper | Access Request Module AI (CE-SA-017-0001__2) | Strictly reserved for *End Effector* port |
| CE-SA-102-0001 | M12, male, 12 pins, yellow jumper | All modules | Other unused safety input ports |

### HTTP commands

The Access Request Module AI can receive commands from HTTP to lock or unlock the doors. This enables a user to lock/unlock doors on events, like a push button press.

| Route | Data Type | Format | Description |
| --- | --- | --- | --- |
| `http://localhost/firmware/smartModules/access-request` | json | `{"serial-number": INT, "command": "lock" \| "unlock"}` | Will try to lock or unlock the doors on the target device |

#### HTTP /access-request return codes :

| Code | Full json payload |
| --- | --- |
| 0 | {“code”:0,”msg”:”Success”} |
| 1 | {“code”:1,”msg”:”Post must be of JSON type with format {“serial-number”: INT, “command”: “lock” \| “unlock” |
| 2 | {“code”:2,”msg”:”Smart Module not found.”,”errors”:[]} |
| 3 | {“code”:3,”msg”:”Smart Module not connected.”,”errors”:[]} |
| 4 | {“code”:4,”msg”:”Smart Module is not an Access-Request Module.”,”errors”:[]} |
| 5 | {“code”:5,”msg”:”Access-Request Module is not accepting requests. Topic not initialized.”,”errors”:[]} |
| 6 | {“code”:6,”msg”:”Access-Request Module is not accepting requests. Cell is not safe”,”errors”:[]} |
| 7 | {“code”:7,”msg”:”Access-Request Module is not accepting requests. Door is Open.”,”errors”:[]} |
| 8 | {“code”:8,”msg”:”door is already locked.”,”errors”:[]} |
| 9 | {“code”:9,”msg”:”door is already unlocked.”,”errors”:[]} |
| 10 | {“code”:10,”msg”:”Access-Request Module was unable to lock”,”errors”:[]} |
| 11 | {“code”:11,”msg”:”Access-Request Module was unable to unlock”,”errors”:[]} |
| 99 | {“code”:99,”msg”:”error”} |

#### Error codes

| **Code** | **Errors** | **Description** |
| --- | --- | --- |
| 1 | `Error on safety output. Shortcircuit or crossfault.` | shortcircuit, cross fault, or wrong feedback |
| 2 | `Error on safety input` | shortcircuit, cross fault, wrong feedback, feedback not simultaneous |
| 9 | `Error on state of locking door.` | Door has a problem. Error in door signals / miswiring |
| 10 | `Error on lock output. Shortcircuit or crossfault.` | shortcircuit, cross fault |
| 11 | `Error with wiring or timing of safe state` | Signals not simultaneous |
| 12 | `Error in door operation: Failure of operation or manual override` | shortcircuit, cross fault, or wrong feedback |

### MQTT topics

Device Type `access-request`

| Topic | Data Type | Description |
| --- | --- | --- |
| `/button-lock` | int (0 or 1) | 0 = button released, 1 = button pressed |
| `/button-unlock` | int (0 or 1) | 0 = button released, 1 = button pressed |
| `/available` | int (0 or 1) | 0 = disconnected, 1 = connected |
| `/errors` | string array | Array of string which indicates all current errors |
| `/thermistor` | int | Temperature of the device in celcius |
| `/safety-in` | int (0 or 1) | Status of the input voltage on safety-in port. 0 = 0V (Estop) , 1 = 24V (Good) |
| `/safety-out` | int (0 or 1) | Status of the output voltage on safety-out port. 0 = 0V (Estop), 1 = 24V (Good) |
| `/door-open` | int (0 or 1) | Indicates if a door is opened 0 = closed, 1 = open |
| `/door-locked` | int (0 or 1) | Indicates if doors are locked 0 = unlocked, 1 = locked |
| `/accepting-requests` | int (0 or 1) | Indicates if the module accepts lock/unlock requests 0 = not accepting, 1 = accepting |
| `/cell-safe` | int (0 or 1) | Status of the input of the IN and END port. Status out port. 0 = not safe, 1 = safe |
| `/user-unlock-request` | int (0 or 1) | Status of the user request 0 = lock request, 1= unlock request |
| `/active-request` | int (0 or 1) | Status of the request 0 = locked, 1= unlocking or unlocked |
| `/transitioning` | int (0 or 1) | Indicates if there’s a transition between lock and unlocked/unlocked and locked 0 = nothing, 1= transitioning |
| `/lock-signal` | int (0 or 1) | 0 = locked, 1= unlocked |

## Integration in MachineLogic

Usage of the Access Request Module in Code-Free application requires setting up the proper messages using MQTT and HTTP communication. For any use-case requiring the use of the Access Request Module AI with MachineLogic Code-Free programming, please contact **integrationsupport@vention.cc**

### MachineLogic Python Unlock Sequence Example

Below is an example of how the Access Request Module AI can be used in MachineLogic Python applications.

```python
from machinelogic import Machine, MachineException

### Program ###

# Start coding here!
# Documentation can be found at vention.io/resources/guides/machinelogic-python-programming-514
import requests
from time import sleep

def request_access(machine_ip, module_serial_number, unlock = True):
    unlock_string = "unlock" if unlock else "lock"
    payload = {
      "serial-number": module_serial_number,
      "command": unlock_string
    }
    try:
        r = requests.post(
          f"http://{machine_ip}/firmware/smartModules/access-request",
          json = payload
        )
    finally:
        return ( r.status_code == 200, r.text)
    
if __name__ == "__main__":
    
    ip = '192.168.7.2'
    mmai = Machine(ip)
    serial_number = 'SN1234' # Replace this with the serial number found on the device label
    
    def handle_module_status(topic, payload):
        print(topic, payload) # Display incoming module statuses

    def handle_access_request(topic, payload): # Callback for module button press
        print("handling request", topic, payload)
        if not int(payload): # Button is released, do nothing
          return

        is_unlock_request = topic.split('/')[3] == "button-unlock"
        success, info = request_access(ip, serial_number, is_unlock_request)
        print(info)
    
    mmai.on_mqtt_event(
      f'safety-module-hub/access-request/{serial_number}/button-lock',
      handle_access_request
    )

    mmai.on_mqtt_event(
      f'safety-module-hub/access-request/{serial_number}/button-unlock',
      handle_access_request
    )
    
    mmai.on_mqtt_event(
      f'safety-module-hub/access-request/#',
      handle_module_status
    )

    while True:
        sleep(1)
```

## Safety Data

The Access Request Module AI realizes the following safety functions:

- System emergency stop output at the Safety OUT connector from the Safety IN port (E-stop_SafetyOUT);
- Guardlock safety function without safe position input (GuardLock);
- Guardlock safety function with safe position input (GuardLock_PositionIN).

For each of these functions, safety data can be found in the following tables. Due to potential fault masking, the safety data is dependent on the number of doors and their frequency of use.

##### The table below refers to the safety data with only one door or no door frequently used and up to 4 not frequently used doors:

| Safety Function | PL | Cat. | MTTFd | DCavg | PFHd | Response time |
| --- | --- | --- | --- | --- | --- | --- |
| E-stop_SafetyOUT | e | 3 | 438 | 99% | 4.29E-08 | 20 ms |
| GuardLock | e | 3 | 64 | 99% | 8.84E-08 | Not applicable |
| GuardLock_PositionIN | e | 3 | 64 | 99% | 8.84E-08 | Not applicable |

##### The table below refers to the safety data with no door frequently used and up to 30 doors not frequently used doors or 1 frequently used doors and up to 4 not frequently used doors:

| Safety Function | PL | Cat. | MTTFd | DCavg | PFHd | Response time |
| --- | --- | --- | --- | --- | --- | --- |
| E-stop_SafetyOUT | e | 3 | 438 | 99% | 4.29E-08 | 20 ms |
| GuardLock | d | 3 | 64 | 91.3% | 2.13E-07 | Not applicable |
| GuardLock_PositionIN | d | 3 | 64 | 91.3% | 2.13E-07 | Not applicable |

The above information have been calculated based on the following operation conditions:

| Data | Value | Unit |
| --- | --- | --- |
| dop | 365 | days/years |
| hop | 24 | hours/days |
| tcycle | 600 | s/cycle |

## Documentation for Previous Product Versions

****Access Request Module AI Datasheet****

[Access Request Module AI Datasheet](https://cdn.document360.io/3eee4d14-5ca0-4ea6-b426-1c19393e6a5e/Images/Documentation/Access%20Request%20Module%20Datasheet.pdf)
