![]() |
UltraLogik32 и язык ST |
Ответить ![]() |
Автор | |
![]() Новичок ![]() Присоединился: 27 Январь 2006 Категория: Russian Federation Online Status: Offline Публикации: 5 |
![]() ![]() ![]() ![]() Опубликовано: 27 Январь 2006 18:11 |
Никак не могу вызвать внешнюю функцию из программы на ST, как я это делал в FBD блоком EXT. Нигде в документации этот вопрос не освещен. |
|
![]() |
|
![]() Действительный член ![]() Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
![]() ![]() ![]() ![]() |
А почему Вы считаете что такая возможность в UL32 предусмотрена? |
|
Сергей
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 27 Январь 2006 Категория: Russian Federation Online Status: Offline Публикации: 5 |
![]() ![]() ![]() ![]() |
а что, разве не предусмотрена? а как мне вызвать хотя бы библиотечный блок (типа Lim)? |
|
![]() |
|
![]() Действительный член ![]() Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
![]() ![]() ![]() ![]() |
Блок Lim (насколько мне известно не библиотечный, а базовый) реализован в FBD. Из FBD можно вызвать внешнюю процедуру блоком EXT, а из ST возможность вызова внешней процедуры (если верить справке UL) не предусмотрена. |
|
Сергей
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 07 Сентябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 35 |
![]() ![]() ![]() ![]() |
Если не ошибаюсь, та же история и с блоками на Pascal'е. Приходится внешнюю процедуру вызывать из FBD, а затем вызывать процедуру на Pascal'е для дальнейшей обработки. Не очень изящно получается и увеличивается количество глобальных переменных, но терпимо и главное работает.
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 27 Январь 2006 Категория: Russian Federation Online Status: Offline Публикации: 5 |
![]() ![]() ![]() ![]() |
Спасибо всем ответившим. Похоже, так оно и есть. Эх-хе, хотел облегчить себе жизнь... :-( Хотя есть и еще один способ вызвать внешнюю процедуру на паскале: {$L имя obj или lib} procedure BlaBlaBla; external;
... где-то в коде: BlaBlaBla; ... Но у меня такой способ не сработал, хотя компиляция прошла успешно. Возможно, где-то в чем-то ошибся, но времени разобраться нет. |
|
![]() |
|
![]() Действительный член ![]() Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
![]() ![]() ![]() ![]() |
Если не секрет, для чего нужно из под ST(паскаля) еще и внешнюю процедуру вызывать? Мне на все хватает FBD, кроме иногда, для нестандартной аппаратуры внешнюю процедуру надо. |
|
Сергей
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 27 Январь 2006 Категория: Russian Federation Online Status: Offline Публикации: 5 |
![]() ![]() ![]() ![]() |
Хотел ту же самую FDB-программу переписать: на ST(Pas) получается все очень стройно и логично; на FBD - "блюдо макарон" - очень много меток и переходов. А все из-за свитчей! Да ладно - нельзя, так нельзя - придется извращаться на FBD. А внешние процедуры - это как раз оно - нестандартное оборудование. |
|
![]() |
|
![]() Действительный член ![]() Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
![]() ![]() ![]() ![]() |
Всяческие ключи, "свитчи" и переключатели можно внести в библиотечные блоки, а в программе их только соединять. |
|
Сергей
|
|
![]() |
|
![]() Новичок ![]() Присоединился: 27 Январь 2006 Категория: Russian Federation Online Status: Offline Публикации: 5 |
![]() ![]() ![]() ![]() |
Ну да, так в итоге и сделал. Только вот пришлось на каждый тип отдельный свитч писать... Раньше вроде такой тип для параметров был - auto, счас куда-то исчез... |
|
![]() |
Ответить ![]() |
Переход на форум | Права доступа на форуме ![]() Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |