This is topic Битовая переменная на включение/выключение in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001805.html

Posted by Vaskil (Участник № / Member № 9303) on :
 
Добрый день!
Как решается вопрос при наличии в контроллере одного бита на включение и выключение установки, если в ТМ эта переменная разделяется на две: входную и выходную?
Допустим эту переменную возвели в 1 при помощи местной панели оператора, в ТМ, выходная переменная будет равна 0. При попытке выключить установку мы этого не сможем сделать, т.к. запись в плк идет при изменении выходной переменной. Т.е. мы сначала должны записать 1, а потом 0. На мой взгляд, полная дичь. Это я описал выключение, а при включении, мы должны сначала выключить, послав 0, а потом включить послав 1. С учетом того, что на кнопки подвешены события на действия оператора, на выходе в ОТ получаем полный бред. Кроме того, если на кнопки навешать подтверждение действия, то работа тм на нажатие отжатие лкм становится не стабильной.
Так есть ли механизм превращения в ТМ переменных out и in, в одну inout?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Добрый день!
Какой протокол обмена используется?
 
Posted by Vaskil (Участник № / Member № 9303) on :
 
ОРС сервер, работает по протоколу S7 siemens.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
В Trace Mode 6 источники/приемники (и каналы связи с УСО) могут быть на чтение (input) или на запись (output).

Необходимо сделать два источника/приемника (и каналы для них) - на запись команды по кнопкам и на чтение обратной связи.

Далее, самое простое решение - использовать цветовую индикацию "что можно нажимать и что нельзя".

На Вашем примере "при наличии в контроллере одного бита на включение и выключение установки" создаете две кнопки. Одна взводит этот бит, другая сбрасывает. Обоим кнопкам добавляете цветовую индикацию в зависимости от состояния этого бита.

Отдельно стоит отметить, что в Trace Mode 7 драйвер для S7 встроен (можно обойтись без OPC).
Так же есть возможность для каналов output подчитывать значение с устройства (по необходимости).

С другой стороны, стоит рассмотреть возможность разнесения одного бита на включение и выключение установки на разные биты - локальное/местное и удаленное управление, с соответствующей логикой и системами блокировок.

[ 08.12.2023, 13:21: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by Vaskil (Участник № / Member № 9303) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
На Вашем примере "при наличии в контроллере одного бита на включение и выключение установки" создаете две кнопки. Одна взводит этот бит, другая сбрасывает. Обоим кнопкам добавляете цветовую индикацию в зависимости от состояния этого бита.
[/QB]

Проблема в том, что выходной бит созданного канала в ТМ, изначально равен 0, мы считаем реальное значение бита в УСО, подсветим кнопку стоп, зашлем на выходной канал 0, а далее, в УСО, этот 0 не отработает, поскольку нет изменений выходного канала: был 0 и записываем 0.
 
Posted by Vaskil (Участник № / Member № 9303) on :
 
Вычитал на форуме следующее предложение:"Можно задать каналу OPC_OUT период пересчета CALC EXE. В этом случае, если подается сигнал в ВХОД, то канал ОТРАБОТАЕТ, даже если его значение не изменилось.". Правильно ли я понимаю, что нужно задать этот период в переменную типа OUT раздела "Источники/Приемники"? Или и в узле тоже нужно задать? Важно, потому что переменных в контроллере много, а благодаря ТМ они превратились в множество каналов и их стало в разы больше.

Если бы я программировал контроллер, то я бы подстроился под особенности ТМ, но в данном случае, я не имею такой возможности. Из-за того, что с ТМ невозможно работать удаленно (не очень понимаю в чем проблема сделать доступной работу с ТМ удаленно?!) вынужден сидеть за 4000км на объекте и мучатся с простой и распространенной задачей: взвести и сбросить бит с кнопки. Более того, придется туда мотаться при любой проблеме. Заложник АДАСТРы ), порекомендую ли я ваш продукт после этого?
 
Posted by Vaskil (Участник № / Member № 9303) on :
 
Написал программку которая присваивает выходному каналу входной . Вызываю ее по клику лкм, путем записи в переменную числа 2, к которой привязана программа (канал класса call программа). Почему-то она отрабатывает только один раз, что там надо сбрасывать, чтобы она вызывалась вновь?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Проблема в том, что выходной бит созданного канала в ТМ, изначально равен 0, мы считаем реальное значение бита в УСО, подсветим кнопку стоп, зашлем на выходной канал 0, а далее, в УСО, этот 0 не отработает, поскольку нет изменений выходного канала: был 0 и записываем 0.
Все верно. Был описан самый простой вариант. Дальше, необходимо учитывать особенности Вашего объекта.

Вычитал на форуме следующее предложение: "Можно задать каналу OPC_OUT период пересчета CALC EXE. В этом случае, если подается сигнал в ВХОД, то канал ОТРАБОТАЕТ, даже если его значение не изменилось.".
И Вы нашли вариант. У канала OUT (запись в OPC) период пересчета устанавливаете Calc Exe.

Правильно ли я понимаю, что нужно задать этот период в переменную типа OUT раздела "Источники/Приемники"?
В Источниках/Приемниках нельзя задать период пересчета.

Или и в узле тоже нужно задать?
Только настройках канала output.

Из-за того, что с ТМ невозможно работать удаленно (не очень понимаю в чем проблема сделать доступной работу с ТМ удаленно?!) вынужден сидеть за 4000км на объекте и мучатся с простой и распространенной задачей: взвести и сбросить бит с кнопки.
Вы можете работать с Trace Mode, сидя в офисе, а результат (компиляции) помещать в удаленную папку (на объекте) или передавать ответственному специалисту на объекте.

Написал программку которая присваивает выходному каналу входной.
Зачем? Вы правильно предложили использовать период пересчета Calc Exe.

Почему-то она отрабатывает только один раз, что там надо сбрасывать, чтобы она вызывалась вновь?
Программы (точнее каналы вызова шаблонов программ) отрабатываются с заданной периодичностью (в случае периода "однократно" программа отрабатывает однократно при активации).
Программа может отрабатываться "только один раз" если при ее отработке произошла ошибка. Проверьте Достоверность (4,I) канала Call.Program.
Однако, Программа, для записи считанного значения в канал записи, Вам не нужна.
Используйте период пересчета Calc Exe
 
Posted by Vaskil (Участник № / Member № 9303) on :
 
Одного Calc Exe не хватило, причины не могу сказать ), просто то срабатывает, то нет. С запуском программы пересылки входа на выход, запись на включение/выключение механизмов работает, пока проблем, что что-то не включилось или не выключилось ,не было.
Работать в офисе я не могу, т.к. ключ закуплен заказчиком, он нам его не передает. Закупать ТМ специально для работы в офисе, чтобы туда не ездить, ну может быть, только как бы я проверял работоспособность? В таком случае нет никакой обратной связи.
Я считаю, что исполнительная среда может быть под запретом удаленной работы - это нормально, но что касается ТМ и встроенного профайлера, то недоступность удаленной работы вызывает много вопросов.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by Vaskil:
Одного Calc Exe не хватило, причины не могу сказать ), просто то срабатывает, то нет.

Установка периода пересчета Calc Exe для каналов управления (output) для подачи команды, которая уже есть в канале, достаточна.
Вы это можете проверить в простом проекте с одним каналом.
Если у Вас в основном проекте это не работает, то проблема в проекте. Стоит разобраться что влияет на передачу команды.

quote:
Отправитель / Originally posted by Vaskil:
Я считаю, что исполнительная среда может быть под запретом удаленной работы - это нормально, но что касается ТМ и встроенного профайлера, то недоступность удаленной работы вызывает много вопросов.

Вопросы по Лицензионной Политике (ссылка)
Вы можете обсудить с нашими коллегами Отдела Продаж по почте sales@adastra.ru или по телефону +7 (495) 771-71-74.

Контакты: https://www.tracemode.ru/contacts

[ 11.12.2023, 16:11: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2