доброва времени суток.помогите пожалуста нюбьчику.
третий день работую с S5 вот вопрос:
есть функция FB201 что происходит в строках 025/26/27 ?
операнд :DO =DBQU просто вызывает блок описанный в =DBQU (DB100) или
надо расматривать последуюшие операнды тоже.
проверить на мокрую возможности нет.
заранее блогодарен.
(есчо вопрос что курил афтор?)
-------------------------------------------------------------------------------
F 10.0 = F10.0 alarm reset
F 0.0 = F0.0 VKE = 0
F 66.0 = F66.0 alarm reset flag lubrication
DB 100 = DB100 timer / counter value data block
!
! -FB201
! +--------------+
! ! QUITTIER !
! +25 --!NR IMQU!-- -F66.0
! -DB100 --!DBQU !
! 1,0 --!QU_B !
! -F10.0 --!QUP1 !
! -F0.0 --!QUP2 !
! +---------------+
Name :QUITTIER
Decl :NR I/Q/D/B/T/C: D KM/KH/KY/KS/KF/KT/KC/KG: KF
Decl :DBQU I/Q/D/B/T/C: B
Decl :QU_B I/Q/D/B/T/C: D KM/KH/KY/KS/KF/KT/KC/KG: KY
Decl :QUP1 I/Q/D/B/T/C: I BI/BY/W/D: BI
Decl :QUP2 I/Q/D/B/T/C: I BI/BY/W/D: BI
Decl :IMQU I/Q/D/B/T/C: Q BI/BY/W/D: BI
:LW =NR
:C -DB202 castomat data block
:T DW 0
:C -DB203 castomat data block
:T DW 0
:C -DB202 castomat data block
:DO DW 0
:L DW 0
:T FW 222
:
:C -DB203 castomat data block
:DO DW 0
:L DW 0
:T FW 228
0025 :DO =DBQU
0026 :LW =QU_B
0027 :T FW 252
:L KF +1
:T FW 242
:L KB 0
:T FY 254
M002 :L FY 254
:L FY 253
:!=F
:JC =M001
:L FY 254
:ADD BN +1
:T FY 254
:L FW 242
:SLW 1
:T FW 242
:JU =M002
M001 :L FY 252
:T DW 0
:DO DW 0
:L DW 0
:L FW 242
:AW
:T FW 240
:L FW 240
:L FW 242
:!=F
:JC =M003
:R F 228.5
:JU =M004
M003 :A F 228.5
:JC =M004
:S F 228.5
:JC =M005
M004 :A =QUP1
:JC =M006
:R F 228.4
:JU =M007
M006 :A F 228.4
:JC =M007
:S F 228.4
:JU =M005
M007 :A =QUP2
:JC =M008
:R F 228.3
:JU =M009
M008 :A F 228.3
:JC =M009
:S F 228.3
M005 := =IMQU
:JU =M010
M009 :RB =IMQU
:A F 222.2
:S =IMQU
M010 :C -DB202 castomat data block
:L FW 222
:DO DW 0
:T DW 0
:C -DB203 castomat data block
:L FW 228
:DO DW 0
:T DW 0
:BE
[?]: нужна помощь с S5
Я не совсем понимаю процесс, но может быть DB100 располагается в индексном регистре DW 0 ?
Пример: ("Обработка слова данных")
Содержимое слов данных с DW20 по DW100 устанавливается в состояние "0". Индексный регистр
для параметров слов данных - DW1.
:L KF 20 Установка индексного регистра
:T DW 1
M001 :L KF 0 Сброс
:B DW 1
:T DW 0 Инкремент индексного регистра
:L DW 1
:L KF 1
:+ F
:T DW 1
:L KF 100
:<= F
:SPB = M001 Переход, если индекс в пределах
Пример: ("Обработка слова данных")
Содержимое слов данных с DW20 по DW100 устанавливается в состояние "0". Индексный регистр
для параметров слов данных - DW1.
:L KF 20 Установка индексного регистра
:T DW 1
M001 :L KF 0 Сброс
:B DW 1
:T DW 0 Инкремент индексного регистра
:L DW 1
:L KF 1
:+ F
:T DW 1
:L KF 100
:<= F
:SPB = M001 Переход, если индекс в пределах
Нiички
искал теперь нелп на операто "В" из твоего примера ненашол:)
:B DW 1
:T DW 0 Инкремент индексного регистра
:L DW 1
но если он работает также как "DO" то издесь всё ясно
я всётаки скланяюсь кмнению что вмоем случае "DO" просто вызывает блок DB100 но проверить никак немагу,рлсишки нету,а ошибится неимею права :)
спс.
искал теперь нелп на операто "В" из твоего примера ненашол:)
:B DW 1
:T DW 0 Инкремент индексного регистра
:L DW 1
но если он работает также как "DO" то издесь всё ясно
я всётаки скланяюсь кмнению что вмоем случае "DO" просто вызывает блок DB100 но проверить никак немагу,рлсишки нету,а ошибится неимею права :)
спс.
RomanR wrote:Нiички
искал теперь нелп на операто "В" из твоего примера ненашол:)
:B DW 1
:T DW 0 Инкремент индексного регистра
:L DW 1
Code: Select all
AWL Пояснения
ИМЯ LOESCH М
L KF+0
Т МW 200 В слово маркеров 200 записывается “0”
М010 L KF+0 В AKKU1 записывается слово “0”
В МW 200 Содержимое MW200 указывает на адрес текущего слова маркеров.
Т МW0 Текущее слово маркеров устанавливается
L МW 200 в “0”
Т МW 200 Содержимое MW200 увеличивается на 1
L KF+100 Значение для сравнения “100” загружается в аккумулятор
<F AKKU1
SPB =М010 Пока содержимое MW200<100. переходить к метке М010
BE Байты МВ0…99 установлены в «0».