The GUI is an
application designed to operate as a single interface between the pager software
application and a dual redundant encoder system.
It will also
test all aspects of the PC2095 operation
in parallel with the normal running of the pager interface.
The GUI
takes input from messaging software and delivers the messages to the
encoders which run in a redundant configuration. The pager software
interface is a TCP server and the outputs to the encoders operate as TCP
clients.
The
configuration for the servers and clients are in separate tables.
The GUI on
startup has 6 tabs.
-
Debug
Port
tab contains controls to operate debug commands to either or both
encoders.
-
TMP
Message Port
tab contains controls to send messages to the encoders.
-
TCP
Control Port
tab contains controls to operate the two TCP control ports.
-
Input
Ports tab contains the activity to the encoders from the pager
software.
-
Config tab presents the config tables. The tables can be edited directly
form this tab.
-
System tab presents any major problems in the GUI and other system
messages such as back up.
The PC2095 POCSAG
Encoder requires 4 TCP ports to operate.
The port types are TMP for messaging, two by TCPC for encoder interconnection and
DEBUG. The GUI can connect to all the ports on all the encoders in a TCP segment
simultaneously. Current max connections is 12.
The GUI is
also designed
as a test tool and can also run live to keep encoders active by polling the TMP
messaging ports. It can be used to communicate to a single standalone encoder or a
network of connected encoders.
The controls are
designed to allow the user to test various elements of the encoders. The
controls should give the user the complete test functionality of all aspects of
the PC2095 devices.
Each port type
has a separate log window and log file of the all entries in the log window.
The GUI has
a Roller which can be used to password protect the interface.
Input Port tab
The pager
software interface is a TCP server. The TCP socket is bound to the IP
address in the config table It can have up to 5 simultaneous connections.
The interface currently runs on the TMP protocol and future versions will
also run TNPP. The protocol operation can be viewed on tab 4 of the
application as shown below.
On this tab
is the log of all communication between the pager software and the TMP
inputs to all the encoders. Messages are received and immediately placed in
a queue for processing. When a message is processed from the queue by the
encoder, the return packet from the encoder is then passed back to the
paging software connection.
The queue
size is displayed as well as the message counts for both encoders. The
current GUI is looking for two encoders. These are labeled Master and Slave.
The incoming
messages are shared between working encoders and the level of the over the
changeover is in the config table. Messages are continually sent to one
encoder until the number of messages sent level is reached
then the queue is redirected to the second encoder. If one encoder stops
working the other takes up all the messaging. The swapping ensures that both
encoders are in use and able to changeover automatically on a regular basis.
Configuration
The GUI is
fully configurable and is set up using Microsoft Access 2003 database application
or via the application. The settings can all be changed in the GUI using the
Edit button for each table. The grids are in read only mode when in blue
text and change to red in edit mode.
The
application configuration is in the StartUp table.
StartUp
Key_Description |
Key_Data |
Description |
BackUpPeriod |
23 |
Hours between backups |
BackUpTime |
15:00:00 am |
Back
up start time |
EnableDebugLog |
False |
|
EnableInputPortLog |
True |
|
EnableTCPControlLog |
False |
|
EnableTMPLog |
False |
|
EncoderSWAPLevel |
20 |
The
number of messages on each encoder before swapping |
LastBackUp |
19/05/2022 3:00:01 PM |
Date/time of the last backup |
LogName |
System.log |
Name
of the system log file |
LogsDIR |
e:\base\MTEL PC2095 GUI |
Location of the application logs |
RollerEnabled |
False |
True
sets the password protected roller to stop users from using the
interface |
SendAutomatedTCPC |
True |
Set
to true to automate TCPC |
SendTCPCPeriod |
15 |
Send
period in seconds |
SendTCPCSlavePOLL |
False |
True
Sets the polling to active |
SendTMPWDOGPeriod |
30 |
Send
period in seconds |
ServerID |
MTEL
PC2095 GUI |
GUI
banner label |
The second
table "TCPClients" contains the TCP configuration for the PC2095
encoder sockets. It allows the user to enable/disable connections.
These sockets operate in client mode and are when enabled will continue
to connect to the destination encoder hardware on these sockets. The
description names are reflected in all the logs.
Port Type
and Device settings are case sensitive and only these settings will work in
the application.
TCPClients
IP |
Description |
Active |
Port |
PortType |
Device |
10.226.80.223 |
Master
RBH Debug |
Y |
10001 |
DEBUG |
MASTER |
144.139.71.9 |
Master
RBH TMP |
Y |
19236 |
TMP |
MASTER |
192.168.0.195 |
Master
TCP Control 1 |
Y |
10001 |
TCPC |
MASTER |
192.168.0.197 |
Master
TCP Control 2 |
Y |
10001 |
TCPC |
MASTER |
192.168.0.20 |
Slave
RBH Debug |
N |
10002 |
DEBUG |
SLAVE |
192.168.0.20 |
Slave
RBH TMP |
N |
10002 |
TMP |
SLAVE |
192.168.0.196 |
Slave
TCP Control 1 |
Y |
10001 |
TCPC |
SLAVE |
192.168.0.197 |
Slave
TCP Control 2 |
Y |
10001 |
TCPC |
SLAVE |
The third
table "TCPServers" contains the TCP configuration for the paging
software interface sockets. These sockets operate in server mode and are
bound and listen on these sockets. The description names are reflected in
all the logs. The config allows the user to enable/disable connections.
The table
also has a debug out port which takes all debug from the encoders and
channels it to a single output port.
Port Type
and Device settings are case sensitive and only these settings will work in
the application.
Up to 5
ports can be configured.
TCPServers
BindingIP |
Description |
Active |
Port |
PortType |
Device |
192.168.0.20 |
AllDebugOut |
Y |
10003 |
LOG |
DEBUG |
192.168.0.20 |
PagerInterface |
Y |
10001 |
TMP |
INPUT |
Debug Tab
This tab has
controls to send packets to the debug port on the PC2095.
Commands can
be sent to the master and or the slave encoder by the check boxes.
TMP Messaging Tab
This tab has
controls to send packets to the TMP port on the PC2095. Messages sent from
this tab are not queued with the input port messages. These are sent
directly to the encoders, however they will not interfere with the queue
processing.
TCP Control tab
This tab has
controls to send packets either manually or automatically to the TCP Control
ports on the PC2095. In a fully functional dual encoder system, these ports
are turned off as they serve no purpose.
This tab is
primarily designed to mimic as a slave encoder TCP Control device. The
controls mimic a slave encoder device when Automated is selected and the
Slave Polling is enabled. Otherwise the handshake can be performed manually.
The controls
are separated to allow the user to test individual aspects of the TCP control
communications particularly when a dual encoder system is first configured.
The slave
polling settings are stored in the Startup table. The settings can be set to
act as a slave encoder on application startup. Change these settings to
True.
Debug Port Warning and Fatal messages
The
following messages are generated by the GUI. pre version 2.0(14)
'"********** GUI: FATAL: Encoder activity started, but activity timer
has expired. Closing port on" '"********** GUI: FATAL: Encoder activity timer has expired. Closing
port on" '"********** GUI: FATAL: OTHER Encoder: Encoder not active" '"********** GUI: FATAL: OTHER Encoder: BAD Encoder Config" '"********** GUI: FATAL: No Encoders available" '"********** GUI: FATAL: Active Encoder is manually disabled"
'"********** GUI: Warning QUE full. Cancel" '"********** GUI: Encoder SOH cleanup on TMP port for " '"********** GUI: FATAL: Input Device activity timer has expired.
Closing port on"
'"********** GUI: Software Licence will expire on the "
'"********** Registration: FATAL: Invalid licence. Closing application.
Error is " '"********** Registration: FATAL: Licence has expired. Closing
application. Error is " '"********** Registration: Software Licence will expire on the "
The
following messages are generated by the GUI. post version 2.0(14)
The front of the message is 10 stars and either FATAL or
Warning.
'"********** FATAL: Encoder activity
started, but activity timer has expired. Closing port on"
'"********** FATAL: Encoder activity timer has expired. Closing port
on"
'"********** FATAL: OTHER Encoder: Encoder not active"
'"********** FATAL: OTHER Encoder: BAD Encoder Config"
'"********** FATAL: No Encoders available"
'"********** FATAL: Active Encoder is manually disabled"
'"********** Warning: QUE full. Cancel"
'"********** Warning: Encoder SOH cleanup on TMP port for "
'"********** FATAL: Input Device activity timer has expired. Closing
port on"
'"********** Warning: Software Licence will expire on the "
'"********** FATAL: Registration Invalid licence. Closing
application. Error is "
'"********** FATAL: Registration Licence has expired. Closing
application. Error is "
'"********** Warning: Software Licence will expire on the "
|