Просмотр полной версии : Сп310 + пр103 синхронизация часов реального времени
MaximLivanov
15.05.2025, 15:07
Доброго времени суток подскажите пожалуйста как мне реализовать синхронизацию часов у СП310 и пр103? Я хочу меняя время на панели Сп310 менять его также и в пр103, но в пр 103 регистры(61559,61558,61557) часов минут и секунд только для чтения, как мне записать время при изменение его на панели?
kondor3000
15.05.2025, 16:18
Доброго времени суток подскажите пожалуйста как мне реализовать синхронизацию часов у СП310 и пр103? Я хочу меняя время на панели Сп310 менять его также и в пр103, но в пр 103 регистры(61559,61558,61557) часов минут и секунд только для чтения, как мне записать время при изменение его на панели?
Для записи надо использовать регистр 61553-61554 (Дата, Время в формате UnixTime)
Сергей0308
15.05.2025, 16:23
Доброго времени суток подскажите пожалуйста как мне реализовать синхронизацию часов у СП310 и пр103? Я хочу меняя время на панели Сп310 менять его также и в пр103, но в пр 103 регистры(61559,61558,61557) часов минут и секунд только для чтения, как мне записать время при изменение его на панели?
Наверно надо РЭ посмотреть, стр. 52-53, народ совсем обленился:
83776
83777
MaximLivanov
15.05.2025, 16:38
Наверно надо РЭ посмотреть, стр. 52-53, народ совсем обленился:
83776
83777
Я это читал, только здесь время записано в формате секунд регистр 61553 и 61554 соответственно, а в панели оператора как его перевести в секунды я пока не разобрался, в панели сп310 час это один регистр, минуты другой регистр, или я чего то не понимаю? И не нужно сразу ругаться
вот что в этом регистре (61553)
83778
MaximLivanov
15.05.2025, 16:51
Я понимаю что мне нужно как то перевести привычный для всех формат в секунды на панели оператора и отправить в пр103 но не знаю как. Или есть другой вариант?
83779
при нажатии на кнопку выход время должно меняться и в панели и в пр
kondor3000
15.05.2025, 18:57
Я понимаю что мне нужно как то перевести привычный для всех формат в секунды на панели оператора и отправить в пр103 но не знаю как. Или есть другой вариант?
при нажатии на кнопку выход время должно меняться и в панели и в пр
Вот проект, с макросом получения времени UnixTime в регистрах PSW300-301 (DWORD). Работает только в панели.
С помощью ФО ( функц. области), управление по биту, надо копировать 2 регистра (группу регистров) из PSW300 в 4х 61553.
Если интересно, то получение времени в ПР
Дата, Время и День недели через DT (и UnixTime) с 2000г. (и с 1970г.)____________ https://owen.ru/forum/showthread.php?t=40116#4
MaximLivanov
15.05.2025, 19:57
После записи и с панели и через эмулятор дата в ПР103 сбрасывается до 07.02.2036 и время ставится 6:28, не зависимо какую я выставляю дату в панели. Я же правильно понял сначала я вызываю макрос потом копирую PSW300 в 4x 61553 DWORD
83782
kondor3000
15.05.2025, 20:15
После записи и с панели и через эмулятор дата в ПР103 сбрасывается до 07.02.2036 и время ставится 6:28, не зависимо какую я выставляю дату в панели. Я же правильно понял сначала я вызываю макрос потом копирую PSW300 в 4x 61553 DWORD
Вы скрин полученного времени выложите из моего примера ( или скопируйте), возможно надо переставить регистры в Настройках панели.
В эмуляторе макросы не работают.
MaximLivanov
15.05.2025, 20:36
Все разобрался, макрос вызывался и записывалось одновременно и по этому при каждой записи записывались предыдущие данные - время работает как часы))), только год не правильный ставится
83783
Сергей0308
15.05.2025, 20:48
Все разобрался, макрос вызывался и записывалось одновременно и по этому при каждой записи записывались предыдущие данные - время работает как часы))), только год не правильный ставится
83783
Всё же посмотрите РЭ на ПР103(хоть одним глазком), я даже скрин выкладывал, для понимания этого будет достаточно, в смысле, время считается с 2000 года, а не с 1970, по этому 30 лет разницы!
83785
MaximLivanov
15.05.2025, 20:49
Дату поправил, Спасибо огромное за помощь
83784
kondor3000
15.05.2025, 20:52
Все разобрался, макрос вызывался и записывалось одновременно и по этому при каждой записи записывались предыдущие данные - время работает как часы))), только год не правильный ставится
Год не правильный, потому что отсчёт с 2000, а надо с 1970 (для панели), по ссылке из времени для передачи в ПР103 надо вычесть 30 лет
- 946684800
MaximLivanov
15.05.2025, 21:20
Всё же посмотрите РЭ на ПР103(хоть одним глазком), я даже скрин выкладывал, для понимания этого будет достаточно, в смысле, время считается с 2000 года, а не с 1970, по этому 30 лет разницы!
83785
Поверьте я ее читал и не раз, и скрин я ваш видел, но нет в инструкции описания создания макроса на перевод времени из одного формата в другой. Так же как и нет много чего не стандартного, инструкции описывают общий функционал и стандартные ситуации, функции. Я прекрасно понимал что нужно сделать и я об этом написал выше что нужно перевести формат, но к моему сожалению я с макросами не знаком, поэтому просил помощи. И форумы такого плана в моем понятии созданы для взаимопомощи и решения подобных задач что позволяет минимизировать потраченное время. Я не занимаюсь постоянно сборкой щитов управления и программированием плк, я собираю щиты управления по мере необходимости исключительно для своего производства, по этому мои знания не настолько углублены в данную тематику. По этому не нужно нападать сразу на людей с обвинениями что кто то обленился и не может прочитать РЭ, прежде чем написать сюда я часа 4 пробовал решить эту задачу самостоятельно и только после того как понял что мои знания в решении этого вопроса исчерпаны я написал на форум.
Еще раз огромное спасибо за помощь!!!
kondor3000
15.05.2025, 21:31
Поверьте я ее читал и не раз, и скрин я ваш видел, но нет в инструкции описания создания макроса на перевод времени из одного формата в другой. Так же как и нет много чего не стандартного, инструкции описывают общий функционал и стандартные ситуации, функции. Я прекрасно понимал что нужно сделать и я об этом написал выше что нужно перевести формат, но к моему сожалению я с макросами не знаком, поэтому просил помощи. И форумы такого плана в моем понятии созданы для взаимопомощи и решения подобных задач что позволяет минимизировать потраченное время. Я не занимаюсь постоянно сборкой щитов управления и программированием плк, я собираю щиты управления по мере необходимости исключительно для своего производства, по этому мои знания не настолько углублены в данную тематику. По этому не нужно нападать сразу на людей с обвинениями что кто то обленился и не может прочитать РЭ, прежде чем написать сюда я часа 4 пробовал решить эту задачу самостоятельно и только после того как понял что мои знания в решении этого вопроса исчерпаны я написал на форум.
Еще раз огромное спасибо за помощь!!!
Можно попробовать в макросе дописать в конце строку, и не делать запись из ФО, слейв адрес и протокол указать свои.
Write(PLC, 16, MODBUS_RTU_REG_4X, 61553, 2, TYPE_DWORD, UnixTime); // MODBUS_RTU
Write(NET_0, 1, MODBUS_TCP_REGS_4X, 61553, 2, TYPE_DWORD, UnixTime); // MODBUS_TCP
MaximLivanov
15.05.2025, 21:49
Можно попробовать в макросе дописать в конце строку, и не делать запись из ФО
Write(PLC, 16, MODBUS_RTU_REG_4X, 16553, 0, TYPE_DWORD, UnixTime);
В этом случае панель будет постоянно отправлять данные о времени? и постоянно перезаписывать регистр 61553? Подключение у меня через Ethernet но постоянные отправки данных не будут замедлять работу панели? т.к. очень много разных устройств общаются с панелью (частотники, пр103, 2шт мв210-214, другие панели тоже передают данные между собой и.т.д) я стараюсь минимизировать трафик.
kondor3000
15.05.2025, 21:56
В этом случае панель будет постоянно отправлять данные о времени? и постоянно перезаписывать регистр 61553? Подключение у меня через Ethernet но постоянные отправки данных не будут замедлять работу панели? т.к. очень много разных устройств общаются с панелью (частотники, пр103, 2шт мв210-214, другие панели тоже передают данные между собой и.т.д) я стараюсь минимизировать трафик.
Строку поправил, макрос в примере вызывается одноразово, при нажатии кнопки.
Можно сделать по биту раз в час или в сутки.
MaximLivanov
15.05.2025, 22:02
В место PLC в моем случае писать Ethernet 16-это адрес? мне прописать ip?
kondor3000
15.05.2025, 22:06
В место PLC в моем случае писать Ethernet 16-это адрес? мне прописать ip?
написал 2 строки для ТСР и RTU, IP не нужен
MaximLivanov
15.05.2025, 22:17
написал 2 строки для ТСР и RTU, IP не нужен
Да работает замечательно, Спасибо
MaximLivanov
15.05.2025, 22:29
Дата стала ставится в пр 103 ровно на 1 день меньше,
сделал так :: time_str.tm_mday = wDay + 1;
вроде все работает
kondor3000
15.05.2025, 22:33
Дата стала ставится в пр 103 ровно на 1 день меньше
Это странно, уверены, что в панели дата правильно стоит? 83786
Скорее всего, вы не туда 30 лет прибавили ( у вас 1930 вместо 1900), а надо было 2000 год надо заменить на 1970
MaximLivanov
15.05.2025, 22:38
В итоге, сделал вызов макроса при нажатии на кнопку выхода из настроек времени и вызов макроса раз в сутки для синхронизации в процессе работы.
Вывод - надо изучать макросы:)
MaximLivanov
15.05.2025, 22:41
Я понаблюдаю, в данный момент работает даже лучше чем планировал, если расхождения будут то поменяю.
MaximLivanov
15.05.2025, 22:49
У меня есть еще один вопрос он немного не по теме, как сделать что бы при потери связи с каким либо устройством подключенным к сп310 по ethernet панель автоматом отключала бит обмена адреса этого устройства? Просто если какое либо устройство выключено а панель получает или отправляет данные на него то она начинает виснуть пока не отключишь в ручную бит обмена
MaximLivanov
15.05.2025, 22:52
я пробовал через ФО но работает не корректно много раз ложно срабатывает
kondor3000
15.05.2025, 22:59
У меня есть еще один вопрос он немного не по теме, как сделать что бы при потери связи с каким либо устройством подключенным к сп310 по ethernet панель автоматом отключала бит обмена адреса этого устройства? Просто если какое либо устройство выключено а панель получает или отправляет данные на него то она начинает виснуть пока не отключишь в ручную бит обмена
Это не верный подход, не панель должна включать, отключать слейв, а при потере слейва надо вывести окно, что слейв не на связи,
(далее надо заменить - отключить слейв руками)
MaximLivanov
15.05.2025, 23:13
Да, но в момент потери связи с устройством панель пытается с ним связаться и начинает виснуть, в этот момент я хочу сделать автоматическое отключение обмена ну и дальше уже окно о потери связи и.т.д особенно виснет когда по rs-485 теряет связь
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot