Skip to main content
Skip table of contents

OPC-UA Interface Guide (Meteor Inkjet)

Meteor Pane Plugin v4.7.5241.0, Copyright (c) 2023 Global Graphics Software. All rights reserved.


The Meteor Pane Plugin allows a user to obtain up-to-date information about the state of any attached Meteor hardware.

When the Open Platform Communications (OPC) server in Meteor Pane Plugin is enabled an OPC node tree is published. The nodes in this tree represent grouped areas of state and functionality.

For example, a Server section allows:

  • the RIP Server name, location, and version.
  • the associated Meteor status data.
  • Product Detect signals to be sent.
  • ...and more.

Default address: opc.tcp://localhost:26642/spc-meteor

Meteor Router

For the OPC information to be up-to-date the plugin must communicate with a MeteorRouter process running on each Windows RIP Server machine.

If using Meteor on CentOS-based RIP Servers you must ensure the Meteor_Output_Plugin.json config templates set SPDHost to true.


Communication between OPC UA clients and servers require both parties to possess their own application certificate. To enable further communication each party must trust the opposing certificate. This trust can be established automatically, programmatically or manually depending on the application's configuration or implementation. The certificate for SPC can be found in %programdata%\Global Graphics Software Ltd\Meteor Pane Plugin\App Certificates\certs should you need to copy it to the Trusted Peer Certificate folder. In this release it will be a Self Signed Certificate issued by and for Smart Print Controller.

OPC Nodes

The OPC node mechanism will report when any state changes (at all server/controller/head levels), allowing clients to react accordingly. The period at which these state changes are detected is governed by the Servers.RefreshPeriod value, which can be modified at runtime.

The OPC client also has the option of polling values whenever it wishes. This allows for higher frequency updates but has a small time buffer applied, preventing the case where requesting each property in a node tree would trigger a full Meteor status update.

Turning on Servers.EnableDebugLogging will allow closer monitoring of when state is refreshed and what values are being reported.

OPC Methods

Any methods listed in this documentation will include details about their required parameters (if any), and return value.

In the event of an error please see the application log file for more information.

OPC Client Library

The following documentation provides guidance on using the Traeger Industry Components GmbH OPC client library for software developers working with Meteor Pane Plugin.

Configuring Custom Message Sizes

The default maximum message sizes used by OPC clients to communicate to the server are sufficient for most use cases. However, to ensure transfer of larger data packets (such as retrieving some job thumbnail images) it may be necessary to configure the OPC client with custom values.

For example:

	Client = new OpcClient();
	Client.Transport.MaxArrayLength = 1024 * 1024 * 50;
	Client.Transport.MaxBufferSize = 1024 * 1024 * 50;
	Client.Transport.MaxMessageSize = 1024 * 1024 * 50;
	Client.Transport.MaxStringLength = 1024 * 1024 * 50;

See here for more information.

Adjusting Communication Timeouts

OPC clients regularly verify the responsiveness of the connection to the OPC server. However, in certain circumstances where the system is under heavy load, maintaining a responsive connection might not always be possible. To mitigate potential issues under such conditions, it is recommended to increase the default communication timeouts.

The example below demonstrates how to adjust the default values:

	var defaultTimeOut = (int)TimeSpan.FromMinutes(10).TotalMilliseconds;
	Client = new OpcClient
	    // Don't auto-disconnect - Dispose the client to explicitly disconnect.
	    DisconnectTimeout = int.MaxValue,
	    KeepAlive = { Interval = defaultTimeOut },
	    SessionTimeout = defaultTimeOut,
	    OperationTimeout = defaultTimeOut,
	    ReconnectTimeout = defaultTimeOut

Please note that the provided examples serve as illustrations, and it's important to tailor the configuration to your specific requirements.


The top-level set containing all available OPC nodes.

Immediately underneath this root-level node are a categorized collection of sub-nodes, each encapsulating a different area of behavior.

Section NameDescription
PluginState relating to the Meteor plugin.
ServersState relating to the collection of registered RIP Servers.
Server1State relating to a single RIP Server. (The numeric suffix will change as appropriate.)
ControllersState relating to the collection of head controllers.
Controller1State relating to a single head controller. (The numeric suffix will change as appropriate.)
HeadsState relating to the collection of print heads managed by the parent controller.
Head1State relating to a single print head. (The numeric suffix will change as appropriate.)
StatusState relating to the Meteor status data of a single RIP Server.


State relating to the Meteor plugin.


VersionNumberStringNoDescribes the Meteor plugin version number.


State relating to the collection of registered RIP Servers.


EnableDebugLoggingBooleanYesWhen enabled the application will write Meteor structure content to the application log.
IsRouterConnectedBooleanNoReports whether communication to the Meteor Router is active and succeeding.
PDHintBooleanNoA hint as to whether a Hardware Product Detect can be triggered.
RefreshPeriodDoubleYesThe state refresh period (seconds).
ServerCountInt32NoThe number of defined RIP Servers.


AcquirePrinterInterfaces()BooleanFor internal use only.
ReleasePrinterInterfaces()BooleanFor internal use only.


State relating to a single RIP Server. (The numeric suffix will change as appropriate.)


IsConnectedBooleanNoWhether the RIP Server is currently connected.
NameStringNoName of the RIP Server.
VersionNumberStringNoVersion of the RIP Server.


AbortTiffSubmission()BooleanAborts via the Meteor Print Engine.
EndTiffSubmission()BooleanEnds the doc and job in the Meteor Print Engine.
ForcePD()voidTrigger a PD signal.
GetEEPROM(UInt64 printControllerNumber, UInt64 headControllerNumber)StringReturns EEPROM data for a given print head.
SetCrossWebOffset(UInt64 planeNumber, UInt64 offset)voidSets the cross web offset (in dots).
NOTE The print run must be active for this call to be effective.
SetHeadPower(Boolean power)voidSet the head power state.
SetParam(UInt64 printControllerNumber, UInt64 headNumber, UInt64 paramId, UInt64 value)voidSets the state of one of the adjustment parameters for head position, head voltage, etc.
SetParamEx(UInt64 printControllerNumber, UInt64 headControllerNumber, UInt64 headNumber, UInt64 paramId, UInt64 value, UInt64 jettingAssemblyNumber)voidExtended API to set and store parameters.
SetSignal(UInt64 printControllerNumber, UInt64 headNumber, UInt64 requestId, UInt64 state)voidSets the state of a defined signal (I/O, PSUs etc).
StartTiffSubmission()BooleanStarts a job and FIFO doc in the Meteor Print Engine.
SubmitTiff(String path, UInt32 planeNumber, UInt32 screeningMode, UInt32 greyLevel, UInt32 xLeft, UInt32 yTop)BooleanSubmits a single Tiff to the Meteor Print Engine.
UpdateXOffsets()voidWrites the head x-offsets to the PCC registers, allowing on-the-fly adjustment.


State relating to the collection of head controllers.


ControllerCountInt32NoThe number of head controllers reported as connected.


State relating to a single head controller. (The numeric suffix will change as appropriate.)


ControllerNumberUInt64NoThe ID of the controller.


State relating to the collection of print heads managed by the parent controller.


HeadCountInt32NoThe number of print heads.


State relating to a single print head. (The numeric suffix will change as appropriate.)


DdramDwordsAInt32NoSee Meteor SDK documentation.
DdramDwordsBInt32NoSee Meteor SDK documentation.
HeadDwordsAInt32NoSee Meteor SDK documentation.
HeadDwordsBInt32NoSee Meteor SDK documentation.
HeadStateUInt32NoSee Meteor SDK documentation.
HeadTemperatureInt32[]NoSee Meteor SDK documentation.


State relating to the Meteor status data of a single RIP Server.


AbsoluteXCounterInt32NoAbsolute X Counter
BufferLevelUInt32NoBuffer Level
DocsQueuedLane1Int32NoDocs Queued Lane 1
DocsQueuedLane2Int32NoDocs Queued Lane 2
EncoderCountInt32NoEncoder Count
FifoPathDocsSentInt32NoFIFO Path Docs Sent
MixedModePreloadDocsQueuedLane1Int32NoMixed Mode Preload Docs Queued Lane 1
MixedModePreloadDocsQueuedLane2Int32NoMixed Mode Preload Docs Queued Lane 2
PdCountInt32NoPD Count
PreloadPathDocsSentInt32NoPreload Path Docs Sent
PreloadPathTotalCopiesInt32NoPreload Path Total Copies
PrintCountInt32NoPrint Count
PrinterStatusUInt32NoPrinter Status
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.