Просмотр полной версии : Подключение КМС-Ф1 по модбас по RS-485
Друзья доброго времени суток, очень прошу помощи, вопросы скорее всего дилетантские но тем не менее сам разобраться не могу. По программе поддержки ВУЗов получил ПЛК-210, к нему термосопротивление ( аналоговое), с ним проблем нет температура меряется все нормально, с программированием тоже разобрался без проблем. Кстати у ДТС 2ДТС015Л-100М.В2.120 схема заводская не соответствует реальной если коротко то вместо соединения 1-2 контакт надо соединять и подавать на прибор 2-4 выяснилось после прозвана. Но сейчас не об этом, у нас есть прибор КМС-Ф1.Щ2.РИУ подключений по RS-485, пытаюсь работать с ним по модбас рту пока, но не могу))))
Первый вопрос когда смотрю мануал у людей выходит список приборов ( как шаблон) у меня такого нет.
59381
Ну и соответственно создав мастер (ПЛК-210) и слейв КМС я не могу разобраться с переменными а адресами, чтобы получать данные которые мне необходимы(например токи и напряжения). Если понять, как брать хотя бы одни данные с остальными можно разобраться по аналогии. Семинар по модбасу ПЛК-210 смотрел, но не помогло))))
На картинке показан принт скрин с мануала, у меня почему то нет готовых шаблонов ( вообще никаких) чек боксы ставлю ...
Евгений Кислов
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
Евгений спасибо видео два раза смотрел, а есть видео настройки без шаблонов?
Просто элементарный опрос регистров, с созданиями переменных, был на семинаре в Казани Василий на ПР это делал элементарно, а я плыву....
Евгений Кислов
17.02.2022, 10:50
Евгений спасибо видео два раза смотрел, а есть видео настройки без шаблонов?
Просто элементарный опрос регистров, с созданиями переменных, был на семинаре в Казани Василий на ПР это делал элементарно, а я плыву....
В этом видео во 2-й половине как раз показана настройка без шаблонов.
Ок еще раз пересматриваю, спасибо за оперативность
Евгений большая просьба конкретно для КМСФ1 при создании канала что записывать?я сейчас пишу для Целое значение напряжения со смещением точки сдвиг 0х0019 длина 2. т.к. номер регистра 25 HEX =19
Адрес по умолчанию на кмс 16, включен обмен по рту
Евгений Кислов
17.02.2022, 11:45
Евгений большая просьба конкретно для КМСФ1 при создании канала что записывать?я сейчас пишу для Целое значение напряжения со смещением точки сдвиг 0х0019 длина 2. т.к. номер регистра 25 HEX =19
Вы правильно все записали.
Смещение можно указывать и в десятичном виде.
А тип данных переменной ворд? В мануале написано signed long, может здесь что то не так?
Евгений Кислов
17.02.2022, 12:03
А тип данных переменной ворд? В мануале написано signed long, может здесь что то не так?
В CODESYS этому соответствует тип DINT.
Пол дня бьюсь не получается.... может на картинке ошибку увидете59383
Евгений Кислов
17.02.2022, 15:31
К каналам Modbus можно привязать только WORD.
Вам надо объявить две переменные типа WORD и из них собирать DINT.
Посмотрите, пожалуйста, видео, ссылку на которое я оставил в первом ответе.
Там показано, как использовать функцию WORD2_TO_REAL.
Вам требуется аналогичным образом использовать функцию WORD2_TO_DWORD и получить переменную типа DWORD, в потом преобразовать ее в DINT, использовав оператор DWORD_TO_DINT.
DWORD_TO_DINT не находится, библиотеку установил овен комуникейшен, а если не сложно можно на одну считываемую переменную скан программы или программку!!!! Два дня убил уже ночью плохо сплю с этой задачей, кодесис только две недели назад увидел далеко не все знаю, а уж с типами данных вообще все сложно....
2s19 Просьба воспользоваться поиском по форуму и моим сообщениям. В 2019 году я успешно опрашивал КМС-Ф1.
Вот: https://owen.ru/forum/showthread.php?t=31935 - там я сам спросил, сам разобрался и сделал ответ для других.
Евгений Кислов На форуме обнаружился прикол (кажется): он не ищет короткие слова. Из трёх букв в том числе. Фиг про этот КМС найдёшь.
zaychenko
17.02.2022, 17:16
Можно еще пользоваться типом данных UNION, чтобы не собирать типы данных из двух WORD. Объявить, например, массив из 2-х WORD, DWORD, REAL, DINT.
Наглядное видео про UNION у Сергея Романова на youtube "#5 - Structured Text // Тип данных UNION"
Ребят, еще один дилетантский вопрос, если прибор подключен через пачкорд (без USB шнура) то где искать веб визуализацию! 192.168.0.10 не катит))) Овен клауд работает, данные читает а с веб визуализацией не могу разобраться. И еще вопрос до веб конфигуратора через пачкорд соответственно тоже достучаться не могу хотя настройки адаптера менял, пачкорд из разъема wan, в lan также переставлял.
С того адреса, который ПЛК получил по DHCP.
Да, приходиться заходить в вебконфиг, по USB смотреть адрес и после этого заходит...
Кстати ток почему-то показывает 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
А как физически сместить точку, может где-то есть информация почитать посмотреть!
kondor3000
21.02.2022, 22:41
А как физически сместить точку, может где-то есть информация почитать посмотреть!
А я о чём написал? Вы хоть прочтите внимательно. Практически разжевал наполовину уже.
А как физически сместить точку, может где-то есть информация почитать посмотреть!
...и мой пост ПОСМОТРЕТЬ! Тот, на который я ссылку давал.
Там же всё показано и расписано. И то, как точку смещать (пишется в регистр при инициализации опроса)!
Чёрт побери, ну потрудись ты прочитать!
Получилось, друзья иногда лучше получить по голове но добиться результата, спасибо за обоснованную критику))))
Ребят, а есть где посмотреть как в 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
Внезапно перестал корректно читаться один (два регистра ) КМС-Ф1 регистры 25-26 который считывает напряжение, до этого считывались те значения которые были на ЛП самого прибора сейчас число непонятное причем во всех проектах где до этого отображалось все корректно, массив такого вида:
UNION
arWORD: ARRAY [0..1] OF WORD;
wX: DWORD;
diX: DINT;
rX:REAL;
END_UNION
63977
63978
Может быть кто то на самом приборе КМС-Ф1 что-то руками накрутил, как сбросить к заводским настройкам данный прибор я не нашел
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot