Задача отображать ряд значений с контролера, в контролере все размещено в групах регистров пр. по 50 регистров в блоках
-- 1-й тип регистров в блоках - int, (адреса вида 40ххххх) читаю без проблем, отображаеться все ок, вопросов два
как читать блок регистров, а не каждий регистр поотдельно, на сегодня прописано каждому регистру - тег, тегу адресс в контролере и тд.
-- 2-й тип регистров в блоках - тоже регистр int, (адреса вида 40ххххх), но в регистре в 16 байтах прописано дискретние сигнали в каждом из 16 бит регистра. Т.е. в регистре вмещаеться 16 дискр. сигналов, которие мне нужно в citectе получить побитно, читая регистр целиком.
мануал курил, решения не нашол.
Спасибо за помощь.
[?]: Citect и адреса 4xxxx в PLC (Шнайдер)
-
- Posts: 2
- Joined: Thu Feb 21, 2008 9:44 am
- Location: Ukraine
-
- Posts: 392
- Joined: Fri Dec 18, 2009 3:02 pm
- Location: Киев
Re: [?]: Citect и адреса 4xxxx в PLC (Шнайдер)
В Citect это просто решается. Пишите Cicode функцию, которая распаковывает биты из 16-разраядного слова. Прописываете Event, который будет вызывать этуф функцию периодично с заданым интервалом и записывать распакованые биты во внутренние биты.
-
- Posts: 2
- Joined: Thu Feb 21, 2008 9:44 am
- Location: Ukraine
Re: [?]: Citect и адреса 4xxxx в PLC (Шнайдер)
Обошолся графикой, в графике прописал сравнение (команда Bitand) побитного регистра с маской, все ок.pupena_san wrote:В Citect это просто решается. Пишите Cicode функцию, которая распаковывает биты из 16-разраядного слова. Прописываете Event, который будет вызывать этуф функцию периодично с заданым интервалом и записывать распакованые биты во внутренние биты.
С чтением групы регистров и реализация чтения в заданные промежутки времени пока не получаеться