)
S M_goOn //то есть машина движится внутри
--LD M_doorClose
R M_green1
R M_green2
S M_red1
S M_red2
R M_shlak
--LD 1
SR2 //процедура передачи выходные сигнал в Slave
Часть 3, отвечающая за выезд автомобиля.
SR0:
LD 1
R M_green1
R M_shlak
--LD [M_PULSE.V<=10]
S M_red1
LD [M_PULSE.V<=10]
ANDN M_sen2
S M_red2
R M_green2
LD [M_PULSE.V<=10]
AND M_sen2
R M_red2
S M_green2
--LD [M_PULSE.V>10]
R M_red1
R M_red2
LD [M_PULSE.V>10]
ANDN M_sen2
R M_green2
LD [M_PULSE.V>10]
AND M_sen2
S M_green2
--LD M_OUTf
AND M_sen0
ST M_OUT
R M_OUTf
R M_goOn
RET
--Часть 4, отвечающая за въезд автомобиля.
SR1:
LD 1
R M_green2
LD [M_PULSE.V<=10]
ST M_red2
LD M_sen0
S M_INPR
LD M_sen1
R M_INPR
--LD M_INPR
R M_green1
R M_shlak
LD M_INPR
AND [M_PULSE.V<=10]
S M_red1
--LD M_INPR
AND [M_PULSE.V>10]
R M_red1
LDN M_INPR
S M_green1
R M_red1
LD M_sen1
--ST M_IN
R M_INf
R M_goON
RET
--5. Часть5 Передача выходные сигналы в Slave
SR2:
LD M_shlak
[%MW36:=16#0001]
LD M_green1
[%MW37:=16#0001]
LD M_red1
[%MW38:=16#0001]
LD M_green2
[%MW39:=16#0001]
LD M_red2
[%MW40:=16#0001]
LD M_full
[%MW41:=16#0001]
LD 1
[%MW42:=%MW0]
--LD 1
[%MW30:=16#0116] //01-код приема/передачи; 16 – 22 байтов запроса (от MW%32 до %MW42)
[%MW31:=16#0000] //00 –нет полученных данных
[%MW32:=16#0110] //01 –адресс Slave; 10 –код функции 16 (записать многие слов)
[%MW33:=16#0020] //адресс начального слова в Slave,куда записать, %MW32
[%MW34:=16#0007] //количество слов 7
[%MW35:=16#000E] //количество байтов 14
--LD %MSG3.D
[EXCH3 %MW30:25]
--LD 1
[%MW36:=0]
[%MW37:=0]
[%MW38:=0]
[%MW39:=0]
[%MW40:=0]
[%MW41:=0]
RET
Код программыв Slave (обновлениевыходных сигналов)
LD [%MW32=16#0001]
ST S_shlak
LD [%MW33=16#0001]
ST S_green1
LD [%MW34=16#0001]
ST S_red1
LD [%MW35:=16#0001]
ST S_green2
LD [%MW36=16#0001]
ST M_red2
LD [%MW37=16#0001]
ST S_full
LD 1
[S_amount:=%MW38]
В ходе задачи «Автостоянка» мы познакомились языком IL, поработали с операторской панелью. Также в ходе работы я выяснил, что если входной переменной присвоен адрес, то управлять такой переменной можно только с контроллера, но не с операторской панели. Поэтому на начальных стадиях отладки рекомендую не назначать адреса, чтобы можно было быстро управлять программой с операторской панели. Назначить адреса можно в самом конце, перед загрузкой программы в контроллер.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.