How can I find Torque2.mac?

Hi every body

I need Torque2.mac for measuring the torque value of Theta axis of my G1313A autosampler.

Any help where can I find this macro please?

Parents
  • I´m not a sampler person, but to my knowledge macros could be found in the user contributed library (UCL) directory of the Chemstation CD.

  • Thank you dear Sir

    Actually I had searched UCL directory before but I could not find this macro. So I have no idea where can I find this file

  • I will check if I can find the file on one of my old HDDs, but the file is really old and, if I remember correctly, was only meant to be used with Chemstation A.X.X, which is fully out of support for many years.

  • Really appreciate dear friend

    You are exactly right and the software version which control the whole system is A.01.10

    Thank you again for your kind response

  • Found the torque2.mac on an old HDD. The file is almost 22 years old, so I cannot provide any support for it.

     

    Just copy everything below the line to a text editor and save as torque2.mac

    ----------------------------------------------------------------------------------------------------------

     

    !*****************************************************************************
    !         Torque measurement for the HP1100 Series Autosampler
    !
    ! This file contains macros to perform torque measurements for all four
    ! axes of the sample transport. In addition there is a macro GTorque that
    ! allows torque measurement only for the gripper (if a vial number is given
    ! the measurement is done at that position).
    ! To start the measurement type Torque or Gtorque [<vial>] on the
    ! ChemStation's command line.
    !
    ! Torque limits:
    !    X-Axis         50..90
    !    Z-Axis         90..130
    !    Theta             30..50     A value < 30 can lead to jerky movement
    !    Gripper open     30..65
    !    Gripper close     max. 30
    !                            Peter Stemer WAD R&D
    !                                01-Oct-98
    !*****************************************************************************

     

    name WaitEvent
        parameter Timeout
        seconds=0
        while MyEvent=0
            sleep 1
            seconds=seconds+1
            if (seconds > Timeout)
                print "timeout for instruction !!!!"
                stop
            endif
        endwhile
          ReadEventLALS "MyEvent","EI4016"
    endmacro

     

    name ThetaZero
            ReadEventLALS "MyEvent","EI4016"
            a$=sendmodule$(lals,"tray:move 1"); WaitEvent(15)
            !a$=sendmodule$(lals,"tray:movr 0,3"); WaitEvent(15)
            enc$=sendmodule$(lals,"tray:enc? 2")
            i=1
            while (enc$[i:i]<>",")
              i=i+1
            endwhile
            i=i+1
            while (enc$[i:i]<>",")
                i=i+1
            endwhile
            i=i+1
            encoder=val(enc$[i:len(enc$)])
            while (encoder > 6144)
                encoder=encoder-6144
                a$=sendmodule$(lals,"tray:move 95"); WaitEvent(20)
                a$=sendmodule$(lals,"tray:move 10"); WaitEvent(20)
                a$=sendmodule$(lals,"tray:move 1"); WaitEvent(20)
            endwhile       
            while (encoder < 0)
                encoder=encoder+6144
                a$=sendmodule$(lals,"tray:move 10"); WaitEvent(20)
                a$=sendmodule$(lals,"tray:move 95"); WaitEvent(20)
                a$=sendmodule$(lals,"tray:move 1"); WaitEvent(20)
            endwhile       
            a$=sendmodule$(lals,"tray:movt 0"); WaitEvent(20)
        !    a$=sendmodule$(lals,"tray:movx 8500"); WaitEvent(20)
    endmacro

     

    name GetMaxAndAverage
        parameter torque$
        local i, j

     

          torque$=torque$[instr(torque$,"TRQ")+3:len(torque$)]
        i=1
        while (torque$[i:i]<>",")
              i=i+1
          endwhile
        mintrq = abs(val(torque$[1:i-1]))
        j=i+1
        while (torque$[j:j]<>",")
              j=j+1
          endwhile
        maxtrq = abs(val(torque$[i+1:j-1]))
        if (mintrq > maxtrq) then
            maxtrq = mintrq
        endif
        average= abs(val(torque$[j+1:len(torque$)]))
    endmacro

     

    name Torque
        ThetaZero
        ! torque measurement for Z-axis down
         a$=sendmodule$(lals,"mona:trq 1,1")
        a$=sendmodule$(lals,"tray:movz 29000"); WaitEvent(20)
         trq_z_down$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Z-axis up
         a$=sendmodule$(lals,"mona:trq 1,1")
        a$=sendmodule$(lals,"tray:movz 0"); WaitEvent(20)
         trq_z_up$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Theta clockwise
            a$=sendmodule$(lals,"tray:movx 12000"); WaitEvent(20)
         a$=sendmodule$(lals,"mona:trq 2,1")
        a$=sendmodule$(lals,"tray:movt 4650"); WaitEvent(20)
         trq_theta_cw$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Theta counter-clockwise
         a$=sendmodule$(lals,"mona:trq 2,1")
         a$=sendmodule$(lals,"tray:movt 0"); WaitEvent(20)
         trq_theta_ccw$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Gripper opening
         a$=sendmodule$(lals,"mona:trq 3,1")
         a$=sendmodule$(lals,"tray:movg 3100"); WaitEvent(20)
         trq_gripper_o$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Gripper closing
         a$=sendmodule$(lals,"mona:trq 3,1")
         a$=sendmodule$(lals,"tray:movg 2"); WaitEvent(20)
         trq_gripper_c$ = sendmodule$(lals,"mona:trq?")

     

         a$=sendmodule$(lals,"tray:movt 3072"); WaitEvent(20)
         a$=sendmodule$(lals,"tray:movx 100"); WaitEvent(20)

     

        ! torque measurement for X-axis (right)
         a$=sendmodule$(lals,"mona:trq 0,1")
         a$=sendmodule$(lals,"tray:movx 28000"); WaitEvent(20)
         trq_x_right$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for X-axis (left)
         a$=sendmodule$(lals,"mona:trq 0,1")
         a$=sendmodule$(lals,"tray:movx 100"); WaitEvent(20)
         trq_x_left$ = sendmodule$(lals,"mona:trq?")
         a$=sendmodule$(lals,"tray:movx 12000"); WaitEvent(20)

     

        ThetaZero
         a$=sendmodule$(lals,"idn?")
        open _TEMPPATH$+"torque.txt" for append as #33

     

         print #33, "============================================="
         print #33, "             Checking Torque Values"
         print #33, time$()
        print #33, a$[13:len(a$)]
         print #33,"============================================="
        GetMaxAndAverage(trq_theta_cw$)
        if (maxtrq < 20) then
             print #33, "Theta Torque (clockwise) : invalid torque value!"
        else
             print #33, "Theta Torque (clockwise)[30..50]:" , average
        endif
        GetMaxAndAverage(trq_theta_ccw$)
        if (maxtrq < 20) then
             print #33, "Theta Torque (counter-clockwise): invalid torque value!"
        else
             print #33, "Theta Torque (counter-clockwise)[30..50]:" , average
        endif
        GetMaxAndAverage(trq_Z_down$)
        if (maxtrq < 20) then
             print #33, "Z-axis Torque (down): invalid torque value!"
        else
             print #33, "Z-axis Torque (down)[90..130]:", average
        endif
        GetMaxAndAverage(trq_Z_up$)
        if (maxtrq < 20) then
             print #33, "Z-axis Torque (up): invalid torque value!"
        else
             print #33, "Z-axis Torque (up)[90..130]:", average
        endif
        GetMaxAndAverage(trq_x_right$)
        if (maxtrq < 20) then
             print #33, "X-axis Torque (right): invalid torque value!"
        else
             print #33, "X-axis Torque (right)[50..90]:", average
        endif
        GetMaxAndAverage(trq_x_left$)
        if (maxtrq < 20) then
             print #33, "X-axis Torque (left): invalid torque value!"
        else
             print #33, "X-axis Torque (left)[50..90]:", average
        endif
        GetMaxAndAverage(trq_gripper_o$)
        print #33, "Gripper-open Torque [30..65]:", average
        GetMaxAndAverage(trq_gripper_c$)
        print #33, "Gripper-close Torque [max 30]:", average
         print #33, "============================================="
        close #33
        ExecNoWait "NotePad "+_TEMPPATH$+"torque.txt", 1
    endmacro

     

    name GTorque
        parameter VialPos

     

            ReadEventLALS "MyEvent","EI4016"
        ThetaZero
        if ((VialPos < 1) or (VialPos > 220)) then
            VialPos = 0
        else
             a$=sendmodule$(lals,"tray:move "+val$(VialPos)); WaitEvent(20)
        endif
        ! torque measurement for Gripper opening
         a$=sendmodule$(lals,"mona:trq 3,1")
         a$=sendmodule$(lals,"tray:movg 3100"); WaitEvent(20)
         trq_gripper_o$ = sendmodule$(lals,"mona:trq?")

     

        ! torque measurement for Gripper closing
         a$=sendmodule$(lals,"mona:trq 3,1")
         a$=sendmodule$(lals,"tray:movg 2"); WaitEvent(20)
         trq_gripper_c$ = sendmodule$(lals,"mona:trq?")

     

         a$=sendmodule$(lals,"idn?")
        open _TEMPPATH$+"gtorque.txt" for append as #33

     

         print #33, "============================================="
         print #33, "Gripper Torque at Vial Position",VialPos
        print #33, time$()
        print #33, a$[13:len(a$)]
         print #33,"============================================="
        GetMaxAndAverage(trq_gripper_o$)
        if (maxtrq < 20) then
             print #33, "Gripper Torque: invalid torque value! (<20)"
        else
             print #33, "Gripper-open Torque:", average
        endif
        GetMaxAndAverage(trq_gripper_c$)
         print #33, "Gripper-close Torque:", average
         print #33, "============================================="
        close #33
        ExecNoWait "NotePad "+_TEMPPATH$+"gtorque.txt", 1
    endmacro

     

    !*****************************************************************************
    !*****************************************************************************

  • Really appreciate dear friend

    I will do it and let you know the result

    Thank you

Reply Children
No Data
Was this helpful?