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

UNITY PRO

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

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

Ответить

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

leon78 писал(а):PLC - State Ram Viewer позволяет узнать, чем задан конкретный адрес.
PS. Так понимаю, это программа для УСО 1.1 автоматики НПС для "АК "Транснефть" - отключение МНА через 10 секунд после потери связи с ЦП :)
Зашел по этому пути, а там все ячейки пустые (см. Скриншот_1.)
У вас нет необходимых прав для просмотра вложений в этом сообщении.

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

hell_boy писал(а):
MaxML писал(а):Подскажите как узнать, что находится в области *%IW900* (см. прикрепленный файл)?
Смотри по какой корзине Quantum Drop -> Config -> Starting Addres Status Table=900.
Посмотрел, но везде стоят нули (см. Скриншот_2). Может есть способ точно узнать? Я начинающий, хочу разобраться.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

leon78 писал(а): PS. Так понимаю, это программа для УСО 1.1 автоматики НПС для "АК "Транснефть" - отключение МНА через 10 секунд после потери связи с ЦП :)
Совершенно верно, вот пытаюсь разобраться в листинге. Не могу понять, где вы увидели 10 секунд?

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

И еще вопрос, открыл State Ram Viewer, поставил галочки Modules, Variables, Language выбрал %IW (см. Скриншот_3) и у меня некоторые ячейки закрасились синими и красными линиями. Как я понял синим закрасились ячейки которые привязаны к конретным сигналам модулей. А как понять по полю Module Address \2.6\1.3 (ячейка 115) что за модуль?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

Администратор, как удалить свои сообщения?
Вроде нашел ответ на свой вопрос "Что в ячейке %IW900?". Но возникли новые вопросы.
Поясню. Есть сеть, которая состоит из ЦК (центральный контроллер) и удаленных УСО (RIO). В каждой корзине УСО и в корзине ЦК установлен коммуникационный модуль "140 NOE 771 11", через который и связываются все УСО с ЦК. Для модуля NOE 771 доступен сервис "IO Scanning". Через этот сервис ЦК получает и отдает данные в удаленные устройства. Зашел в вкладку "IO Scanning" модуля NOE, там указано с какого адреса начинается первое "Health слово" таблицы (с %IW900, см Скриншот_4). Значит ли это, что если удаленное устройство, например, УСО 3.1 (стока обведена красным) перестанет отвечать на запросы, то модуль NOE установит в 0 бит 3 слова %MW900 (или %MW900.3 = 0)?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

Re: UNITY PRO

Сообщение hell_boy »

MaxML писал(а): Значит ли это, что если удаленное устройство, например, УСО 3.1 (стока обведена красным) перестанет отвечать на запросы, то модуль NOE установит в 0 бит 3 слова %MW900 (или %MW900.3 = 0)?
Вы - не правы. Health bits - по адресу %IW900, отсчет битов начинается с 0. %IW900.2 соответствует УСО 3.1, %IW900.3 соответствует BMX USO 6.1
Device Control Block %MW900-%MW907 - для управления сканированием устройств. Если %MW900.2 выставить в True, то УСО 3.1 сканироваться не будет.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

hell_boy писал(а): Вы - не правы. Health bits - по адресу %IW900, отсчет битов начинается с 0. %IW900.2 соответствует УСО 3.1, %IW900.3 соответствует BMX USO 6.1
Device Control Block %MW900-%MW907 - для управления сканированием устройств. Если %MW900.2 выставить в True, то УСО 3.1 сканироваться не будет.
Тогда у меня еще два вопроса:
1. Почему в коде отключение сканирования УСО 6.1 и 6.2 осуществляется битами 8 и 9 или %MW900.8 и %MW900.9, тогда как должно отключаться битами 6 и 7 или %MW900.6 и %MW900.7 (см. Скриншот_5 обведено красным под №1)?
2. Эквивалентно ли выражение "IF %IW900 <> 0" выражению "IF %IW900.0 and %IW900.1 and .... %IW900.15 <> 0" (см. Скриншот_5 обведено красным под №2)?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

Re: UNITY PRO

Сообщение hell_boy »

MaxML писал(а):
hell_boy писал(а): Вы - не правы. Health bits - по адресу %IW900, отсчет битов начинается с 0. %IW900.2 соответствует УСО 3.1, %IW900.3 соответствует BMX USO 6.1
Device Control Block %MW900-%MW907 - для управления сканированием устройств. Если %MW900.2 выставить в True, то УСО 3.1 сканироваться не будет.
Тогда у меня еще два вопроса:
1. Почему в коде отключение сканирования УСО 6.1 и 6.2 осуществляется битами 8 и 9 или %MW900.8 и %MW900.9, тогда как должно отключаться битами 6 и 7 или %MW900.6 и %MW900.7 (см. Скриншот_5 обведено красным под №1)?
2. Эквивалентно ли выражение "IF %IW900 <> 0" выражению "IF %IW900.0 and %IW900.1 and .... %IW900.15 <> 0" (см. Скриншот_5 обведено красным под №2)?
1. Рекомендую пользоваться следующей таблицей

Код: Выделить всё

Table Entry #     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
        %MW Bit  15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
т.е. чтобы отключить сканирование УСО 6.1 (7-я строка в таблице IO Scanning), то надо поставить в True бит %MW900.9, УСО 6.2 (8-я строка в таблице IO Scanning) %MW900.8:=True, УСО 3.1 (3-я строка в таблице IO Scanning) %MW900.13:=True
2. Нет, %IW=0, когда все биты = 0. Если хотя бы один из битов %IW = 1, то %IW<>0. "IF %IW900 <> 0" эквивалентно "IF %IW900.0 or %IW900.1 or .... %IW900.15". Сравнение "<>0" для битовой логики - излишне.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

hell_boy писал(а): 1. Рекомендую пользоваться следующей таблицей

Код: Выделить всё

Table Entry #     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
        %MW Bit  15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
т.е. чтобы отключить сканирование УСО 6.1 (7-я строка в таблице IO Scanning), то надо поставить в True бит %MW900.9, УСО 6.2 (8-я строка в таблице IO Scanning) %MW900.8:=True, УСО 3.1 (3-я строка в таблице IO Scanning) %MW900.13:=True
2. Нет, %IW=0, когда все биты = 0. Если хотя бы один из битов %IW = 1, то %IW<>0. "IF %IW900 <> 0" эквивалентно "IF %IW900.0 or %IW900.1 or .... %IW900.15". Сравнение "<>0" для битовой логики - излишне.
Да, спасибо hell_boy, за консультацию, это действительно так, таблицу я тоже нашел в хелпе Unity, а логику проверил написав небольшой проектик.
Теперь у меня возник новый вопрос ), зачем переменной STOP_1_1 :=NOT IO_SOST.15 (*Нет связи с ЦП*) присваивается инверсия? Ведь можно было бы и без инверсии активировать защиту (см. Скриншот_6
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

Re: UNITY PRO

Сообщение hell_boy »

MaxML писал(а):Теперь у меня возник новый вопрос ), зачем переменной STOP_1_1 :=NOT IO_SOST.15 (*Нет связи с ЦП*) присваивается инверсия? Ведь можно было бы и без инверсии активировать защиту (см. Скриншот_6
Наверное, можно было написать IF IO_SOST.15 THEN ? Это уже стиль программирования
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

MaxML
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 04 янв 2015, 16:15
Имя: Максим А.Д.
Страна: Russia

Re: UNITY PRO

Сообщение MaxML »

hell_boy писал(а):Наверное, можно было написать IF IO_SOST.15 THEN ? Это уже стиль программирования
Да, я тоже так думаю. Так можно было написать, но в программировании множество решений одной задачи. Сделал небольшую паузу, поэтому долго не отвечал на форуме. Работы навалилось. Далее как продолжу, будут вопросы.

Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: UNITY PRO

Сообщение Vorox »

MaxML писал(а):Подскажите как узнать, что находится в области *%IW900* (см. прикрепленный файл)?
Е мае я узнаю этот код :) и даже знаю кто его писал! и да это ВСТО-2 Транснефти :)

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Добрый день, друзья!
Подскажите пожалуйста один момент. При сравнении проекта в PLC и PC, программа сравнивает только название проекта, его версию и дату. Плюс в нижней части при подключении пишет есть ли в проектах расхождение. Это все что я смог обнаружить...
Внимание вопрос! Можно ли получить более подробную информацию о расхождении в проектах (Секция, строка, столбец и т.д.)??? До этого работал только с Siemens S7 и по сравнению со STEPом, в Unity все очень неудобно.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Помогите решить задачу!
Работаю с Unity Pro S около месяца да и то от случая к случаю. Поставили задачу переписать программу с имеющегося старого Украинского контроллера 80-х годов на новый. Руководитель заказал M340 т.к. у нас они еще в паре мест имеются. Программу мы переписали без проблем, она была на LADере. Обслуживать данный контроллер будут почти пенсионеры и специально для них пытаемся сделать все максимально просто и информативно. Пытаемся уйти от перемычек, к которым они так привыкли, чтобы не замкнули какой нибудь блок Telefast. Решил заморочиться и нарисовать анимацию. Чтобы все было наглядно. Но вот беда... Что мне надо написать я понимаю, но как правильно это сделать на ST чтобы он не ругался я не монимаю)))
Задача вот такая. На анимационный экран будет добавлено несколько элементов. Датчики, стопора и т.д. Данные элементы будут отображать состояние каждого узла, а их на линии около 30. Не все узлы имеют какие то датчики и какие то стопора. Я решил сделать одно окно Entry Field в которое будет вводится номер узла, состояние которого мы хотим посмотреть. В зависимости от номера выбранного узла, биту отвечающему за анимацию, например цилиндра, будет присваиваться состояние выхода отвечающего за работу этого цилиндра. Плюс видимость данного цилиндра будет 1 или 0 в зависимости от того, есть ли этот цилиндр на выбранном узла.
Я это представляю примерно так...
N - номер выбранного узла. N будет принимать значения от 1 до 45
B - бит который принимает значение выхода выбранного узла (для цилиндра)
B=MD300.N
MD300 - это слово, битам этого слова будут присвоены определенные выхода
Т.К. двойное слово это 16 бит, а N принимает значение до 45, то тут тоже надо чет написать...
Короче говоря HELP ME!!! ))))

Vorox
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 29 июн 2015, 16:46
Имя: Андрей
Страна: Россия
город/регион: Нижегородская

Re: UNITY PRO

Сообщение Vorox »

AlekseyTro писал(а):Добрый день, друзья!
Подскажите пожалуйста один момент. При сравнении проекта в PLC и PC, программа сравнивает только название проекта, его версию и дату. Плюс в нижней части при подключении пишет есть ли в проектах расхождение. Это все что я смог обнаружить...
Внимание вопрос! Можно ли получить более подробную информацию о расхождении в проектах (Секция, строка, столбец и т.д.)??? До этого работал только с Siemens S7 и по сравнению со STEPом, в Unity все очень неудобно.
Сравнение проектов при подключении происходит по сигнатуре проекта.
Информацию о расхождении можно получить сторонними программами типа WinMerge. Сделайте экспорт вашего проекта в XEF и боевого в контроллере и сравнивайте.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Vorox писал(а): Сравнение проектов при подключении происходит по сигнатуре проекта.
Информацию о расхождении можно получить сторонними программами типа WinMerge. Сделайте экспорт вашего проекта в XEF и боевого в контроллере и сравнивайте.
Спасибо за совет, но использование данной программы мне жизнь не облегчило. Я не понимаю как использовать данную информацию.
Очень жаль, что не выводится подробная информация как в STEPе о несовпадении секций и конкретно цепей (нетворков).

leon78
эксперт
эксперт
Сообщения: 1118
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 44 раза
Поблагодарили: 130 раз

Re: UNITY PRO

Сообщение leon78 »

Vorox писал(а):
AlekseyTro писал(а):Добрый день, друзья!
Подскажите пожалуйста один момент. При сравнении проекта в PLC и PC, программа сравнивает только название проекта, его версию и дату. Плюс в нижней части при подключении пишет есть ли в проектах расхождение. Это все что я смог обнаружить...
Внимание вопрос! Можно ли получить более подробную информацию о расхождении в проектах (Секция, строка, столбец и т.д.)??? До этого работал только с Siemens S7 и по сравнению со STEPом, в Unity все очень неудобно.
Сравнение проектов при подключении происходит по сигнатуре проекта.
Информацию о расхождении можно получить сторонними программами типа WinMerge. Сделайте экспорт вашего проекта в XEF и боевого в контроллере и сравнивайте.
Еще может помочь:
UNYSDUZFFCD22 Unity Dif (ПО для сравнения приложений Unity Pro), лицензия на предприятие
UNYSDUZFUCD22 Unity Dif (ПО для сравнения приложений Unity Pro), одиночная лицензия
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

leon78 писал(а): UNYSDUZFFCD22 Unity Dif (ПО для сравнения приложений Unity Pro), лицензия на предприятие
UNYSDUZFUCD22 Unity Dif (ПО для сравнения приложений Unity Pro), одиночная лицензия
Спасибо. Уже скачал себе. Пробная 21 день. Заказали лицензию, ждем. :ges_clap:

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Сегодня на работе услышал от руководителя, что в программе Unity Pro нормально не работает функция "Передний фронт" если она берется от триггера. Необходимо создавать промежуточный меркер и уже его положительный фронт использовать далее в программе. В Step 7 все работает нормально, а вот в Unity что то якобы не так.
Сталкивался ли кто нибудь с данной проблемой?
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18288
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 920 раз
Поблагодарили: 1789 раз

Re: UNITY PRO

Сообщение Jackson »

Unity Pro - это же только средство программирования. Если что-то и не работает, то, вероятно, в контроллере, а не в Unity Pro. Нет?
По вопросам работы Форума можно обратиться по этим контактам.

Romcheg
SCADA+
SCADA+
Сообщения: 595
Зарегистрирован: 05 ноя 2009, 11:18
Имя: Бузинов Роман Анатольевич
Страна: Россия
город/регион: Москва
Благодарил (а): 8 раз
Поблагодарили: 36 раз

Re: UNITY PRO

Сообщение Romcheg »

Как и в любом средстве программирования есть компилятор и вычислитель, ошибки могут быть как в компиляторе, так и в вычислителе, который кстати в двух вариантах: один встроен в саму среду разработки (для отладочных целей), а другие варианты встраиваются в исполнительные модули под конкретные платформы (как аппаратные, так и программные). Ошибки могут быть, от них не застрахован никто, вопрос в том - где именно наблюдается ошибка: в самой среде при отладке, или же в исполнительной среде в контроллере? Отсюда и копать уже.
SCADA+

leon78
эксперт
эксперт
Сообщения: 1118
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 44 раза
Поблагодарили: 130 раз

Re: UNITY PRO

Сообщение leon78 »

AlekseyTro писал(а):Сегодня на работе услышал от руководителя, что в программе Unity Pro нормально не работает функция "Передний фронт" если она берется от триггера. Необходимо создавать промежуточный меркер и уже его положительный фронт использовать далее в программе. В Step 7 все работает нормально, а вот в Unity что то якобы не так.
Сталкивался ли кто нибудь с данной проблемой?
О каком функциональном блоке идет речь? В каком языке?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Romcheg писал(а): где именно наблюдается ошибка: в самой среде при отладке, или же в исполнительной среде в контроллере? Отсюда и копать уже.
Ошибка, как я понимаю, происходит в контроллере... Ну это все со слов. На деле я сам не видел и не пробовал. Как по мне, все должно работать. Программа на LAD, там простая логика.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

И еще вопрос)))
Хочу поставить пароль на изменение программы. Есть ли уровни изменения на которые можно установить пароль? Хотелось бы... Под одним паролем доступна модификация или форсирование, при другом изменение программы. Если такого нет, то хотя бы просто пароль на изменение. В Настройках проекта, во вкладке Protection установил пароль, но он только на всю программу.
Хотим защитить программу от случайных изменений со стороны людей которые будут обслуживать данный контроллер, до момента освоения ими программы.

AlekseyTro
здесь недавно
здесь недавно
Сообщения: 51
Зарегистрирован: 01 июл 2015, 11:23
Имя: Трофименко Алексей
Страна: Россия
город/регион: Samara

Re: UNITY PRO

Сообщение AlekseyTro »

Добрый день друзья, помогите разобраться
Не могу понять как записать правильно чтобы Unity не ругался
N:=%MW100; - INT
%M200:=%MW101.N;
Как правильно обратится к биту слова?
Ответить

Вернуться в «ПЛК»