alsergeevich

Ответы в темах

Просмотр 13 сообщений - с 16 по 28 (из 28 всего)
  • Автор
    Записи
  • alsergeevich
    Участник

    Шаблон:
    <?xml version=»1.0″ encoding=»utf-8″?>
    <DevTemplate>
    <ElemGroups>
    <ElemGroup active=»true» tableType=»HoldingRegisters» address=»50″ name=»выходы»>
    <Elem name=»out» type=»ushort» byteOrder=»01234567″ />
    </ElemGroup>
    <ElemGroup active=»true» tableType=»HoldingRegisters» address=»51″ name=»входы»>
    <Elem name=»in» type=»ushort» byteOrder=»01234567″ />
    </ElemGroup>
    </ElemGroups>
    <Cmds>
    <Cmd tableType=»HoldingRegisters» multiple=»true» address=»49″ elemCnt=»1″ cmdNum=»1″ name=»on_out» />
    </Cmds>
    </DevTemplate>
    Вот что отправляет :
    10 10 00 31 00 01 02 00 00 62 21
    Расшифровка:
    10 Slave address 0x10 (16)
    10 Function code 0x10 (16) — Write Multiple Registers
    00 31 Starting address 0x0032 (50)
    00 01 Quantity 0x0001 (1)
    02 Byte count 0x02 (2)
    00 00 Registers value 0x0000 (0)
    62 21 CRC 0x6221 (25121)
    Всё ведь верно теперь, но всё равно не работает. Может я где-то ошибку делаю ?

    alsergeevich
    Участник

    От 0 до 1000 надо значение отправлять если управлять одним входом, а я в шаблоне пока записал только маску выходов, если в неё отправить 1 то это соответствует выходу 1. Значит сейчас в шаблоне поменяю на множественную команду и по идее должно всё заработать. Ушёл проверять.

    alsergeevich
    Участник

    Сейчас перенастроил всё через ОРС сервер Овен. Всё настроилось, показывает что всё работает. Там где выбор ОРС сервера идёт занёс маску выходов в раздел запись данных. Номер команды сделал 3 до этого делал 1 результаты одинаковые. Тип значения System.Uint16, спецификация текущих данных Data Access 3.0. Разрешить ТУ галочка стоит. Отправляю команду со значением 1 и… опять тишина, никакой реакции.
    Информация из логов:
    2017-02-15 11:28:05 <BOOKZ><система><ACT> Получена команда из файла: тип=Standard, КП=71, номер=3

    2017-02-15 11:27:35 Инициализация линии связи 7 «opctest»
    2017-02-15 11:27:35 Запуск линии связи 7 «opctest»

    2017-02-15 11:27:35 Сеанс связи с КП 71 «opcTest», тип: KpOpc
    Соединение с OPC DA сервером установлено

    2017-02-15 11:28:05 Команда КП 71 «opcTest», тип: KpOpc

    Что тут не хватает, чтобы заработал этот мдвв как надо ?

    alsergeevich
    Участник

    Про применение ОРС. Я в принципе с ОРС и начал, но в этом случае рапида не видит у меня выходы, только входы и с MasterOPC Universal Modbus Server от Insat не хочет вообще работать.

    alsergeevich
    Участник

    Исправил в шаблоне адрес на 49 и теперь пишет куда надо 10 06 00 31 00 01 1A 84, но теперь вопрос как функцию записи изменить т.к вся засада в ней. Рапида использует 0х006, а в документации на мдвв написано, что запись в регистры осуществляется функцией 0х10. И ещё, получается при записи рапида увеличивает адрес на 1 поэтому в шаблоне надо указывать значение адреса — 1, с чем это связано или может я что-то не так понимаю ?

    alsergeevich
    Участник

    Я ничего не пишу в маску входов, когда подаю сигнал на любой вход я вижу это в самой скаде типа контроля работоспособности.
    Обалдеть, скопировал 10 06 00 32 00 01 EA 84 по ссылке и вижу, что пишет не в тот адрес это первое, вместо 50 почему то пишет в 51, но ведь в шаблоне чётко указан 50 адрес, вопрос почему ? Что надо исправить в шаблоне ? Может в рапиде адреса как то считаются по другому ? Ничего не понимаю.

    alsergeevich
    Участник

    Сделал такой шаблон:
    <?xml version=»1.0″ encoding=»utf-8″?>
    <DevTemplate>
    <ElemGroups>
    <ElemGroup active=»true» tableType=»HoldingRegisters» address=»50″ name=»выходы»>
    <Elem name=»out» type=»ushort» byteOrder=»01234567″ />
    </ElemGroup>
    <ElemGroup active=»true» tableType=»HoldingRegisters» address=»51″ name=»входы»>
    <Elem name=»in» type=»ushort» byteOrder=»01234567″ />
    </ElemGroup>
    </ElemGroups>
    <Cmds>
    <Cmd tableType=»HoldingRegisters» multiple=»false» address=»50″ elemCnt=»1″ cmdNum=»1″ name=»on_out» />
    </Cmds>
    </DevTemplate>
    чтобы пока видеть только битовые маски входов и выходов.
    Перезапустил коммуникатор. Входы видит нормально, значения в текущих данных тегов по входам меняются. Захожу в команды. Тип команды стандартная. Номер команды 1. Отправляю значение 1, должен сработать выход 1, но ничего не срабатывает. Пишет команда отправлена успешно и всё. Галочка команды ТУ стоит. Что ещё надо, чтобы это всё заработало ?
    Данные из логов:
    Линия 6 «myModbusTest»
    ———————-
    Состояние : цикл работы
    Действие : 14.02.2017 15:41:33 Сеанс связи с КП 61 «mymodbustest»
    Канал связи
    Тип: Serial
    Последовательный порт: COM13 (открыт)
    Пользовательские параметры
    TransMode = RTU
    Общие свойства
    Templates = Dictionary of 1 templates
    Активные КП
    1. КП 61 «mymodbustest» : норма

    При отправке команды в логе пишет следующее:
    2017-02-14 15:45:10 Команда КП 61 «mymodbustest», тип: KpModbus, адрес: 16
    Команда «on_out»
    Отправка (8): 10 06 00 32 00 01 EA 84
    Приём (5/5): 10 86 01 D3 A5
    Ошибка устройства: [01] ILLEGAL FUNCTION!
    Команда «on_out»
    Отправка (8): 10 06 00 32 00 01 EA 84
    Приём (5/5): 10 86 01 D3 A5
    Ошибка устройства: [01] ILLEGAL FUNCTION!
    Команда «on_out»
    Отправка (8): 10 06 00 32 00 01 EA 84
    Приём (5/5): 10 86 01 D3 A5
    Ошибка устройства: [01] ILLEGAL FUNCTION!
    Я так понимаю, что ему не нравится какая-то функция, вопрос какая ?

    alsergeevich
    Участник

    Из лога информация:
    14.02.2017 8:34:11 | Команда ТУ: тип=Standard, КП=101, номер=2, значение=1 000,000
    14.02.2017 8:38:38 | Команда ТУ: тип=Standard, КП=101, номер=2, значение=1 000,000
    14.02.2017 8:38:42 | Команда ТУ: тип=Standard, КП=101, номер=3, значение=1 000,000
    14.02.2017 8:38:45 | Команда ТУ: тип=Standard, КП=101, номер=4, значение=1 000,000
    14.02.2017 8:38:49 | Команда ТУ: тип=Standard, КП=101, номер=5, значение=1 000,000 14.02.2017 8:38:52 | Команда ТУ: тип=Standard, КП=101, номер=6, значение=1 000,000 14.02.2017 8:38:55 | Команда ТУ: тип=Standard, КП=101, номер=7, значение=1 000,000 14.02.2017 8:38:59 | Команда ТУ: тип=Standard, КП=101, номер=8, значение=1 000,000 14.02.2017 8:39:22 | Команда ТУ: тип=Standard, КП=101, номер=7, значение=100,000 14.02.2017 8:39:25 | Команда ТУ: тип=Standard, КП=101, номер=7, значение=0,000

    alsergeevich
    Участник

    Отправляю из коммуникатора команду 1 со значением 1000 и ничего не происходит, пишет команда успешно отправлена. Тип команды стандартная. Галочка команды ТУ разрешены, стоит.Отправлял и другие номера с 1 по 8, результат 0.

    alsergeevich
    Участник

    Завтра обязательно попробую. Но всё таки как правильно настроить каналы, чтобы я из веб-интерфейса мог отдать команду (послав 1000) на выход 1,например ? Вот этого я не понял. Просто до этого я имел дело только с Simple Scada, а там всё это делается очень просто. Меня это интересует в плане, например, я не буду создавать графический интерфейс и остановлюсь только на таблице. Вот это из видеоурока я ничего не понял. Надо было сделать пару уроков по подключению и управлению устройствами, теми же овенами. Очень не хватает этой информации. Вон в Trace Mode сделали целую серию видео на тему подключения устройств Овен.
    Ещё вопрос, где взять шаблон для ТРМ202 ?

    в ответ на: проблемы с подключением к OPC #4501
    alsergeevich
    Участник

    Спасибо, с этим шаблоном по Modbus RTU всё заработало. Запишите видеоролик по созданию своих шаблонов.

    в ответ на: Не работает администратор #4193
    alsergeevich
    Участник

    Переустановил Microsoft SQL Server Compact и всё заработало, спасибо.

    в ответ на: Не работает администратор #4154
    alsergeevich
    Участник

    Забыл написать, система Windows 7.

Просмотр 13 сообщений - с 16 по 28 (из 28 всего)