Torque Tool Ethernet Driver
Appendix — Tightening Program Read/Write
Reading and writing multi-step programs back and forth from the device using the Program Messages com-
mand set tags can be difficult and should be done with caution. Depending on the model of the device; the
payloads can be significantly different, and it can be complicated to create the message payload correctly.
Below are some examples of the payloads that could be used for a Power Focas 6000 device using firmware
version 3.0 or above.
Reading a Program from the Device
The payload for the PSET_PROGRAM_READ tag can look something like this; where YYYY is replaced with the
4-digit PSET ID of the program to read:
00360006001000000000250100207YYYY201
where:
YYYY = PSET ID
For example, to read the program with PSET ID 3, write the following string to the PSET_PROGRAM_READ
tag:
003600060010000000002501002070003201
Writing a Program to the Device
To write a program to the device, the header information must be constructed and sent along with the pro-
gram. Again, this header depends on the model of the device being used but for a PF 6000 this can be used:
AAAA250000200000000020100101000004010000000YYYY00XXXX{JSON Program Definition}
where:
AAAA = Total length
YYYY = PSET ID
XXXX = Length of the program
The program must then be added to the header for a complete payload. For example, the following will
write a simple program to PSET ID 12:
16542500002000000000201001010000040100000000012001601{"changeState":2,"re-
vision":43,"id":{"value":
[207,5,207,152,224,99,74,44,136,52,224,208,238,183,216,17]},"versionId":{"value":
{"value":[135,165,107,190,250,248,69,229,136,225,236,201,21,253,42,64]}},"user-
":"ExternalwebHMI","timestamp":{"value":1557216299},"-
name":"Program","descr":"","indexId":
{"value":5},"threadDirection":1,"tighteningType":2,"operationMode":1,"looseningId":
{"value":[67,154,12,156,38,192,77,122,190,129,177,188,221,140,194,196]},"steps":
[{"internalNumber":1,"stepNumber":0,"nextInternalNumber":2,"stepPath":1,"type":10},
{"intern-
alNum-
ber-
":2,"stepNum-
ber":1,"nextInternalNumber":10,"stepPath":1,"type":13,"stepTightenToAngle":
{"motorControlSpeedRamp":
{"speedTar-
get":60,"ac-
cel-
eration":500,"speedRampType":1},"brake":true,"angleTarget":80,"speedRampChanges":
www. ptc.com
62