Skip to main content
Version: 7.9


This function is used in Python Scripting.


Adds a new device connection in Ignition. Accepts a dictionary of parameters to configure the connection. Acceptable parameters differ by device type: i.e., a Modbus/TCP connection requires a hostname and port, but a simulator doesn't require any parameters.


When using this function, the arguments MUST be passed in as keyword arguments.

Client Permission Restrictions

Permission Type: Device Management

Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope.


system.device. addDevice(deviceType, deviceName, deviceProps)


StringdeviceTypeThe device driver type. Possible values are listed in the Device Types table below.
StringdeviceNameThe name that will be given to the the new device connection.





Device Types


Note that this function may be called to add devices using 3rd party drivers: you simply need the driver type, which the module developer will be able to provide.

Driver NameDevice Type
Legacy Allen-Bradley CompactLogixCompactLogix
Legacy Allen-Bradley ControlLogixControlLogix
Simulators Dairy Demo SimulatorDairyDemoSimulator
DNP3 DriverDnp3Driver
Allen-Bradley Logix DriverLogixDriver
Allen-Bradley MicroLogixMicroLogix
Modbus RTUModbusRtuOverTcp
Modbus TCPModbusTcp
Omron NJ Drivercom.inductiveautomation.omron.NjDriver
Allen-Bradley PLC5PLC5
Siemens S7-300S7300
Siemens S7-400S7400
Siemens S7-1200S71200
Siemens S7-1500S71500
Allen-Bradley SLCSLC
Simulators SLC SimulatorSLCSimulator
Simulators Generic SimulatorSimulator
TCP DriverTCPDriver
UDP DriverUDPDriver

Device Properties

The deviceProps parameter is where you supply configuration values to the new connection. Value properties depend on which deviceType was specified. A listing of deviceProps keys can be found on the system.device.addDevice - deviceProps Listing page.

The keys in the deviceProps parameter are case-insensitive. Device properties not specified in the deviceProps parameter will fallback to default values if not specified (where applicable: i.e., "hostname" typically does not have a default value).

Code Examples

Example #1
# Below is an example of creating a new Generic Simulator device connection.
# Note that we MUST pass a dictionary as the 3rd parameter, even if it's empty.

# Call the function
system.device.addDevice(deviceType = "Simulator", deviceName = "New_Generic_Simulator", deviceProps = {})
Example #2
# Add a device using the Allen-Bradley Logix Driver for firmware v21+ devices
deviceProps = {}
deviceProps["Hostname"] = ""
system.device.addDevice(deviceName="Test1", deviceType="LogixDriver", deviceProps=deviceProps)
Example #3
# Below is an example of creating a new S7-1500 device connection.

# Build a Dictionary of parameters
newProps = {
"HostName" : "",
"Port" : 102 # <---If adding additional parameters, make sure to add a comma.

# Call the function
system.device.addDevice(deviceType = "S71500", \
deviceName = "My_S7_1500_Device",\
deviceProps = newProps)