S7-200 CPU222 КАК РАБОТАТЬ С HSC ?
Как установить новое значение высокоскоростного счетчика HSC0 в процессе работы, и где его инициализировать новым значением, в основной программе, в подпрограмме, или в прерывании которое происходит при достижении установленного значения ?
Сначала все работает нормально, но как только пытаюсь задать новое значение, счетчик перестает работать, нужно ли после загрузки нового значения в счетчик, снова привязывать прерывания событию ATCH INT_0:INT0, 12 или не нужно ?
MAIN
LD SM0.1
MOVB 16#F8, SMB37
MOVD +0, SMD38
MOVD VD0, SMD42
HDEF 0, 0
//CALL SBR_0:SBR0
ATCH INT_0:INT0, 12
ENI
//HSC 0
Этот код работает нормально
SBR0
LD SM0.0
AN M0.5
MOVD 0, SMD38
HSC 0
S Q0.2, 1
CRET
Этот код не работает как только устанавливается бит M0.5 значит данные в VD0 изменились, и их нужно загрузить, и работать дальше.
LD SM0.0
A M0.5
MOVD 0, SMD38
MOVB 16#A0, SMB37
MOVD VD0, SMD42
HSC 0
S Q0.2, 1
S M0.6, 1
CRET
INT0
LD SM0.0
R Q0.2, 1
CRETI
|