Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
VDT Industrial Automation :: Просмотр темы - Подпрограмма на языке ST
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Подпрограмма на языке ST

 
Начать новую тему   Ответить на тему    Список форумов VDT Industrial Automation -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
Serg314
Частый гость
Частый гость


Зарегистрирован: Dec 27, 2013
Сообщения: 17
Рейтинг: +0/-1

СообщениеДобавлено: Пт 06 Мар, 2015 14:29:54    Заголовок сообщения: Подпрограмма на языке ST Ответить с цитатой

Пожалуйста помогите. Перерыл всю документацию, но так и не понял как написать обращение к подпрограмме на языке ST.
Посоветуйте где глянуть на простенький пример программы в которой есть подпрограммы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Пт 06 Мар, 2015 14:49:26    Заголовок сообщения: Re: Подпрограмма на языке ST Ответить с цитатой

Serg314 писал(а):
Пожалуйста помогите. Перерыл всю документацию, но так и не понял как написать обращение к подпрограмме на языке ST.
Посоветуйте где глянуть на простенький пример программы в которой есть подпрограммы.
Help писал(а):
Structured Text

JSR(RoutineName,InputCount,InputPar,ReturnPar);

SBR(InputPar);

RET(ReturnPar);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mp3corp
Эксперт
Эксперт


Зарегистрирован: Dec 12, 2012
Сообщения: 164
Рейтинг: +2/-0

СообщениеДобавлено: Пт 06 Мар, 2015 14:50:46    Заголовок сообщения: Ответить с цитатой

Про jsr почитайте...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Serg314
Частый гость
Частый гость


Зарегистрирован: Dec 27, 2013
Сообщения: 17
Рейтинг: +0/-1

СообщениеДобавлено: Пт 06 Мар, 2015 14:57:34    Заголовок сообщения: Ответить с цитатой

Эти строки я видел. Но как оформить саму подпрограмму. Где указать ее имя.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Пт 06 Мар, 2015 15:16:10    Заголовок сообщения: Ответить с цитатой

Serg314 писал(а):
Но как оформить саму подпрограмму.
Между SBR и RET. Smile Что понимать под "оформить"?
Serg314 писал(а):
Где указать ее имя.
Когда создаешь программный файл типа ST.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Serg314
Частый гость
Частый гость


Зарегистрирован: Dec 27, 2013
Сообщения: 17
Рейтинг: +0/-1

СообщениеДобавлено: Пт 06 Мар, 2015 15:30:16    Заголовок сообщения: Ответить с цитатой

Мы друг друга не понимаем. У меня в программе на ST есть повторяющиеся куски. И я хочу выделить их в несколько подпрограмм. Но у каждой подпрограммы должно быть свое имя. По крайней мере так принято в традиционных языках. Я прошу просто показать фрагмент программы, где есть именно подпрограмма со своим именем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mp3corp
Эксперт
Эксперт


Зарегистрирован: Dec 12, 2012
Сообщения: 164
Рейтинг: +2/-0

СообщениеДобавлено: Пт 06 Мар, 2015 15:37:40    Заголовок сообщения: Ответить с цитатой

Так не получится, я понял Вас, с прикладным программированием не по наслышке знаком)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Serg314
Частый гость
Частый гость


Зарегистрирован: Dec 27, 2013
Сообщения: 17
Рейтинг: +0/-1

СообщениеДобавлено: Пт 06 Мар, 2015 15:40:13    Заголовок сообщения: Ответить с цитатой

Т.е. подпрограмм на языке ST нет?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mp3corp
Эксперт
Эксперт


Зарегистрирован: Dec 12, 2012
Сообщения: 164
Рейтинг: +2/-0

СообщениеДобавлено: Пт 06 Мар, 2015 16:03:52    Заголовок сообщения: Ответить с цитатой

Ну как вариант, можно сделать Add-on Instruction и вызывать ее в вашей Routine. А внутри Routine нельзя создать еще одну и вызывать ее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Serg314
Частый гость
Частый гость


Зарегистрирован: Dec 27, 2013
Сообщения: 17
Рейтинг: +0/-1

СообщениеДобавлено: Пт 06 Мар, 2015 16:13:13    Заголовок сообщения: Ответить с цитатой

Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Пт 06 Мар, 2015 16:24:53    Заголовок сообщения: Ответить с цитатой

Serg314 писал(а):
Мы друг друга не понимаем.
Формулируй вопрос тщательней.
Serg314 писал(а):
У меня в программе на ST есть повторяющиеся куски. И я хочу выделить их в несколько подпрограмм
Question
N повторов типа A -> N вызовов JSR(A,...) и т.д. SBR для А - одна.

Serg314 писал(а):
Но у каждой подпрограммы должно быть свое имя. По крайней мере так принято в традиционных языках.
Как ты создавал программный файл для своего родительского ST, имя задавал?
Панель слева - организатор проекта, раздел Tasks все, что ниже - задачи и программные файлы (нужные тебе имена). Один из них главный, остальные - подпрограммы. SBR и RET применяются только если используешь передачу и прием параметров. Аккуратнее с внутренними (SBR-RET) тегами - обычные теги.
Почитай про AOI (Add On Instruction) - заменяет подпрограммы, но расходует память. Мощнее, но в Online редактировать нельзя, можно только видеть исполнение конкретного вызова (в обычных подпрограммах видно исполнение неизвестно какого вызова).


Последний раз редактировалось: dv_ (Сб 07 Мар, 2015 11:50:44), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Сб 07 Мар, 2015 11:21:41    Заголовок сообщения: Ответить с цитатой

Долго пришлось искать:

Вызов
Код:
Jsr(Entalpy, 2, Water_Hot.Tempr, Water_Hot.Press, Water_Hot.Entalpy);
Jsr(Entalpy, 2, Water_Cool.Tempr, Water_Cool.Press, Water_Cool.Entalpy);

Код:
// энтальпия кДж/кг
Sbr(T,P);   // T - град.С;  P - МПа
  H := 7809.096*T - 13868.72.....
Ret(H);

Примеры от Rockwell.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов VDT Industrial Automation -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

VDT Industrie Automatisierung GmbH | Friedrich-List-Allee 22, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432-98-10-13, Fax: +49 2432-98-10-99 | e-Mail: office@vdt-automation.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.115 секунды
/n