Special Memory - s7 200 60
Special Memory - s7 200 60
Special Memory - s7 200 60
Special memory bits provide a variety of status and control functions, and also
serve as a means of communicating information between the CPU and your
program. Special memory bits can be used as bits, bytes, words, or double words.
SM Bits Description
SM0.0 This bit is always on.
SM0.1 This bit is on for the first scan cycle. One use is to call an initialization
subroutine.
SM0.2 This bit is turned on for one scan cycle if retentive data was lost. This bit can
be used as either an error memory bit or as a mechanism to invoke a special
startup sequence.
SM0.3 This bit is turned on for one scan cycle when RUN mode is entered from a
power-up condition. This bit can be used to provide machine warm-up time
before starting an operation.
SM0.4 This bit provides a clock pulse that is on for 30 seconds and off for 30
seconds, for a duty cycle time of 1 minute. It provides an easy-to-use delay, or
a 1-minute clock pulse.
SM0.5 This bit provides a clock pulse that is on for 0.5 seconds and then off for 0.5
seconds, for a duty cycle time of 1 second. It provides an easy-to-use delay
or a 1-second clock pulse.
SM0.6 This bit is a scan cycle clock which is on for one scan cycle and then off for
the next scan cycle. This bit can be used as a scan counter input.
SM0.7 This bit reflects the position of the Mode switch (off is TERM position, and on
is RUN position). If you use this bit to enable Freeport mode when the switch
is in the RUN position, normal communication with the programming device
can be enabled by switching to the TERM position.
SM Bits Description
SM1.0 This bit is turned on by the execution of certain instructions when the result of
the operation is zero.
SM1.1 This bit is turned on by the execution of certain instructions either when an
overflow results or when an illegal numeric value is detected.
SM1.2 This bit is turned on when a negative result is produced by a math operation.
SM1.3 This bit is turned on when division by zero is attempted.
SM1.4 This bit is turned on when the Add to Table instruction attempts to overfill the
table.
SM1.5 This bit is turned on when either LIFO or FIFO instructions attempt to read
from an empty table.
SM1.6 This bit is turned on when an attempt to convert a non-BCD value to binary is
made.
SM1.7 This bit is turned on when an ASCII value cannot be converted to a valid
hexadecimal value.
SM Byte Description
SMB2 This byte contains each character that is received from Port 0 or Port 1 during
Freeport communication.
SM Bits Description
SM3.0 Parity error from Port 0 or Port 1 (0 = no error; 1 = error was detected)
SM3.1 to
Reserved
SM3.7
SM Bits Description
SM4.01 This bit is turned on when the communication interrupt queue has overflowed.
SM4.11 This bit is turned on when the input interrupt queue has overflowed.
SM4.21 This bit is turned on when the timed interrupt queue has overflowed.
SM4.3 This bit is turned on when a run-time programming problem is detected.
SM4.4 This bit reflects the global interrupt enable state. It is turned on when
interrupts are enabled.
SM4.5 This bit is turned on when the transmitter is idle (Port 0).
SM4.6 This bit is turned on when the transmitter is idle (Port 1).
SM4.7 This bit is turned on when something is forced.
1 Use status bits 4.0, 4.1, and 4.2 only in an interrupt routine. These status bits are reset when
the queue is emptied, and control is returned to the main program.
SM Bits Description
SM5.0 This bit is turned on if any I/O errors are present.
SM5.1 This bit is turned on if too many digital I/O points have been connected to the
I/O bus.
SM5.2 This bit is turned on if too many analog I/O points have been connected to the
I/O bus.
SM5.3 to
Reserved.
SM5.6
SM5.7 This bit is turned on if a DP standard bus fault is present
SM Bits Description
Format MSB LSB
7 0
CPU ID register
x x x x r r r r
SMB7: Reserved
SMB7 is reserved for future use.
SM Byte Description
Format Even-Number Byte: Module ID Register Odd-Number Byte: Module Error Register
MSB LSB MSB LSB
7 0 7 0
M t t A i i Q Q C ie 0 b r P f t
SM Word Description
SMW22 This word provides the scan time of the last scan cycle.
SMW24 This word provides the minimum scan time recorded since entering the RUN
mode.
SMW26 This word provides the maximum scan time recorded since entering the
RUN mode.
SM Byte Description
SMB28 This byte stores the value entered with analog adjustment 0. This value is
updated once per scan in STOP/RUN.
SMB29 This byte stores the value entered with analog adjustment 1. This value is
updated once per scan in STOP/RUN.
As described in Table C-12, SMB31 defines the size of the data to be saved to
permanent memory and also provides the command that initiates the execution of
a save operation. SMW32 stores the starting address in V memory for the data to
be saved to permanent memory.
Table C-12 Special Memory Byte SMB31 and Special Memory Word SMW32
SM Byte Description
Format SMB31: MSB LSB
7 0
Software
command c 0 0 0 0 0 s s
MSB LSB
SMW32:
15 0
V memory
address V memory address
SM Byte Description
SMB34 This byte specifies the time interval (in 1-ms increments from 1 ms to
255 ms) for timed interrupt 0.
SMB35 This byte specifies the time interval (in 1-ms increments from 1 ms to
255 ms) for timed interrupt 1.
SM Byte Description
SM36.0 to
Reserved
SM36.4
SM36.5 HSC0 current counting direction status bit: 1 = counting up
SM36.6 HSC0 current value equals preset value status bit: 1 = equal
SM36.7 HSC0 current value is greater than preset value status bit: 1 = greater than
SM37.0 Active level control bit for Reset:
0= Reset is active high, 1 = Reset is active low
SM37.1 Reserved
SM37.2 Counting rate selection for quadrature counters:
0 = 4x counting rate; 1 = 1 x counting rate
SM37.3 HSC0 direction control bit: 1 = count up
SM37.4 HSC0 update the direction: 1 = update direction
SM37.5 HSC0 update the preset value: 1 = write new preset value to HSC0 preset
SM37.6 HSC0 update the current value: 1 = write new current value to HSC0 current
SM37.7 HSC0 enable bit: 1 = enable
SMB38 HSC0 new current value
SMB39 SMB38 is most significant byte, and SMB41 is least significant byte.
SMB40
SMB41
SMB42 HSC0 new preset value
SMB43 SMB42 is most significant byte, and SMB45 is least significant byte.
SMB44
SMB45
SM46.0 to
Reserved
SM46.4
SM46.5 HSC1 current counting direction status bit: 1 = counting up
SM46.6 HSC1 current value equals preset value status bit: 1 = equal
SM46.7 HSC1 current value is greater than preset value status bit: 1 = greater than
SM47.0 HSC1 active level control bit for reset: 0 = active high, 1 = active low
SM47.1 HSC1 active level control bit for start: 0 = active high, 1 = active low
SM47.2 HSC1 quadrature counter rate selection: 0 = 4x rate, 1 = 1x rate
SM47.3 HSC1 direction control bit: 1 = count up
SM47.4 HSC1 update the direction: 1 = update direction
SM47.5 HSC1 update the preset value: 1 = write new preset value to HSC1 preset
SM47.6 HSC1 update the current value: 1 = write new current value to HSC1 current
SM Byte Description
SM47.7 HSC1 enable bit: 1 = enable
SMB48 HSC1 new current value
SMB49 SMB48 is most significant byte, and SMB51 is least significant byte.
SMB50
SMB51
SMB52 to HSC1 new preset value
SMB55 SMB52 is most significant byte, and SMB55 is least significant byte.
SM56.0 to
Reserved
SM56.4
SM56.5 HSC2 current counting direction status bit: 1 = counting up
SM56.6 HSC2 current value equals preset value status bit: 1 = equal
SM56.7 HSC2 current value is greater than preset value status bit: 1 = greater than
SM57.0 HSC2 active level control bit for reset: 0 = active high, 1 = active low
SM57.1 HSC2 active level control bit for start: 0 = active high, 1 = active low
SM57.2 HSC2 quadrature counter rate selection: 0 = 4x rate, 1 = 1x rate
SM57.3 HSC2 direction control bit: 1 = count up
SM57.4 HSC2 update the direction: 1 = update direction
SM57.5 HSC2 update the preset value: 1 = write new preset value to HSC2 preset
SM57.6 HSC2 update the current value: 1 = write new current value to HSC2 current
SM57.7 HSC2 enable bit: 1 = enable
SMB58 HSC2 new current value
SMB59 SMB58 is the most significant byte, and SMB61 is the least significant byte.
SMB60
SMB61
SMB62 HSC2 new preset value
SMB63 SMB62 is the most significant byte, and SMB65 is the least significant byte.
SMB64
SMB65
SM Byte Description
SM66.0 to
Reserved
SM66.3
SM66.4 PTO0 profile aborted;
0 = no error, 1 = aborted due to a delta calculation error
SM66.5 PTO0 profile aborted;
0 = not aborted by user command, 1 = aborted by user command
SM66.6 PTO0 pipeline overflow (cleared by the system when using external profiles,
otherwise must be reset by user); 0 = no overflow, 1 = pipeline overflow
SM66.7 PTO0 idle bit: 0 = PTO in progress, 1 = PTO idle
SM67.0 PTO0/PWM0 update the cycle time value: 1 = write new cycle time
SM67.1 PWM0 update the pulse width value: 1 = write new pulse width
SM67.2 PTO0 update the pulse count value: 1 = write new pulse count
SM67.3 PTO0/PWM0 time base: 0 = 1 µs/tick, 1 = 1 ms/tick
SM67.4 Update PWM0 synchronously:
0 = asynchronous update, 1 = synchronous update
SM67.5 PTO0 operation: 0 = single segment operation (cycle time and pulse count
stored in SM memory), 1 = multiple segment operation (profile table stored in
V memory)
SM67.6 PTO0/PWM0 mode select: 0 = PTO, 1 = PWM
SM67.7 PTO0/PWM0 enable bit: 1 = enable
SMB68 PTO0/PWM0 cycle time value (2 to 65,535 units of time base);
SMB69 SMB68 is most significant byte, and SMB69 is least significant byte.
SMB70 PWM0 pulse width value (0 to 65,535 units of the time base);
SMB71 SMB70 is most significant byte, and SMB71 is least significant byte.
SMB72 PTO0 pulse count value (1 to 232 -1);
SMB73 SMB72 is most significant byte, and SMB75 is least significant byte.
SMB74
SMB75
SM76.0 to
Reserved
SM76.3
SM76.4 PTO1 profile aborted;
0 = no error, 1 = aborted because of delta calculation error
SM76.5 PTO1 profile aborted;
0 = not aborted by user command, 1 = aborted by user command
SM Byte Description
SM76.6 PTO1 pipeline overflow (cleared by the system when using external profiles,
otherwise must be reset by the user); 0 = no overflow, 1 = pipeline overflow
SM76.7 PTO1 idle bit: 0 = PTO in progress, 1 = PTO idle
SM77.0 PTO1/PWM1 update the cycle time value: 1 = write new cycle time
SM77.1 PWM1 update the pulse width value: 1 = write new pulse width
SM77.2 PTO1 update the pulse count value: 1 = write new pulse count
SM77.3 PTO1/PWM1 time base: 0 = 1 µs/tick, 1 = 1 ms/tick
SM77.4 Update PWM1 synchronously:
0 = asynchronous update, 1 = synchronous update
SM77.5 PTO1 operation: 0 = single segment operation (cycle time and pulse count
stored in SM memory), 1 = multiple segment operation (profile table stored in
V memory)
SM77.6 PTO1/PWM1 mode select: 0 = PTO, 1 = PWM
SM77.7 PTO1/PWM1 enable bit: 1 = enable
SMB78 PTO1/PWM1 cycle time value (2 to 65,535 units of the time base);
SMB79 SMB78 is most significant byte, and SMB79 is least significant byte.
SMB80 PWM1 pulse width value (0 to 65,535 units of the time base);
SMB81 SMB80 is most significant byte, and SMB81 is least significant byte.
SMB82 PTO1 pulse count value (1 to 232 -1);
SMB83 SMB82 is most significant byte, and SMB85 is least significant byte.
SMB84
SMB85
Table C-16 Special Memory Bytes SMB86 to SMB94, and SMB186 to SMB194
Table C-16 Special Memory Bytes SMB86 to SMB94, and SMB186 to SMB194
Table C-16 Special Memory Bytes SMB86 to SMB94, and SMB186 to SMB194
SM Byte Description
SMB98 This location is incremented each time a parity error is detected on the
SMB99 expansion I/O bus. It is cleared upon power up, and by the user writing zero.
SMB98 is the most significant byte.
SM Byte Description
SMB131 to
Reserved
SMB135
SM136.0 to
Reserved
SM136.4
SM136.5 HSC3 current counting direction status bit: 1 = counting up
SM136.6 HSC current value equals preset value status bit: 1 = equal
SM136.7 HSC3 current value is greater than preset value status bit: 1 = greater than
SM137.0 to
Reserved
SM137.2
SM137.3 HSC3 direction control bit: 1 = count up
SM137.4 HSC3 update direction: 1 = update direction
SM137.5 HSC3 update preset value: 1 = write new preset value to HSC3 preset
SM137.6 HSC3 enable bit: 1 = enable
SM138 to HSC3 new current value: SM138 is most significant byte and SM141 is
SM141 least significant byte
SM142 to HSC3 new preset value: SM142 is most significant byte and SM145 is the
SM145 least significant byte
SM146.0 to
Reserved
SM146.4
SM146.5 HSC4 current counting direction status bit: 1 = counting up
SM146.7 HSC4 current value is greater than preset value status bit: 1 = greater than
SM147.0 Active level control bit for Reset:
0 = Reset is active high, 1 = Reset is active low
SM147.1 Reserved
SM147.2 Counting rate selection for quadrature counters:
0 = 4x counting rate, 1 = 1x counting rate
SM147.3 HSC4 direction control bit: 1 = count up
SM147.4 HSC4 update direction: 1 = update direction
SM147.5 HSC4 update preset value: 1 = write new preset value to HSC4 preset
SM147.6 HSC4 update current value: 1 = write new current value to HSC4 current
SM147.7 HSC4 enable bit: 1 = enable
SMB148 to HSC4 new current value: SM148 is most significant byte and SM151 is
SMB151 least significant byte
SMB152 to HSC4 new preset value: SM152 is most significant byte and SM155 is least
SMB155 significant byte
SM Byte Description
SM156.0 to
Reserved
SM156.4
SM156.5 HSC5 current counting direction status bit: 1 = counting up
SM156.6 HSC5 current value equals preset value status bit: 1 = equal
SM156.7 HSC5 current value is greater than preset value status bit: 1 = greater than
SM157.0 to
Reserved
SM157.2
SM157.3 HSC5 direction control bit: 1 = count up
SM157.4 HSC5 update direction: 1 = update direction
SM157.5 HSC5 update preset value: 1 = write new preset value to HSC5 preset
SM157.6 HSC5 update current value: 1 = write new current value to HSC5 current
SM157.7 HSC5 enable bit: 1 = enable
SMB158 to HSC5 new current value: SM158 is most significant byte and SM161 is
SMB161 least significant byte
SMB162 to HSC5 new preset value: SM162 is most significant byte and SM165 is least
SMB165 significant byte
SM Byte Description
SMB166 Current entry number of the active profile step for PTO0
SMB167 Reserved
SMB168 V memory address of the profile table for PTO0 given as an offset from V0.
SMB169 SM168 is the most significant byte of the address offset
SMB170 to
Reserved
SMB175
SMB176 Current entry number of the active profile step for PTO1
SMB177 Reserved
SMB178 to V memory address of the profile table for PTO1 given as an offset from V0.
SMB179 SM178 is the most significant byte of the address offset
SMB180 to
Reserved
SMB194