Здравствуйте!
Подскажите пожалуйста почему по имени Citect переменную типа WORD отображает правильно, а по адресу непонятно что?
А проблема такая: Из Юнити закидываем переменную типа word в Сайтект. В сайтекте пытаемся обработать изменение цвета во вкладке "Заполнение" средством "Массив". Так вот когда переменную заводим по имени, то все изюмительно. НО есть необходимость отвязаться от имени. А вот каким образом теперь разобрать переменную WORD в Сайтекте, чтобы значениями этой переменной заполнить значения массива.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
отображение переменной WORD в Citect
Модератор: Специалисты SE
-
- здесь недавно
- Сообщения: 67
- Зарегистрирован: 20 дек 2010, 12:59
- Имя: Евгений
- Страна: Россия
- город/регион: Москва
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: отображение переменной WORD в Citect
Уточните, что значит по "имени" и по адрессу? Переменная WORD, это в Сайтекте или в ЮНИТИ?
-
- здесь недавно
- Сообщения: 67
- Зарегистрирован: 20 дек 2010, 12:59
- Имя: Евгений
- Страна: Россия
- город/регион: Москва
Re: отображение переменной WORD в Citect
переменная "Test" (WORD) %mw20: Test - это имя, (WORD) - это тип, %mw20 - это адрес (Это в Unity). В Сайтекте адрес %mw20 будет = 400020, при чем переменная из WORD превращается в INT.
Как то так.
Как то так.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: отображение переменной WORD в Citect
В зависимости от того какой драйвер используется (MODBUSов в Сайтекте много) и к какому ПЛК идет обращение (М340, Quantum, Premium), могут быть отличия. Так 400020 может быть переменной как %MW20 так и %MW19. А если Вы пользовались Communication Setup Wizard, то нужно было выбрать конкретный девайс в списке драйверов, и тогда адресс вобще можно было б задавать как %MW20.
В настоящий момент в Юнити %MW - это область памяти а не переменная, если к ней обращаться в Юнити по адресу а не по имени локализированной перемнной, то по умолчанию она интерпретируется как INT.
Если нужно в Сайтекте интерпретировать эту область как UINT, укажите это в теге Сайтекта.
В настоящий момент в Юнити %MW - это область памяти а не переменная, если к ней обращаться в Юнити по адресу а не по имени локализированной перемнной, то по умолчанию она интерпретируется как INT.
Если нужно в Сайтекте интерпретировать эту область как UINT, укажите это в теге Сайтекта.
-
- здесь недавно
- Сообщения: 67
- Зарегистрирован: 20 дек 2010, 12:59
- Имя: Евгений
- Страна: Россия
- город/регион: Москва
Re: отображение переменной WORD в Citect
Все правильно Вы сказали, полностью согласен. Только при использовании Quantum по Modbus/TCPIP Сайтект не дает присваивать переменным адрес через %, он их сам же переделывает в числовой формат.
А можно вот здесь
А можно вот здесь
поподробнее. Если можно, то вот на таком примере: имеем переменную типа WORD (16 bit), пусть ее адрес в Юнити будет %mw20. Каким образом переменная с адресом %mw19 в Юнити может обратиться к 400020 в Сайтект?san писал(а):Так 400020 может быть переменной как %MW20 так и %MW19.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: отображение переменной WORD в Citect
Первая переменная в модели Модбас и в Квантум (концептовский) 400001. То-есть переменная %MW0 это 400001. Почитайте документацию по конкртеному драйверу к Сайтекту.
Кстати, я не знаю как сейчас реализована модель адресации в Квантуме, так как там появились адресса типа %I и %Q, а раньше были 0х, 1х, 3х, 4х. Наверное %QW и %MW (Holding Registers - 4x) перекрываются. М340 и Премиумы знаем, там к входам/выходам через Модбас прямой дороги нет, вся доступная по Модбас память распределяется между %M и MW, а вот в Квантумах - могут быть еще какие-то нюансы.
Кстати, я не знаю как сейчас реализована модель адресации в Квантуме, так как там появились адресса типа %I и %Q, а раньше были 0х, 1х, 3х, 4х. Наверное %QW и %MW (Holding Registers - 4x) перекрываются. М340 и Премиумы знаем, там к входам/выходам через Модбас прямой дороги нет, вся доступная по Модбас память распределяется между %M и MW, а вот в Квантумах - могут быть еще какие-то нюансы.
-
- здесь недавно
- Сообщения: 67
- Зарегистрирован: 20 дек 2010, 12:59
- Имя: Евгений
- Страна: Россия
- город/регион: Москва
Re: отображение переменной WORD в Citect
Я понял к чему Вы клоните. К началу отсчета с 0 или с 1. Великий русский язык.
Это я понял так, что переменной 400020 можно присвоить либо значение %mw19, либо %mw20. Нет в Квантуме отсчет начинается с 1, поэтому %mw20 = 400020.san писал(а):Так 400020 может быть переменной как %MW20 так и %MW19.