RSLogix 500: Moving Timer ACC into Another Timer PRE — figure 1

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер

Програмиране на таймери в RSLogix 500: запаметяване на текущата стойност ACC на работещ таймер и прехвърлянето ѝ към PRE на друг таймер за симулация на ревер...

Емулацията на двупосочно движение в RSLogix 500 често изисква таймер, който да работи за времето, прекарано в движение в обратната посока. Класически пример е симулаторът на гаражна врата: ако фотоокото се задейства след три секунди движение надолу, обратното движение нагоре трябва да продължи три секунди, а не зададените предварително шест секунди. Това изискване не може да бъде изпълнено чрез редактиране на акумулатора на таймера източник. Текущата стойност .ACC се презаписва от инструкцията на таймера при всяко сканиране, докато редът е истина. Надеждният модел е да се улови .ACC в цяло число при еднократен импулс, след което това цяло число да се запише в .PRE на таймера местоназначение, преди да се разреши обратното движение.

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер — фигура 1

Прочетете .ACC, запазете междинно чрез N7, запишете в .PRE — никога не приемайте акумулатора за трайна зададена стойност.

Архитектура на файловете за таймери

Всеки SLC таймер заема три думи: статусови битове (EN/TT/DN), .PRE и .ACC. Времевите бази са 0,01 s, 0,1 s или 1,0 s. При база 0,01 s предварително зададена стойност 600 означава шест секунди. Публикация 1747-6.15 описва подробно поведението на набора от инструкции.

Елемент Роля Записваема зададена стойност?
T4:x.PRE Целеви брой Да — правилната дестинация
T4:x.ACC Изминал брой Няма траен ефект, докато EN е истина
T4:x/TT Квалификатор за време Използвайте за управление на улавянето

Защо MOV към .ACC не работи

Докато EN е истина, инструкцията TON/TOF/RTO актуализира .ACC при всяко сканиране. Въведена от потребителя стойност чрез MOV в .ACC се презаписва при следващото (или дори при същото) сканиране. Повторното зареждане на .ACC също не променя целта за сравнение; инструкцията сравнява .ACC с .PRE. Записването на нова стойност в .PRE и рестартирането от .ACC = 0 е контролираният начин за промяна на продължителността.

Улавяне с ONS, прехвърляне с MOV

Ред за улавяне:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Ред за зареждане на предварително зададена стойност:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Ред за задържане:
XIC Capture_Bit  OTL Preset_Loaded

Стандартен ред (управляван):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Стъпка за изчистване:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 няма да приеме MOV, който използва един и същ елемент на таймера едновременно като източник и местоназначение. Винаги използвайте междинен етап през дума от целочислен файл, например N7:10. Битът за съхранение на ONS запазва заснемането на водещия фронт на лъча, така че задържан вход да не записва предварително зададения параметър при всяко сканиране.

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер — фигура 2

Краен автомат около прехвърлянето

Състояние Условие за влизане Действие
СВОБОДЕН ХОД Включване / и двете завършени Изчистване на еднократните импулси и битовете за посоката
ДВИЖЕНИЕ НАГОРЕ Фронт при движение нагоре Стандартен параметър за движение нагоре, ако не е зареден
ДВИЖЕНИЕ НАДОЛУ Фронт при движение надолу Стандартен параметър за движение надолу
ОБРЪЩАНЕ НА ПОСОКАТА Фронт на лъча при движение надолу Заснемане на ACC → задаване на PRE за движението нагоре, активиране на движението нагоре

Бележки за миграция към Studio 5000

Таймерите в Logix използват същата семантика на .PRE / .ACC с адреси, базирани на тагове. Заснемете стойността в DINT, запишете я в .PRE на обратния таймер и запазете откриването на еднократния фронт чрез ONS или еквивалентен механизъм. Базата знания A-43402 разглежда преместването на натрупани стойности в други тагове в ControlLogix; ролите на елементите съответстват на модела SLC.

Проверки на фронтовете при заснемане на ACC и запис в PRE

Прекъснете лъча в известен изминал момент и потвърдете, че обратният предварително зададен параметър съвпада със заснетия ACC в рамките на един тик на времевата база. Потвърдете, че стандартните предварително зададени параметри се зареждат само когато Preset_Loaded е false. Често срещани грешки са записването в .ACC, пропускането на целочисления етап, заснемането без квалификация /TT и допускането на инициализационна стъпка да презапише .PRE след заснемането. Поддържайте документацията за таймерите съгласувана с другите стандарти за PLC и PAC, когато мигрирате логиката на обучителя към Logix.

За автора

Марк Таунсенд | Старши инженер по автоматизация – системи Allen-Bradley

Марк Таунсенд е старши инженер по автоматизация с над 18 години опит с платформите Allen-Bradley, включително ControlLogix, CompactLogix и наследената SLC-500. Ежедневната му работа включва логика в RSLogix / Studio 5000 и пускане в експлоатация на HMI системи FactoryTalk View при остарели и смесени инсталации.

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер

Програмиране на таймери в RSLogix 500: запаметяване на текущата стойност ACC на работещ таймер и прехвърлянето ѝ към PRE на друг таймер за симулация на реверсивна врата с предпазен лъч.

Емулацията на двупосочно движение в RSLogix 500 често изисква таймер, който да работи за времето, прекарано в движение в обратната посока. Класически пример е симулаторът на гаражна врата: ако фотоокото се задейства след три секунди движение надолу, обратното движение нагоре трябва да продължи три секунди, а не зададените предварително шест секунди. Това изискване не може да бъде изпълнено чрез редактиране на акумулатора на таймера източник. Текущата стойност .ACC се презаписва от инструкцията на таймера при всяко сканиране, докато редът е истина. Надеждният модел е да се улови .ACC в цяло число при еднократен импулс, след което това цяло число да се запише в .PRE на таймера местоназначение, преди да се разреши обратното движение.

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер — фигура 1

Прочетете .ACC, запазете междинно чрез N7, запишете в .PRE — никога не приемайте акумулатора за трайна зададена стойност.

Архитектура на файловете за таймери

Всеки SLC таймер заема три думи: статусови битове (EN/TT/DN), .PRE и .ACC. Времевите бази са 0,01 s, 0,1 s или 1,0 s. При база 0,01 s предварително зададена стойност 600 означава шест секунди. Публикация 1747-6.15 описва подробно поведението на набора от инструкции.

Елемент Роля Записваема зададена стойност?
T4:x.PRE Целеви брой Да — правилната дестинация
T4:x.ACC Изминал брой Няма траен ефект, докато EN е истина
T4:x/TT Квалификатор за време Използвайте за управление на улавянето

Защо MOV към .ACC не работи

Докато EN е истина, инструкцията TON/TOF/RTO актуализира .ACC при всяко сканиране. Въведена от потребителя стойност чрез MOV в .ACC се презаписва при следващото (или дори при същото) сканиране. Повторното зареждане на .ACC също не променя целта за сравнение; инструкцията сравнява .ACC с .PRE. Записването на нова стойност в .PRE и рестартирането от .ACC = 0 е контролираният начин за промяна на продължителността.

Улавяне с ONS, прехвърляне с MOV

Ред за улавяне:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Ред за зареждане на предварително зададена стойност:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Ред за задържане:
XIC Capture_Bit  OTL Preset_Loaded

Стандартен ред (управляван):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Стъпка за изчистване:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 няма да приеме MOV, който използва един и същ елемент на таймера едновременно като източник и местоназначение. Винаги използвайте междинен етап през дума от целочислен файл, например N7:10. Битът за съхранение на ONS запазва заснемането на водещия фронт на лъча, така че задържан вход да не записва предварително зададения параметър при всяко сканиране.

RSLogix 500: Преместване на ACC на таймер в PRE на друг таймер — фигура 2

Краен автомат около прехвърлянето

Състояние Условие за влизане Действие
СВОБОДЕН ХОД Включване / и двете завършени Изчистване на еднократните импулси и битовете за посоката
ДВИЖЕНИЕ НАГОРЕ Фронт при движение нагоре Стандартен параметър за движение нагоре, ако не е зареден
ДВИЖЕНИЕ НАДОЛУ Фронт при движение надолу Стандартен параметър за движение надолу
ОБРЪЩАНЕ НА ПОСОКАТА Фронт на лъча при движение надолу Заснемане на ACC → задаване на PRE за движението нагоре, активиране на движението нагоре

Бележки за миграция към Studio 5000

Таймерите в Logix използват същата семантика на .PRE / .ACC с адреси, базирани на тагове. Заснемете стойността в DINT, запишете я в .PRE на обратния таймер и запазете откриването на еднократния фронт чрез ONS или еквивалентен механизъм. Базата знания A-43402 разглежда преместването на натрупани стойности в други тагове в ControlLogix; ролите на елементите съответстват на модела SLC.

Проверки на фронтовете при заснемане на ACC и запис в PRE

Прекъснете лъча в известен изминал момент и потвърдете, че обратният предварително зададен параметър съвпада със заснетия ACC в рамките на един тик на времевата база. Потвърдете, че стандартните предварително зададени параметри се зареждат само когато Preset_Loaded е false. Често срещани грешки са записването в .ACC, пропускането на целочисления етап, заснемането без квалификация /TT и допускането на инициализационна стъпка да презапише .PRE след заснемането. Поддържайте документацията за таймерите съгласувана с другите стандарти за PLC и PAC, когато мигрирате логиката на обучителя към Logix.

За автора

Марк Таунсенд | Старши инженер по автоматизация – системи Allen-Bradley

Марк Таунсенд е старши инженер по автоматизация с над 18 години опит с платформите Allen-Bradley, включително ControlLogix, CompactLogix и наследената SLC-500. Ежедневната му работа включва логика в RSLogix / Studio 5000 и пускане в експлоатация на HMI системи FactoryTalk View при остарели и смесени инсталации.

Оставяне на коментар

Имайте предвид, че коментарите трябва да бъдат одобрени, преди да се публикуват.