Наложение маски

Вопросы, не попадающие в другие разделы.

Наложение маски

Сообщение Mihali4 » Чт дек 13, 2018 2:44 pm

Добрый день. Подскажите как из побитно разобрать переменную int? попытка просто дописать .ХХ успеха не принесла (чтение данных идет через MBTCP)
Mihali4
 
Сообщения: 32
Зарегистрирован: Сб июл 29, 2017 1:44 pm

Re: Наложение маски

Сообщение NewOrdered » Чт дек 13, 2018 3:09 pm

Разобрать чтобы использовать значение отдельного бита - только так как вы сказали, дотфидами вида IntegerTag.01. Странно, что у вас не заработало.
Для контроля можно попробовать вывести IntegerTag на экран с форматированием Binary.
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: Наложение маски

Сообщение Mihali4 » Чт дек 13, 2018 3:36 pm

Возможно я ошибаюсь в мелочах.Попробую описать подробнее. Есть контроллер Шнайдер, через MBTCP получаю данные. В ПЛК есть переменная с адресом MW10 типа int, заполнение идет побитное. В Интаче создал переменную типа I/O Int с адресом 40010. Значение переменных типа Int в ПЛК и Интаче совпадают проблем нет. Теперь для получения битовых значений создаю новые тэги в Интаче, с адресом 40010.00 и так до 40010.15, переменные типа I/O Discrete. ии битовые переменные не работают
Mihali4
 
Сообщения: 32
Зарегистрирован: Сб июл 29, 2017 1:44 pm

Re: Наложение маски

Сообщение NewOrdered » Чт дек 13, 2018 3:46 pm

Mihali4 писал(а):Возможно я ошибаюсь в мелочах.Попробую описать подробнее. Есть контроллер Шнайдер, через MBTCP получаю данные. В ПЛК есть переменная с адресом MW10 типа int, заполнение идет побитное. В Интаче создал переменную типа I/O Int с адресом 40010. Значение переменных типа Int в ПЛК и Интаче совпадают проблем нет. Теперь для получения битовых значений создаю новые тэги в Интаче, с адресом 40010.00 и так до 40010.15, переменные типа I/O Discrete. ии битовые переменные не работают


Вам не нужны новые дискретные I/O тэги. Обращайтесь к самой integer-переменной, как я указал выше: IntegerTag.01, IntegerTag.02 и т.д.
К тому же ЕМНИП битовые регистры MODBUS вообще в другой области памяти ПЛК находятся.
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: Наложение маски

Сообщение NewOrdered » Чт дек 13, 2018 3:51 pm

Mihali4 писал(а):Возможно я ошибаюсь в мелочах.Попробую описать подробнее. Есть контроллер Шнайдер, через MBTCP получаю данные. В ПЛК есть переменная с адресом MW10 типа int, заполнение идет побитное. В Интаче создал переменную типа I/O Int с адресом 40010. Значение переменных типа Int в ПЛК и Интаче совпадают проблем нет. Теперь для получения битовых значений создаю новые тэги в Интаче, с адресом 40010.00 и так до 40010.15, переменные типа I/O Discrete. ии битовые переменные не работают


Вроде как адресация битовых регистров начинается с 3, да и формат адреса должен быть через знак ":", например, 300303:1
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: Наложение маски

Сообщение Mihali4 » Чт дек 13, 2018 4:05 pm

засада, а как быть с алармами?
Mihali4
 
Сообщения: 32
Зарегистрирован: Сб июл 29, 2017 1:44 pm

Re: Наложение маски

Сообщение NewOrdered » Чт дек 13, 2018 4:13 pm

Mihali4 писал(а):засада, а как быть с алармами?

Ну разве что средствами интача. Скриптами проверять значение вашего int тэга (Scripts > Data Change) и выставлять значения дополнительных memory discrete тэгов аварийных сообщений.
Можно, конечно, еще попробовать настроить аварийные пределы integer тэга, но там будет не очень гибко.
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: Наложение маски

Сообщение NewOrdered » Чт дек 13, 2018 4:17 pm

Mihali4 писал(а):засада, а как быть с алармами?


Третий вариант - править программу ПЛК, тогда все будет по-человечески.
NewOrdered
 
Сообщения: 232
Зарегистрирован: Пн ноя 15, 2010 7:48 am
Откуда: Kaliningrad

Re: Наложение маски

Сообщение Mihali4 » Чт дек 13, 2018 4:23 pm

NewOrdered писал(а):
Mihali4 писал(а):засада, а как быть с алармами?


Третий вариант - править программу ПЛК, тогда все будет по-человечески.
Это самый первый и правильный вариант... :cry: спасибо за помощь
Mihali4
 
Сообщения: 32
Зарегистрирован: Сб июл 29, 2017 1:44 pm


Вернуться в Другое

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

cron