Installation

The installation program copies the PC*MILER|Rail TCP/IP files into the default directory:

 

c:\ALK Technologies\PCRWINXX\TCPIP


PC*MILER|Rail-Connect must be installed prior to running the TCP/IP interface.  The interface program (pcmsock.exe) or the Windows Service (tcpsvc.exe) requires a command-line parameter—a unique port number to which they will be listening.


For PC*MILER|Rail-Connect: 

pcmsock PC_MILERRAIL 2001


The server program comes with a tester program: tcptest.exe to connect to PC*MILER|Rail-Connect. This test program sends commands to the server engine that is running via TCP/IP. It includes a sample trip (tcptest.in) to send to the engine.



Syntax (do not include brackets)

pcmsock [product code] [port number]

Product Code
Product Name
PC_MILERRAIL
= PC*MILER|Rail-Connect
(The above parameter is to be used as the Service’s ‘start’ parameters.)



Interface Specifics

The interface is completely text based. You can use a telnet application to test the installation and familiarize yourself with the interface. For example (assuming that the host PC has a 127.0.0.1 address):


For PC*MILER|Rail-Connect: 

  • telnet 127.0.0.1 [Port #]


When the connection is made the host PC (server) sends a prompt ending with the word READY.  Most of the routing functions listed in the corresponding Connectivity manuals are available. The mapping functions and the functions listed below as "APIs NOT Available Via TCP/IP," below are not available. Also note that there are a few differences in the syntax. PC*MILER|Rail-Connect functions do not require (and will not accept) the ServerID parameter. The strings in the parameters must be quoted if they contain commas and/or parentheses. 


Example:

# telnet 127.0.0.1 [Port #] <Enter>

PCMILER RAIL SERVER READY

pcrsnewtrip()<Enter>

0 -- this is a good return code

14460364 -- this is the trip ID

pcrscalctrip(14460364, "CHICAGO IL", "NS", "C","PHILADELPHIA PA", "NS", "C") <Enter>


0 – this is a good return code

8468 – distance in tenths of miles

  READY


pcrsdeletetrip(14460364) <Enter>

0 – this is a good return code

 READY


NOTE:  When finished testing, simply exit your telnet session; there is no “kill” command.    


Syntax errors (wrong spelling of functions, missing parameters, etc.) will result in textual error messages. 


Example:

# telnet 127.0.0.1 2001 <Enter>

PCMILER SERVER READY

pcrssetrouteformula(14460364, "P") <Enter>

-401 – this is the error code associated with a parameter error



APIs Available Via TCP/IP

The following APIs are EXPOSED to the TCP/IP interface in PC*MILER|Rail:


PCRSARGetRptLength
PCRSGetGeoMatch
PCRSAbout
PCRSGetNumAutoRoutes
PCRSAddAutoRouteDest
PCRSGetNumGeoMatches
PCRSAddAutoRouteOrig
PCRSGetNumRptLines
PCRSAddAutoRouteVia
PCRSGetNumStops
PCRSAddStop
PCRSGetRpt
PCRSCalcAutoRoutes
PCRSGetRptLength
PCRSCalcTrip
PCRSGetRptLine
PCRSCalculate
PCRSGetRRMatch
PCRSClearAutoRouter
PCRSGetStop
PCRSClearStops
PCRSJunctionLookup
PCRSConvertGeocode
PCRSLatLongsEnRoute
PCRSDeleteStop
PCRSNewTrip
PCRSDeleteTrip
PCRSRRLookup
PCRSGeoLookup
PCRSRRName2Num
PCRSGetAllStateRRMileage
PCRSRRNum2Name
PCRSGetAllStateRRMileage1
PCRSSetIntermodalOnlyIncEx
PCRSGetARNumRptLines
PCRSSetRouteFormula
PCRSGetARRpt
PCRSSetRouteIncEx
PCRSGetARRptLine
PCRSSetRouteMethod
PCRSGetAutoRouteLine
PCRSSetRouteType
PCRSGetAutoRouteMiles
PCRSSetUnitsKilometers
PCRSGetErrorString
PCRSSetUnitsMiles



APIs NOT Available via TCP/IP

Mapping APIs
Other APIs
PCRSAddRouteToMap
PCRSPlotLine
PCRSCleanupSrv
PCRSCreateMapChild
PCRSPlotPin
PCRSDeleteTripByName
PCRSCreateMapWin
PCRSPlotTrip
PCRSGetARLegInfo
PCRSDeleteAllTrips
PCRSResizeMapChild
PCRSGetError
PCRSDeleteLine
PCRSZoomIn
PCRSGetJunctionMatch
PCRSDeletePin
PCRSZoomOut
PCRSGetMaxStateRRs
PCRSDeletePinMap
PCRSDeletePinMap
PCRSGetMaxStates
PCRSDeleteRouteFromMap

PCRSGetNumARLegs


PCRSGetNumRouteLegs


PCRSGetNumRouteLinks


PCRSGetRRs


PCRSGetRouteInfo


PCRSGetRouteLegInfo


PCRSGetStateMiles


PCRSGetStateRRMiles


PCRSInitSrv


PCRSSetIncAMTK


PCRSSetIncNonStationRR