Communication Between Plug-ins and MERLIC

The communication between communication plug-ins and the vision system, that is, MERLIC, mainly utilizes two FIFO queues, one for either direction.

When an instance of a communication plug-in is added in the MERLIC Runtime Environment Setup (MERLIC RTE Setup), a new host process (merlic_communication_plugin_host.exe) is created for the configuration and execution of the plug-in instance. Each plug-in instance is processed in its own host process which is independent from other host processes. As soon as the plug-in instance was started, it will receive "events" from MERLIC to monitor the vision system and it can post "actions" to control MERLIC.

Actions

Actions are commands from a plug-in to MERLIC which affect the state of the vision system, for example, triggering execution, loading recipes, and so on.

These actions are queued by the various plug-ins and dealt with in sequence by the vision system. No immediate feedback is provided other than that an action was enqueued correctly. However, each action is assigned an "actionId" upon being queued which may be used to keep track of the events that are sent while the action is being processed. Actions can hold parameters, for example, to specify the ID of the desired recipe in the "PrepareRecipe" action.

For more information on the available actions and their parameters, see Available Actions.

Events

Events notify the plug-ins of any changes of the active state of the vision state machine, available results, or alert the plug-in that an action could not be processed because it was invalid or because it is not applicable to the current state of MERLIC.

Most events are the result of an action, in which case they carry the respective "actionId". MERLIC RTE holds a separate event queue for each plug-in. Every event is put into each plug-in's event queue, regardless of which plug-in issued the associated action. Plug-ins can then get events from their respective queues. Events can hold parameters, for example, to transport the result data as part of the "ResultReady" event.

For more information on the available events and their parameters, see Available Events.

Get More Information

Available Actions

Get information about the available actions that can be posted to control MERLIC.

Available Events

Get information about the available events that can be sent to monitor MERLIC.