Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
Вопросы по приборам фирмы Логика (страница 4)

Версия для печати (настроить)
Тема закрыта  Тема закрыта (Valera). Страницы: 1 2 3 4 5 6 7 8 9 10 13 16 19 22 25 28 31 34 37 40 43 44 45 46 47 48 49 50

Новая тема | Тема закрыта

Подписаться

Автор Тема:   Вопросы по приборам фирмы Логика
Прибытков Д.Н.
Member

Сообщений: 77
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 22 Января 2004 09:46ИнфоIP

Опишите в конференции, а там и вопрсы появятся

Мне многие коллеги задавали вопрос, как можно общаться со счетчиками СПТ-960 "напрямую" через COM-порт из своей программы, не используя никакого софта от "Логики" (в т.ч. DDE сервера).

Теперь могу рассказать всем, как это можно делать.
Удалось разобрать протокол обмена со счетчиками.

Выполняемые операции:
1. Чтение одиночного параметра
2. Чтение массива (архива)
3. Посылка сброса (*)
4. Назначение адресов (*)
5. Запрос статуса приборов в кольце (*)
-----------------------------------------
* - пока подробно не разобрал каждый байт
п.1,2 разобраны хорошо, есть примеры

Протокол достаточно прост

Чтение массива:
1. Запрос от компьютера - 14 байт
2. Ответ от СПТ - 744 байта (читаем все 73 элемента)
Данные от счетчика передаются в двоичном виде

Чтение одиночного параметра
1. Запрос от компьютера - 12 байт
2. Ответ от СПТ - 21 байта (длина может меняться)
Данные от счетчика передаются в символьном виде (ASCIIZ строка) переменной длины, в зав. от числа разрядов после запятой.

Символьное чтение параметров

Параметры COM-порта: Baud: 1200 Bits: 8 Stop: 1 Parity: None

Пакет запроса при символьном чтении параметров имеет код функции - 29 ($1D).
Структура поля данных такова.
Каждые последовательные 5 байтов из поля данных рассматриваются
как символьный номер канала (2 байта)и символьный номер параметра (три байта). Оба номера выровнены по правому краю,а недостающие позиции слева должны быть заполнены нулями.

Пакет ответа имеет в заголовке код функции 3.
Поле данных имеет следующую структуру:
5 байтов с номером канала и номером параметра (как в запросе) и затем символьное значение этого параметра в формате лицевой панели прибора. Строка символьного значения заканчивается нулевым двоичным разделителем. Длина символьного значения может быть переменной.
Далее следуют 5 байтов номеров и значение следующего параметра из запроса и т.д.

Контрольная информация представляет собой дополнение двоичной суммы
по модулю 256 предшествующих пяти байтов. То есть, суммирование по модулю 256 всех шести байтов, включая контрольный, должно давать нуль.

Временные соотношения
Для синхронизации обмена на канале используется принцип временного разделения сообщений (пакетов) информации. Другими словами, временной интервал между байтами в сообщении-запросе не должен превышать некоторой величины. Например, для скорости 1200 бит в секунду – это 32 мс. Счетчик готовит ответ (это может занять до 4 секунд) и передает его тоже в виде пакета. Пауза в передаче ответа длительностью более 80 мс может рассматриваться как окончание ответного пакета.
Если используются скорости 600, 300 и менее бит в секунду, то временные интервалы 32 мс и 80 мс должны быть увеличены соответственно в 2, 4 и большее число раз.

Формат пакета запроса: 12 байт
(для примера - парам. 202, канал 1, одиночный счетчик)

00: 00 01 - адрес (2 байта) - задавайте так
02: 05 00 - Длина пакета (младший/старший)
04: 1D - Код функции пакета [$1D]
05: DD - Контр. информация 0..4 (1 байт)
06: 30 31 = '01' - симв. № канала
08: 32 30 32 = '202' - симв. № параметра
11: 0B - Контр. сумма 6..10 (1 байт)

Вот что получается:
00 01 05 00 1D DD 30 31 32 30 32 0B

Перед выдачей пакета счетчику все байты инвертируются:
FF FE FA FF E2 22 CF CE CD CF CD F4

Формат ответа (21 байт - переменная длина!):
(для примера - парам. 202, канал 1, одиночный счетчик)

00: 00 00 - Адрес (2 байта)
02: 0E 00 - Длина пакета (младший/старший) = 14 байт
04: 03 - Код функции пакета [$03]
05: EF - Контр. информация 0..4 (1 байт)
06: 30 31 = '01' - симв. № канала
08: 32 30 32 = '202' - симв. № параметра

11: 36 37 2E 39 33 39 33 35 = '67.9335' - значение (ASCIIZ)
00 - Разделитель [0]
63 - Контр. информация 6..19 (1 байт)

Ответ:
00 00 0E 00 03 EF 30 31 32 30 32 36 37 2E 39 33 39 33 35 00 63

Чтение массивов

Пакет запроса массива (14 байт)
(для примера читаем все 73 элемента массива 151 для потребителя 1, одиночный счетчик)

0: 00 01 - адрес (2 байта)
2: 07 00 - Длина отв. пакета (младший/старший) [07 00]
4: 42 - Код функции пакета [42]
5: B6 - Контр. информация 0..4 (1 байт)
6: 97 - Номер массива
7: 01 - Номер ??? - уточнить
8: 01 - Номер "трубы" (или "потребителя")
9: 00 - Всегда [00]
10: 00 - Номер начального читаемого элемента (00)
11: 49 - Количество читаемых элементов массива ($49=73)
12: 00 - Разделитель [00]
13: 1E - Контр. информация 6..12 (1 байт)

Вот что получается:
00 01 07 00 42 B6 97 01 01 00 00 49 00 1E

Перед выдачей пакета счетчику все байты инвертируются:
FF FE F8 FF BD 49 68 FE FE FF FF B6 FF E1

Структура ответного пакета (744 байта):

Заголовок (13 байт)
0: 00 00 - адрес (2 байта)
2: 02 E1 - Длина отв. пакета (младший/старший) $2E1=737=744-7
4: 43 - Код функции пакета
5: 57 - Контр. информация 0..4 (1 байт)
6: 97 - Номер массива
7: 01 - Номер ???
8: 01 - Номер "трубы" (или "потребителя")
9: 00 - Всегда [00] ??
10: 00 - Номер начального читаемого элемента (здесь 0)
11: 49 - Количество читаемых элементов массива (здесь $49=73)
12: 00 - Разделитель [0]

{Элемент массива 0 (10 байт) - всего подряд 74 таких элемента (740 байт)}

13: 4F 43 E9 E8 - Значение (4 байта - real или integer)
17: 04 - Год (1 байт) 2 последние цифры
18: 01 - Месяц (1 байт)
19: 0F - Число (1 байт)
20: 12 - Часы (1 байт)
21: 10 - Минуты (1 байт)
22: 05 - Секунды (1 байт)

23: Элемент массива 1
33: Элемент массива 2
.................
Элемент массива 73
743: Контр. информация (1 байт) - надо уточнить, для каких полей!

----
P.S. Пока некогда, чуть попозже дальше допишу...

[Это сообщение изменил Прибытков Д.Н. (изменение 22 Января 2004 10:50).]

Граф
Member

Сообщений: 40
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 24 Января 2004 05:46ИнфоIP

А есть разница считывания с СПТ960 или СПТ961и СПГ761 с соединением по шине?

Прибытков Д.Н.
Member

Сообщений: 78
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 26 Января 2004 11:48ИнфоIP

У СПТ961 и СПГ761 на шине RS485 совсем другой протокол - см. его описание на сайте "Логики" ссылка
Это у них называется "Маркерная шина". Типа все приборы могут общаться друг с другом и нет одного ведущего ("мастера") как в MODBUS.

P.S. Ну зачем было опять что-то свое выдумывать, когда есть международные стандарты (тот же MODBUS). "Взлет" (и еще кое-кто) использует MODBUS и все довольны.

04 Марта 2004 13:39 Мощицкий Павел приклеил тему "СПЕ542 учет энергоресурсов".
Электрик
Junior Member

Сообщений: 1
Откуда: Камышин
Регистрация: Март 2004

написано 04 Марта 2004 08:15ИнфоIP

Приобрели сумматор элэн. Сразу несколько проблем.
Во-первых, Spnet95 нехочет работать без прав админа
и вторая, наверное самая главная, КАК,ЧЕРТ ВОЗЬМИ, ОНА ВООБЩЕ РАБОТАЕТ.

------------------
С уважением

[Это сообщение изменил Мощицкий Павел (изменение 04 Марта 2004 13:37).]

Мощицкий Павел
Moderator

Сообщений: 660
Откуда: Израиль, Бат-Ям
Регистрация: Январь 2003

написано 04 Марта 2004 13:40ИнфоIP

Электрик
Попробуйте начать с сайта ссылка

Граф
Member

Сообщений: 42
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 05 Марта 2004 01:59ИнфоIP

Электрик Первый раз слышу про права админа в spnet95. Может что то другое было запущено?

Прибытков Д.Н.
Member

Сообщений: 79
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 05 Марта 2004 20:49ИнфоIP

КАК,ЧЕРТ ВОЗЬМИ, ОНА ВООБЩЕ РАБОТАЕТ
ХРЕНОВО!!!

М.б. в "Логике" сочинили к-л новую версию? Я слышал, что от них разработчики программы убежали во "Взлет"

Граф
Member

Сообщений: 43
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 07 Марта 2004 04:42ИнфоIP

Не делают в Логике ничего нового, они по моему и забыли про то что спсеть существует

Thorn
unregistered
написано 27 Апреля 2004 03:01  IP

Ребята, никто ни пробовал покопаться с СПСервером?
Все наверно в курсе, что он иногда подвисает и не дает запустить
себя еще раз, на что говорит что он уже запущен и т.д...
Самое главное где он себя прописывает/регистрирует???
В процессах и приложениях его не видно.
Может кто даст идейку где его копать?
Есть задумка написать утилку убивающую зависший СПСервер.

Прибытков Д.Н.
Member

Сообщений: 82
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 27 Апреля 2004 18:00ИнфоIP

Коллеги!
Об этом уже было в самом начале - см. 1 страницу.
М.б. стоит внимательно посмотреть работу с DDE (DDEML.DLL)? Запущенные сервера могут регистрироваться там (есть там такая функция).

Граф
Member

Сообщений: 44
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 28 Апреля 2004 04:28ИнфоIP

Да еще может из за компа подвисать, не любит СПсервер слабоватенькие компы, тоже висло частенько на Селероне 333, пока на пенек 4 не переставили.

Граф
Member

Сообщений: 45
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 25 Мая 2004 11:04ИнфоIP

Кто нибудь пробовал запустить программу "Пролог". Как ее настраивать что бы она считывала информацию через адаптер. Ничего не получается.

Valera
Junior Member

Сообщений: 6
Откуда: novosibirsk
Регистрация: Май 2004

написано 31 Мая 2004 10:01ИнфоIP

Да еще может из за компа подвисать, не любит СПсервер слабоватенькие компы, тоже висло частенько на Селероне 333, пока на пенек 4 не переставили.
Это, видимо Ваша ОС не любит... NT? W2000? W2000 server?
СП Сеть, она же вообще под W3.1 строгалась...
Зачем, коллеги, красивых любите?
W98, ME, выделенный компутер (у меня Рх120Мгц, дешевле в 5 разов любого прибора от Логики, 17 приборов) - и всё.
Другая идея - связаться с SpServer, результаты сохранять клиентом в серверной БД.
Кто за?
А модернизировать кривую CП Сеть я не буду...

Граф
Member

Сообщений: 46
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 01 Июня 2004 02:15ИнфоIP

Valera
Не знаю, везде стояла WINME,
"Другая идея - связаться с SpServer, результаты сохранять клиентом в серверной БД"
Нелохая идея, наши программеры сделали вроде бы такую прогу. Теперь стоит 2 компа, подключеных к сети на одном стоит адаптер СП, на другом SQL, Все кто хочет и кто работает в сетке смотрит параметры.

Прибытков Д.Н.
Member

Сообщений: 83
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 01 Июня 2004 12:09ИнфоIP

А не мои ли заготовки использовали (клиент для СП-сервера)?

Граф
Member

Сообщений: 47
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 02 Июня 2004 02:26ИнфоIP

Все может быть

Прибытков Д.Н.
Member

Сообщений: 84
Откуда: Россия, Н.Новгород
Регистрация: Апрель 2003

написано 02 Июня 2004 10:22ИнфоIP

Все-таки интересно, неужели моя работа пригодилась? Я тоже программу для SQL хочу! Поделитесь, коллеги! По возможности, пришлите почтой на pribytkov_d@mail.ru
А если данные с SQL раздавать через WEB?

[Это сообщение изменил Мощицкий Павел (изменение 02 Июня 2004 12:46).]

Valera
Junior Member

Сообщений: 9
Откуда: novosibirsk
Регистрация: Май 2004

написано 16 Июня 2004 10:01ИнфоIP


--А если данные с SQL раздавать через WEB?--
На www.es.sar.ru это уже работает, но у них там.. впрочем почитайте сами.

--наши программеры сделали вроде бы такую прогу. Теперь стоит 2 компа, подключеных к сети на одном стоит адаптер СП, на другом SQL, Все кто хочет и кто работает в сетке смотрит параметры.--

Можно поподробнее?
Я сейчас как мартышка жму кнопки в Exсele, и бросаю страницы по сетке - ПТО, гл.инж, бухгалтерия... идиотизм.


Кто нибудь пробовал запустить программу "Пролог". Как ее настраивать что бы она считывала информацию через адаптер. Ничего не получается

Пожалуйста, поясните что за ПРОЛОГ?
Я видел некий "Клиппер", в принципе работал (в отличии от СПСеть имел вроде генераторы отчётов), из Питера, но мне не подошло, точнее денег не дали...


В процессах и приложениях его не видно.
Может кто даст идейку где его копать?

Как же так? И Spserver есть и Aps69M. Программы.стандартные.служебные.сведения о системе.загруженные модули, SpServer должен быть запущен. Помнится, там ещё какая-то фишка есть, не помню точно, вроде с Hardlock связано (Сейчас у меня это всё под МЕ работает, в W98 можно было цепи процессов отслеживать, не люблю я МЕ).


kisslavа
unregistered
написано 16 Июня 2004 17:52  IP

Вероятно, Valera имел ввиду не "клиппер", а "Кливер Мониторинг Энергии", поддерживающий довольно много приборов. Кроме того, разработчики берутся (за деньги) написать драйвер для приборов, отсутствующих в списке поддерживаемых. Информация об этом программном комплексе представлена на сайте ЗАО "Теплоком" ссылка в разделе "Программы".

Граф
Member

Сообщений: 48
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 17 Июня 2004 04:25ИнфоIP

"--наши программеры сделали вроде бы такую прогу. Теперь стоит 2 компа, подключеных к сети на одном стоит адаптер СП, на другом SQL, Все кто хочет и кто работает в сетке смотрит параметры.--
Можно поподробнее?
Я сейчас как мартышка жму кнопки в Exсele, и бросаю страницы по сетке - ПТО, гл.инж, бухгалтерия... идиотизм."


Я бы и рад, но ввиду что сам не программист обьяснить не могу, да и они сейчас в отпуске.
Кстати я пробовал вывести данные через Excel, у меня ничего не получилось правда у меня офис ХР.Да а зачем самому жать кнопки и сбрасывать в отделы, не легче подключить комп к сп-сети например в ПТО и пущай они сами жмут и передают обработанные данные

"Пожалуйста, поясните что за ПРОЛОГ?
Я видел некий "Клиппер", в принципе работал (в отличии от СПСеть имел вроде генераторы отчётов), из Питера, но мне не подошло, точнее денег не дали..."

Посмотрите на ссылка

[Это сообщение изменил Граф (изменение 17 Июня 2004 09:59).]

Valera
Junior Member

Сообщений: 11
Откуда: novosibirsk
Регистрация: Май 2004

написано 21 Июня 2004 07:00ИнфоIP

.....например в ПТО и пущай они сами жмут и передают обработанные данные...
У меня комерческий учёт...
Найдется умелец или с кривыми пальчиками... Где-то выше приводился пример, с сотнями тыс. кубов...
За ссылки спасибо.
Действительно, я имел ввиду "Кливер".

Граф
Member

Сообщений: 49
Откуда: Россия, Якутск
Регистрация: Ноябрь 2002

написано 22 Июня 2004 06:52ИнфоIP

Valera
У нас тоже коммерческий расход. В ПТО стоит и самодельная прога и СП-сеть(программа), т.е. они сами все проверяют. Наше дело обслуживание.

Страницы: 1 2 3 4 5 6 7 8 9 10 13 16 19 22 25 28 31 34 37 40 43 44 45 46 47 48 49 50

Все время MSK

Открыть | Переместить | Удалить

Новая тема | Тема закрыта
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика