Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 18 из 18

Тема: Помогите разобраться с подпрограмой

  1. #11
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,851

    По умолчанию

    Цитата Сообщение от Andrey Tishakov Посмотреть сообщение
    Я создавал функциональный блок в fbd потом сделал из него внутреннею библиотеку и вставил в основную программу. Таким способом у меня получилось создать блок и там я действительно задавал входные и выходные переменные но самое странное когда я это делал подпрограммой то у меня ничего не вызывалось я хелп излазил весь вдоль и поперек наверное что то пропустил переменные обьявлял глобальными так ничего и не запустил. Посмотрю ваш пример может пойму что я не так делал.
    Зачем такие сложности? Внутренняя библиотека зачем?
    Вы ассистентом ввода пользуетесь? В нем можно выбирать элементы разных классов и в том числе подпрограммы (программы) и функц. блоки созданные Вами.
    Изображения Изображения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #12
    Пользователь
    Регистрация
    04.09.2012
    Адрес
    Украина Луганск
    Сообщений
    27

    По умолчанию

    На основании вашего примера я попробовал сделать в своей программе подпрограмму и понял что если я не укажу в подпрограмме явно входные и выходные переменные то у меня нечего не заработает . Я прав или как.

  3. #13
    Пользователь
    Регистрация
    04.09.2012
    Адрес
    Украина Луганск
    Сообщений
    27

    По умолчанию

    а насчет ассистента ввода то я им практически не пользуюсь. Иногда вызываю по шифт ф2. Это он или нет.

  4. #14

    По умолчанию

    Здравствуйте, Andrey Tishakov.
    Цитата Сообщение от Andrey Tishakov Посмотреть сообщение
    Я попробовал сделать в своей программе подпрограмму и понял что если я не укажу в подпрограмме явно входные и выходные переменные то у меня нечего не заработает . Я прав или как.
    Странно, в моем примере я не указывал входные и выходные переменные и у меня счетчик секунд работает (или я а5 вопроса не понял :-)
    Возможно Вы имели ввиду вызов "функционального блока"? Так в моём примере есть и этот момент, там таймер помогает считать секунды.
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  5. #15
    Пользователь
    Регистрация
    04.09.2012
    Адрес
    Украина Луганск
    Сообщений
    27

    По умолчанию

    Дело в том что на вашем примере я попробовал сделать у себя подпрограмму. Как я сделал , написал подпрограмму в основной выбрал создать элемент, обозвал его именем своей подпрограммы. Проверил симуляцией у меня подпрограмма стала светиться хотя раньше такого не было , как я понял я этим элементом вызвал подпрограмму. Но дальше у меня нечего не работало. То есть подпрограмма считала что то внутри себя и не более того. Тогда я в подпрограмме обозначил явно переменную входа и выхода у меня на элементе с именем подпрограммы(в основной программе) появились вход и выход после того как я их привязал к переменным в основной проге у меня начала работать основная используя подпрограмму. Я правильно сделал.

  6. #16
    Пользователь
    Регистрация
    04.09.2012
    Адрес
    Украина Луганск
    Сообщений
    27

    По умолчанию

    я приаттачил файл посмотрите что я неправильно сделал там конечно бардак вы просто посмотрите правильно ли я вызываю подпрограмму
    Вложения Вложения
    Последний раз редактировалось Andrey Tishakov; 23.11.2012 в 13:02.

  7. #17
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,851

    По умолчанию

    Цитата Сообщение от Andrey Tishakov Посмотреть сообщение
    Дело в том что на вашем примере я попробовал сделать у себя подпрограмму. Как я сделал , написал подпрограмму в основной выбрал создать элемент, обозвал его именем своей подпрограммы. Проверил симуляцией у меня подпрограмма стала светиться хотя раньше такого не было , как я понял я этим элементом вызвал подпрограмму. Но дальше у меня нечего не работало. То есть подпрограмма считала что то внутри себя и не более того. Тогда я в подпрограмме обозначил явно переменную входа и выхода у меня на элементе с именем подпрограммы(в основной программе) появились вход и выход после того как я их привязал к переменным в основной проге у меня начала работать основная используя подпрограмму. Я правильно сделал.
    Если у Вашей подпрограммы нет выходных переменных, то она живет собственной жизнью (что-то делает внутри себя) и основной программе ничего не известно, что делает Ваша подпрограмма, но результаты ее работы можно все таки использовать в основной программе:
    1. Основная программа и подпрограмма используют глобальные переменные. Изменение глобальных переменных в подпрограмме будут видны и в основной программе и на оборот, изменение глобальных переменных в основной программе будут видны и в подпрограмме.
    2. В основной программе использовать внутренние переменные подпрограммы, например подпрограмма называется My_PGG и имеет внутренние переменные Vol1, Vol2.
    Тогда в основной программе к ним можно обращаться так
    A:=My_PGG.Vol1 (*присвоили в основной программе, то что изменилось в подпрограмме*)
    My_PGG.Vol2:=12345 (*передали в подпрограмму число 12345 *)
    Последний раз редактировалось petera; 23.11.2012 в 13:19.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #18
    Пользователь
    Регистрация
    04.09.2012
    Адрес
    Украина Луганск
    Сообщений
    27

    По умолчанию

    То есть в том файле что я прислал ненужно было обьявлять переменные для модуля который я назвал именем подпрограммы а достаточно было после указания модуля с именем подпрограммы потом присваивать переменные которые есть в подпрограмме предварительно обьявив их глобальными так что ли. У меня вот с этой тонкостью проблемы появляются. Ладно буду пробовать. Просто как то проблематично увязывается в голове связка двух языков учитывая что я паршиво знаю st а если точно то по моему мнению не знаю вообще.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Помогите разобраться...
    от kosmas в разделе ПЛК1хх
    Ответов: 85
    Последнее сообщение: 30.09.2014, 09:16
  2. Помогите разобраться...
    от xaker_tm в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 08.02.2010, 17:33
  3. ТРМ 12, помогите разобраться.
    от SEREG@ в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 12.01.2009, 14:21
  4. ПОМОГИТЕ РАЗОБРАТЬСЯ!
    от doctorsot в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 17.12.2008, 23:50
  5. Помогите разобраться !!
    от viking в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 21.11.2007, 14:31

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •