UDP channel

Registers in UDP:

RegNoIdentifierMemory TypeRead OutType
0
1
2EthernetTrafficStream_ _ _ _ _ _Record
3IPAddressStream_ _ _ _ _ _Record
4PortNumberStream_ _ _ _ _ _Record
5SecurePortNumberStream_ _ _ _ _ _Record
6IPNetTableStream_ _ _ _ _ _Record
7
8
9
10
11
12PasswordTableStream WriteOnly
13
14GuidStream ReadOnly_ _ _ _ _ _String
15

Record
  ReceivedPackets:
  SentPackets:
End;


LongInteger;
LongInteger;

ReceivedPackets
This field holds the number of UDP packets received from the Ethernet.

SentPackets
This field holds the number of UDP packets sent from the Ethernet.

   IPAddress:

String[15];

This field holds the IPAddress assigned to the channel.

   PortNumber:

Word;

The PortNo register holds the UDP port number used for communicating with this node, when no password is used.

   SecurePortNumber:

Word;

The SecurePortNumber register holds the UDP port number used for communicating with this node, when a password is used.

IPNettypeType = (IPUnUsed, IPRange, UDPRangeRecord)

IPNetTableElement
   IPAddress:
   UDPPort:
   UsePassword:
   Router:
   IPNettype:
End;

IPNetTable: Record
   NoOfIPNets:
   IPNets:
End;

= Record
   IPAddrType;
   Word;
   Boolean;
   Byte;
   IPNettypeType;

(* Factory setting: $FFFF *)
   Integer;
   Array[1..124] of IPNetTableElement;

IPAddress
The IPAddress field holds the IP subnet address, if the net is an IPRange net, or the complete IP address of the remote NAT router, if the net is a UDPRange net.

UDPPort
The UDPPort field holds the UDP port number sent to all nodes, if the net is an IPRange net, or the start UDP port number, if the net is a UDPRange net.

Router
The Router field holds the node address of the router through which requests to nodes on this subnet are to be sent. Routers are always located on the same subnet as this device. If the nodes on a subnet are accessed directly, the value of Router must be = 0.

IPNettype
The IPNettype field defines the type of this subnet. The value of this field can be UnUsed, IPRange or UDPRange.

PWType = Array[1..8] of Byte;

PasswordTable: Record
   Checksum:        Word;
   ClientPassword: PWType;
   NoOfPasswords: Integer;
   Passwords: Array[1..20] of PWType;
End;



(* Factory setting *)
(* 0 *)
(* 0 *)
(* 0 *)
(* 0 *)

Checksum
Checksum holds the value obtained by adding (on a word-by-word basis), all the following fields in this register (85 words). This facility has been introduced to enable a password configuration tool to check whether a new configuration was stored correctly. This is not possible by reading back the actual passwords, as these fields are “WriteOnly”.

ClientPassword
This field holds the password used by this node when acting as a client, and sending a request to a server that requires a password. Whether a server requires a password or not, is defined in ServerTable.

NoOfPasswords
NoOfPasswords holds the actual number of passwords in the Passwords field. This field has been introduced to reduce the amount of time used for password checking in the operating system.

Passwords
The Passwords field holds all the acceptable passwords that can be used when this node is acting as a server, and is accessed using the remote communication UDP Port number. A P-NET UDP packet to this UDP Port must hold a password. When a request is received, a search is made (by the operating system) through the Passwords. If a match is found between the password in the received packet and an element in the Passwords field, the request is accepted. If not, the request is ignored.

To prevent users with access to this device from reading the passwords of other users, this variable is “WriteOnly”. The Checksum field can be used to ensure, that the password configuration is correct.

Record
   Guid:

String[22];

Each channel type is identified by means of a unique GUID. The value of GUID for the channel is: PD/551303-01