Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: ПЛК150 + СП270Т

  1. #1
    Пользователь
    Регистрация
    22.06.2011
    Адрес
    Татарстан. г.Елабуга
    Сообщений
    31

    По умолчанию ПЛК150 + СП270Т

    Здравствуйте!
    Выношу на ВАШЕ рассмотрение мой проект работы системы регулирования водогрейного котла. Проект рабочий. Отопительный сезон ПЛК отработали без сбоев. Но мне, как начинающему работать в программировании будет полезно узнать ВАШИ замечания. Что делаю может быть не так, как сделал бы квалифицированный программист.
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Код — жуть. Отступы, пустые строки и пробелы вокруг операторов от балды вообще расставлены. Как у вас: http://pastebin.com/zbe6EdWf, как надо: http://pastebin.com/EquvpVBB

    Вот так нехорошо делать:
    Код:
              IF  iNagruzka > 100  THEN
                       xMeoGazZacrytie := FALSE ;
                                xMeoGazBlok  := TRUE;
               END_IF
    
                         IF  iNagruzka < 100  THEN
                                   xMeoGazZacrytie := TRUE ;
                                           xMeoGazBlok  := FALSE;
                       END_IF
    Можно же проще:
    Код:
    xMeoGazBlok := iNagruzka > 100;
    xMeoGazZacrytie := iNagruzka < 100;
    Есть фрагменты ещё забавнее:
    Код:
    IF xBlokGaz   = TRUE
    Зачем тут «= TRUE» вообще?

    Очень много бесполезных и даже неправильных комментариев:
    Reguljtor_Vozduxa(); (*Объявление программы регулятора воздуха*)
    Не объявление, а вызов. Это комментарий типа наклейки «Руль» на руле автомобиля.

    Многие переменные объявлены по два раза. Имена неудачные. Например, в PLC_PRG:
    rVozduxVxod AT %ID6.0: REAL := 4; (*Давление воздуха перед горелкой 4..20 mA.*)
    Во-первых, в конфигурации эта переменная уже привязана к %ID6.0. Во-вторых, если это давление, то почему не написать VozduxDavlenie4_20? А лучше и вовсе AirPressure4_20. И уж совсем прекрасно будет назвать его AirPressure, убрать блок Shcala_Vozdux и задать шкалу на вкладке Module Parameters в конфигурации. Или вот iZdnGaz... Почему, например, не HMI_GasSetpoint? И не надо было бы этих комментариев:
    Задание нагрузки введённое с панели оператора имеющее тип WORD преобразуется в тип INT для подключения на вход модуля CHARCURVE
    Было бы и так понятно по «HMI», что значение берётся с панели. И про эти преобразования в то да в сё — зачем? Это какой-то хитрый трюк, непонятный из кода? Это имеет непосредственное отношение к задаче управления?

    Дальше. Константы должны быть константами. Такие переменные, как timPauzaGaz и timImpulsCaz следует объявлять в разделе VAR CONSTANT.

    В программах Reguljtor_Nagruzki и Reguljtor_Vozduxa у вас велосипед гистерезиса и комментарий для восьмиклассника о том, как он работает. Почему-то CHARCURVE вы догадались использовать, а HYSTERESIS проигнорировали.
    Двоичные операторы GT и LT
    Это операторы сравнения, а не двоичные операторы. Двоичные — AND, OR, NOT, XOR.

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

    Ладно, хватит пока.
    Последний раз редактировалось Yegor; 17.04.2013 в 07:17.

  3. #3
    Пользователь
    Регистрация
    22.06.2011
    Адрес
    Татарстан. г.Елабуга
    Сообщений
    31

    По умолчанию Yegor

    Код — жуть.
    Спасибо. Я для того и выложил, чтобы потыкали носом.
    Вы не против, если ещё возникшие вопросы буду адресовать Вам персонально?

  4. #4
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Пожалуйста.

  5. #5
    Пользователь
    Регистрация
    22.06.2011
    Адрес
    Татарстан. г.Елабуга
    Сообщений
    31

    По умолчанию

    Внесу Ваши замечания. HYSTERESIS применить на вход регулятора?
    ... убрать блок Shcala_Vozdux и задать шкалу на вкладке Module Parameters в конфигурации...
    Значит шкалу можно задавать так, как на рисунке?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Рис.1.jpg 
Просмотров:	178 
Размер:	17.7 Кб 
ID:	8619  

  6. #6
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    HYSTERESIS применить на вход регулятора?
    Гистерезис вместо всех этих GT/LT в регуляторах, да.

    Шкалу можно задавать так.

  7. #7
    Пользователь
    Регистрация
    22.06.2011
    Адрес
    Татарстан. г.Елабуга
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Гистерезис вместо всех этих GT/LT в регуляторах, да.

    Шкалу можно задавать так.
    Спасибо. Жаль ПЛК свободного нет. Будет только через пару месяцев.

  8. #8
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    Цитата Сообщение от _Александр_ Посмотреть сообщение
    Спасибо. Жаль ПЛК свободного нет. Будет только через пару месяцев.
    что такого в Вашей программе уникального, что нельзя все проверить в эмуляции?

  9. #9
    Пользователь
    Регистрация
    22.06.2011
    Адрес
    Татарстан. г.Елабуга
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    что такого в Вашей программе уникального, что нельзя все проверить в эмуляции?
    Как проверить диапазон у шкалы заданной со входа ПЛК в эмуляции?

  10. #10
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    вручную вводить ниже диапазона, равно нижней границе, в диапазоне и по верху те же манипуляции, если нужна динамика я подключал другое устройство в качестве слейва, там формировал аналоговый сигнал и выдавал его по модбас, а в редактируемом проекте у меня в конфигураторе диапазон 4-20 и есть фб который переводит эти значения в требуемый диапазон, границы которого можно менять из визуализации. После отладки меняю переменные из добавленного эмулятора сигналов на реальные входа контроллера

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. СП270Т. не залить проект через RS232-USB
    от Роман Журавлев в разделе Панели оператора (HMI)
    Ответов: 5
    Последнее сообщение: 30.10.2011, 16:17
  2. КАК восстановить ПЗУ на СП270Т?
    от Максим_88 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 03.05.2011, 04:44

Ваши права

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