Skip to main content

McomInquire

BoardSupported
Host SystemPartial
V4L2No
Clarity UHDNo
Concord PoENo
GenTLNo
GevIQNo
GigE VisionNo
IndioYes
Iris GTXYes
Radient eV-CLNo
Rapixo CLNo
Rapixo CoFNo
Rapixo CXPNo
USB3 VisionNo

Inquire about an Industrial Communication context setting.

Syntax

AIL_INT McomInquire(
AIL_ID ComId, //in
AIL_INT64 InquireType, //in
void * UserVarPtr //out
)

Description

This function inquires about a setting of the Industrial Communication context.

Note: This function is only available if you have the Aurora Imaging Library Industrial & Robot Communications package, or another relevant update installed.

Parameters

ComId (in, AIL_ID)

Specifies the identifier of the Industrial Communication context.

InquireType (in, AIL_INT64)

Specifies the setting about which to inquire.

UserVarPtr *(out, void)

Specifies the address of the variable in which to return the value of the inquired setting. Since the McomInquire function also returns the requested information, you can set this parameter to M_NULL.

Parameter Associations

For inquiring about the system

The following InquireType parameter settings can be specified for any Industrial Communication context type, to inquire the system on which the context was allocated.


M_OWNER_SYSTEM

Inquires the identifier of the system on which the Industrial Communication context was allocated.

ValueDescription
M_DEFAULT_HOSTSpecifies the default Host system of the current Aurora Imaging Library application.
System identifierSpecifies a valid system identifier, previously allocated using MsysAlloc.

For any type of Industrial Communication context

The following InquireType parameter settings can be specified for any Industrial Communication context type.


M_COM_DEVICE_DESCRIPTION

Inquires the description of the device.

ValueDescription
"M_DEFAULT"Specifies to communicate with the default device described in Aurora Imaging Configurator that uses the specified protocol.
"InstanceName"Specifies the instance name of a given Industrial Communication protocol.
"IPOrName:Port"Specifies the IP address and port on the robot controller to use to communicate with it.

M_COM_GET_CONNECTION_STATE

Inquires whether the device is connected.

ValueDescription
M_FALSESpecifies that the device is not connected.
M_TRUESpecifies that the device is connected.

M_COM_INIT_VALUE

Inquires how the Industrial Communication context was initialized.

ValueDescription
M_DEFAULTSpecifies the default behavior.
M_COM_NO_CONNECTSpecifies not to automatically connect to the robot controller.

M_COM_IS_HARDWARE

Inquires if the Aurora Imaging Library system is using a hardware-assisted acceleration device to communicate with the target device.

ValueDescription
M_FALSESpecifies that the system is not using a hardware-assisted acceleration device.
M_TRUESpecifies that the system is using a hardware-assisted acceleration device.

M_COM_PROTOCOL_TYPE

Inquires the type of protocol for which the context was allocated.

ValueDescription
M_COM_PROTOCOL_ABBSpecifies an ABB robot controller protocol.
M_COM_PROTOCOL_CCLINKSpecifies a CC-Link IE Field Basic protocol.
M_COM_PROTOCOL_DENSOSpecifies a DENSO robot controller protocol.
M_COM_PROTOCOL_EPSONSpecifies an Epson robot controller protocol.
M_COM_PROTOCOL_ETHERNETIPSpecifies an Ethernet/IP protocol.
M_COM_PROTOCOL_FANUCSpecifies a Fanuc robot controller protocol.
M_COM_PROTOCOL_KUKASpecifies a KUKA robot controller protocol.
M_COM_PROTOCOL_MODBUSSpecifies a Modbus protocol.
M_COM_PROTOCOL_PROFINETSpecifies a PROFINET protocol.
M_COM_PROTOCOL_STAUBLISpecifies a Staubli robot controller protocol.

M_COM_TIMEOUT

Inquires the maximum amount of time to wait for a receiving function (for example, McomRead or McomWaitPositionRequest) to finish its execution.

ValueDescription
ValueSpecifies the maximum amount of time to wait, in msecs.

For an Industrial Communication context for use with a robot controller

The following InquireType parameter settings can be specified for an Industrial Communication context allocated to communicate with a robot controller.


M_COM_REMOTE_ADDRESS

Inquires the IP address of the robot controller.

ValueDescription
"n.n.n.n"Specifies the IP address of the robot controller.

M_COM_REMOTE_PORT

Inquires the port on the robot controller to use to communicate with it.

ValueDescription
Value > 0Specifies the port on the robot controller.

M_COM_ROBOT_CONNECT_RETRY

Inquires the maximum number of times to attempt to reconnect to the robot controller.

ValueDescription
ValueSpecifies the maximum number of times to attempt to reconnect.

M_COM_ROBOT_CONNECT_RETRY_WAIT

Inquires the amount of time to wait between attempts to connect to the robot-controller.

ValueDescription
ValueSpecifies the amount of time to wait, in msecs.

M_COM_ROBOT_ISCONNECTED

Inquires whether the robot controller is connected.

ValueDescription
M_FALSESpecifies the robot controller is not connected.
M_TRUESpecifies the robot controller is connected.

Combination Constants — For getting the string size

Optional.

Usage: You can add one of the following values to the above-mentioned values to get the string's length.

M_STRING_SIZE

Retrieves the length of the string, including the terminating null character ("\0").

For an Industrial Communication context for use with a PROFINET device

The following InquireType parameter settings can be specified for an Industrial Communication context allocated to communicate using the PROFINET protocol (McomAlloc with M_COM_PROTOCOL_PROFINET).


M_COM_PROFINET_GET_MODULE_INSIZE

Inquires the amount of memory that the PROFINET controller expects to be allocated to the module in local memory, which can be used to send input data to the controller (for example, a PLC). The expected module's size can be modified using the Siemens Totally Integrated Automation (TIA) portal of the controller. > Note: Note that if the PROFINET controller is not currently connected, the module's last known size is returned.

System specific

Board(s)Note
Host SystemThis constant is only available on a Host system if the Host system was previously allocated on a Zebra 4Sight EV6/EV7. It is not available on Zebra 4Sight XV6/XV7.
ValueDescription
ValueSpecifies the expected input module's size, in bytes.

M_COM_PROFINET_GET_MODULE_OUTSIZE

Inquires the amount of memory that the PROFINET controller expects to be allocated to the module in local memory, to which the controller can write. The expected module's size can be modified using the Siemens Totally Integrated Automation (TIA) portal of the controller. > Note: Note that if the PROFINET controller is not currently connected, the module's last known size is returned.

System specific

Board(s)Note
Host SystemThis constant is only available on a Host system if the Host system was previously allocated on a Zebra 4Sight EV6/EV7. It is not available on Zebra 4Sight XV6/XV7.
ValueDescription
ValueSpecifies the expected output module's size, in bytes.

M_COM_PROFINET_GET_PLC_STATE

Inquires the state of the PROFINET controller (PLC) connected to the local computer. The inquired controller state is the state as of the last alarm transfer cycle.

System specific

Board(s)Note
Host SystemThis constant is only available on a Host system if the Host system was previously allocated on a Zebra 4Sight EV6/EV7. It is not available on Zebra 4Sight XV6/XV7.
ValueDescription
M_COM_PROFINET_STATUS_RUNSpecifies that the PROFINET PLC is running.
M_COM_PROFINET_STATUS_STOPSpecifies that the PROFINET PLC has stopped.

Combination Constants — For a PROFINET PLC in a redundant mode

Optional.

Usage: You can add one of the following values to the above-mentioned values to specify in which redundant mode the PLC is running.

ValueDescription
M_COM_PROFINET_STATUS_BACKUPSpecifies that the PROFINET PLC, running in a redundant mode, is using the backup network channel.
M_COM_PROFINET_STATUS_PRIMARYSpecifies that the PROFINET PLC, running in a redundant mode, is using the primary network channel.

Combination Constants — To specify the module's index in a PROFINET automation device

Essential.

Usage: You must add one of the following values to the above-mentioned values to specify the module's index in the local computer.

ValueDescription
0 <= Index <= 15Specifies the module's index in the local computer.

For an Industrial Communication context for use with a EtherNet/IP device

The following InquireType parameter settings can be specified for an Industrial Communication context allocated to communicate using the EtherNet/IP protocol (McomAlloc with M_COM_PROTOCOL_ETHERNETIP).


M_COM_ETHERNETIP_CONFIG_SIZE

Inquires the amount of memory that is allocated to the configuration assembly in local memory, from which the controller can read EtherNet/IP configuration data that you have written about the local computer. > Note: Note that the size of this assembly can be changed using the Aurora Imaging Configurator utility. The controller must be configured to recognize this size.

ValueDescription
ValueSpecifies the size of the configuration assembly, in bytes.

M_COM_ETHERNETIP_CONSUMER_SIZE

Inquires the amount of memory that is allocated to the consumer assembly in local memory, to which the controller can write. > Note: Note that the size of this assembly can be changed using the Aurora Imaging Configurator utility. The controller must be configured to recognize this size.

ValueDescription
ValueSpecifies the size of the consumer assembly, in bytes.

M_COM_ETHERNETIP_PRODUCER_SIZE

Inquires the amount of memory that is allocated to the producer assembly in local memory, from which the controller can read. > Note: Note that the size of this assembly can be changed using the Aurora Imaging Configurator utility. The controller must be configured to recognize this size.

ValueDescription
ValueSpecifies the size of the producer assembly, in bytes.

The following InquireType parameter settings can be specified for an Industrial Communication context allocated to communicate using the CC-Link IE Field Basic protocol (McomAlloc with M_COM_PROTOCOL_CCLINK).


Inquires the number of stations occupied by the CC-Link IE Field Basic protocol instance. This determines the size of the register and flag data tables available for the controller to read from and write to. For each station, there are 32 input registers, 32 output registers, 64 input flags, and 64 output flags. > Note: Note that the number of stations occupied by the protocol instance can be changed using the Aurora Imaging Configurator utility. The controller must be configured to make this number of stations available.

ValueDescription
ValueSpecifies the number of stations.

Return Value

Type: AIL_INT

The returned value is the requested information, cast to an AIL_INT. If the requested information does not fit into an AIL_INT, this function will return M_NULLor truncate the information.

This constant is only available on a Host system if the Host system was previously allocated on a Zebra 4Sight EV6/EV7. It is not available on Zebra 4Sight XV6/XV7.

Copyright © 2026 Zebra Technologies.