User Manual

GETTING STARTED


OTHER EDITIONS


LAUNCHERS


MODULES


PLATFORM


APPENDIX


TUTORIALS & HELPFUL TRICKS


STRATEGIC PARTNER LINKS

Sepasoft - MES Modules
Cirrus Link - MQTT Modules

RESOURCES

Inductive University
Ignition Demo Project
Knowledge Base Articles
Forum
IA Support

ALL USER MANUAL VERSIONS

Ignition 8.1. Offline Version (04/2021)
Ignition 8 Online Version
Ignition 7.9 Online Version
Ignition 7.8 Online Version

Deprecated Pages

SDK Documentation

Employees

Sign In

Skip to end of metadata
Go to start of metadata

The following feature is new in Ignition version 8.1.8
Click here to check out the other new features
This function is used in Python Scripting.

Description

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.

Syntax

system.device.addDevice( deviceType, deviceName, deviceProps, [description] )

  • Parameters

String  deviceType  - The device driver type. Possible values are listed in the Device Types table below.

String  deviceName  - The name that will be given to the the new device connection.

Dictionary[String, Any] deviceProps - A dictionary of device connection properties and values. Each deviceType has different properties, but most require at least a hostname. Keys in the dictionary are case-insensitive, spaces are omitted, and the names of the properties that appear when manually creating a device connection.

The following feature is new in Ignition version 8.1.10
Click here to check out the other new features

String  description  - The description that will be given to the the new device connection. [optional]

  • Returns

Nothing

  • Scope

Gateway, Vision Client, Perspective Session



Device Types

The tables below represent Inductive Automation device types that can be created with this function. Some device types require manual configurations to become fully functional, such as loading configuration files or adding mapped entries. In these cases you won't be able to completely configure the device with this function alone. Those device types are marked with "(requires manual configuration)" in the table below. 

In addition, this function can also add devices from 3rd party modules; you will need to supply the driver type, which the module developer will be able to provide.

Driver NameDevice Type
Allen-Bradley Logix DriverLogixDriver
Allen-Bradley MicroLogixMicroLogix
Allen-Bradley PLC5PLC5
Allen-Bradley SLCSLC
DNP3 DriverDnp3Driver
Legacy Allen-Bradley CompactLogixCompactLogix
Legacy Allen-Bradley ControlLogixControlLogix
Modbus RTUModbusRtuOverTcp
Modbus TCPModbusTcp
Omron FINS TCP 
(requires manual configuration)
com.inductiveautomation.FinsTcpDeviceType
Omron FINS UDP 
(requires manual configuration)
com.inductiveautomation.FinsUdpDeviceType
Omron NJ Driver
com.inductiveautomation.omron.NjDriver

Driver NameDevice Type
Siemens S7-300S7300
Siemens S7-400S7400
Siemens S7-1200S71200
Siemens S7-1500S71500
Simulators Dairy Demo SimulatorDairyDemoSimulator
Simulators Generic SimulatorSimulator
Simulators SLC SimulatorSLCSimulator
TCPDriver
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
Code Snippet - Creating a New Simulator Device
# 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 = {} )
Code Snippet - Creating a New Allen Bradley Logix Device
# Add a device using the Allen-Bradley Logix Driver for firmware v21+ devices
deviceProps = {}
deviceProps["Hostname"] = "192.168.1.2"
system.device.addDevice(deviceName="Test1", deviceType="LogixDriver", deviceProps=deviceProps)
Code Snippet - Creating a New Siemens Device
# Below is an example of creating a new S7-1500 device connection.

# Build a Dictionary of parameters
newProps = {
			"HostName" : "10.0.0.1", 
			"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 )

Keywords

system device addDevice, device.addDevice