Хотелось бы, чтобы FBD блок, разработанный самостоятельно в виде DLL, имел кроме функции собственно расчета, функции конструктора и деструктора (в терминологии C++). Конструктор должен вызываться для каждого экземпляра FBD блока при его создании, а деструктор - при разрушении. В конструкторе должна быть предусмотрена возможность возврата указателя на блок памяти, связанный именно с этим экземпляром FBD блока. Этот указатель должен передаваться в функцию расчета и деструктор. Вариант: размер необходимого блока памяти возвращается функцией zFBD_DLL_info, Трэйс Моуд сам выделяет требуемый блок памяти и передает указатель в конструктор, рабочую функцию и деструктор, после чего сам освобождает память. При всем этом, глобальные переменные должны использоваться совместно всеми экземплярами блоков одного класса, т.е. реализованного одной DLL.