This is topic FBD в DLL in forum Языки программирования (IL/FBD) / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


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

Posted by zotov (Участник № / Member № 1113) on :
 
В версии ТМ 5.06 была добавлена возможность включения пользовательских FBD-блоков, выполненных в DLL. Где можно получить подробную информацию по написанию таких FBD-блоков. В справке к версии ТМ 5.08 мы, к сожалению, не нашли никакой информации по этому вопросу.
Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Давно пора обновиться до текущего релиза 5.15 (с нашего сайта).
В текущей версии справочной системы есть пример такого блока и рекомендации по его написанию.
 
Posted by zotov (Участник № / Member № 1113) on :
 
Объясните, пожалуйста, как можно обновиться с сайта. Я пока не нашел ничего наподобие Download или "обновления" и т.п. Технология обновления непонятна [Неодобрение / Frown]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Обновление производится из раздела Техподдержка. Вам необходимо войти по ссылке "Вход для пользователей КОММЕРЧЕСКОЙ версии".
 
Posted by zotov (Участник № / Member № 1113) on :
 
А какие вводить логин и пароль? Имеется в виду тот же пароль, что я использую в форуме? Или серийный номер купленной ТМ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Про логин там же написано.
А пароль для входа Вы сможете получить отправив письмо на адрес техподдержки с запросом (необходимо будет указать рег. номер продукта).
 
Posted by zotov (Участник № / Member № 1113) on :
 
Насколько я понял из справки, при создании пользовательского FBD-блока
на Си под микроМРВ адреса "экспортируемых" функций FBD_DLL и zFBD_DLL_info
размещаются по фиксированному адресу, который передается через argv[2]
(а argv[1] - это, по-видимому, адрес возврата в микроМРВ).
Адрес argv[2] фиксирован для каждого пользовательского FBD-блока?
Если да, то каково его значение и как оно зависит от порядкового номера
FBD-блока? Если нет, по какому принципу он выбирается?
PS:
Значение указанного адреса нам необходимо в связи с тем, что наш RWH-драйвер
интенсивно использует области памяти DOS для разных задач и, в частности,
для обмена с файлами под микроМРВ. Не хотелось бы, чтоб адреса RWH-драйвера
пересеклись с теми, что используются микроМРВ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вам это не нужно - при выделении памяти в приложении она уже не может быть распределена между другим приложениям, тем более в MS DOS. Вы же не напрямую к ячейкам памяти обращаетесь без предварительного динамического или статического выделения необходимого объема?
 
Posted by zotov (Участник № / Member № 1113) on :
 
В том-то и дело, что к некоторым обращаемся и напрямую. По-другому иногда не получается.
 
Posted by zotov (Участник № / Member № 1113) on :
 
В том-то и дело, что к некоторым обращаемся и напрямую. По-другому иногда не получается.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Так категорически нельзя, а где гарантии, что Вы не попадете в область данных самого МикроМРВ, и не только его dld-блоков?! Всю память все равно не проанализируете, тем более, что большинство ее выделяется динамически и нельзя предсказать, что от запуска к запуску, да и во время работы, у Вас постоянно будут заняты одни и те же области памяти!
 
Posted by zotov (Участник № / Member № 1113) on :
 
На самом деле, напрямую мы обращаемся лишь к нескольким ячейкам в области данных BIOS и не претендуем на память, которую DOS может выделять программам. Указанные ячейки - резервные, в нашей системе они не используются. Их адреса: 0x40:0x7a-0x40:0x7b (по умолчанию на них отображаются таймауты портов COM3-4). Хотелось бы все же узнать не использует ли микроМРВ эти ячейки для своих задач?!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если в Вашем проекте эти порты в узле не задействованы, то можете их использовать, потому как для работы с СОМ-портами МикроМРВ использует свой собственный обработчик прерывания порта. И если он задействован, то скорее всего МикроМРВ эти адреса также использует в своем обработчике.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2