Как скопировать входные биты из периферийной области в слово в DB?

Инженерное программное обеспечение
Ответить
Весенний Программист
Дилетант
Сообщения: 15
Зарегистрирован: 09 мар 2019, 00:59

Как скопировать входные биты из периферийной области в слово в DB?

Сообщение Весенний Программист »

TIA portal V16; PLC S7-1200 (CPU 1215C DC/DC/DC).
Требуется скопировать входные биты I0.0 ... I1.7 в блок DB с оптимизированным доступом.
Если в блок DB со стандартным доступом можно использовать для пересылки (MOVE) адресацию IW0 и DB1.DBW0,
то как быть с оптимизированной DB?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Как скопировать входные биты из периферийной области в слово в DB?

Сообщение Михайло »

А что мешает создать тег типа Byte/Word/Dword и применить к нему MOVE IB/IW/ID?

Весенний Программист
Дилетант
Сообщения: 15
Зарегистрирован: 09 мар 2019, 00:59

Re: Как скопировать входные биты из периферийной области в слово в DB?

Сообщение Весенний Программист »

Так и было при использовании DB со стандартным доступом. Если же у DB установить опцию "Optimized block access", то переслать его с использованием абсолютной адресации уже нельзя. Просто завести тег типа Byte/Word/Dword тоже не подходит. Смысл не в самой пересылке, а в том чтобы получить такой же набор битовых тегов как на дискретных входах, для дальнейшей работы с ними в программе. Такая подстановка позволяет отвязаться от железа, модифицировать некоторые входные сигналы нужным образом.
Сам вопрос возник потому, что в руководствах по программированию для TIA расписываются достоинства технологии использования блоков с опцией "Optimized block access", позволяющих организовать символьный доступ к переменным. Всё это красиво, но вот с пересылкой пачки битов в такой блок, как быть? Нигде не нашёл. Можно побитно, но это очень долго... Лучше уж не использовать этот "Optimized block access".


Ответить