WEBfactory 2010

Microsoft Message Queue (MSMQ) Server

Message body XML structure and description

This article describes the XML structured bodies of the Message Queue messages generated by the WEBfactory 2010 Server.

To learn how to enable Message Queues, follow the Using the Microsoft Message Queue (MSMQ) Server tutorial and read the WEBfactory 2010Studio Alarming Settings documentation.

The following messages are generated in the Message Queues by the WEBfactory components:

Server Message

The Server Messages are messages related to alarm events. The XML structure of the message body is constant for all alarm events, but contains additional data (XML nodes) for the alarm acknowledgment events.

Alarm on and alarm off events

Message body example:

<Message>
	<TimeStamp>2014-06-19 12:46:00.294</TimeStamp>
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<Alarm>
			<ID>{274467AC-DC8D-41C7-B621-5A61C632E831}</ID>
			<Tag>KR 203 - Error Servomotor 3</Tag>
			<Priority>1</Priority>
			<Type>
				<ID>{9D19120C-3277-4197-B960-0C6476C6E10A}</ID>
				<Name>Error.Critical</Name>
			</Type>
			<Group>
				<ID>{9E307C3D-9CC9-4732-AC8E-5D0CE13F6C90}</ID>
				<Name>Production.KR.203</Name>
			</Group>
			<Text>Warning servomotor 3: input power is too high (##1##)</Text>
			<Signal>
				<ID>{065F4C10-20B4-40D7-B482-E7122291C92C}</ID>
				<Name>Local Second</Name>
				<OPCName>Local Second</OPCName>
				<Description />
			</Signal>
			<Event>
				<Type>1</Type>
				<Incident>
					<ID>{E69C45AF-1386-4A37-8AA8-F86B92385512}</ID>
					<TimeStamp>2014-06-19 12:37:11.017</TimeStamp>
				</Incident>
			</Event>
		</Alarm>
	</WFServer>
</Message>

Node

Description

Message/TimeStamp

The date and time of the message

Message/WFServer/ID

The unique ID of the server

Message/WFServer/Name

The server machine name

Message/WFServer/Alarm/ID

The unique ID of the alarm

Message/WFServer/Alarm/Tag

The alarm name (tag)

Message/WFServer/Alarm/Priority

The alarm priority

Message/WFServer/Alarm/Type/ID

The unique ID of the alarm type

Message/WFServer/Alarm/Type/Name

The name of the alarm type

Message/WFServer/Alarm/Group/ID

The unique ID of the alarm group

Message/WFServer/Alarm/Group/Name

The name of the alarm group

Message/WFServer/Alarm/Text

The alarm text. The alarm text can include replacement signal values.

Message/WFServer/Alarm/Signal/ID

The unique ID of the signal that triggers the alarm

Message/WFServer/Alarm/Signal/Name

The name (friendly name) of the signal

Message/WFServer/Alarm/Signal/OPCName

The name (real name) of the signal in the OPC server

Message/WFServer/Alarm/Signal/Description

The description of the signal

Message/WFServer/Alarm/Event/Type

The type of the event. Can be:

  • 0 - alarm off

  • 1 - alarm on

  • 2 - acknowledge

Message/WFServer/Alarm/Event/Incident/ID

The unique ID of the event occurrence

Message/WFServer/Alarm/Event/Incident/TimeStamp

The date and time when the event occurred

Alarm acknowledgment events

Message body example:

<Message>
	<TimeStamp>2014-06-19 12:41:29.112</TimeStamp> 
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<Alarm>
			<ID>{274467AC-DC8D-41C7-B621-5A61C632E831}</ID>
			<Tag>KR 203 - Error Servomotor 3</Tag>
			<Priority>1</Priority>
			<Type>
				<ID>{9D19120C-3277-4197-B960-0C6476C6E10A}</ID>
				<Name>Error.Critical</Name>
			</Type>
			<Group>
				<ID>{9E307C3D-9CC9-4732-AC8E-5D0CE13F6C90}</ID>
				<Name>Production.KR.203</Name>
			</Group>
			<Text>Warning servomotor 3: input power is too high (16.9283333333333)</Text>
			<Signal>
				<ID>{065F4C10-20B4-40D7-B482-E7122291C92C}</ID>
				<Name>Local Second</Name>
				<OPCName>Local Second</OPCName>
				<Description />
			</Signal>
			<Event>
				<Type>2</Type>
				<Incident>
					<ID>{E69C45AF-1386-4A37-8AA8-F86B92385512}</ID>
					<TimeStamp>2014-06-19 12:37:11.017</TimeStamp>
				</Incident>
				<Acknowledgement>
					<Session>366c04d7-f7f3-4f48-94c5-d32df79841ed</Session>
					<Client>VM_TEST-PC</Client>
					<IPAddresses>192.168.20.217</IPAddresses>
					<Result>0</Result>
					<User>
						<ID>{CF2C1762-071D-41F5-ACF6-1BA173217070}</ID>
						<Name />
					</User>
					<Text />
				</Acknowledgement>
			</Event>
		</Alarm>
	</WFServer>
</Message>

The highlighted XML nodes represent the specific data added by the acknowledgment event. The rest of the XML structure is the same as for the alarm on and alarm off events.

NOTE

In the above example, the Event/Type node data, representing the type of event, reflects the current event type.

The additional XML nodes for the acknowledgment event are:

Node

Description

Message/WFServer/Alarm/Event/Acknowledgment/Session

The unique ID of the session in which the alarm event was acknowledged

Message/WFServer/Alarm/Event/Acknowledgment/Client

The name of the machine on which the event acknowledgment has been made

Message/WFServer/Alarm/Event/Acknowledgment/IPAddresses

The IP address of the machine on which the event acknowledgment has been made

Message/WFServer/Alarm/Event/Acknowledgment/Result

The result of the acknowledgment event. The resulted codes can be:

  • 0 - success

  • One of the general WEBfactory 2010 Web Service Interface Error Codes

Message/WFServer/Alarm/Event/Acknowledgment/User/ID

The unique ID of the user that made the event acknowledgment

Message/WFServer/Alarm/Event/Acknowledgment/User/Name

The name of the user that made the event acknowledgment

Message/WFServer/Alarm/Event/Acknowledgment/Text

The acknowledgment text

WEBfactory Message

The WEBfactory Messages are general messages related to Server Status, Signal Status, User Login and User Write. All these message types have the same label: WEBfactory Message.

Server Status messages

The Server Status WEBfactory Messages are generated when the status of the WEBfactory 2010 Server changes (running/stopped). For example, when starting or stopping the Server.

Message body example:

<Message>
	<TimeStamp>2014-06-20 09:37:20.567</TimeStamp>
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<Status>1</Status>
	</WFServer>
</Message>

Node

Description

Message/TimeStamp

The date and time of the message

Message/WFServer/ID

The unique ID of the server

Message/WFServer/Name

The server machine name

Message/WFServer/Status

The status of the server. Can be:

  • 0 - not running

  • 1 - running

Signal Status messages

The Signal Status WEBfactory Messages are generated when the status or quality of the signal changes. The signal must have the Log user activity option enabled.

Message body example:

<Message>
	<TimeStamp>2014-06-20 13:26:37.474</TimeStamp>
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<SignalStatus>
			<Session>db0172e0-3159-4ae9-8b16-f7a2f451e394</Session>
			<Client>VM_TEST-PC</Client>
			<IPAddresses>192.168.20.217</IPAddresses>
			<Status>0</Status>
			<Result>0</Result>
			<User>
				<ID>{CF2C1762-071D-41F5-ACF6-1BA173217070}</ID>
				<Name>admin</Name>
			</User>
			<Signal>
				<ID>{8088E834-255C-4B19-94EE-BFFF48137A82}</ID>
				<Name>Setpoint 2</Name>
				<OPCName>Buffer 2</OPCName>
				<Description />
			</Signal>
			<CurrentValue> 45</CurrentValue>
			<OfflineValue> 0</OfflineValue>
		</SignalStatus>
	</WFServer>
</Message>

Node

Description

Message/TimeStamp

The date and time of the message

Message/WFServer/ID

The unique ID of the server

Message/WFServer/Name

The server machine name

Message/WFServer/SignalStatus/Session

The ID of the session in which the status/quality of the signal has changed

Message/WFServer/SignalStatus/Client

The name of the machine on which the status/quality of the signal has been changed

Message/WFServer/SignalStatus/IPAddresses

The IP address of the machine on which the status/quality of the signal has been changed

Message/WFServer/SignalStatus/Status

The current status of the signal. Can be:

  • 0 - available

  • 1 - unavailable

Message/WFServer/SignalStatus/Result

The result of the status change event. The resulted codes can be:

  • 0 - success

  • One of the general WEBfactory 2010 Web Service Interface Error Codes

Message/WFServer/SignalStatus/User/ID

The unique ID of the user that made the signal status change

Message/WFServer/SignalStatus/User/Name

The name of the user that made the signal status change

Message/WFServer/SignalStatus/Signal/ID

The unique ID of the signal for which the status has change

Message/WFServer/SignalStatus/Signal/Name

The name of the signal for which the status has change

Message/WFServer/SignalStatus/Signal/OPCName

The OPC name of the signal for which the status has change

Message/WFServer/SignalStatus/Signal/Description

The description of the signal for which the status has change

Message/WFServer/SignalStatus/CurrentValue

The current value of the signal. If the signal is unavailable, this value will be the value that the signal will have when active again, until the next update.

Message/WFServer/SignalStatus/OfflineValue

The last value of the signal before becoming unavailable.

User Login messages

The User Login WEBfactory Messages are generated when a user performs a login or logout. The user must have the Log activities option enabled and the user session must be valid.

Message body example:

<Message>
	<TimeStamp>2014-06-20 13:01:52.476</TimeStamp>
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<UserLogin>
			<Session>300e2fd5-b8de-4043-90e3-b70fbfa8743a\DefaultProject</Session>
			<Client>VM_TEST-PC</Client>
			<IPAddresses>192.168.20.217</IPAddresses>
			<OPCode>0</OPCode>
			<Result>0</Result>
			<User>
				<ID>{CF2C1762-071D-41F5-ACF6-1BA173217070}</ID>
				<Name>admin</Name>
			</User>
		</UserLogin>
	</WFServer>
</Message>

Node

Description

Message/TimeStamp

The date and time of the message

Message/WFServer/ID

The unique ID of the server

Message/WFServer/Name

The server machine name

Message/WFServer/UserLogin/Session

The ID of the session in which the user performed the login or logout operation

Message/WFServer/UserLogin/Client

The name of the machine from which the user performed the login or logout operation

Message/WFServer/UserLogin/IPAddresses

The IP address of the machine from which the user performed the login or logout operation

Message/WFServer/UserLogin/OPCode

The user operation code. Can be:

  • 0 - login

  • 1 - system logoff (timeout, shutdown)

  • 2 - user logoff

  • 3 - logoff befor re-login

Message/WFServer/UserLogin/Result

The result of the user login or logout operation. The resulted codes can be:

  • 0 - success

  • One of the general WEBfactory 2010 Web Service Interface Error Codes

Message/WFServer/UserLogin/User/ID

The unique ID of the user that executed the operation

Message/WFServer/UserLogin/User/Name

The name of the user that executed the operation

User Write messages

The User Write WEBfactory Messages are generated when the user writes the value of a signal. The user must have the Log user activity option enabled.

Message body example:

<Message>
	<TimeStamp>2014-06-20 13:02:56.862</TimeStamp>
	<WFServer>
		<ID>{39F990E2-FCC4-442A-9374-23974491663F}</ID>
		<Name>VM_Test-PC</Name>
		<UserWrite>
			<Session>2507d567-15be-4b31-8a00-7ac2c3aaa262</Session>
			<Client>VM_TEST-PC</Client>
			<IPAddresses>192.168.20.217</IPAddresses>
			<Result>0</Result>
			<User>
				<ID>{CF2C1762-071D-41F5-ACF6-1BA173217070}</ID>
				<Name>admin</Name>
			</User>
			<Signal>
				<ID>{8088E834-255C-4B19-94EE-BFFF48137A82}</ID>
				<Name>Setpoint 2</Name>
				<OPCName>Buffer 2</OPCName>
				<Description />
			</Signal>
			<OldValue> 55</OldValue>
			<NewValue> 45</NewValue>
		</UserWrite>
	</WFServer>
</Message>

Node

Description

Message/TimeStamp

The date and time of the message

Message/WFServer/ID

The unique ID of the server

Message/WFServer/Name

The server machine name

Message/WFServer/UserWrite/Session

The ID of the session in which the user performed the write operation

Message/WFServer/UserWrite/Client

The name of the machine from which the user performed the write operation

Message/WFServer/UserWrite/IPAddresses

The IP address of the machine from which the user performed the write operation

Message/WFServer/UserWrite/Result

The result of the user write operation . The resulted codes can be:

  • 0 - success

  • One of the general WEBfactory 2010 Web Service Interface Error Codes

Message/WFServer/UserWrite/User/ID

The unique ID of the user that executed the operation

Message/WFServer/UserWrite/User/Name

The name of the user that executed the operation

Message/WFServer/UserWrite/Signal/ID

The unique ID of the signal for which the value has been written

Message/WFServer/UserWrite/Signal/Name

The name of the signal for which the value has been written

Message/WFServer/UserWrite/Signal/OPCName

The OPC name of the signal for which the value has been written

Message/WFServer/UserWrite/Signal/Description

The description of the signal for which the value has been written

Message/WFServer/UserWrite/OldValue

The value of the signal before the user write operation

Message/WFServer/UserWrite/NewValue

The new value written by the user.