Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Библиотека SysLibTime

  1. #1
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    191

    По умолчанию Библиотека SysLibTime

    Я не могу заставить её работать.
    Сделал строго все как в описании на библиотеку:
    - создал
    SysTime: SysTime64;
    Data_Time: SystemTimeDate;

    - присвоил 0 в соответствующие поля
    - вызвал блок CurTimeEx

    в итоге у меня в переменных относящихся к SysTime данные меняются, а собственно время и дата по 0-м. Записать свои значения тоже не удается. Что нужно еще?

    И хотелось бы отметить, что наличие видео уроков и примеров, не отменяет наличие внятной документации. Потому что отлаживаться нередко приходится на объекте и если у меня там ПЛК110, то куда мне грузить пример для ПЛК150 например? И поскольку Интернет нередко в техпомещениях не очень, то и наблюдать как автор урока бессмысленно возит мышью по экрану и пытаться на смартфоне увидеть что он там полезного делает = тоже не айс. Гораздо правильнее качнуть текстовый файл документации и спокойно разобраться.

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

    По умолчанию

    Цитата Сообщение от starmos Посмотреть сообщение
    Я не могу заставить её работать.
    Сделал строго все как в описании на библиотеку:
    - создал
    SysTime: SysTime64;
    Data_Time: SystemTimeDate;

    - присвоил 0 в соответствующие поля
    - вызвал блок CurTimeEx

    в итоге у меня в переменных относящихся к SysTime данные меняются, а собственно время и дата по 0-м. Записать свои значения тоже не удается. Что нужно еще?

    И хотелось бы отметить, что наличие видео уроков и примеров, не отменяет наличие внятной документации. Потому что отлаживаться нередко приходится на объекте и если у меня там ПЛК110, то куда мне грузить пример для ПЛК150 например? И поскольку Интернет нередко в техпомещениях не очень, то и наблюдать как автор урока бессмысленно возит мышью по экрану и пытаться на смартфоне увидеть что он там полезного делает = тоже не айс. Гораздо правильнее качнуть текстовый файл документации и спокойно разобраться.
    Вот делал когда-то для установки времени ПЛК из панели СП270

    Код:
    PROGRAM PLC_PRG
    VAR
    	GetTime: CurTimeEx;
    	TimeAndDate: SystemTimeDate;
    	Sys_Time: SysTime64;
    END_VAR
    imeAndDate.Day :=0;
    TimeAndDate.DayOfWeek :=0;
    TimeAndDate.dwHighMsec :=0;
    TimeAndDate.dwLowMSecs :=0;
    TimeAndDate.Milliseconds :=0;
    TimeAndDate.Minute :=0;
    TimeAndDate.Second :=0;
    TimeAndDate.Hour :=0;
    TimeAndDate.Year :=0;
    TimeAndDate.Month :=0;
    Sys_time.ulHigh :=0;
    Sys_time.ulLow :=0;
    GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);(*Текущее время*)
    (*--------------------------------------------------------------*)
    HMI_Y:=TimeAndDate.Year;
    HMI_M:=TimeAndDate.Month;
    HMI_D:=TimeAndDate.Day;
    HMI_HH:=TimeAndDate.Hour;
    HMI_MM:=TimeAndDate.Minute;
    HMI_SS:=TimeAndDate.Second;
    (*--------------------------------------------------------------*)
    IF set_HH OR set_MM OR set_SS THEN
    	IF set_HH THEN						(*Если set_HH - истина, то менять только часы*)
    		TimeAndDate.Minute:=HMI_MM;	(*Оставляем текущие минуты*)
    		TimeAndDate.Second:=HMI_SS;	(*Оставляем текущие секунды*)
    		TimeAndDate.Hour:=HH;			(*а часы пишем новые*)
    	ELSIF set_MM THEN					(*Если set_MM - истина, то менять только минуты*)
    		TimeAndDate.Minute:=MM;		(*минуты пишем новые*)
    		TimeAndDate.Second:=HMI_SS;	(*Оставляем текущие секунды*)
    		TimeAndDate.Hour:=HMI_HH;	(*Оставляем текущие часы*)
    	ELSIF	set_SS THEN					(*Если set_SS - истина, то менять только секунды*)
    		TimeAndDate.Minute:=HMI_MM;	(*Оставляем текущие минуты*)
    		TimeAndDate.Second:=SS;		(*секунды пишем новые*)
    		TimeAndDate.Hour:=HMI_HH;	(*Оставляем текущие часы*)
    	END_IF
    	GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);
    	set_HH:=set_MM:=set_SS:=FALSE;
    END_IF
    (*--------------------------------------------------------------*)
    IF set_date THEN	(*Если set_date - истина, то менять дату*)
    	TimeAndDate.Day:=D;
    	TimeAndDate.Month:=M;
    	TimeAndDate.Year:=Y;
    	GetTime (SystemTime:=Sys_Time , TimeDate:= TimeAndDate);
    	set_date:=FALSE;
    END_IF
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Цитата Сообщение от starmos Посмотреть сообщение

    И хотелось бы отметить, что наличие видео уроков и примеров, не отменяет наличие внятной документации. Потому что отлаживаться нередко приходится на объекте и если у меня там ПЛК110, то куда мне грузить пример для ПЛК150 например? И поскольку Интернет нередко в техпомещениях не очень, то и наблюдать как автор урока бессмысленно возит мышью по экрану и пытаться на смартфоне увидеть что он там полезного делает = тоже не айс. Гораздо правильнее качнуть текстовый файл документации и спокойно разобраться.
    Теорию вы должны изучить до того, как отправились на объект, а изучать примеры на объекте это не дело. Поменять таргет с ПЛК150 на ПЛК110 дело 2 минут.
    Конкретно в примере с библиотекой Времени, переносить вообще нечего, только сменить целевую платформу. Это делается несколькими нажатиями мыши. После смены платформы надо нажать Дополнения / Стандартная конфигурация, получите новый чистый таргет.
    Перенести конфигурацию можно при помощи программы https://owen.ru/forum/showthread.php?t=18269
    Документация есть на всё, если вы её не нашли, то не надо жаловаться.
    Последний раз редактировалось kondor3000; 22.03.2023 в 10:09.

  4. #4
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    191

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Теорию вы должны изучить до того, как отправились на объект, а изучать примеры на объекте это не дело. Поменять таргет с ПЛК150 на ПЛК110 дело 2 минут.
    Перенести конфигурацию можно при помощи программы https://owen.ru/forum/showthread.php?t=18269
    Я так и сделал - написал программу в соответствии с описанием на библиотеку. Приехал и не работает. И что я сделал не так? Конечно я уже на объекте начал пытаться разобраться.
    А вот менять таргеты и переносить конфигурации отдельной программой, вот это точно не дело на объекте.
    Это квест что ли такой от ОВЕН - "заставь библиотеку работать" и надо его успешно пройти, найдя скрытые "ключи"? Потому что из документации все просто выходит. Но не работает у меня. Я ничего не говорю, может и у меня косяк, но куда смотреть, я не могу понять.

  5. #5

    По умолчанию

    Цитата Сообщение от starmos Посмотреть сообщение
    Я так и сделал - написал программу в соответствии с описанием на библиотеку. Приехал и не работает. И что я сделал не так? Конечно я уже на объекте начал пытаться разобраться.
    А вот менять таргеты и переносить конфигурации отдельной программой, вот это точно не дело на объекте.
    Это квест что ли такой от ОВЕН - "заставь библиотеку работать" и надо его успешно пройти, найдя скрытые "ключи"? Потому что из документации все просто выходит. Но не работает у меня. Я ничего не говорю, может и у меня косяк, но куда смотреть, я не могу понять.
    Вы не проверили программу, этого достаточно. Даже не имея ПЛК, прогу с биб-кой SysLibTime, можно проверить с помощью виртуального контроллера PLC WIN NT.
    В эмуляции она не работает.

    ЗЫ : Чтобы запустить пример, выложенный petera , мне понадобилась минута, при этом заменив контроллер на PLC WIN NT.
    Последний раз редактировалось kondor3000; 22.03.2023 в 11:20.

  6. #6
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    191

    По умолчанию

    Спасибо у меня так и есть. Разница только в том, что я на языке CFC это написал и у меня один сигнал на установку времени и даты.

  7. #7
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    191

    По умолчанию

    А еще такой вопрос - допустим у меня не устанавливается время. Но что происходит с часами, если время не установлено? Должны же секунды/минуты идти, начиная с 0? И если у меня все время 0 везде, то это означает, что я не получаю время, а не только не устанавливаю? Или просто не получаю.

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

    По умолчанию

    Цитата Сообщение от starmos Посмотреть сообщение
    А еще такой вопрос - допустим у меня не устанавливается время. Но что происходит с часами, если время не установлено? Должны же секунды/минуты идти, начиная с 0? И если у меня все время 0 везде, то это означает, что я не получаю время, а не только не устанавливаю? Или просто не получаю.
    сомнительно как то, что проблема в документации, после такого вопроса напрашивается встречный, Вы читали её? owen.png
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #9
    Пользователь
    Регистрация
    22.02.2012
    Адрес
    Челябинск
    Сообщений
    191

    По умолчанию

    А откуда сомнения в том, что я её читал? У меня все так и сделано - присваиваются 0 каждый цикл, полученные данные отправляются на панель оператора (ничего не получается только). Есть возможность установки - ввел данные, нажал кнопку, должно установиться, но нет. Данные из панели в переменные нужные записываются, данные из переменных записываются в панель, это все я проверил. У если у меня исходно присваивается нули, то потом я должен же получить время? И полученное время должно отобразиться. Часы ведь ИДУТ же, значит через 1 секунду их значение уже не будет 0, а будет 1 и я должен это все увидеть, если чтение происходит? Или нет? А если я этого не вижу, значит у меня и не читается, я пытаюсь разобраться.

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

    По умолчанию

    Вы ни проект, даже скрин не предоставили как у Вас это всё выглядит. В доках, да и в примере на ST четко прописано, во все переменные ставим нули -> выполняем функцию -> получаем текущее время, если хотим записать: то вставляем нужное значение в необходимую переменную, выполняем функцию и измененное значение должно установить часы и дату в соответствии с изменениями

    ЗЫ если цикл плк хотя бы на порядок меньше чем секунда, то выполняя в каждом цикле чтение ни каких проблем видеть "бегущие" секунды
    Последний раз редактировалось capzap; 22.03.2023 в 14:14.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

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

Похожие темы

  1. SysLibTime
    от Chupakabra в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 11.10.2018, 14:26
  2. SysLibTime и CFC
    от Victor721 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 09.04.2016, 10:40
  3. Syslibtime
    от Safron в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 13.12.2015, 10:48
  4. Миллисекунды в SysLibTime
    от Leonid в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 14.03.2010, 10:35
  5. Библиотека SysLibTime
    от Serp в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 01.10.2008, 16:14

Ваши права

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