UDP channel
Registers in UDP:
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 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;
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.
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