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.