Страница 3 из 6 ПерваяПервая 12345 ... ПоследняяПоследняя
Показано с 21 по 30 из 52

Тема: Програмные компоненты

  1. #21
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

    Уважаемый Sergey666. Я еще совсем новичек и если знаете-подскажите, как это делает amn идругие учасники. Но нравоучения,да еще в такой форме,поменьшей мере даже в чем то оскарбительны.Теперь по теме.Я пытаюсь создать не FB a POU Вкратце еще раз. большая программа с входами и выходами все работает. Хочу разбить ни подпраграммы .Делаю следующее:1.Создаю новые POU с названиями

    2 В PLC_PRG в новой строке создаю напр. TON переименовую его в название POU
    3.Принимает такой вид(во вложении)
    4.компилирую-выдает предупреждения по каждому POU. Это нормально?
    Вложения Вложения
    • Тип файла: rar POU.rar (24.7 Кб, Просмотров: 149)

  2. #22
    Пользователь
    Регистрация
    05.11.2011
    Адрес
    Томск
    Сообщений
    192

    По умолчанию

    Что-то новое) Скрин из Codesys'a нарисовать в PPoint .
    Скиньте проект, глянем.

  3. #23
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

    Вот пример
    Вложения Вложения
    • Тип файла: pro prg.pro (29.9 Кб, Просмотров: 155)

  4. #24
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    А , чё это ?????????
    Если нет выходных параметров то очевидно головотяпство , но на выполнение программы это не влияет .
    Причем здесь глобальные переменные ???? В чем они виноваты???? Если вы претендуете на роль учителя и благодетеля своими примерами - корректно выражайтесь. Человеку , не желающему разбиратся , "глобальная переменная" ни о чем не говорит.
    Например в моих проектах 90% переменных глобальные и все работает .

    Мож книгу написать . Так её читать не будут или начнут и бросят , ведь может быть на форуме найдется добрячёк , который весь код напишет.
    Хороший тон программирования предполагает использовать локальные переменные всюду, где это возможно, и стараться не использовать глобальных переменных вообще, кроме случаев, где это оправдано. Разве не так?

    На роль учителя мне еще рано претендовать. Мне нравится этот форум за то, что тут "живут" отзывчивые люди. Мне помогают, и я стараюсь помочь, чем могу. Заодно и учусь в процессе.

    С уважением, Михаил.

  5. #25
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

    Но если одни и те же переменные в разных POU то как без глобальных. Локальные ведь не будут видны . И вы мне скажите предупреждения которые выдает компилятор. ЭЭЭто нормально. Или должно быть 0 ошибок 0 предупреждений. проект в LD.

  6. #26
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от zendo057 Посмотреть сообщение
    Но если одни и те же переменные в разных POU то как без глобальных. Локальные ведь не будут видны . И вы мне скажите предупреждения которые выдает компилятор. ЭЭЭто нормально. Или должно быть 0 ошибок 0 предупреждений. проект в LD.
    В основной программе (PLC_PRG) у вас есть какие-то переменные. Чтобы они стали доступны POU надо их передать ему в качестве параметров. Чтобы такая возможность появилась, в POU объявляете переменные следующим образом:

    VAR_INPUT
    var1: BOOL; (*первый входной параметр блока*)
    var2: BOOL; (*второй входной параметр блока*)
    END_VAR
    VAR_OUTPUT
    q1: BOOL; (*первый выходной параметр блока*)
    q2: BOOL; (*второй выходной параметр блока*)
    END_VAR
    VAR
    var3: BOOL; (*первая локальная переменная блока*)
    var4: BOOL; (*вторая локальная переменная блока*)
    END_VAR

    В этом случае в блоке POU появятся дополнительные входы и выходы. Обратите внимание, у вас в примере у блоков нет параметров и поэтому они выглядят пустыми квадратиками.

    Кстати, имена переменных, которые вы передаете в качестве параметров в POU из основной программы не обязательно должны быть такими же как и объявленные внутри POU.

    Если сделаете все правильно будет 0 ошибок и 0 предупреждений.

  7. #27
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

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

  8. #28
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Я вам показал как объявлять переменные. Откройте POU re. Видите окошко для объявления переменных, где у вас написано
    PROGRAM re

    дальше ниже у вас объявлена локальная переменная a7.

    VAR
    a7: BOOL;
    END_VAR

    Локальная переменная не видна из основной программы. Она доступна только в вашем POU. Если поместить ее между словами

    "VAR_OUTPUT" и "END_VAR", то ее значение уже будет доступно в основной программе, вызывающей POU.
    Например так

    VAR_OUTPUT
    a7: BOOL;
    END_VAR

    В этом же POU у вас есть еще две переменные a1 и c2. Чтобы они были доступны из основной программы, поместим их между словами "VAR_INPUT" и END_VAR". В этом случае они будут входными параметрами вашего POU.
    Например так:

    VAR_INPUT
    a1: BOOL;
    c2: BOOL;
    END_VAR

    Текст расположенный между "(*" и "*)" является комментарием и в компиляции не участвует.
    Например:

    (*комментарий*)

  9. #29
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

    Вся моя тупизна заключалась в том,что объявление переменных было таблицей,а там не видно этих VAR END и тд. Когда перевел в другой формат то сразу стал понятен весь код. Спасибо Михаил Вам.

  10. #30
    Пользователь
    Регистрация
    11.07.2012
    Адрес
    г. МИНСК
    Сообщений
    522

    По умолчанию

    Добрый всем день.Большая просьба подскажите пожалуйста где я туплю.Как мне подсказал уважаемый amn-теоретически я все понял.Создал проект(в приложении) но всеравно при компиляции выдает сообщение.
    Тема такова:Входная переменная с1 включает а1,значение которой передается в POUre,а1 включаясь включает а2 значение которой передается в PLC_PRG,а2 включаясь включает а3.
    Бъюсь уже три дня а толку нет.Преречитал РП вроде все делаю правильно.Может исправите в моем примере?
    Вложения Вложения

Страница 3 из 6 ПерваяПервая 12345 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 3
    Последнее сообщение: 30.09.2010, 22:30
  2. не могу найти компоненты;v2.3
    от ГоршенинВладимир в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 21.12.2009, 10:21

Ваши права

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