This is topic Связь TM со сторонними программами 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/001084.html

Posted by Константинов Сергей (Участник № / Member № 5626) on :
 
Скажите можно ли связать Trace Mode 6 со сторонними программами?

Нужно что бы по нажатию кнопки в Trace Mode происходил запуск программы которая перезагружает windows. Возможно ли это и как это сделать?

Так же нужно что бы при запуске TM последний открытый проект запускался автоматически и небыло нужды в ручном выборе проекта и запуске. Такое возможно реализовать?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если речь идет о запуске каких-либо внешних приложений, то для этого существует канал CALL с типом вызова EXEC. Про него есть учебный фильм см. http://www.adastra.ru/support/get_support/commer/get_support_tm6/videosprt/ или http://www.youtube.com/watch?v=On6XBwARflQ

Если речь идет о связи с произвольными DLL, то можно организовать обращение к ним, как к внешним библиотекам в ST-программах.

Перезагрузку Windows можно выполнить в обоих случаях. Надо только реализовать перезагрузку корректно.
Внешнее приложение должно дать достаточную паузу на перезагрузку, в течение которой в МРВ через системную переменную @Exit должен быть программно осуществлен останов, а затем должны корректно завершиться все потоки МРВ (в особенности, потоки, работающие с файлами, интерфейсами и их буферами).

"Загрузить последний проект" в ИС сейчас осуществляется с некоторой шероховатостью. Мы
это поправим в ближайшем релизе.
Пока можно выполнить следующую процедуру в меню "Настройки ИС/ИС/Общие".
В поле "На старте" выбрать, например, "Создать новый проект", далее нажать "Применить". Не уходя с этой закладки, выбрать "Загрузить последний проект". Далее - "Применить" и "Готово".
 
Posted by Константинов Сергей (Участник № / Member № 5626) on :
 
С вызовом приложений все понятно, а вот с авто загрузкой вы меня не так поняли. Мне нужно что бы при перезапуске компьютера из автозагрузки открывался МРВ, а в нем в свою очередь открывался и запускался последний открытый проект.

Возможно ли реализовать автоматическое открытие и запуск проекта в МРВ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если Вы работате под Windows 7, достаточно в АВТОЗАГРУЗКУ поместить ярлык с командной строкой запуска МРВ типа
C:\\Runtime\\rtcx.exe c:\\runtime\\cm104\\rtm_1\\cm104_0.dbb /fullscreen /hidemenu /run

Если под Windows XP, то этой командной строке надо предпослать скрипт, который будет проверять установку и готовность драйвера HASP-ключа.
 
Posted by Gulom (Участник № / Member № 4628) on :
 
У нас тоже имеется проблема с автозагрузкей МРВ,можете отправить скрипт?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Отправлено.
 
Posted by Gulom (Участник № / Member № 4628) on :
 
Спасибо.
 
Posted by akholod (Участник № / Member № 4344) on :
 
Если можно и мне отправте скрипт.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Отправлено.
 
Posted by Константинов Сергей (Участник № / Member № 5626) on :
 
Только сейчас смог проверить, авто запуск на Windows 7 шикарно работает, спасибо!
 
Posted by Константинов Сергей (Участник № / Member № 5626) on :
 
Есть еще один вопрос. Во время завершении работы виндовс выдает ошибку при завершении программы RTM, как можно каректно завершить работу программы за отведенное время ожидания(по умолчанию 30 секунд) перед перезагрузкой пользуясь исключительно кнопками из проекта?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Что за ошибка возникает?

Корректной остановкой МРВ является нажатие на кнопку с "Бегущим человеком", и далее закрытие окна. В этом случае правильным образом завершаются все потоки МРВ.
Поскольку процесс остановки связан с процедурами завершения потоков МРВ, то продолжительность этого процесса заранее предсказать нельзя.

Остановить большинство потоков МРВ можно с помощью системной переменной @Exit. Однако для корректного завершения работы МРВ все равно следует нажать на "Бегущего человека".
 
Posted by m-d-a (Участник № / Member № 5992) on :
 
Скажите, пожалуйста, предусмотрен ли алгоритм корректного автоматического завершения работы монитора.
Ситуация, похожая на описанную выше - пропало питание, ИБП выдал в ОС команду на принудительное завершение работы и дал 30 секунд.
На человечка нажимать некому, система работает в автоматическом режиме, загрузка осуществляется автоматически. А выгрузка - нет.
И есть ли опасность того, что в таком аварийном режиме при следующей загрузке (при восстановлении питания), монитор не загрузится.
Заранее спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Существует системная переменная @Exit, с помощью которой можно остановить МРВ (а с релиза 6.09 - и выгрузить его после корректного завершения всех потоков).
Однако, гаранитировать полное завершение всех потоков за 30 сек. нельзя. В зависимости от сложности узла, количества и загруженности потоков, в особенности связанных с файловыми операциями и внешними интерфейсами, это время может составлять как несколько секунд, так минуты.

Сигнал от UPS должен улавливаться каким-либо внешним приложением, которое, например, через подключенную к программе внешнюю DLL будет воздействовать на OUT-канал, связанный с @Exit.
Но 30 сек. для UPS - это, возможно, слишком мало.
 
Posted by Игорь Моисеев (Участник № / Member № 6355) on :
 
Несколько раз просмотрел фильм про запуск CMD файла. Там запуск происходит из под ПРОФ версии ИС. Мои попытки запуска внешней проги на безплатной ИС пока ни к чему не привели. Так работает на ней запуск внешнего приложения или нет?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Перепроверена описанных в видео-уроке работоспособность функций в базовой версии.

Посмотрите готовый проект в базовой версии в примере по http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/52/t/000003.html
 
Posted by Игорь Моисеев (Участник № / Member № 6355) on :
 
Запуск cmd файла отработал, спасибо. Если у вас пример запуска простого экзешника? и нет ли у вас желания упростить запуск внешних приложений и обмен с ними?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В видео-уроке просто запускается notepad.exe.

Запуск внешних приложений, с нашей точки зрения, достаточно прост.
Обмен с внешними приложениями предлагается осуществлять через действующие интерфейсы и драйверы.
 
Posted by alexander0840 (Участник № / Member № 6562) on :
 
Запуск внешнего приложения получился

Меня интересует запуск приложения с подстановкой параметров из МРВ, в частности запуск Internet Explorer с подстановкой имени открываемого файла. Как это сделать?
 
Posted by alexander0840 (Участник № / Member № 6562) on :
 
Извините за безспокойство, я уже разобрался
 
Posted by ProKa (Участник № / Member № 6538) on :
 
Добрый день, извините, что пишу в этой теме, но подходящей не нашла. Появился такой вопрос: есть ли возможность использования более 4х (t12s4, t12s5, t12s6, t12s7) пользовательских драйверов типа t12?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Такой штатной возможности нет. Ранее никогда такая потребность у пользователей не возникала.

Уточните, пожалуйста, почему возникла такая потребность?

Вы могли открыть свой топик, соответствующий заявленной теме.
 
Posted by ProKa (Участник № / Member № 6538) on :
 
Дело в том, что имеется пять различных устройств, которые подключаются не через COM порт, поэтому возникла такая необходимость
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Какие протоколы предполагается реализовать в этих драйверах?
 
Posted by ProKa (Участник № / Member № 6538) on :
 
Имеются два устройства подключаемые через FTP, еще два устройства, имеющие свои личные API и еще одно устройство подключаемое по Ethernet
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
FTP - протокол обмена ФАЙЛАМИ. Как обмен файлами может быть использован в Trace Mode 6?

Ethernet - это транспорт.
Какой логический протокол обмена данными при этом используется?

"Свои личные API" - какие логические протоколы обмена данными используются?
 
Posted by ProKa (Участник № / Member № 6538) on :
 
FTP - в функциях media<n>.dll парсится структура файла и извлекается текущее значение параметра.
API - есть библиотека функций, вызывая которые можно получить данные с устройства.
С Ethernet пока еще не разобрались, но допустим, устройство по HTTP запросу выдает текущее значение параметра.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Спасибо за информацию.
Можно для каждого из типов протоколов (например, для FTP) в параметрах вызова media<n>.dll задавать адреса и номера устройств и имена файлов.
Также как по аналогичным параметрам организовать вызов разных библиотечных функций для разных устройств.

Можно еще рассмотреть вопрос использования драйвера по спецификации T13.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2