1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

C-More как байт разложить на биты.

Модератор: специалисты Weintek

Ответить

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

Добрый день. Контроллер отдает состояние входов словом. Как вытащить биты из слова? Математика там ограничена (+ - / * и mod). Панель из серии EA9

Dmitry_081191
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 21 янв 2017, 07:46
Имя: Лысенко Дмитрий Сергеевич
город/регион: Самара
Благодарил (а): 1 раз
Поблагодарили: 3 раза

C-More как байт разложить на биты.

Сообщение Dmitry_081191 »

Добрый день с панелями данного производителя не работал, но могу подсказать как решал подобные задачи на других панелях оператора, может Вам поможет эта информация.
1. При подключении панели оператора и ПЛК в программе использовал драйвер Modbus Extend,в отличии от простого драйвера modbus в этом драйвере можно считать биты из регистров (слово).
2.Писал скрипт который обрабатывает регистр (слово), пример кода ниже.
if (output & 0x1)
compressor=1;
else
compressor=0;

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

У C-More я пока не нашел признаков на драйвер, хотя выбор протокола имеется. Вроде простейшая задача в программировании, а тут целая проблемища. Понял поизучаю.

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

Нашел на форуме что можно выбирать биты из слова через двоеточие, но пока реализовать не получается.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

C-More как байт разложить на биты.

Сообщение MuadDib »

У C-More что, нет побитовой арифметики? Ни разу не встречал языка программирования, где бы не было побитовых операций. Вам нужна всего лишь побитовая операция "И" (bitwise AND). Варианты обозначения:
  • & (Си и Си-подобные языки)
  • AND (Pascal, ST)
Пример кода привел Dmitry_081191 выше. В качестве константы надо использовать 1, 2, 4, 8, 16 ... (0x1, 0x2, 0x4, 0x8, 0x10 ... - это если в шестнадцатиричной форме)
Аватара пользователя

petr2off
эксперт
эксперт
Сообщения: 1600
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 69 раз
Поблагодарили: 185 раз

C-More как байт разложить на биты.

Сообщение petr2off »

C-More это не язык, это инструмент настройки панели, он может и не иметь языка. Например АРМ-Конограф не имеет никаких средств программирования. Есть Объекты панели и есть связь этого объекта с ТЭГом, и все....
Я на вскидку посмотрел его описания - никаких средств алгоритмизации не увидел.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

C-More как байт разложить на биты.

Сообщение MuadDib »

petr2off писал(а): 25 сен 2018, 09:57 C-More это не язык, это инструмент настройки панели, он может и не иметь языка. Например АРМ-Конограф не имеет никаких средств программирования. Есть Объекты панели и есть связь этого объекта с ТЭГом, и все....
Я на вскидку посмотрел его описания - никаких средств алгоритмизации не увидел.
В ОП сказано:
Vlad9 писал(а): 23 сен 2018, 20:45 Математика там ограничена (+ - / * и mod). Панель из серии EA9
Как это назвать - язык или инструмент - несущественно. Там, где есть + и mod, как правило, есть и bitwise and. Поэтому я и рекомендую внимательно посмотреть документацию на «инструмент»
Аватара пользователя

petr2off
эксперт
эксперт
Сообщения: 1600
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 69 раз
Поблагодарили: 185 раз

C-More как байт разложить на биты.

Сообщение petr2off »

Вовсе не правило. Описанная математика это средства которые позволяет немного масштабировать сигнал. Скриптов там нет. И разница весьма существенная - Инструмент может обладать языком (или несколькими, как например WinCC), а может не обладать.

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

Да скриптами там не пахнет. И четкое разделение тут, если объект привязан к биту например лампочка или кнопка то при выборе тега автоматически включается фильтр который оставляет только дискретные теги.
В InTouche есть прекрасный инструмент, выбор бита тега. Т.е. если надо выбрать бит пишем имя тега, ставим точку, и пишем номер бита. Перебирая зарубежные форумы мне попадалось подобное и для этих панелей если я конечно правильно понял. Только как это работает до конца не понятно, на уровне драйвера обмена получается.
Вот ссылка https://forum.automationdirect.com/foru ... it-of-word
Productivity Suite это среда разработки для контроллера так понимаю? Для контроллера это слово, а для панели это будет обычный дискретный тег.

Dmitry_081191
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 21 янв 2017, 07:46
Имя: Лысенко Дмитрий Сергеевич
город/регион: Самара
Благодарил (а): 1 раз
Поблагодарили: 3 раза

C-More как байт разложить на биты.

Сообщение Dmitry_081191 »

Всех приветствую. Под драйвером имел ввиду коммуникационный протокол. Панель оператора связана с ПЛК по какому протоколу? Если в среде разработки для панели оператора есть протокол modbus extend и если Вас устраивает этот протокол, то можно попробовать по нему связать ПЛК и панель оператора,там биты регистра слово можно считать.

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

Modbus TCP

Отправлено спустя 16 минут 20 секунд:
modbus extend не нашел нашел только Entivity modbus есть в списке

Автор темы
Vlad9
здесь недавно
здесь недавно
Сообщения: 43
Зарегистрирован: 28 дек 2015, 14:40
Имя: Vasikov V V
Благодарил (а): 2 раза

C-More как байт разложить на биты.

Сообщение Vlad9 »

Квест пройден, проблема решена вроде бы. Создаем дискретный тег, выбираем группу адресов либо 3 либо 4, появляется дополнительное поле, с номером бита который надо прочитать. Все. :ges_slap: Всем большое спасибо за участие.
Ответить

Вернуться в «Операторские панели»