Разрабатываемая программа содержит около 110 FBD блоков, больше редактор не дает вставлять ни одного FBD блока выдает ошибку -4 10 0. HASP стоит MEGA. С чем это связано, как это преодолеть?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Для каждой FBD существует ограничение на количество внутренних переменных, Вы его очевидно уже исчерпали, и тип ключа на это не влияет.
Posted by Саша (Участник № / Member № 925) on :
1. В разрабатываемой FBD программе (алгоритм управления задвижкой) для уменьшения размера некоторые функции реализую при помощи ТехноIL. Из ТехноIL создаю FBD. Всего создал два типа блоков. Первый, таймер, имеет три входа и четыре выхода. Второй, блок приоритетов, имеет один вход и один выход. Этих типов блоков в разрабатываемой FBD используется 8 штук (1 блок приоритетов, 7 таймеров). Могу ли я столкнуться с какими либо ограничениями при вызове этой FBD под микроМРВ Теконик? В скольки каналах я смогу подключить эту программу в Трансляцию? 2. В FBD есть ограничение на количество внешних аргументов, равное 254. По ходу разработки FBD программы аргументы создаются и какие то убираются при этом индекс вновь созданного аргумента каждый раз берется на 1 больше самого большого, который уже существует. Прав ли я? Что происходит когда достигается ограничение равное 254, происходит для вновь созданных аргументов автоматическое присвоение тех индексов аргументы, которых были удалены или необходимо вручную перепривязывать индексы у аргументов стремясь упорядочить их? Если ТМ делает это автоматически почему тогда появляется появляется ошибка -4 10 0? Я точно знаю что количество FBD блоков в программе точно меньше 255 и количество внешних агрументов меньше 254.
Posted by Саша (Участник № / Member № 925) on :
Какое ограничение накладывается на количество внутренних переменных в FBD?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
По таймерам - общее их количество ограничено 32, однако сколько Вы бы ни привязывали такую программу в различных реализациях она будет работать с одними и теми же таймерами. Тамер - это системный ресурс, он индивидуален и задается уникальным номером, и реализация на него не действует (вроде как глобален для всех реализаций программы). По второму пункту - действительно при продолжительной работе в FBD в редакторе при добавлении-удалении блоков индексы растут, таким образом можно вскоре полуить ошибку -4. попробуйте выйти из редактора базы каналов и загрузить проект заново - должно помочь.
Posted by Саша (Участник № / Member № 925) on :
Я не уточнил что под таймером подразумевается не стандартный таймер языка техноIL, а имеется ввиду отдельно разработанный на языке FBD блок реализующий функции таймера. Этот блок имеет три входа и четыре выхода. Как я уже писал в своем предыдущем сообщении, у меня есть предположение что под микроМРВ, например для Теконика, есть ограничения на использование FBD блоков, созданных при помощи техноIL. В справке я этого не могу найти. Какие это ограничения если они есть? Могу ли я в FBD программе, работающей под микроМРВ, использовать сколько угодно FBD блоков, созданных при помощи техноIL, или потом может сюрприз получиться? Сейчас я программу, которая содержит такие FBD блоки, отлаживаю по МРВ и все работает.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ограничений на реализации FBD на IL в рамках одной FBD-программы нет (в том числе и в Микро МРВ), есть только общее ограничение на количество внутренних переменных в FBD-программе.
Posted by Саша (Участник № / Member № 925) on :
Если я подключу такую праграмму (имеется ввиду FBD программа содержащая в себе блоки, разработанные на техноIL) для пересчета в трансяции под микроМРВ, скажем, в 50 каналах, могут ли возникнуть какие нибудь проблемы?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :