PDA

Просмотр полной версии : Подключение КМС-Ф1 по модбас по RS-485



2s19
17.02.2022, 10:39
Друзья доброго времени суток, очень прошу помощи, вопросы скорее всего дилетантские но тем не менее сам разобраться не могу. По программе поддержки ВУЗов получил ПЛК-210, к нему термосопротивление ( аналоговое), с ним проблем нет температура меряется все нормально, с программированием тоже разобрался без проблем. Кстати у ДТС 2ДТС015Л-100М.В2.120 схема заводская не соответствует реальной если коротко то вместо соединения 1-2 контакт надо соединять и подавать на прибор 2-4 выяснилось после прозвана. Но сейчас не об этом, у нас есть прибор КМС-Ф1.Щ2.РИУ подключений по RS-485, пытаюсь работать с ним по модбас рту пока, но не могу))))
Первый вопрос когда смотрю мануал у людей выходит список приборов ( как шаблон) у меня такого нет.
59381

Ну и соответственно создав мастер (ПЛК-210) и слейв КМС я не могу разобраться с переменными а адресами, чтобы получать данные которые мне необходимы(например токи и напряжения). Если понять, как брать хотя бы одни данные с остальными можно разобраться по аналогии. Семинар по модбасу ПЛК-210 смотрел, но не помогло))))

2s19
17.02.2022, 10:42
На картинке показан принт скрин с мануала, у меня почему то нет готовых шаблонов ( вообще никаких) чек боксы ставлю ...

Евгений Кислов
17.02.2022, 10:46
Добрый день.
Чтобы появился список шаблонов - нужно установить в CODESYS соответствующей пакет (Инструменты - Менеджер пакетов):
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/01_Components/Mx110Drivers_v3.5.11.8.package

Но шаблон для КМС-Ф1 мы не делали - это достаточно специфический прибор, который не так часто опрашивают другими устройствами.

Так что вам придется настраивать обмен через стандартные компоненты.
В руководстве по эксплуатации в приложении Б приведена карта регистров Modbus.
Общий принцип настройки обмена показан, например, в этом видео:
https://youtu.be/77fdfnfdJME

2s19
17.02.2022, 10:49
Евгений спасибо видео два раза смотрел, а есть видео настройки без шаблонов?
Просто элементарный опрос регистров, с созданиями переменных, был на семинаре в Казани Василий на ПР это делал элементарно, а я плыву....

Евгений Кислов
17.02.2022, 10:50
Евгений спасибо видео два раза смотрел, а есть видео настройки без шаблонов?
Просто элементарный опрос регистров, с созданиями переменных, был на семинаре в Казани Василий на ПР это делал элементарно, а я плыву....

В этом видео во 2-й половине как раз показана настройка без шаблонов.

2s19
17.02.2022, 10:55
Ок еще раз пересматриваю, спасибо за оперативность

2s19
17.02.2022, 11:43
Евгений большая просьба конкретно для КМСФ1 при создании канала что записывать?я сейчас пишу для Целое значение напряжения со смещением точки сдвиг 0х0019 длина 2. т.к. номер регистра 25 HEX =19

2s19
17.02.2022, 11:44
Адрес по умолчанию на кмс 16, включен обмен по рту

2s19
17.02.2022, 11:45
и выбираю рид холдинг...

Евгений Кислов
17.02.2022, 11:45
Евгений большая просьба конкретно для КМСФ1 при создании канала что записывать?я сейчас пишу для Целое значение напряжения со смещением точки сдвиг 0х0019 длина 2. т.к. номер регистра 25 HEX =19

Вы правильно все записали.
Смещение можно указывать и в десятичном виде.

2s19
17.02.2022, 11:59
А тип данных переменной ворд? В мануале написано signed long, может здесь что то не так?

Евгений Кислов
17.02.2022, 12:03
А тип данных переменной ворд? В мануале написано signed long, может здесь что то не так?

В CODESYS этому соответствует тип DINT.

2s19
17.02.2022, 14:20
Пол дня бьюсь не получается.... может на картинке ошибку увидете59383

Евгений Кислов
17.02.2022, 15:31
К каналам Modbus можно привязать только WORD.
Вам надо объявить две переменные типа WORD и из них собирать DINT.
Посмотрите, пожалуйста, видео, ссылку на которое я оставил в первом ответе.
Там показано, как использовать функцию WORD2_TO_REAL.
Вам требуется аналогичным образом использовать функцию WORD2_TO_DWORD и получить переменную типа DWORD, в потом преобразовать ее в DINT, использовав оператор DWORD_TO_DINT.

2s19
17.02.2022, 16:55
DWORD_TO_DINT не находится, библиотеку установил овен комуникейшен, а если не сложно можно на одну считываемую переменную скан программы или программку!!!! Два дня убил уже ночью плохо сплю с этой задачей, кодесис только две недели назад увидел далеко не все знаю, а уж с типами данных вообще все сложно....

Cs-Cs
17.02.2022, 17:00
2s19 Просьба воспользоваться поиском по форуму и моим сообщениям. В 2019 году я успешно опрашивал КМС-Ф1.
Вот: https://owen.ru/forum/showthread.php?t=31935 - там я сам спросил, сам разобрался и сделал ответ для других.

Евгений Кислов На форуме обнаружился прикол (кажется): он не ищет короткие слова. Из трёх букв в том числе. Фиг про этот КМС найдёшь.

2s19
17.02.2022, 17:13
Да я искал КМС-Ф1

zaychenko
17.02.2022, 17:16
Можно еще пользоваться типом данных UNION, чтобы не собирать типы данных из двух WORD. Объявить, например, массив из 2-х WORD, DWORD, REAL, DINT.
Наглядное видео про UNION у Сергея Романова на youtube "#5 - Structured Text // Тип данных UNION"

2s19
21.02.2022, 15:40
Ребят, еще один дилетантский вопрос, если прибор подключен через пачкорд (без USB шнура) то где искать веб визуализацию! 192.168.0.10 не катит))) Овен клауд работает, данные читает а с веб визуализацией не могу разобраться. И еще вопрос до веб конфигуратора через пачкорд соответственно тоже достучаться не могу хотя настройки адаптера менял, пачкорд из разъема wan, в lan также переставлял.

ASo
21.02.2022, 16:00
С того адреса, который ПЛК получил по DHCP.

2s19
21.02.2022, 19:01
Да, приходиться заходить в вебконфиг, по USB смотреть адрес и после этого заходит...

2s19
21.02.2022, 19:04
Кстати ток почему-то показывает 0 в кодесис, хотя фактически он равен 0.37 А, из под модбас скана при подключении на прямую ток тоже показывает 0, есть какие-то мысли почему не пишет 0.37? Частоту тока, напряжение показывает нормально, данные снимаю аналогично.

kondor3000
21.02.2022, 21:30
Кстати ток почему-то показывает 0 в кодесис, хотя фактически он равен 0.37 А, из под модбас скана при подключении на прямую ток тоже показывает 0, есть какие-то мысли почему не пишет 0.37? Частоту тока, напряжение показывает нормально, данные снимаю аналогично.

Потому что, смещение точки для тока по умолчанию 0, а ток передаётся в целых числах, вам надо в регистр смещение точки для тока записать значение 2, тогда будет показывать 0.37, а передавать по модбас 37, которое вам надо разделить на 100.0, получите 0.37 в формате REAL

2s19
21.02.2022, 21:38
А как физически сместить точку, может где-то есть информация почитать посмотреть!

kondor3000
21.02.2022, 22:41
А как физически сместить точку, может где-то есть информация почитать посмотреть!

А я о чём написал? Вы хоть прочтите внимательно. Практически разжевал наполовину уже.

Cs-Cs
22.02.2022, 09:53
А как физически сместить точку, может где-то есть информация почитать посмотреть!
...и мой пост ПОСМОТРЕТЬ! Тот, на который я ссылку давал.
Там же всё показано и расписано. И то, как точку смещать (пишется в регистр при инициализации опроса)!

Чёрт побери, ну потрудись ты прочитать!

2s19
22.02.2022, 11:25
Получилось, друзья иногда лучше получить по голове но добиться результата, спасибо за обоснованную критику))))

2s19
28.02.2022, 11:43
Ребят, а есть где посмотреть как в CFC из массива REALы взять для панели визуализации. Бьюсь неделю не могу ничего сделать. Да еще и новостной фон ....

kondor3000
28.02.2022, 18:23
Ребят, а есть где посмотреть как в CFC из массива REALы взять для панели визуализации. Бьюсь неделю не могу ничего сделать. Да еще и новостной фон ....

Фон тут при чём? Вообще то это всё делается на ST без проблем

zad_tek1: REAL;
zad_tek2: REAL;
zad_tek3: REAL;
zad_tek4: REAL;
zad_tek5: REAL;
BlokReal_fromPanel : ARRAY [0..10] OF REAL;
END_VAR
_________________________________________
zad_tek1:= BlokReal_fromPanel[0];
zad_tek2:= BlokReal_fromPanel[1];
zad_tek3:= BlokReal_fromPanel[2];
zad_tek4:= BlokReal_fromPanel[3];
zad_tek5:= BlokReal_fromPanel[4];

Но если очень надо можно и на CFC сделать. Присвоить переменным значения из массива, и уже эти переменные вставить в визуализацию, смотри скрин
59501

2s19
21.11.2022, 17:32
Внезапно перестал корректно читаться один (два регистра ) КМС-Ф1 регистры 25-26 который считывает напряжение, до этого считывались те значения которые были на ЛП самого прибора сейчас число непонятное причем во всех проектах где до этого отображалось все корректно, массив такого вида:
UNION
arWORD: ARRAY [0..1] OF WORD;
wX: DWORD;
diX: DINT;
rX:REAL;
END_UNION
63977

63978

Может быть кто то на самом приборе КМС-Ф1 что-то руками накрутил, как сбросить к заводским настройкам данный прибор я не нашел