Page 1 of 1
[?+]: Растолкуйте мне нетворк на STL
Posted: Wed Jul 06, 2011 12:10 pm
by a_gricaj
Вот есть нетворк на STL.
Я никак не вкурю что здесь делается?
Помогите плз!
Re: [?]: Растолкуйте мне нетворк на STL
Posted: Wed Jul 06, 2011 1:13 pm
by CoMod
А не пробовал разложить на элементарные составляющие ?
или в LAD
Re: [?]: Растолкуйте мне нетворк на STL
Posted: Wed Jul 06, 2011 4:16 pm
by a_gricaj
В мануале по STL прочитал, что "А" это логичекое "И", а "=" присвоение.
То если взять первую строчку и в DB7.dbx6.4 , будет "1" то и в Q2.0 будет "1"??
Re: [?]: Растолкуйте мне нетворк на STL
Posted: Wed Jul 06, 2011 4:23 pm
by Vovan
Аллилуйя!
Именно так. Это банальное присвоение состояния битов DB7 дискретным выходам. Только улыбнула конструкция с триггерами (работоспособно, но через джоппо).
Re: [?]: Растолкуйте мне нетворк на STL
Posted: Wed Jul 06, 2011 4:39 pm
by a_gricaj
СПС
Но, интерестно тогда, почему через джоппо).
Re: [?]: Растолкуйте мне нетворк на STL
Posted: Fri Nov 25, 2011 1:45 pm
by ALEXZ
a_gricaj wrote:СПС
Но, интерестно тогда, почему через джоппо).
Потому что
Эквивалентно
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Wed Apr 17, 2013 11:02 am
by AlexandrNK
День добрый всем!
Нужна помощь сведущих в STL.
Есть фрагмент программы для обмена с приводом Micromaster.
собственно сам текст STL:
\\convert adress
Code: Select all
L #I_O_Adress \\загружаем входную переменную в АСС1 (переменная формата INT)
SLD 3
T #Adress_tmp \\ пересылаем результат сдвига во временную переменную
здесь вроде все ясно, кроме того зачем используется сдвиг. Так же не понял пока зачем вообще конвертировать адрес
далее:
\\receive PZD from MM4xx
Code: Select all
L PID[#Adress_tmp] \\загрузка в АСС1 DW из периферии по адресу [#Adress_tmp]
T LD 8 \\статусное слово+действительная частота
последняя команда для меня загадка.
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Thu Apr 18, 2013 3:12 am
by almaz78
AlexandrNK
здесь данные передаются через индерект адрес, с исползованием 32 битного поинтера.
в структуре 32битного поинтера в трех первих битах передается номер бита, с третьего по восемнадцатый бит -ето баит адрес.
так как вы читаете dword, 3 первих бита ==0. поетому sld 3
последняя строка---> передать содержимое аккумулятора 1 в локал дата dword 8
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Thu Apr 18, 2013 12:31 pm
by AlexandrNK
Спасибо за подсказку. Полистал документацию и более детально рассмотрел.
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Wed Jun 12, 2013 2:43 pm
by alexvp
День добрый всем!
Нужна помощь сведующих в STL. Написано на STEP5 - в STEP7 преобразовало также.
STEP5
Code: Select all
T DW 244
L KF12
<=F
JC M010
S F 46.0
R F 40.0
C DB 8
L KF 1
T DW 244
M010:
A F 43.3
STEP7
Code: Select all
T DBW 488
L 12
<=I
JC M010
S M 46.0
R M 40.0
OPN DB 8
L 1
T DBW 488
M010: NOP 0
A M 43.3
непонятно установка
S M46.0 после команды JC - если правильно понимаю
при RLO=1, будет переход,
при RLO=0 перехода не будет, но и бит 46.0 не установится.
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Wed Jun 12, 2013 8:08 pm
by Rex2701
RLO копировалось, если бы было записано
= M 46.0
А "S" устанавливает бит в любом случае.
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Thu Jun 13, 2013 10:19 am
by alexvp
Спасибо что ответили.
Разобрался. В документации нашел 4 команды перехода которые записывают в RLO 1.
Rex2701 wrote:
А "S" устанавливает бит в любом случае.
Только при RLO=1, но в данном случае при использовании команды JC - полностью с вами согласен.
Re: [?+]: Растолкуйте мне нетворк на STL
Posted: Sun Jun 16, 2013 3:39 pm
by Rex2701
Дело в том, что команда сравнения изменит RLO в зависимости от результата сравнения, а команда условного перехода отработает в зависимости от состояния RLO, НО! после себя JC обязательно выставит RLO=1, иначе ни true, ни false ветки перехода не смогли бы выполниться.
Поэтому S M46.0 будет выполнен так же успешно, как и NOP 0.