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

отображение переменной WORD в Citect

Citect, VijeoCItect, PlantSCADA, GeoSCADA, ClearSCADA, Machine Expert SCADA

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

Ответить

Автор темы
chimic
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 20 дек 2010, 12:59
Имя: Евгений
Страна: Россия
город/регион: Москва

отображение переменной WORD в Citect

Сообщение chimic »

Здравствуйте!
Подскажите пожалуйста почему по имени Citect переменную типа WORD отображает правильно, а по адресу непонятно что?
А проблема такая: Из Юнити закидываем переменную типа word в Сайтект. В сайтекте пытаемся обработать изменение цвета во вкладке "Заполнение" средством "Массив". Так вот когда переменную заводим по имени, то все изюмительно. НО есть необходимость отвязаться от имени. А вот каким образом теперь разобрать переменную WORD в Сайтекте, чтобы значениями этой переменной заполнить значения массива.
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: отображение переменной WORD в Citect

Сообщение san »

Уточните, что значит по "имени" и по адрессу? Переменная WORD, это в Сайтекте или в ЮНИТИ?

Автор темы
chimic
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 20 дек 2010, 12:59
Имя: Евгений
Страна: Россия
город/регион: Москва

Re: отображение переменной WORD в Citect

Сообщение chimic »

переменная "Test" (WORD) %mw20: Test - это имя, (WORD) - это тип, %mw20 - это адрес (Это в Unity). В Сайтекте адрес %mw20 будет = 400020, при чем переменная из WORD превращается в INT.
Как то так.
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: отображение переменной WORD в Citect

Сообщение san »

В зависимости от того какой драйвер используется (MODBUSов в Сайтекте много) и к какому ПЛК идет обращение (М340, Quantum, Premium), могут быть отличия. Так 400020 может быть переменной как %MW20 так и %MW19. А если Вы пользовались Communication Setup Wizard, то нужно было выбрать конкретный девайс в списке драйверов, и тогда адресс вобще можно было б задавать как %MW20.
В настоящий момент в Юнити %MW - это область памяти а не переменная, если к ней обращаться в Юнити по адресу а не по имени локализированной перемнной, то по умолчанию она интерпретируется как INT.
Если нужно в Сайтекте интерпретировать эту область как UINT, укажите это в теге Сайтекта.

Автор темы
chimic
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 20 дек 2010, 12:59
Имя: Евгений
Страна: Россия
город/регион: Москва

Re: отображение переменной WORD в Citect

Сообщение chimic »

Все правильно Вы сказали, полностью согласен. Только при использовании Quantum по Modbus/TCPIP Сайтект не дает присваивать переменным адрес через %, он их сам же переделывает в числовой формат.
А можно вот здесь
san писал(а):Так 400020 может быть переменной как %MW20 так и %MW19.
поподробнее. Если можно, то вот на таком примере: имеем переменную типа WORD (16 bit), пусть ее адрес в Юнити будет %mw20. Каким образом переменная с адресом %mw19 в Юнити может обратиться к 400020 в Сайтект?
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: отображение переменной WORD в Citect

Сообщение san »

Первая переменная в модели Модбас и в Квантум (концептовский) 400001. То-есть переменная %MW0 это 400001. Почитайте документацию по конкртеному драйверу к Сайтекту.
Кстати, я не знаю как сейчас реализована модель адресации в Квантуме, так как там появились адресса типа %I и %Q, а раньше были 0х, 1х, 3х, 4х. Наверное %QW и %MW (Holding Registers - 4x) перекрываются. М340 и Премиумы знаем, там к входам/выходам через Модбас прямой дороги нет, вся доступная по Модбас память распределяется между %M и MW, а вот в Квантумах - могут быть еще какие-то нюансы.

Автор темы
chimic
здесь недавно
здесь недавно
Сообщения: 67
Зарегистрирован: 20 дек 2010, 12:59
Имя: Евгений
Страна: Россия
город/регион: Москва

Re: отображение переменной WORD в Citect

Сообщение chimic »

Я понял к чему Вы клоните. К началу отсчета с 0 или с 1. Великий русский язык.
san писал(а):Так 400020 может быть переменной как %MW20 так и %MW19.
Это я понял так, что переменной 400020 можно присвоить либо значение %mw19, либо %mw20. Нет в Квантуме отсчет начинается с 1, поэтому %mw20 = 400020.
Ответить

Вернуться в «SCADA»