551 303 02

 

UDP channel

 

Registers in UDP channel:

RegNo

Identifier

Memory type

Read Out

Type

0

 

 

 

 

1

 

 

 

 

2

EthernetTraffic

Stream

-------

Record

3

IPAddress

Stream

-------

Record

4

PortNumber

Stream

-------

Record

5

SecurePortNumber

Stream

-------

Record

6

IPNetTable

Stream

-------

Record

7

 

 

 

 

8

 

 

 

 

9

 

 

 

 

10

 

 

 

 

11

 

 

 

 

12

PasswordTable

Stream WriteOnly

 

 

13

 

 

 

 

14

Guid

Stream Read Only

-------

String

15

 

 

 

 

 

 

RegNo 2: EthernetTraffic

Record

 

ReceivedPackets:

LongInteger;

 

SentPackets:

LongInteger;

End;

 

ReceivedPackets

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

 

SentPackets

This field holds the number of UDP packets sent from this node.

 

RegNo 3: IPAddress

 

IPAddress:

String[15];

 

This field holds the IPAddress assigned to the channel

 

RegNo 4: PortNumber

 

PortNumber:

Word;

 

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

 

RegNo 5: SecurePortNumber

 

SecurePortNumber:

Word;

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

 

RegNo 6: IPNetTable

IPNettypeType = (IPUnUsed, IPRange, UDPRangeRecord)

 

IPNetTableElement = Record

 

IPAddress:    

IPAddrType;

 

UDPPort:       

Word;

 

UsePassword:

Boolean;

 

Router:

Byte;

 

IPNettype:

IPNettypeType;

End;

 

IPNetTable: Record (* Factory setting: $FFFF *)

 

NoOfIPNets:

Integer;

 

IPNets:

Array[1..124] of IPNetTableElement;

End;

 

This variable holds a list of all the subnets that can be accessed from this

node when it is acting as a master (client). A configuration tool is normally used to configure the table.

 

Refer to the general UDP/IP Ethernet Communication Channel description for an overview of the purpose of this table.

 

By default, all fields in this table hold $FFFF. A value of $FFFF or 0 in NoOfIPNets indicates that the table has not been initialised by any configuration tool. In this situation, a default subnet with NetIndex = 1 is set up as an IPRange net, with the same subnet address as the subnet address of this node, and with UDP port number = 34378.

 

This means, that from PROCESS-PASCAL, all IP nodes on the same subnet can be accessed with NetIndex = 1, and NodeAddress = the P-NET node address of the node. It also means, that the gateway functionality of P-NET systems is fully supported by P-NET over IP, without any further configuration.

 

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.

 

RegNo 12: PasswordTable

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

 

PasswordTable: Record

(* Factory setting *)

 

Checksum:        Word;

(* 0 *)

 

ClientPassword:  PWType;

(* 0 *)

 

NoOfPasswords:   Integer;

(* 0 *)

 

Passwords: Array[1..20] of PWType;

(* 0 *)

End;

 

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.

 

 

RegNo 14: GUID

 

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