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

Тема: Считывание времени

  1. #1

    По умолчанию Считывание времени

    Подскажите пожалуйста! Приобретён ПЛК 100-24 К-М. Есть задача ситывания текущего времени из ПК и его запись в ПЛК. В Library Manager подключаю библиотеку SysLibRtc для использования системной функции SysRtcGetTime, но ПЛК с подключенной бибиотекой приложение "не пускает". (Без SysLibRtc ПЛК загружается и работает нормально). Что делать? М.б. нужна другая прошивка или ругая модель ПЛК?

  2. #2

    По умолчанию

    Нужна другая модель ПЛК. В ОВЕН ПЛК1ХХ библиотека SysLibRTC не поддержана. Поддержана SysLibTime.
    Примеры работы с библиотекой есть на форуме...

  3. #3

    По умолчанию

    В общем, чтобы записывать текущее время ПК в Овен, вывёртываюсь так: С помощью средста VB-6 считываю текущую дату и время с ПК, затем - формирую (т.е. вычисляю) текущее время и представляю его числом, понятным Овену, как текущая дата и время в формате DINT. Затем перевожу это число в Hex-ы, меняю местами по 4 информационных байта фрейма и вставляю в посылку по Modbus ASCII. (Используется Com порт). Осталось найти как считать контрольную сумму (взятый из имеющегося примера алгоритм не даёт нужного числа), может кто подскажет, где есть описение протокола Modbus ASCII именно для Овена с доходчивым описанием алгоритиа вычисления контрольной суммы.
    Пы.Сы. Посылка, для конкретной точки времени, получается такая: 05100004000200AAFD4D35BD (данные AAFD4D35 точно щас не помню, только контр. сумму ).
    Причём пока не поставил 2 нуля (в имеющемся описании фрейма) после длины запроса (парам. 0002), Овен посылку не воспринимал. Код посылки выискивал с помощью Lectus Modbus OPC and DDE server.
    Осталось найти надлежащий алгоритм вычисления КС. Буду очень благодарен Вам за подсказку.

  4. #4

  5. #5

    По умолчанию

    МиХаил, спасибо, но это расчёт CRC суммы, когда в ASCII требуется LRC сумма. Порылся в инете и нашёл 2 разных способа исчисления LRC суммы. Отличие - оконцовке. В одном (видимо в стандартном) сумма инвертируется и плюсуется 1, в другом - 256 (FA) минус сумма "доконтрольных" чисел.

  6. #6

    По умолчанию

    Цитата Сообщение от Василий_S Посмотреть сообщение
    МиХаил, спасибо, но это расчёт CRC суммы, когда в ASCII требуется LRC сумма. Порылся в инете и нашёл 2 разных способа исчисления LRC суммы. Отличие - оконцовке. В одном (видимо в стандартном) сумма инвертируется и плюсуется 1, в другом - 256 (FA) минус сумма "доконтрольных" чисел.
    Потратим минуту времени находим в интернете следующее:
    Контрольная сумма в режиме ASCII это LRC. Контрольная сумма - это 8-ми разрядное число, передаваемое как два ASCII символа (hex). Контрольная сумма образуется путем конвертирования всех hex символов в двоичные числа, сложением этих чисел без учета переноса, и вычислением дополнительного кода полученного числа. В приемнике LRC заново рассчитывается и сравнивается с полученным LRC. При вычислении LRC двоеточие, CR, LF и любой другой не-ASCII символ отбрасывается.
    Источник:
    http://www.google.ru/url?sa=t&source...uvkViQ&cad=rjt

  7. #7

    По умолчанию

    Александр, Нашёл свою ошибку - не указал количество передаваемых байт, вместо числа - поставил 00. Оттого и КС отличается от требуемой.

  8. #8
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Это проще сделать использую ОРС КДС и сислиб тайм.

  9. #9

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    Это проще сделать использую ОРС КДС и сислиб тайм.
    Да, но в моём случае ситуация иная: SCADA самодельная - на VB

  10. #10

    По умолчанию

    Ура-аааааааааааааааааааааааааааа! Получилось!
    В ПЛК постоянно передаётся время из ПК. Блин, арифметичекая сумма должна быть, а не логическая перед инвертированием.
    Вопрос! В сети RS 485, протокол Modbus ASCII, - несколько устройств Owen - Slave, естесственно со своим адресом каждый. Каким макаром можно осуществлять посылку данных (в д. сл. - текущее время) на все устройства одновременно?
    Заранее благодарен за ответ.

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

Ваши права

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