Topic: DMD0208

Memory Locations with System-Assigned Nicknames


The Do-more controllers are pre-configured with several bit and numeric locations that have system-assigned Nicknames. Some of these locations are outputs that report controller Status information, some of them are inputs used to provide configuration selections to the controller, and some of them are input & output locations.

Bit Locations with System-Assigned Nicknames

Bit Location

Nickname

Type

Description

ST0

$FirstScan

Status (read-only)

will be ON for the duration of the first controller scan after a STOP mode -to- RUN mode transition

ST1

$On

Status (read-only)

Always ON

ST2

$Off

Status (read-only)

Always OFF

ST3

$1Minute

Status (read-only)

while the controller is in RUN mode this bit location will be set ON once a minute with a 50% duty cycle, that is, it will be ON for 30 seconds then OFF for 30 seconds

ST4

$1Second

Status (read-only)

while the controller is in RUN mode this bit location will be set ON once a second with a 50% duty cycle, that is, it will be ON for 1/2 second then OFF for 1/2 second

ST5

$100ms

Status (read-only)

while the controller is in RUN mode this bit location will be set ON once every 100ms with a 50% duty cycle, that is, it will be ON for 50 milliseconds then OFF for 50 milliseconds

ST6

$50ms

Status (read-only)

while the controller is in RUN mode this bit location will be set ON once every 50ms with a 50% duty cycle, that is, it will be ON for 25 milliseconds then OFF for 25 milliseconds

ST7

$ScanToggle

Status (read-only)

will be ON for alternate controller scans

ST8

$LastScan

Status (read-only)

will be ON for the duration of the last controller scan before a RUN mode -to- STOP mode transition

ST10

$HasErrors

Status (read-only)

will be ON any time the controller is reporting any runtime errors

ST11

$HasWarnings

Status (read-only)

will be ON any time the controller is reporting any runtime warnings

ST12

$HasInfo

Status (read-only)

will be ON any time the controller is reporting any runtime informational messages

ST13

$WatchdogReboot

Status ((read-only)

will be ON after a Hardware Watchdog Reboot has occurred
Click this link for more information on Configuring the Hardware Watchdog Timer

ST14

$ModuleFailed

Status (read-only)

will be ON when any installed module fails validation, which generally means that its module ID doesn’t match the module ID discovered at power up

ST21

$InhPgmUpdate

Configuration (read/write)

is set to ON to prevent program from being updated

ST23

$TimeSynced

Status (read-only)

will be ON if the TimeSync operation is successful.
Click this link for more information on using TimeSync.

ST24

$HwWatchdogMode

Configuration (read/write)

specifies the action to take in the event of a Hardware Watchdog Timeout
Click this link for more information on Configuring the Hardware Watchdog Timer

ST25

$DisableHwWdog

Configuration (read/write)

is set ON to disable the Hardware Watchdog Timer
Click this link for more information on Configuring the Hardware Watchdog Timer

ST33

$EnableDebug

Configuration (read/write)

is set ON by the Debug View to put the controller in debug mode

ST34

$EnablePowerFlow

Configuration (read/write)

reserved

ST35

$EnableNScan

Configuration (read/write)

is set ON by the Debug View to put the controller into N-Scan Mode

ST36

$EnableMsgDump

Configuration (read/write)

is set ON to send all ERR and MSG values to Do-more Logger, see the Send Email (EMAIL) Instruction.

ST37

$DisableSwWdog

Configuration (read/write)

is set ON to disable the software watchdog timer

ST128

$WatchdogTimeout

Status (read-only)

will be ON when a software watchdog occurs
Click this link for more information on Configuring the Hardware Watchdog Timer

ST129

$IndexError

Status (read-only)

will be ON when an array reference is out of range

ST131

$InvalidInstr

Status (read-only)

will be ON if an invalid instruction was downloaded to controller. User generally should never see this.

ST132

$OutOfRange

Status (read-only)

will be ON when a parameter that isn’t an index error, or an overflow, or a divide-by-zero is out of range.

ST133

$Overflow

Status (read-only)

will be ON when certain math operators -for example POW, INC, DEC - overflow

ST134

$InstIOChanged

Status (read-only)

will be ON at power-up when the installed I/O has changed

ST135

$IOConfigError

Status (read-only)

will be ON when there is an error in the manual I/O configuration

ST136

$IOMapError

Status (read-only)

will be ON when there is an error in the manual I/O map

ST137

$LoopTuning

Status (read-only)

will be ON while a PID loop is being AutoTuned

ST138

$MathStackOverflw

Status (read-only)

will be ON when a math operation has caused a stack overflow

ST139

$FileSystemError

Status (read-only)

reserved

ST140

$BufferOverflow

Status (read-only)

will be ON if the result of a string operation is larger than the string element can hold

ST141

$DivideByZero

Status (read-only)

will be ON when a math operation has a divide by zero operation

ST142

$DriverLoadError

Status (read-only)

will be ON if any device driver failed to load

ST143

$DriverError

Status (read-only)

will be ON if any device is reporting a runtime error, use the Device List to see the specific device in error

ST144

$SystemStopped

Status (read-only)

will be ON when a Switch to Program Mode (STOP) instruction has executed and put the controller in Stop mode

ST145

$QueuesFlushed

Status (read-only)

will be ON when Ethernet queues were forcibly cleared, possibly due to an open Ethernet device which isn’t being serviced

ST146

$CommStackOverrn

Status (read-only)

will be ON when the Ethernet stack was unable to allocate a packet buffer for an incoming packet.

ST147

$InstrTerminated

Status (read-only)

will be ON when a Device instruction was terminated before normal completion.

ST148

$CriticalIOError

Status (read-only)

will be ON when one or more modules failed to verify for longer than the verify filter time, and the system is in a permanent I/O shutdown. Power cycle or Re-Initialize I/O required to return to RUN mode.

ST149

$BatteryLow

Status (read-only)

will be ON if the battery voltage is below the minimum threshold, see the help section on Battery Backup for more information

ST150

$LoginLockedOut

Status (read-only)

will be ON when PLC isn’t accepting session passwords due to excessive password failures. See the help topic for Failed Login Attempts.

ST151

$IndexRealigned

Status (read-only)

will be ON if the controller adjusted a misaligned array index. Occurs when incorrectly indexing memory cast to a larger size...as in X[V0]:B, where V0 isn’t 0, 8, 16, etc.

ST152

$IOError

Status (read-only)

will be ON an I/O Master is in a warning state, this can go from ON to OFF as module issues arise and are resolved

ST192

$PgmSwitchActive

Status (read-only)

will be ON when system is swapping program buffers during run mode program update

ST193

$CurPgmBuffer

Status (read-only)

Indicates active program buffer. Toggles when new program is downloaded

ST194

$SysConfigUpdate

Status (read-only)

will be ON when system is updating system configuration

ST200

$PgmROMUpdate

Status (read-only)

will be ON when system is writing to program ROM

ST201

$SysCfgROMUpdate

Status (read-only)

will be ON when system is writing to system configuration ROM

ST202

$DocROMUpdate

Status (read-only)

will be ON when system is writing to documentation ROM

ST203

$SysSetROMUpdate

Status (read-only)

will be ON when system is writing to systems settings ROM

ST204

$UserROMUpdate

Status (read-only)

ON when system is writing to user ROM

ST768

$SummerTime

Configuration (read/write)

is set ON to add one hour to $LocalTime to account for Daylight Savings Time

 


Numeric Locations with System-Assigned Nicknames

Numeric Location

Nickname

Type

Description

 

DST0

$ScanCounter

Status (read-only)

contains the number of controller scans since the last STOP mode to RUN mode transition

DST1

$ScanTime

Status (read-only)

contains a filtered average of the $ElapsedTicks

DST2

$MinScanTime

Status (read-only)

contains the length of time (in microseconds) of the shortest controller scan since the last STOP mode to RUN mode transition

DST3

$MaxScanTime

Status (read-only)

contains the length of time (in microseconds) of the longest controller scan since the last STOP mode to RUN mode transition

DST4

$ElapsedTicks

Status (read-only)

contains the number of microseconds for the last scan

DST5

$Errors

Status (read-only)

compilation of bit flags from (ST128...159) which are considered to be errors.

Currently contains the following: WATCHDOGTIMEOUT, MEMORYERROR, IOCONFIGERROR, IOMAPERROR, MATHSTACKOVERFLOW, STOPPED, COMM_STACK_OVERRUN, and PERMIOFAILURE

DST6

$Warnings

Status (read-only)

compilation of bit flags from (ST128...159) which are considered to be warnings.

 

Currently contains the following: INDEXERROR, OUTOFRANGE, INVALIDINSTRUCTION, OVERFLOW, FILESYSERROR,, BUFFEROVERFLOW, DIVIDEBYZERO, DRIVERLOADERROR, DRIVERERROR, QUEUES_FLUSHED, BATTERYLOW

DST7

$Info

Status (read-only)

compilation of bit flags from (ST128...159) which are considered to be info.

 

Currently contains the following: INSTALLEDIOCHANGED, LOOPTUNING, and LOGINLOCKEDOUT

DST8

$InvalidInstrAddr

Status (read-only)

Contains address of invalid instruction on failed program validation
 

-1 = no invalid instruction address

DST10

$PLCMode

Status (read-only)

contains a value that reflects the current operational mode of the controller, 2 = STOP mode, 3  = RUN mode

DST11

$PLCStatus

Status (read-only)

Contains the PSTAT_XXX bits from ST192-223.

DST12

$FirmwareRev

Status (read-only)

the revision number of the controller's firmware in the form MMmmbbbb

DST13

$DmRev

Status (read-only)

the revision number of the controller's Do-more library in the form MMmmbbbb

DST14

$HardwareRev

Status (read-only)

the revision number of the controller's PWB n the form 0000MMaa

DST15

$BooterRev

Status (read-only)

the revision number of the controller's boot loader in the form MMmmbbbb

DST16

$FPGARev

Status (read-only)

the revision number of the controller's FPGA code in the form MMMMmmmm

DST17

$NodeNumber

Status (read-only)

the Node Number assigned to the controller

DST18

$IPAddress

Status (read-only)

the IP Address assigned to the controller

DST19

$NetMask

Status (read-only)

The Subnet Mask assigned to the controller

DST20

$Gateway

Status (read-only)

the Gateway IP Address assigned to the controller

DST21

$UTC

Status (read-only)

contains the current UTC value (the number of seconds that have elapsed since Jan, 1 1970)

DST22

$LocalTime

Status (read-only)

the current time calculated from the UTC value after adjustments for Time Zone and Daylight Savings

DST23

$WatchdogTimeVal

Status (read-only)

contains the maximum number of milliseconds to allow for a single controller scan

DST26

$IOVerifyTimeout

Status (read-only)

contains the minimum amount of time for a module to fail verification before a permanent IO failure shutdown

DST27

$IOVerifyLastTO

Status (read-only)

contains the amount of time accrued during the last failure verification

DST28

$IOMasterErrors

Status (read-only)

contains one bit per I/O Master, that bit will be ON if that I/O Master is reporting a Module Error, can go from ON to OFF as module errors arise and are resolved.

DST30

$LastError1

Status (read-only)

contains the code of the last controller error

DST31

$LastErrorAddr1

Status (read-only)

contains the address of the last controller error

DST32

$LastError2

Status (read-only)

contains the code of the next to last controller error

DST33

$LastErrorAddr2

Status (read-only)

contains the address of the next to last controller error

DST34

$LastError3

Status (read-only)

contains the code of the next to next to last controller error

DST35

$LastErrorAddr3

Status (read-only)

contains the address of the next to next to last controller error

DST36

$LastError4

Status (read-only)

contains the code of the next to next to next to last controller error

DST37

$LastErrorAddr4

Status (read-only)

contains the address of the next to next to next to last controller error

DST38

$LastProtoError

Status (read-only)

contains the error response value from last protocol-based instruction (MRX, MWX, DLRX, DLWX, etc. )

DST39

$InhibitErrors

Configuration (read/write)

Set bits of errors which should not result in fatal shutdown of the controller.

DST40

$EthDroppedPckts

Status (read-only)

contains the number of Ethernet packets that have been lost since the last power-cycle

DST41

$EthStoppedIntr

Status (read-only)

contains the number of times the Ethernet interrupt was shut off due to excessive network traffic.

DST42

$EthSendErrors

Status (read-only)

contains the number of Ethernet send errors that have occurred since the last power-cycle

DST43

$EthPktsReceived

Status (read-only)

contains the total number of Ethernet packets that have been received since the last power-cycle

DST44

$EthPktsSent

Status (read-only)

contains the total number of Ethernet packets that have been sent since the last power-cycle

DST45

$TuneDeadBand

Configuration (read/write)

deadband value used the by the PID Autotune process

DST46

$TuneSampleTime

Configuration (read/write)

sample time value used the by the PID Autotune process

DST47

$TuneMinPVChange

Configuration (read/write)

Minimum PV Change value used the by the PID Autotune process

DST48

$TuneOutputBump

Configuration (read/write)

Output bump value used the by the PID Autotune process

DST384

$TimeZone

Configuration (read/write)

contains the number of seconds to apply to the UTC value for the current location of the controller

DST385

$WatchdogReboots

Status (read-only)

the number of software watchdog reboots that have occurred since the last power-cycle All values from DST384 up are retentive...not limited to power cycle.

DST386

$FailedLogonCounts

Status (read-only)

the number of login attempts that have failed

DST509

$ProbeAddr

Status (read-only)

use by the Debug View

DST510

$NScan

Status (read-only)

use by the Debug View

 


Date / Time Structures with System-Assigned Nicknames

Numeric Location

Nickname

Type

Description

SDT0

$Now

Status (read-only)

the current calculated time (UTC with time zone and summertime adjustments applied)

SDT1

$SysShutdown

Status (read-only)

the date and time of the last system power-down

SDT2

$SysStartup

Status (read-only)

the date and time of the last system power-up


See Also:

 


Copyright © Host Engineering, Inc. ALL RIGHTS RESERVED