ProgramName -hubclient
ProgramName -license
ProgramName -licensecheck
ProgramName -licensecheck300
HumeSDK.exe -opcclient
ProgramName -setup.tcl
ProgramName
?-notk? -source TclFilePathname ?-tclargs arg ?arg...??
ProgramName ?-notk? -tclargs arg ?arg...? ?-source TclFilePathname?
ProgramName -dmh_wish ?-tclargs arg ?arg...??
ProgramName -supervisor
ProgramName -version
The SecsServer executable file is a replacement for installing the
Hume Datahub SDK with the Tcl language files that are used to support
the .NET SecsPort, .NET SecsHost, VC++ SecsEquip, VB SecsEquip, and
Java SECS
libraries. The idea is to simplify the deployment of SECS applications
to additional computer systems. This is possible because the SecsServer
executable
actually contains the same application files as the SDK in a compressed
file system
that is part of the executable file. The executable file,
HumeSDK, includes the SecsServer features and has a more generic name
since the program is also useful for applications that do not involve
serving SECS protocol interfaces. The windows version of the
HumeSDK executable includes OPC features that the SecsServer program
does not have.
The SecsServer program is distributed from the Hume Integration Software download site in a .zip archive that contains additional files which are optionally used to customize the files embedded in the SecsServer program. There are different versions of the SecsServer for various platforms including Windows, 32-bit Linux, and 64-bit Linux. Also, there are different versions of the SecsServer for the different platforms depending on which major release of Tcl/Tk the program is based on; namely Tcl 8.4 or Tcl 8.5. The different versions are functionally compatible with older or newer SECS client libraries. The version based on Tcl 8.4 has the advantages of a smaller file size and memory usage, but the disadvantage of imbedding the older, less featured host supervisor program. You may find it useful to have the newer host supervisor available on your equipment for customer demonstrations, or being able to prove proper operation of the SECS equipment interface.
To use the SecsServer program file, you can place it in the working
directory of your SECS application. However, the recommended
installation is to place it
in a directory of your choice, and set the environment variable
specified by
your SECS library installation instructions to point to path location
using
Unix Style slash delimiters instead of DOS style backslash
delimiters.
By default, recipe transfer and logging directories are created as
subdirectories of the installation directory.
SECS
Library |
Environment
Variable |
Java SecsEquip or SecsHost |
DMH_JAVA_TCLDIR |
.NET SecsPort or SecsHost |
DMH_DOTNET_TCLDIR |
VB, VC, or POSIX C++ |
SECS_EQUIP_TCLDIR |
The SECS software use the SecsServer program in preference to using the Datahub SDK installation. You do not need to deploy any of the other files in the SecsServer .zip archive. The other files are only used to create custom versions of the SecsServer executable program.
You still need to have a Datahub SDK runtime license installed to
use the SECS
software on a machine. If the machine has the Datahub SDK installed,
the
SecsServer program will read and use the licenses.txt
file of the Datahub installation if the DMH_BIN environment
variable is set as it should be.
If you do not have the Datahub SDK installed, simply place the licenses.txt
file in the same directory as the SecsServer program. The licenses.txt
file
needs to have the same format that is used by the Datahub SDK. Copy the
format of the licenses.txt file on your development system as a
model for
deployment systems. The SecsServer program has the ability to
create a temporary 30 day licenses.txt
file for the computer system that it runs on using the -setup.tcl option. The Datahub
SDK setup program has the ability
to create temporary 30 day licenses for any hostname. You can use
these features to deploy temporary uses of your SECS interface or other
Datahub SDK applications.
If you run the SecsServer from the command prompt with the argument -license, it will show you the status of your license installation:
c:> SecsServer -license
The argument -licensecheck is intended for use by other programs. The program checks the license and terminates after setting an exit code. The exit code of 0 means that a valid license was found. Other codes are: 1 - no licenses.txt file found, 2 - the licenses.txt has improper formatted data, 3 - no license code was found for the system in the licenses.txt file, and 4 - an invalid license for the system was found in the licenses.txt file.
The argument -licensecheck300 is almost identical to -licensecheck. The differences are that the exit code is set to 0 if the license enables use of the Hume-developed 300mm equipment software. The exit code is set to 5 if a valid license is found for the non-300mm SECS software.
The -setup.tcl command line option creates a temporary licenses.txt license file in the current working directory for the machine that the program is executing on. A temporary license is useful for demonstrations, evaluations, temporary testing, and similar purposes. Avoid a situation where a temporary license is used for production. When the license expires, the features stop working.
The -version command line option displays the date when the SecsServer program was last updated along with a list of the most recent application files embedded in the executable. On windows, the file resource Properties specify information about the Tcl/Tk version of the SecsServer.exe program and these values are not updated when the embedded application files are updated. Use the -version command line option to obtain the more useful information on the embedded application files.
The usual case is that you have not modified any of the Tcl language application files. In this situation, you can use the SecsServer program file provided by Hume Integration on their download site. Be mindful of recent changes to the code library you are using. You will want to use a version of the SecsServer program that has any recent new features or bug fixes that your application relies upon. The SecsServerBuilder.bat script (builder script on POSIX systems) has the ability to look inside of the SecsServer program and show the modification times and sizes for the contained files. It is simple to rebuild the SecsServer program using the files that you have been using for development. You will only need to do this if you have added custom Tcl files or modified the Tcl files provided by Hume Integration. Just run the SecsServerBuilder application and use the "Build SecsServer" button action to create your own SecsServer version.
We mentioned above that you can
install a temporary license or validate a license installation by using
the -setup.tcl and -license
options. Execute the program as SecsServer -supervisor
and it
brings up the Hume
Tcl/Tk SECS Host Supervisor Program. When executing the Host
Supervisor app, a user can set an environment variable
TCL_SUPERVISOR_DIR to specify the base directory used for reading and
writing *.tab files, log files, and host recipe transfers. The
default base data directory is the directory where the SecsServer
program is found.
Execute the program as SecsServer -hubclient and it brings up the Datahub SQL client application. In this usage, the default connection information will attach to a SecsServer process that is running in background to support your SECS/GEM equipment application. You will need to edit the DMH groupname and change it from GEM to GEMHOST to connect to a SecsServer that is in use by the Hume-written .NET or Java SECS Host Applications. The hubclient program lets you interactively examine the SECS Server tables.
These applications are not limited to your own computer system. You can edit the connection information to target any SECS equipment interface or any SecsServer running on your Local Area Network.
Another feature is that the SecsServer program will source and execute a Tcl program when it is executed as SecsServer -source TclFilePathname. The option of using -notk to hide windows or to not use X-windows as described above also applies to executing Tcl scripts. The -tclargs argument is used for specifying Tcl code to execute on the command line. When used in combination with the -source option, the order of the -tclargs and -source command line options determines whether the Tcl code arguments are executed before the TclFilePathname is sourced or after.