Ответы в темах
-
АвторЗаписи
-
manjey73УчастникСписок шагов есть в readme.
Единственное, я бы ставил скаду в папку пользователя а не в /etc, меньше проблем с правами доступа, возможность вынести раздел /home на отдельный раздел винта или на другой винт. Проделать это с /etc будет проблематичнее.
Необходимо править скрипты запуска (указывать путь расположения вместо /etc на /home/пользователь/scada
manjey73Участник01 04 00 01 00 06 21 C8 — вроде корректный запрос с правильной CRC.
manjey73УчастникУ вас запрос идет к нулевому адресу прибора по этой ссылке http://ipic.su/img/img7/fs/peredachadannyh.1458638791.jpg
Если в настройках Коммуникатора у вас привязан к КП, то в Администраторе в КП поставьте адрес прибора.
Дословно слова Михаила не найду быстро, суть, если установлена привязка к КП, то адрес и позывной берется из базы данных scada, а не из настроек Коммуникатора.
-
Ответ изменён 10 лет, 5 месяцев назад пользователем
manjey73.
manjey73УчастникУ Modbus командная строка не может иметь вид RTUsegnetic.xml
По идее она должна быть KpModbus_RTUsegnetic.xml
Почему КП стало 16, если было 58 ?
Точно 2 стоп бита используется ?
Может попробуете настроить еще раз, не забыв указать в пользовательских параметрах TransMode TCP (или RTU) — без этого тоже работать не будет.
Необходимо узнать в какой последовательности байт передает Сегнетик регистры и указать это в настройках.
Например для Овен передача float порядок байт 2301
manjey73УчастникСделайте картинки получше, хоть на yandex диск положите чтоли. А то ведь нифига толком не видно.
От какого коммутатора и какой сервер ? если вы отключили физически линии связи, то что вы хотите узреть ?
-
Ответ изменён 10 лет, 5 месяцев назад пользователем
manjey73.
manjey73УчастникСкорее всего один из методов просто обрезает миллисекунды.
Только какой из двух не проверял.p.s. предположение.
ща проверю 🙂
Миллисекунды либо равны, либо в оригинальном варианте DateTime.Now на 1-ну миллисекунду меньше.
Там еще что-то сидит, кроме этого, что не учитывает функция Delphi, не связанное с временем как таковым.
manjey73УчастникРасхождений в секундах вроде не замечено.
manjey73УчастникСравнил, отличаются в миллисекундах вероятно.
18.03.2016 13:21:26______18.03.2016 13:21:33______18.03.2016 13:21:40
42447,5565534375_________42447,5566373727_________42447,5567141088
42447,5565534412_________42447,5566373812_________42447,5567141101
18.03.2016 13:21:26______18.03.2016 13:21:33______18.03.2016 13:21:4018.03.2016 13:21:45______18.03.2016 13:21:50
42447,5567719907_________42447,5568361806
42447,5567719954_________42447,5568361889
18.03.2016 13:21:45______18.03.2016 13:21:501 дата (date1) — получена по DateTime.Now
1-ый double (dd) получен при помощи date1.ToOADate()
2-ой double (dd1) получен при помощи Arithmetic.EncodeDateTime(date1)
2-я дата получена при помощи DateTime.FromOADate(dd1)Так что если миллисекунды не так важны, то даты и время вроде совпадают, хотя и есть отличия в самих double. надо подольше погонять, появится ли расхождение в секундах в какие-то моменты времени. Либо это просто не идеальный расчет миллисекунд в какой-то из формул.
manjey73УчастникМихаил, проверьте пожалуйста, соответствует ли это варианту Delphi.
В С# ToOADate, FromOADate тоже вроде пляшет от 30 декабря 1899 года17.03.2016 15:38:47 — #03#59#B1#DC#D4#B9#E4#40, 42446,6519400347
17.03.2016 15:38:52 — #26#EA#2D#DD#D4#B9#E4#40, 42446,6519994329
17.03.2016 15:39:28 — #0E#62#8E#E0#D4#B9#E4#40, 42446,6524116435
manjey73УчастникМихаил, так может вы распишите унаследованный из Delphi формат, а мы уже подгонимся ?
Или если DateTime.ToOADate() окажется достаточно близок к нему то произойдет переход ?
manjey73УчастникНа данный момент у нас 4-ре прибора на столе, к которым прикручиваем драйвера.
Счетчик электроэнергии Меркурий 206 (по идее вся серия 20Х)
Регистратор импульсов Пульсар 10-М (по идее 2, 6, 10 и 16 канальные должны работать)
Квартирный счетчик воды Пульсар с RS485 интерфейсом
Квартирный компактный счетчик тепла Пульсар
manjey73УчастникVyacheslav
Меня формат DateTime интересует в первую очередь, чтобы потом не переделывать драйвер.
То, что у меня 6 байт и как они раскладываются мне известно из информации протокола прибора, с этим проблем нет.
задача 1. обработать данные времени прибора и завернуть их в формат DateTime в double, чтобы SCADA получив этот пакет однозначно его восприняла как дату. (тем более что в следующих версиях такая поддержка окажется)
задача 2. Компьютер, на котором установлена Scada синхронизирует время с ntp. По команде управления происходит чтение через драйвер время прибора, или в автоматическом режиме раз в месяц запись синхронизированного времени в прибор.
Передача со стороны scada в формате DateTime.Переваривать время прибора в double в обоих направлениях соответственно задача драйвера а не scada.
-
Ответ изменён 10 лет, 5 месяцев назад пользователем
manjey73.
manjey73УчастникДа, при записи параметра в прибор я читаю ответ прибора, и если ответ говорит, что запись не удалась необходимо принять какие-то действия, увеличить счетчик ошибок.
Ну и как-то сообщить scada что увы и ах, запись не удалась.
manjey73УчастникПредставление в схемах или таблицах ?
Система Windows 8 ?http://forum.rapidscada.ru/?topic=не-работают-схемы-в-windows-8-и-выше
Возможно это оно.
manjey73УчастникУ Rapid SCADA вроде нет встроенных ОРС серверов.
Может вы имеете ввиду установку Коммуникатора на одном компьютере, и передачу данных на другой компьютер, где установлен Сервер ?
Если это, то данный механизм работает, в настройках Коммуникатора на вкладке Общие параметры необходимо указать IP адрес компьютера, на котором установлен Сервер.Я таким образом передавал данные с Windows компьютера (Коммуникатор) на Linux (Сервер и WEB)
-
Ответ изменён 10 лет, 5 месяцев назад пользователем
-
АвторЗаписи