Rockwell-automation 57C411 Resolver Input Module Instrukcja Użytkownika Strona 28

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
Przeglądanie stron 27
4Ć10
4000 !
4001 ! The following statement enables common clock from this module.
4002 ! If there is more than one interrupt task in a chassis, the task
4003 ! that enables common clock should always be the lowest priority
4004 ! task.
4005 !
4010 CCLK_EN@ = TRUE \!Common clock enable
5000 !
5001 ! Place additional initialization software here
5002 !
6000 !
6001 ! The next statement synchronizes the task with the external
6002 ! event via the interrupt. Task execution will be suspended
6003 ! until the interrupt occurs. If this task is the highest
6004 ! priority task waiting to execute at the time of the
6005 ! interrupt, it will become active. If it is not the
6006 ! highest priority task, it will remain suspended until
6007 ! all higher priority tasks have executed, at which point
6008 ! it will become active.
6009 !
6010 CALL SCAN_LOOP(TICKS=9, EVENT=RESOLVER_EVENT)
7000 !
7001 ! The next statements perform the interrupt service routine
7002 !
7010 CALL PULSE_MULT(INPUT= RESOLVER_IN%, MULTIPLIER=16385, &
OUTPUT= RESOLVER_VALUE%)
10000 END
4.6 Using the External Strobe Input
At the time of the external event, the resolver position is transferred to
register 1, where it will remain until the next event occurs. If your
application software is reading the resolver position at a periodic rate
(register 0), the difference between register 0 and register 1
represents the amount of travel from the time that the event occurred
until the current scan of the application software. A typical application
would be detecting the leading edge of an object moving on a
conveyor.
The data captured by the strobe input will be as accurate as the
external device driving the input. Note that when a strobe input has
occurred, you must reset the input so that another one can occur.
This is accomplished by writing a 1" to bit 12 of register 3.
The following is an example of a control block task that handles the
strobe input from the input module defined in section 4.4.
1000 COMMON RESOLVER_IN% \!Resolver data
1001 COMMON RESOLVER_IN_EXT% \!Strobe resolver data
1005 COMMON ISCR% \!Interrupt statusă& control
1010 COMMON CCLK_EN@ \!Common clock enable
1020 COMMON UPDATE_TIME% \!Resolver conversion time
1030 COMMON STROBE_STATUS@ \!Strobe status
1040 COMMON STROBE_ACK@ \!Strobe acknowledge
1200 LOCAL RESOLVER_VALUE% \!Resolver value
1210 LOCAL STROBE_RESET@ \!Strobe state
1220 LOCAL PERIOD_DISTANCE% \!Resolver travel scan/scan
1230 LOCAL EVENT_DISTANCE% \!Resolver travel from event to scan
2000 !
2001 ! Define the conversion parameters
2002 !
2010 UPDATE_TIME% = 100 \!Convert every 50 milliseconds
3010 EVENT NAME=RESOLVER_EVENT,INTERRUPT_STATUS=ISCR%, &
ąąTIMEOUT=12
4010 CCLK_EN@ = TRUE \!Common clock enable
6008 !
6010 CALL SCAN_LOOP( TICKS=9, EVENT=RESOLVER_EVENT)
7000 !
7001 ! The next statements catch the occurence
7002 ! of the strobe and reset it.
7003 !
7010 CALL TRANSITION ( INPUT= STROBE_STATUS @, &
OUTPUT=STROBE_RESET@)
7020 STROBE_ACK@= NOT STROBE_RESET@
Przeglądanie stron 27
1 2 ... 23 24 25 26 27 28 29 30 31 32 33 ... 45 46

Komentarze do niniejszej Instrukcji

Brak uwag