Skip to main content
Version: 8.1



The following function uses system.dnp3 and the Legacy DNP3 driver. See for DNP3 functions using the DNP3 driver.

This function is used in Python Scripting.


Issues a Select-And-Operate command for digital control operations at binary output points (CROB).

Client Permission Restrictions

Permission Type: DNP3 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.dnp3.selectOperateBinary(deviceName, indexes, opType, tcCode, [count], [onTime], [offTime])


StringdeviceNameThe name of the DNP3 driver.
ListindexesA list of indexes of the objects to be modified in the outstation.
IntegeropTypeThe type of operation. 0=NUL, 1=PULSE_ON, 2=PULSE_OFF, 3=LATCH_ON, 4=LATCH_OFF
IntegertcCodeThe Trip-Close code, used in conjunction with the opType. 0=NUL, 1=CLOSE, 2=TRIP
IntegercountThe number of times the outstation shall execute the operation. [optional]
IntegeronTimeThe duration that the output drive remains active, in millis. [optional]
IntegeroffTimeThe duration that the output drive remains non-active, in millis. [optional]


The DNP3 status code of the response, as an integer.


Gateway, Vision Client, Perspective Session

Code Examples

Example #1
# This example shows latching on 3 binary output points with the Select-And-Operate command.

latch = system.dnp3.LATCH_ON
system.dnp3.selectOperateBinary("Dnp3", [0, 1, 2], latch)
Example #2
# This example shows setting a binary output point at index 3 to pulse at 5 second intervals
# with the Select-And-Operate command.

pulse = system.dnp3.PULSE_ON
trip = system.dnp3.TRIP
system.dnp3.selectOperateBinary("Dnp3", [3], pulse, trip, count=2, onTime=5000, offTime=5000)


system dnp3 selectOperateBinary, dnp3.selectOperateBinary