My problem is that I have to develop an application to monitor and control
several equipment as follows:
1. I am working with a HP workstation (HP-UX 9.07 or higher and last
version available of VEE).
2. My computer network is a LAN Ethernet.
3. One of the equipment to be monitored and controlled is connected
directly to the LAN (It has a CPU with an operating system, that could be
different). The way to communicate between my system and it is by means of
TCP/IP protocol and using sockets.
4. Others equipment are also connected by means of HP-IB.
5. A loss of connection in one equipment does not avoid the loss of
communication with the rest of equipment.
According with the above, two approaches can be seen, in order to implement
the M&C of equipment connected directly to the LAN:
a) My application makes a polling of the equipment. That is, each certain
amount of time, I make a monitoring request and the equipment performs the
reply by using a socket. I send a control command and the equipment replies
to my by using other bidirectional socket. Therefore, two sockets are
foreseen: one to send monitoring commands cyclically and other to send
control commands required by the operator (not cyclically and with the
corresponding reply of aknowledgement.
b) My application does not make a polling of the equipment. It is the
equipment which is in charge to send me the monitoring data by means of a
socket, but only when a change in the value of a monitoring parameter has
happened. The socket of control is the same.
It seems that from VEE way of work point of view, the implementation a) is
the best approach because VEE:
It is deterministic: Some action has to be performed to get some
reaction. That is, I don't know the way to get a kind of socket which is
activated and produce a thread of control flow each time a new data is arrived.
If we activate a socket to receive a data, it does not allow the
execution of any other VEE object until the data has arrived or a timeout
has happened. Moreover, VEE does not allow to touch any other thing, even
the stop execution button. Therefore it is very complicated to have a socket
continuously ready to receive a data as it is required by solution b).
On the other hand, if we implement a socket only in one direction
and we simulate to disconnect the equipment to be monitored, a error 920
appears on the screen and the application is locked (it is necessary to
restart vee again). Therefore point 5 of the above specification are not met.
I have not been able to find more information about sockets than included in
VEE Reference Manual.
- From VEE point of view, which is the best approach a) or b)?
- Does somebody know more useful information about sockets on VEE to
- Are there any kind of product (from HP for example) at a lower
level which is able to provide the communications with the equipment
connected by sockets? Can that product to be used from VEE?
Many thanks in deep,
Juan Carlos Martin
E-mail : email@example.com
Phone : 34-1-3963995
Fax : 34-1-3963912
Earth Stations Department
INDRA ESPACIO / MADRID /SPAIN