Страница 209 из 1043 ПерваяПервая ... 109159199207208209210211219259309709 ... ПоследняяПоследняя
Показано с 2,081 по 2,090 из 10426

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #2081
    Пользователь Аватар для Щербаков Николай
    Регистрация
    25.07.2011
    Адрес
    Орехово-Зуево
    Сообщений
    21

    По умолчанию

    Прошу помочь разобраться в следующей проблеме. ФБ Sektsiya_v.01 работает как задумано. При создании программы управления рольгангом блок ведёт себя непонятным образом. И в режиме эмуляции, и в реальном контроллере при запуске программы на выходе всех блоков появляется сигнал AvariyaSektsii. В режиме эмуляции ФБ Sektsiya_v.01 данный сигнал формируется как задумано. В программе Rolgang_v001 в ФБ TON (ZaderzhkaAvarii) на входах появляются сигналы (внутри блока - см. рисунок ЗадержкаАварии) TRUE, хотя в самом ФБ этих сигналов нет. Помогите разобраться.
    Лучше семь раз покрыться потом, чем один раз инеем.

  2. #2082
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Подскажите какие есть библиотеки для работы с файлами, директориями кроме SysLibFile.lib?
    Посмотрел пример "Архивация". Реализовал в своем проекте, но сильно смущает, что под хранение имен файлов приходится отдавать драгоценную RETAIN память.
    В 10 году видел сообщение, что SysLibDir не поддерживается ПЛК. Как с поддержкой сейчас ? Есть ли какая замена сторонними либами?

    Уж больно кривой архиватор получился.

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

    По умолчанию

    Цитата Сообщение от Smith2007 Посмотреть сообщение
    Подскажите какие есть библиотеки для работы с файлами, директориями кроме SysLibFile.lib?
    Посмотрел пример "Архивация". Реализовал в своем проекте, но сильно смущает, что под хранение имен файлов приходится отдавать драгоценную RETAIN память.
    В 10 году видел сообщение, что SysLibDir не поддерживается ПЛК. Как с поддержкой сейчас ? Есть ли какая замена сторонними либами?

    Уж больно кривой архиватор получился.
    Че за бред, зачем Вам имена в ретайне хранить?

  4. #2084
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    И я понимаю, что бред. Такой пример нашел (08_Archiver).
    Как прочитать директорию файлов?

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

    По умолчанию

    Цитата Сообщение от Щербаков Николай Посмотреть сообщение
    И в режиме эмуляции, и в реальном контроллере при запуске программы на выходе всех блоков появляется сигнал AvariyaSektsii.
    Смотрите за элементом №15 в ФБ Sektsiya. Он включает Ваш таймер TON, кто же его включает? Если RS триггер молчит, значит элемент №14, который по умолчанию ФАЛЬШ, но через инверсию на вход пятнадцатого OR запускает таймер

  6. #2086
    Пользователь Аватар для Щербаков Николай
    Регистрация
    25.07.2011
    Адрес
    Орехово-Зуево
    Сообщений
    21

    По умолчанию

    Capzap!!! Спасибо! Когда переносил схему в ФБ поставил не там инверсию. Исправил. Всё работает!
    Лучше семь раз покрыться потом, чем один раз инеем.

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

    По умолчанию

    не зачто, главное чтоб работало

  8. #2088
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    При старте программы нужно открыть файл. Далее с этим файлом будет работать ФБ.
    В конфигураторе задач поставил галку на против start, ввел имя POU и создал функцию.
    В функции пытаюсь открыть файл. хендл файла - глобальная переменная.
    Через 5-10 сек после загрузки и старта программы - кодесис сообщает об ошибке связи и отключается.
    Что необходимо в функцию добавить?
    Или есть иной способ открыть файл при старте?

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

    По умолчанию

    Код:
    IF pwr AND pwr<>oldPwr THEN															(* при включении питания *)
    	hFile:=SysFileOpen('rcpt.bin', 'r');														(* получение дескриптора файла *)
    	IF hFile>0 THEN																		(* если файл существует *)
    		logFileSize := SysFileGetSize('rcpt.bin');											(* вычисляем размер файла *)
    		length_read := SysFileRead(hFile, ADR(reception), MIN(UDINT_TO_DWORD(logFileSize),224));	(* читаем данные по минимуму, либо размер файла, либо размер массива *)
    		IF length_read = MAX(UDINT_TO_DWORD(logFileSize),224) THEN					(* если приняли соответствующее количество байт *)
    			SysFileClose(hFile);															(* закрываем файл *)
    		END_IF;
    	END_IF;
    	hFile:=SysFileOpen('ppid.bin', 'r');														(* получение дескриптора файла значений ПИД*)
    	IF hFile>0 THEN																		(* если файл существует *)
    		length_read := SysFileRead(hFile, ADR(pids), 10);									(* читаем данные *)
    		SysFileClose(hFile);
    	END_IF;
    ELSIF oldPwr AND pwr<>oldPwr THEN														(* при отключении питания *)
    	;
    END_IF;
    oldPwr:=pwr AND hFile<>0;

  10. #2090
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    pwr, oldPwr как устанавливаются?
    При старте?
    Приведенный код в отдельной функции/ФБ?

Страница 209 из 1043 ПерваяПервая ... 109159199207208209210211219259309709 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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