Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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

SCADA, серверы, АРМ верхнего уровня, диспетчерские

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

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

Сообщение chimic » 30 июн 2011, 13:23

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

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение san » 30 июн 2011, 14:08

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


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

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

Сообщение chimic » 01 июл 2011, 07:01

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

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение san » 01 июл 2011, 14:16

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


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

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

Сообщение chimic » 01 июл 2011, 14:58

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

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение san » 01 июл 2011, 15:08

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


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

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

Сообщение chimic » 04 июл 2011, 13:13

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


Вернуться в «Верхний уровень автоматизации»



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

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