DACS App Note

Updated Configuration File Commands for Model Builder (#37)

General Model Control

Running Model Builder without a DSP card

Model Builder (MB) supports development work even if no DSPs are installed in the system. An ethernet card and valid keycode are still necessary for MB operation. The model will run at a fixed 17.5 Hz rate. Model Builder could be the operating system for a platform that has only peripheral cards and no DSPs. The routing of the data could be done via a path file and would not need the model.

 number_dsps=0

Refer to the MB Reference Manual for additional information.

Codec Synchronization between DSPs

Codec Synching automatically occurs for DSPs of the same type, TDM-TDM and 8AFA-8AFA when the "Master_dsp" and "Slave_dsp" commands are used in the configuration file. When linking mixed cards for systems prior to 01May00 and running MB4.04e the codec synching must be turned off to prevent large amounts of noise and buzzing on the global channels. The configuration file command is:

 codec_synch=off

Refer to Application Note 43 for more information.

DLL Control

Loading a DLL

The command line below loads the Hand Held Terminal dll and supporting software.

 dll1=dialogue1.dll,hht.ini,4

dll1 = first dll to be loaded, can load up to 8 dlls in one model. Each one requires a separate command line.

dialogue1.dll = name of dll. The dlls resides in the c:\mbuilder\bin directory.

hht.ini = name of initialization file that specifies control parameters at startup. Used to set initial frequency, volume, squelch, radio operating mode, etc. The .ini file resides in the same directory that Model Builder is started from.

4 = the number of instances of the state machine to run. In this case 4 instances are specified, thereby 4 HHTs, or other serial port devices, would be supported.

The dll command is used in conjunction with the path file command

The path file resides in the same directory as the one where Model Builder is started.

cell:paths=default.pth

if default.pth is not used, specify the path file on this line.

NOTE: More than one dll can be specified in the configuration file, but only one path file can be specified.

I/O Card Control

Analog input card

Credit cost = 600/card

  localio=on
  localio:analog=n

where n is the number of analog input boards.

Digital input card

Credit cost = 600/card

  localio=on
  localio:digital=vmicn

where n is the number of digital input boards.

Digital input/output card

Credit cost = 600/card

  localio=on
  localio:digital=n

where n is the number of digital input/output boards.

Using the parallel port as an alternative Digital Input

Credit cost = 150

This feauture may be used when no other DI or DI/DO cards have been installed in the system.

  localio=on
  localio:digital=parallel

NOTE 1: If mixing board types in a chassis, the command "localio=on" needs only to appear once in the configuration file.

NOTE 2: When multiple cards of the same type are used, Model Builder automatically handles the addressing for the different cards. The cards only have to be jumpered properly and Model Builder will see them.

Cell Interface

Turning off the cell interface

This might be useful if you want to eliminate the possibility of bad data getting into the DACS accidentally. This interface has a fixed UDP port number of 59000 and is used for the routing of cell data between a DACS and a Model Server or between several DACS. The default value is ON.

 cell=off

NOTE: To change cell interface parameters, use the same commands as for the Host interface (Ethernet:=...).

Host Interface

One of the big differences between MB 3.xx and MB 4.xx is that the UDP checksums default to ON under the newer version of Model Builder. This has proven to be a bit of a problem for customers converting from MB 3.xx to MB 4.xx. We have seen where a lot of customers do not calculate a UDP checksum or calculate it incorrectly. Model Builder will throw away these types of packets.

Turning off the UDP checksum

This information is already included in the Reference Manual.

 ethernet:rxn_udp_checksum=off

where n is the rx port number (1-8).

DIS, Terrain and Tactical Data Link

Under the 3.XX series of Model Builder, these features were enabled by enabling the different packages in the options file. Under functional pricing, all packages are available, but not active. In order for the feature to be used it must first be enabled in the options file.

Enabling the various communications features
 dis=on

Enables DIS communications, normally OFF, all radios in a model are assessed at their DIS value. Even if their world positions are set to Local, they are charged as DIS radios.

 terrain=on

Enables the terrain interface. The terrain cost is assessed on a per radio basis.

 dis_bridge=on

Enables tactical data link, normally OFF, charges the platform the one-time cost for using the feature. (1500 credits for MB 4.02 and 4.03)

NOTE: In order for the terrain and tactical data link options to function, DIS must also be turned on.

DIS Bridging options

With the "dis_bridge" feature enabled the user can bridge over to the Host computer data PDUs and the Receiver (RXer) PDUs for the radios on that platform. The data PDUs are used in the simulation of a Tactical Data Link (see App Note 26 for more information). The Receiver PDUs contain the DIS information for the radios on the platform, their state - OFF/ON/ON_RX, the DIS information for in-tune radios and the received signal strength from those radios.

The bridging option that is enabled may be viewed under the DIS >> Options page.

With "dis_bridge=on" in the configuration file, the default bridging is "Data".

 dis_bridge=data+rx

Couples over Data and RXer PDUs.

Setting UDP checksums

In MB 3.xx the UDP checksums were defaulted OFF, in MB 4.xx the UDP checksums default to ON. There are separate commands for turning off the DIS and Terrain checksums.

  DIS:UDP_Checksum=OFF
  TERRAIN:UDP_Checksum=OFF
DIS radios utilizing the "single PDU" function

In MB 4.02 and earlier, when the DIS option was set to "single PDU per packet" it applied to the transmitter PDUs and not the receiver packets. The receiver would continue to process multiple PDUs per packet even though the transmitter was only sending out a single PDU per packet. In a single PDU per packet mode MB will only process the first PDU in the packet if it receives one with multiple PDUs in it.

 DIS:Single_pdus=ON

The default is OFF, multiple PDUs per packet being transmitted and received.

Enabling the multicast routing feature
 DIS:IGMP=ON

The DACS will now publish IGMP reports that tell a multicast router that the DACS is trying to join a multicast group. The DACS will publish this report when it first starts and then at the iteration rate defined below.

Setting the IGMP report time

The DACS will submit a report so that a router knows it wants to join a multicast group when it first starts and at the rate specified below. If the router were to go off-line and the DACS was not publishing these reports, when the router came back on-line it would have multicast packets that did not belong to any groups and would drop them. A recommended number is 10.

 DIS:IGMP_Time=x

Where x is the time in seconds.

Setting the Time to Live to determine how many routing stages the packet could pass through

The default value is 60.

 DIS:Time_To_Live=x

Where x is the number of jumps the packet could make.

Multicast addressing for DIS communications

MB versions 3.12-4.02 support multicast addressing on only 2 groups. One group was for the administrative PDUs txer, rxer, and entity, the second group was for the signal PDUs. MB 4.03 supports separate multicast addressing for transmitter, receiver, signal and entity PDUs.

 DIS:Broadcast_IP=www,xxx,yyy,zzz

www = Multicast group for entity state PDUs
xxx = Multicast group for signal PDUs
yyy = Multicast group for transmitter PDUs
zzz = Multicast group for receiver PDUs

NOTE 1: DIS:Multicast_IP=www,xxx,yyy,zzz is an equivalent command.

NOTE 2: If only www and xxx are specified, then the entity, transmitter and receiver PDUs are placed on the multicast group specified by www. The signal PDUs are placed on the multicast address specified by xxx.

Multicast addressing for the Tactical Data Link interface
 dis_bridge:broadcast_ip=www,xxx

www = Multicast group for data PDUs
xxx = Multicast group for signal PDUs

Setting the DIS Multicast mode

The DACS will either join a single multicast group or several multicast groups depending on the value of this command. The joining of several multicast groups at once is determined by the DIS exercise number. The multicast address specified by the "Broadcast_IP" command is the base address for exercise 1. The multicast addressing for exercises other than 1 is done by taking the base address and adding the exercise#-1 to it. If an exercise number is skipped, no report is submitted by MB requesting to join the group corresponding to that address. The address assignment is sequential, you cannot arbitrarily set the multicast addresses to correspond to random DIS exercise numbers. The default value is Single.

 DIS:Multicast=Exercise

Simultaneous multicast groups are joined.

 DIS:Multicast=Single

Only the group specified by Broadcast_IP is joined.

Limiting the multicast groups joined while in "Exercise" mode

For any DIS entities that have exercise numbers higher than the limit specified here, MB will still put the signal PDUs out onto the network it just does not submit IGMP reports for those groups. Without the IGMP report a router does not know the DACS wants to join a particular multicast group and will drop the packets. This is useful because it permits LAN communications but does not put unnecessary radio traffic onto the main network that is controlled by the router. Obviously in order for this to work you must be in "Exercise" mode and have exercise numbers with values higher than this limit. A suggestion is for DIS entities going out on the WAN start from 1 and go up while for exercises that you want to stay local use exercise numbers from 255 on down.

 DIS:IGMP_Last_Exercise=x

Where x is the cutoff point.

HLA

NOTE: Either DIS or HLA is used for networking DACS. A system may be used, when running MB 4.04d and later, in either DIS or HLA mode but not both at the same time.

Configuration file commands
  hla=on
  hla:local_ip=
  hla:subnet_mask= 
  hla:broadcast_ip=www,xxx,yyy,zzz

www= multicast address for entity pdus
xxx= multicast address for signal pdus
yyy= multicast address for transmitter pdus
zzz= multicast address for receiver pdus

 hla:tx_udp_port=x

(default value is 55001)

 hla:rx_udp_port=x

(default value is 55001)

 hla:igmp=on

enables multicasting

  hla:igmp_first_exercise=
  hla:igmp_last_exercise=
  hla:igmp_time = 

(time in seconds for IGMP report time)

 hla:time_to_live= 

(number of possible router hops)