The Allen Bradley Handheld Terminal, affectionately known as 1747-PT1, is something that was more popular when Ronald Reagan was president and Duran Duran was a cool new wave band. That’s the 1980’s for those who are not my generation. I’m kind of a nostalgic guy so digging into how a hand held programmer works is some sort of weird interest for me. For good reason these devices were left in the closest to gather dust once personal computers came around and you could program your PLC in DOS. With the advent of RSLogix and cheap laptops there’s very little reason to brush the dust of your 1747-PT1. Then again, maybe there is if all you want to do is just check a value or quickly change a preset on a timer. You could be the coolest geek around with this puppy strapped to your belt. Just beware your boss and work mates might think you’re goofing of playing game boy.
This article is different then a regular 1747-PT1 tutorial. As the saying goes, “If you don’t use it you lose it”, so this is meant to be more of a cheat sheet or a quick refresher course. I assume you all ready have a knowledge of how the SLC500 processors store files and how to address memory. I’m more concerned with how to get around the menu structure of the 1747-PT1 once they’ve escaped my brain cells after a couple months of non-use. If you’re looking for something more in depth then you can still download “The Getting Started Guide for HHT” and/or the “1747-PT1 User Manual” from the Rockwell Automation site.
The 1747-PT1 hand held programmer is only good on these SLC-500 processors.
Fixed SLC500
SLC 500 Modular 5/01 and 5/02
This means the 5/03, 5/04 and 5/05 processors are NOT supported.
The function keys and keypad are pretty clunky but once you get used to the flow you can get pretty fast at it. I imagine back in the day when these were used a lot a good programmer would have some crazy flippin’ fingers going as he input new rungs of ladder logic.
On the first screen the only two functions I use are PROGMAINT and UTILITY.
PROGMAINT stands for Program Maintenance which allows you to:
UTILITY allows you to:
Usually the short menu items are self explanatory but just in case here's a list of all of them described.
FUNCTIONS |
|
Abbreviation |
Meaning |
ACCUM |
accumulator value |
ACP_RNG |
accept rung |
ADDR |
address |
ADV_SET |
advanced setup |
ADV_SIZ |
advanced size |
APP_BR |
append branch |
B |
battery |
BIN |
binary number |
CAN_ED |
cancel edit |
CAN_RNG |
cancel rung |
CFG_SIZ |
configure size |
CHG_ADR |
change node address |
CHG_NAM |
change name |
CLR_MEM |
clear memory |
CLR_OWNR |
clear ownership |
CLR_PRC |
clear processor |
CONT |
continuous |
CPT/MTH |
compute/math |
CRT_DT |
create data |
CRT_FIL |
create file |
CSN |
continuous scan |
CUR-INS |
current instruction |
CUR-OPD |
current operand |
DEC |
decimal number |
DEL_BR |
delete branch |
DEL_DT |
delete data |
DEL_FIL |
delete file |
DEL_INST |
delete instruction |
DEL_RNG |
delete rung |
DEL_SLT |
delete slot |
DIAGNSTC |
diagnostic |
DWNLOAD |
download |
EDT_DAT |
edit data |
EDT_FIL |
edit file |
EDT_I/O |
edit I/O |
ENT |
enter |
ENT_MAS |
enter master |
EXEC_FILE |
executable files |
EXT_DWN |
extend down |
EXT_UP |
extend up |
F |
force |
FILEPRT |
file protection |
FLT |
fault |
FUTACC |
future access |
HEX/BCD |
hexadecimal/binary coded decimal number |
INDXCHK |
index across files |
INS_BR |
insert branch |
INS_INST |
insert instruction |
INS_RNG |
insert rung |
INT_SBR |
interrupt subroutine |
I/O_MSG I/O |
message |
MAX_ADR |
maximum node address |
MEM_MAP |
memory map |
MEM_PRC |
memory module to processor |
MEM_SIZ |
memory size |
MOD_INST |
modify instruction |
MOD_RCK |
modify rack |
MOD_RNG |
modify rung |
MOD_SET |
modify setup |
MOD_SLT |
modify slot |
MOR_CPT |
more compute |
MOV/LOG |
move/logic |
NEW-INS |
new instruction |
NEW_PRG |
new program |
NEXT_FL |
next file |
NEXT_PG |
next page |
NODE_CFG |
node configuration |
OFL |
offline |
OTHERS |
other instruction choices |
PASSWRD |
password |
PRC_MEM |
processor to memory module |
PREV_FL |
previous file |
PREV_PG |
previous page |
PRG |
program |
PRG_SIZE |
program size |
PROGMAINT |
program maintenance |
RLY |
relay |
REM |
remove |
REM_ALL |
remove all |
REM_MAS |
remove master |
SAVE_CT |
save and continue |
SAVE_EX |
save and exit |
SEL_PRO |
select processor |
SET_OWNR |
set ownership |
SFT/SEQ |
shift/sequencer |
SNK |
sink |
SRC |
source |
SSN |
single scan |
TERM |
terminal |
TMR/CNT |
timer/counter |
TRANS |
transistor |
TRI |
triac |
TSTRUNG |
test single rung |
UND_INST |
undelete instruction |
UND_RNG |
undelete rung |
UND_SLT |
undelete slot |
WTCHDOG |
watchdog |
XFERMEM |
transfer memory |
INSTRUCTIONS |
|
Mnemonics |
Meaning |
ADD |
add |
AND |
and |
BSL |
bit shift left |
BSR |
bit shift right |
CLR |
clear |
COP |
copy file |
CTD |
count down |
CTU |
count up |
DCD |
decode 4 to 1 of 16 |
DDV |
double divide |
DIV |
divide |
EQU |
equal |
FFL FIFO |
load |
FFU FIFO |
unload |
FLL |
file fill |
FRD |
convert from BCD |
GEQ |
greater than or equal to |
GRT |
greater than |
HSC |
high-speed counter |
IID I/O |
interrupt disable |
IIE I/O |
interrupt enable |
IIM |
immediate input with mask |
INT |
interrupt subroutine |
IOM |
immediate output with mask |
JMP |
jump to label |
JSR |
jump to subroutine |
LBL |
label |
LEQ |
less than or equal to |
LES |
less than |
LFL LIFO |
load |
LFU LIFO |
unload |
LIM |
limit test |
MCR |
master control reset |
MEQ |
masked comparison for equal |
MOV |
move |
MSG |
message |
MUL |
multiply |
MVM |
masked move |
NEG |
negate |
NEQ |
not equal |
NOT |
not |
OR |
or |
OSR |
one-shot rising |
OTE |
output energize |
OTL |
output latch |
OTU |
output unlatch |
proportional integral derivative |
|
REF I/O |
refresh |
RES |
reset |
RET |
return from subroutine |
RPI |
reset pending I/O interrupt |
RTO |
retentive on-delay timer |
SBR |
subroutine |
SCL |
scale data |
SQC |
sequencer compare |
SQL |
sequencer load |
SQO |
sequencer output |
SQR |
square root |
STD STI |
disable |
STE STI |
enable |
STS STI |
start immediately |
SUB |
subtract |
SUS |
suspend |
SVC |
service communications |
TND |
temporary end |
TOD |
convert to BCD |
TOF |
timer off-delay |
TON |
timer on-delay |
XIC |
examine if closed |
XIO |
examine if open |
XOR |
exclusive or |
This clears the memory only in the HHT.
[F5] UTILITY
[F5] CLR_MEM
ARE YOU SURE?
[F2] YES
WORKING…
I don’t know why but if you wanted to clear the processor memory
[F5] UTILITY
[F1] ONLINE
GOING ONLINE…
[F4] MODE
[F5] PROGRAM
ARE YOU SURE?
[F2] YES
ESC
[F5] CLR_PRC
ARE YOU SURE?
[F2] YES
INITIALIZING PROCESSOR…
[F5] UTILITY
[F1] ONLINE
PROGRAM FILES DIFFER (If you don’t get the prompt then the files are the same.)
[F2] UPLOAD
UPLOAD FROM PROCESSOR?
[F2] YES
UPLOADING FILE…
Once done it will show the file name.
[F5] UTILITY
[F1] ONLINE
PROGRAM FILES DIFFER or DEFAULT FILE IN PROCESSOR
[F3] DWNLOAD or [F2] DWNLOAD
DOWNLOAD TO PROCESSOR?
[F2] YES
DOWNLOADING FILE…
Once done it will show the file name.
[F5] UTILITY
[F1] ONLINE
[F4] MODE
[F1] RUN or [F5] PROGRAM
ARE YOU SURE?
[F2] YES
[F5] UTILITY
[F1] ONLINE
If not in run mode then follow “change mode” instructions above
ENTER
[F5] MONITOR
ENTER FILE NUMBER: 2
WORKING… and there it is in all it’s glory.
Press RUNG and enter the number of the rung to go straight to it.
Pressing ZOOM when on an instruction will display it’s details.
[F4] SEARCH
Search functions
[F1] CUR-INS finds current instruction that the cursor is on
[F2] CUR-OPD finds current operand that the cursor is on
[F3] NEW-INS enter an instruction to find
[F4] UP/DOWN toggle to search up or down.
[F5] FORCE find force
Follow the “monitor the ladder logic” instructions
[F3] EDT_DAT
The prompt has the current address value to be changed.
[F1] ADDRESS enter address to go to
[F2] NEXT_FL go to next file
[F3] PREV_FL go to previous file
[F4] NEXT_PG go to next page
[F5] PREV_PG go to previous page
[F3] PROGMAINT
[F3] EDT_FIL
ENTER FILE NUMBER:
[F1] INS_RNG this will put a rung above the cursor position.
[F2] MOD_RNG modify the current rung
[F3] SEARCH will search for instruction
[F4] DEL_RNG delete rung
[F5] UND_RNG undo rung
ENTER
[F2] EDT_DAT edit data
[F4] SAVE_CT compile program but do not exit editing
[F5] SAVE_EX compile program and exit editing
Place cursor on timer
[F2] MOD_RNG
[F3] MOD_INST
[F2] TMR/CNT
[F1] TON
ENTER TIMER: T4:0
ENTER
ENTER PRESET: 1000 change to 1500
ENTER
[F5] ACCEPT
WORKING…
ESC
ESC
[F5] ACP_RNG
ENTER
[F5] SAVE_EX
MODIFY OPTIONS, ACCEPT TO COMPILE
[F5] ACCEPT
STATUS: COMPILE IN PROGRESS. NO ERRORS.
ESC
Now go download the program