Показано с 1 по 10 из 10

Тема: Настройка MasterOPC/ASCII

  1. #1

    Question Настройка MasterOPC/ASCII

    Не получается опросить устройство считывающее данные с термоподвесок. Необходимо отправить запрос типа 1Ah 30h 32h 31h 32h 30h 39h 30h 35h 32h 33h 3Fh 0D 0A , не могу найти где это прописывать в орс сервере. Помогите люди добрые) Имеется описание протокола:
    Код HTML:
    1.1.	Структура посылки команды от ЭВМ к БИ для измерения температуры датчика
    1Ah<десятки номера силкорпуса><единицы номера силкорпуса><десятки номера шкафа><единицы номера шкафа><десятки номера подвески><единицы номера подвески><десятки номера датчика><единицы номера датчика><тип подвески><MSB_ CRC><LSB_CRC><CR><LF>
    Где:
    1Ah – (HEX) метка распознавания посылки команды для измерения температуры датчика
    Все следующие за этой меткой байты кроме 2х байт CRC передают в ASCII формате, те. 0=30h, 1=31h, 2=32h … 9=39h.
    <тип подвески>- если подвеска 50 Ом то передаём – 31h, 53 Ом – 32h, цифровая – 33h, 
    50 Ом(Ж) – 34h, 53 Ом(Ж) – 35h.
    <CR><LF> – конец события в шестнадцатиричном виде имеют значения <0D> и <0A>
    <MSB_ CRC>, <LSB_CRC> – контрольная сумма формируется следующим образом: 
    1.	Считается 8-ми битовая сумма (XOR) ASCII всех символов посылки кроме: метки распознавания , байт самой контрольной суммы и конца события <CR><LF>
    2.	Берём старшую тетраду этой суммы и складываем с 30h, получаем <MSB_ CRC>
    3.	Берём младшую тетраду этой суммы и складываем с 30h, получаем <LSB_ CRC>
    Пример: получили CRC = 2Ah. После преобразования 32h, 3Ah
    Пример посылки: передадим команду на измерение 2 силкорпус, 12 шкаф, 9 подвеска, 5 датчик, подвеска 53 Ом. 
    Посылка имеет вид:  1Ah 30h 32h 31h 32h 30h 39h 30h 35h 32h 33h 3Fh 0D 0A
    1.2.	Структура посылки команды от ЭВМ к БИ для измерения уровня
    1Eh<десятки номера силкорпуса><единицы номера силкорпуса><десятки номера шкафа><единицы номера шкафа><десятки номера подвески><единицы номера подвески><MSB_ CRC><LSB_CRC><CR><LF>
    1.3.	Структура посылки ответа от БИ К ЭВМ следующая 1Ch <8 байт ASCII коды ответа><MSB_ CRC><LSB_CRC><CR><LF>, если ответ меньше 8 байт то оставшиеся байты забиваем пробелом (20h)
    1.3.1.	Если посылка от ЭВМ принята без ошибки, то  БИ отвечает:  
    1Ch <OK!      ><MSB_ CRC><LSB_CRC><CR><LF>, ЭВМ её принимает и переходит к ожиданию основного ответа. Время ожидания для всех ответов не более 5 сек. Если время вышло ЭВМ повторно выдаёт команду к БИ, максимальное кол-во повторов в случае ошибки =3, если не прошло то в данную ячейку температуры или уровня пишется «ошибка2»
    1.3.2.	Ответ БИ по температуре, пример: 
    1Ch <T=+123.7><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=-23.7 ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=К.З   ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=ОБРЫВ ><MSB_ CRC><LSB_CRC><CR><LF>
    1.3.3.	Ответ БИ по уровню, пример: 1Ch <H=23.78 ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <H=ОШИБКА><MSB_ CRC><LSB_CRC><CR><LF>
    1.	Если в ответе  не совпадает посчитанный и принятый CRC,  в этом случае ЭВМ повторно выдаёт команду к БИ, максимальное кол-во повторов в случае ошибки =3, если не прошло,  то в данную ячейку температуры или уровня пишется «ошибка3»
    2.	В ответах БИ только слова «ОШИБКА», «ОБРЫВ», «К.З.» в русском регистре 
    1.4.	 Структура посылки команды на получение сведений о системе передаёт ЭВМ:
    1Dh <COM01><MSB_ CRC>, <LSB_CRC><CR><LF>
    1.5.	Структура ответа на команду п.7.5. :
    1Dh<ASCII текстовая строка> <*><MSB_ CRC>, <LSB_CRC><CR><LF>
    Если не получаем ответа в течении 5 сек с первой попытки , то делаем повторную попытку, после третьей попытки на экране монитора выскакивает жирная надпись «НЕПОЛАДКИ В СИСТЕМЕ» и начинает мигать красным. Для прекращения мигания надписи нажимаем «enter»
    1.6.	Алгоритм функционирования протокола:
    Алгоритм работает по принципу: один запрос – один ответ
    Запросы всегда отдаёт ЭВМ
    ЭВМ – всегда ВЕДУЩИЙ, БИ – ВЕДОМЫЙ
    Ведущий дал запрос – ведомый должен выдать один ответ через min 0,1 сек max через 5 сек, иначе – ошибка

  2. #2

    По умолчанию

    Посмотрите документацию по созданию протоколов на странице загрузки сервера - в ней все подробно описано:
    http://insat.ru/prices/info.php?pid=6944
    http://www.insat.ru/products/Univers...ver_API_UG.pdf
    Спасибо.

  3. #3

    По умолчанию

    Спасибо за своевременный ответ, но нельзя ли подробней, куда прописать конкретную строку 1Ah 30h 32h 31h 32h 30h 39h 30h 35h 32h 33h 3Fh 0D 0A, без маски и прочего. Простите за назойливость)

  4. #4

    По умолчанию

    Маску все равно нужно прописывать. И если планируете серьезно поддержать это устройство, то нужно еще написать алгоритм подсчета контрольной суммы.
    Посмотрите раздел 4 документации.
    Спасибо.

  5. #5

    По умолчанию

    Спасибо, будем пробовать.

  6. #6

    По умолчанию

    Добрый день! Решил не плодить лишних тем и написать здесь.
    Существует ли готовое решение на базе MasterOPC Universal Modbus Server для Modbus ASCII - Function code 23 (17 Hex) ?

  7. #7

    По умолчанию

    На скриптах можно сделать такой запрос. Штатно такая функция, конечно же, не поддерживается
    Спасибо.

  8. #8

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    На скриптах можно сделать такой запрос. Штатно такая функция, конечно же, не поддерживается
    То есть воспользоваться мануалом со второго поста темы?

  9. #9

    По умолчанию

    Добрый день! Подскажите пожалуйста: в мануалах https://insat.ru/products/?category=2111 описывается только чтение данных (тип доступа «Read Only»), а как осуществить запись данных в устройство используя ОРС сервер? Есть ли примеры?

  10. #10

    По умолчанию

    Можно.
    В документации этот момент действительно не расписан.
    В теге включаете скрипт "Перед записью". В нем в методе Write реализуете нужный вам код.
    Спасибо.

Похожие темы

  1. Из ASCII
    от Scream в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 18.05.2013, 10:32
  2. Кириллица ASCII в ИП320
    от Ча-ча в разделе Панели оператора (HMI)
    Ответов: 11
    Последнее сообщение: 21.11.2012, 13:02
  3. PLC154+Modbus ASCII
    от BABU в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 01.12.2010, 20:41
  4. ПЛК63 Modbus-ASCII
    от Доренский Алексей в разделе ПЛК63/73
    Ответов: 6
    Последнее сообщение: 20.09.2010, 10:41
  5. ТРМ202 и ModBus ASCII
    от RV9WFJ в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 16.09.2010, 17:21

Ваши права

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