Сначала надо со связью разобраться, связь должна работать, тогда и данные будете получать, хоть и неправильные.
Добавьте целочисленные регистры которые точно читаются, адрес (RegistеrInput, WORD), скорость (RegistеrInput), номер прибора. Функция 0х03.
Потом будете разбираться с неправильными показаниями.
Как раз Native и переставит байты в словах (только в DWORD и REAL), останется только слова местами поменять в программе. ФБ для перестановки местами WORD, есть даже в примерах на форуме.
По поводу дробной части V1, попробуйте этот регистр считать как Real Input 1 Дробная часть.jpg
Последний раз редактировалось kondor3000; 13.12.2021 в 14:47.
Какая разница на порядок байт если вам прибор тупо не отвечает ВООБЩЕ ? что вы там переставляете бестолку...
Добрый день! Ситуация на данный момент такая:
Подключил для проверки другой ПЛК160v1 (не модернизированную версию), связь с ИВК102 нормальная, без ошибок связи, данные читает так же как и ОРС-сервером:
- целую часть V1 читает как 6-разрядное число, без запятой между целой и дробной частью, показания ИВК102 = 796,474 м3, ПЛК получает 796747;
- дробная часть V1 = какая-то непонятная циферь.
На установке стоит ПЛК-160М, менять его нечем, что с ним делать не понятно. Target-файл в этом году скачивал, то есть относительно свежий.
А ПЛК160v1 другую проблему имеет, ошибка связи при подключении из Codesys (Ethernet), но если раньше через раз но подключался, то сегодня вот успел несколько раз подключиться чтобы проверить связь с ИВК, а сейчас не получается вообще, перезагрузки всего не помогают. Треш какой-то. Тратится время и усилия не на то чтобы улучшить процесс, а на борьбу с недостатками оборудования.
Последний раз редактировалось Александр; 15.12.2021 в 12:25.
Подключил по старой схеме ИВК102 по RS-485 к основному контроллеру ПЛК160М. Отсоединил ПЧ, убрал из конфигурации ПЛК всё кроме Modbus(Master) с запросом одного регистра (скорость сети RS). Проверил все настройки по проекту контроллера который успешно связывался с ИВК. Отличие только в том что там минимальное время цикла 50мс, поменял, но это не дало эффекта. LastError=81.
PLCInfo
PLC model MODEL PLC 160
Версия ПО метр: 2.0
Binary VERSION 1.2.42
Need Target version >= 3.12
Compiled: 14:40:51 Feb 8 2021
STM32 binary version 114
MAC E4:1E:0A:01:2D:FE
IP 10.0.6.10
GATE 10.0.6.1
MASK 255.255.255.0
Выкладывайте опять проект, чудес не бывает, с другим то оборудованием работает. Где то косяк.
В чём отличие подключения были при работе с ИВК ? К примеру новый ПЛК подключали на столе, а старый в цеху, БП другой, помехи в сети. Может у вас новый провод по RS485 в обрыве.
Лично мне попались недавно несколько! обрывов, в новом целом фторопластовом проводе отмотанного с катушки.
Последний раз редактировалось kondor3000; 16.12.2021 в 08:48.
Очень хотелось бы чтобы это было из-за моего косяка, это проще решить чем проблемы с оборудованием. Проект в приложении.
Подключение ПЛК было по месту, Ethernet и RS-485 перекинул с одного на другой ПЛК и всё пошло. То есть кабели используются те же самые. БП разный, на старом ПЛК питание 220В, на основном 24В. Думаю может нужно какой-то жесткий сброс сделать ПЛК или прошивку поменять (вроде как делается такое), пока непонятно
Последний раз редактировалось Александр; 16.12.2021 в 08:54.