PDA

Просмотр полной версии : язык St



Сергей71
03.08.2007, 11:18
Существует ли возможность делать определения в ST как в C типа define?
Пример:
define x 100
define y 200
define z (x*y)

Малышев Олег
03.08.2007, 11:50
только Var_constant

zilog
08.08.2007, 09:05
Eсть ли в St аналог инструкции Goto (метка) ?

Малышев Олег
08.08.2007, 09:06
Нет такой инструкции

drkid
06.01.2008, 02:39
по синтаксису вызов FB(Par1:=val1,...);
способ FB.Par1:=val1 и т.д. компилятором проглатывается, но FB не работает, хотя присвоение происходит.
а если массив FB? Например ArrayFB[index].Par1:=val1 не работает FB,
а ArrayFB[index](Par1:=val1) не компилируется.
Можно ли как-то это обойти? (без замены программиста :D )
у меня получается куча FB в разных POU, и каждый выдает свой флаг,в глобальном массиве. Чтобы централизованно анализировать и сбрасывать флаги, хотел сделать типа регистра - массив из RS.
Вообще то одно решение есть, после установки параметров вызывать в цикле Array[i](). В тестах работает, но чет сомнения... Есть еще способы?

Nekit
07.01.2008, 13:26
не путаем вызов экземпляра функционального блока (ФБ) и обращение к параметрам ФБ.

FB.Par1 := val1 - это присвоение значения параметру ФБ но не его вызов
FB() - это вызов ФБ без присвоения значений параметрам
FB(Par1 := val1) - вызов ФБ с присвоением параметров.
Тоже самое с массивом ФБ-ков.
Я решаю эту проблему тем что сначало делаю присвоение всех параметров а потом вызов ФБ (отдельно).

Валера Храмцов
21.01.2008, 16:19
Да, кстати, есть ли возможность использовать номера строк, или специально заданные номера шагов для того, чтобы можно было обращаться к ним при выполнении инструкции IF {условие} TNEN {переход на нужную строку или шаг}?

Kirill
21.01.2008, 16:23
Да, кстати, есть ли возможность использовать номера строк, или специально заданные номера шагов для того, чтобы можно было обращаться к ним при выполнении инструкции IF {условие} TNEN {переход на нужную строку или шаг}?

такая возможность не предусмотрена. Используйте обращения к фб или функциям, содержащим нужные после перехода куски кода.

Валера Храмцов
21.01.2008, 16:26
Спасибо. Все-таки не очень продуманы языки стандарта МЭК, особенно ST. Если они брали за основу Pascal, то там это предусмотрено.

Kirill
21.01.2008, 16:28
Спасибо. Все-таки не очень продуманы языки стандарта МЭК, особенно ST. Если они брали за основу Pascal, то там это предусмотрено.

вопрос лишь в том, кто к чему привык.

Валера Храмцов
21.01.2008, 16:40
Еще один вопрос. Можно ли сделать так, чтобы данные, снимаемые ПЛК 100 с какого-либо прибора ОВЕН (например, с МВА8), в данном случае, тампературу наружного воздуха, он записывал в какой-либо файл для дальнейшего использования? Например, для того, чтобы потом на сайте в И-нете появлялась иформация о температуре?

Малышев Олег
21.01.2008, 18:28
Да. Возможно. Используя модуль архиватор или библиотку SysLibFile. Для публикации в Web можно попробовать пример Web сервера.

mettled
22.01.2008, 10:51
мы делали такую задачу при помощи примера веб-сервера(был выложен на сайте здесь).

Валера Храмцов
22.01.2008, 13:24
Спасибо большое

Валера Храмцов
22.01.2008, 14:04
Вы сказали, что пример был выложен на сайте. Можно ли его посмотреть сейчас?

незарегистрированный
22.01.2008, 15:19
Проще, народ!
Где взять спецификацию ST-кода?

незарегистрированный
22.01.2008, 15:21
Проще, народ!!!
Где взять спецификацию на ST-код?

Игорь Петров
22.01.2008, 18:03
Проще, народ!!!
Где взять спецификацию на ST-код?

См. вложение:

Валера Храмцов
23.01.2008, 13:19
мы делали такую задачу при помощи примера веб-сервера(был выложен на сайте здесь).

Вы не могли бы указать, где находится этот пример, или выложить его еще раз? Буду очень благодарен.