PDA

Просмотр полной версии : СПК207 И ПЧВ1/2 как организовать связь по RS485



KAPITOSHKARU
22.10.2015, 18:00
СПК207 ком2 связь с внешними спк207 2шт. ПР200 9шт.
СПК207 ком3 пчв 23шт.
Вопрос заключается в следующем:
как организовать связь с пчв при условиях
В работе:
все пчв сразу работать будут редко, опрос производить только те пчв которые получили команду на работу (на задании).
опрашивать, в основном, нужно нагрузку на двигатель. При выходе нагрузки за пределы установленной (в программе спк), опросить переменную ошибки если ее нет опросить температуру, частоту конкретного пчв.
При возникновении ошибки считать ошибку с ПЧВ.
Соответственно управление ПЧВ:
дали команду движение прямо или реверс, с установленной частотой, далее меняем частоту по необходимости и команда на стоп.

В паузе (в технических перерывах в работе системы установленные на производстве):
Считываем время наработки и другие данные для учета наработки узлов и механизмов.

При ручном управлении, в режиме наладки системы, связь держим с одним пчв и считываем на СПК максимальное количество данных (в разумных пределах). При ручном запуске нескольких пчв - с работающих считываем нагрузку на двигатель, для активного пчв на экране максимальное количество данных (в разумных пределах).

С логикой управления разобрался, а как организовать опросы самого ПЧВ затрудняюсь.
Может предоставите функциональный блок на подобии MDVV_outs и MDVV_inputs из библиотеки ModulsOwenLib
только с доработкой на разрешении чтения каждой переменной отдельно?
(Т.е. если например
вход 15-04 ИСТИНА читаем переменную 15-04
вход 15-01 ИСТИНА читаем переменную 15-01
вход 15-02 ЛОЖ не читаем переменную 15-02
вход 16-03 ЛОЖ не читаем переменную 16-03
и т.д.)
Может я пошел не потому пути или не со всеми библиотеками познакомился.
Спасибо за внимание и помощь.

KAPITOSHKARU
26.10.2015, 14:19
Может я снова не корректный вопрос задал?
Почему ответа от тех поддержки нет?

Что знающие люди скажут по поводу такого кода?


VAR_GLOBAL
// переенные организации оприса RS485
COM3_RS485:BOOL:=TRUE; //разрешение на работу опроса порта
OPROS:BOOL; // разрешение запуска блока UniRead

ComConn: ComConn;
UniRead: UniRead;
X_BOOL :BOOL:=TRUE; // сет ресет UniRead
X1_BOOL:BOOL:=FALSE; // флаг счетчика адресов
X :BYTE:=1;//переменная счетчика устройств
X1:BYTE:=0; //переменная счетчика адресов
U1:BYTE:=24; //количество устройств
A1:BYTE:=3; //количество адресов
F_TRIG:F_TRIG;
F_TRIG1:F_TRIG;
In_word:ARRAY [0..25] OF WORD;
Data_word:ARRAY [0..25] OF WORD;

END_VAR

____
PROGRAM POU_RS485_COM3
VAR
END_VAR
____


ComConn(
enable:=COM3_RS485 ,
PortNum:=3 ,
PortBaudrate:=38400 ,
PortParity:=2 ,
PortStopBits:=1 ,
PortByteSize:=8 ,
Port_Mode:=2 ,
Port_ModeOn:=TRUE ,
Port_CloseOn:=FALSE ,
//Handle=> ,
//Done=> ,
//ErrCode=>
);
//счетчик

//чтение переменной 16129
UniRead(
Handle:= ComConn.Handle,
Enabl:= X_BOOL,
Modd:=MB_RTU ,
//Addr:=x ,
//RegAddr:=x1 ,
//TimeOut:=T#500MS ,
ErCL:=2 ,
//VarAdr:=in_word[x1] ,
//VarType:=1 ,
//wErrCode=> ,
//done=>
);


//счетчик адресов
F_TRIG(CLK:=UniRead.done); //задний фронт

IF F_TRIG.Q AND x1<=A1 THEN
UniRead.RegAddr:=x1;
UniRead.VarAdr:=in_word[x1];
UniRead.VarType:=1;
Data_word[x1]:=in_word[x1];
UniRead.TimeOut:=T#20MS;
X1:=X1+1;X1_BOOL:=FALSE;
END_IF

IF F_TRIG.Q AND x1>=(A1+1) THEN x1:=0;X1_BOOL:=TRUE;(* окончание опроса адресов*)
END_IF

// сет ресет UniRead
IF F_TRIG.Q THEN X_BOOL:=FALSE;
ELSE X_BOOL:=TRUE;
END_IF

//счетчик устройств
F_TRIG1(CLK:=X1_BOOL);

IF F_TRIG1.Q AND x<=U1 THEN UniRead.Addr:=x; X:=X+1;
ELSE UniRead.Addr:=x; // при запуске изменить 16й адрес на нужный.
END_IF

IF F_TRIG.Q AND F_TRIG1.Q AND x>=(U1+1) THEN x:=1;(*окончание опроса устройств*)
END_IF
____

далее решаем проблему с помощью CASE с подсчетом нужного количества переменных и устройств для подсчета?
20556

Может есть готовая библиотека для ПЧВ?
почему молчит тех поддержка???

KAPITOSHKARU
27.10.2015, 08:21
Да-а! Поддержка на форуме оставляет желать лучшего.
вчера дозвонился в тех поддержку, по электронке пришел ответ:

Здравствуйте, уважаемые коллеги!



Последнее время перед нашими партнерами все чаще встает задача управления ПЧВ с помощью ПЛК 1хх и СПК. Наш Учебный центр разработал очень полезные библиотеки, сильно облегчающие такую работу.

В состав библиотек входят:

Модуль работы с командным словом.
Модуль работы со словом состояния.
Модуль работы с уставками задания.
Модуль пересчета значений мощности, напряжения, частоты и тока для ПЧВ1,2 и ПЧВ3.


Работа с этими библиотеками разобрана в обучающих видео:

Для ПЛК 1хх: http://www.youtube.com/watch?v=X8no0PFBhy8&list=PL2EcVEe6E9SB4F3WVm-MptpHA5ep0nrq5&index=9

Для СПК видеопример готовится, но в целом библиотека аналогична.

20566

Если сегодня будет свободное время посмотрю. Очень лесно видео на youtube.

Эдуард_Н
27.10.2015, 19:04
Для СПК видеопример готовится, но в целом библиотека аналогична.

Там не сказали когда видеопример для СПК будет?

KAPITOSHKARU
28.10.2015, 15:02
нет не сказали.
Проблема: библиотека не импортируется в кодесус 3.5 патч5

KAPITOSHKARU
28.10.2015, 15:08
Еще одна проблема: при выключении ПЧВ от электропитания, шина модбас, на СПК207, останавливается, помогает только перезапуск СПК.
В чем проблема?
(Авто перезапуск соединения не доступен!)

Имя: Owen SPK2xx 03.CS.WEB
Производитель: Owen
Группы: ПЛК
Тип: 4096
ID: 1628 0002
Версия: 3.5.4.20
Номер модели: 023
Описание: Owen SPK2xx 03.CS.WEB

Имя: Modbus Master, COM Port
Производитель: 3S - Smart Software Solutions GmbH
Группы: Мастер Modbus Serial
Тип: 90
ID: 0000 0002
Версия: 3.5.4.0
Номер модели: -
Описание: A device that works as a Modbus Master on a serial COM Port of a Windows PC.

Эдуард_Н
28.10.2015, 15:38
нет не сказали.
Проблема: библиотека не импортируется в кодесус 3.5 патч5

Не знаю, у меня спокойно импортировалась.

KAPITOSHKARU
28.10.2015, 17:06
вот ЁПРСТ!
Сам задаешь впрос и сам на него отвечаешь!

Инструкция гласит!!!
""Как уже говорилось выше при добавлении девайсов необходимо следить за их версией. Версии добавляемых девайсов должны быть меньше или равны версии Target файла самого устройства.""
из документа:
Настройка обмена по протоколу Modbus в среде программирования CODESYS 3.5 для контроллеров фирмы ОВЕН
Руководство для начинающих и продвинутых пользователей
стр 10!

--ЗАМЕНИЛ--

Имя: Modbus Master, COM Port
Производитель: 3S - Smart Software Solutions GmbH
Группы: Мастер Modbus Serial
Тип: 90
ID: 0000 0002
Версия: 3.5.4.0
Номер модели: -
Описание: A device that works as a Modbus Master on a serial COM Port of a Windows PC.

--НА--

Имя: Modbus Master, COM Port
Производитель: 3S - Smart Software Solutions GmbH
Группы: Мастер Modbus Serial
Тип: 90
ID: 0000 0002
Версия: 3.5.5.0
Номер модели: -
Описание: A device that works as a Modbus Master on a serial COM Port of a Windows PC.

странным образом все заработало!
Так как ""следить за их версией"" драйверов??? :confused:

KAPITOSHKARU
28.10.2015, 17:10
Не знаю, у меня спокойно импортировалась.

Название библиотеки как в документе

SPK_PCV

импортируем файл " SPK_PCV.export "?

Какая операционистка, у меня Win7.

кому интересно СПК207 и ПЧВ1
жду комментариев, предложений, замечаний.

Эдуард_Н
28.10.2015, 17:52
В КДС 3 импортируется не бибка, а ФБ.


импортируем файл " SPK_PCV.export "?

Да.
Win7 х64.

KAPITOSHKARU
29.10.2015, 13:46
В КДС 3 импортируется не бибка, а ФБ.
Теперь все понятно, у меня тоже все импортировалось, только я искал SPK_PCV, SPK,PCV - в названии библиотеки.
Спасибо.

ВЫ не смотрели программку опроса из предыдущего поста?

Эдуард_Н
29.10.2015, 14:04
ВЫ не смотрели программку опроса из предыдущего поста?

Смотрел, но я в ST ни чего не понимаю.

KAPITOSHKARU
29.10.2015, 15:29
я про пост №9 (программа: PROG_18.project )

Эдуард_Н
29.10.2015, 21:28
я про пост №9 (программа: PROG_18.project )

А почему без ФБ из "SPK_PCV_v4.export"? Сами так пробовали управлять ПЧВ в живую?

KAPITOSHKARU
30.10.2015, 10:09
А почему без ФБ из "SPK_PCV_v4.export"? Сами так пробовали управлять ПЧВ в живую?

Да, очень нравиться. Все на прямую, только трудно разобраться с логикой выставления галочек, но можно.
Где бы надыбать полное описание работы блоков библиотеки. А то в руководстве по программированию не до конца понимаю описание работы переменных в словах управления. (опыта маловато, занимаюсь программированием раз, два в год, в основном на производстве другие проблемы.)
И еще не пойму как опрашивать переменные отличные от типа WORD на других устройствах. Например 8АС - мне его нужно опрость раз в 3 минуты, а через блок ОВЕН опрашивается при каждом цикле, не хочется канал забивать.

Часть из будущего творения.


Дополненная версия управления.

Поторопился с множителями. Во общем разобраться не сложно, но расхождение с руководством есть.

Еще один вопрос вырисовывается - нельзя ли копировать и вставлять устройства в кодесус?
Было бы удобно, одно устройство растиражировать, а в нем поменять переменные.

KAPITOSHKARU
31.10.2015, 10:41
Почему то не доступна кнопка "добавить канал" во вкладке "Канал Modbus Slave"
Вопрос сколько каналов поддерживает СПК207. В документации, где то читал, 300 - на видео говорили 600. Где конкретика?
Открыл новый проект, стал добавлять кАНАЛЫ, на 70том закончил, кнопка не заблокировалась.

20611


Ответ смотри ниже пост №18 от 31.10.2015, 12:54

Эдуард_Н
31.10.2015, 11:28
Где то на форуме мне подсказывали как это исправить, а как исправить и где искать инфу я не помню. (память у меня такая, всё приходится записывать:()

KAPITOSHKARU
31.10.2015, 11:54
13.05.2015, 11:38 пост #263
Спасибо Kvazar (http://www.owen.ru/forum/showthread.php?t=20069&p=170487&viewfull=1#post170487)


Методом научного тыка установлено, что если в мастере Modbus Master стереть числа таймингов, вписать те же самые, затем закрыть вкладки мастера и слэйва, затем открыть вкладку слейва и потом вкладку с каналами, то кнопка магически становится доступна.


От себя, перед загрузкой проекта 1 сохраняем, 2 закрываем кодесус, 3 открываем снова убеждаемся что кнопка не доступна, 4 загружаем проект в СПК.


Вопрос как копировать и вставлять устройства в кодесус?

Вопрос сколько каналов поддерживает СПК207. В документации, где то читал, 300 - на видео говорили 600. Где конкретика?




02.04.2016
Выяснилось, что ограничение установлено в Modbus_Slave_COM_Port:
- 32 устройства
- по 100 каналов в устройстве.
- 124 переменные в одном канале (но тут зависит от функции чтения и записи, 124 для функции 03,04 и 16)

Если нужно больше то пользуемся библиотекой 03 Modbus-master со странички CODESYS v.3 — Библиотеки CODESYS (http://www.owen.ru/catalog/codesys_v3/80224381)




31.10.2015 12:54
так будет красивее, на визуализацию не обращаем внимание

KAPITOSHKARU
02.11.2015, 09:20
Сам задаю вопрос, сам отвечаю!


Вопрос как копировать и вставлять устройства в кодесус?

Правой кнопкой мышки, копируем устройство в буфер.

Это устройство переименовываем.
(правой кнопкой мыши - свойства)

(мышкой тыкаем на 1 уровень выше вставляемого)
Вставляем устройство из буфера.

KAPITOSHKARU
13.11.2015, 09:40
Небольшое отклонение от данной темы на визуализацию (http://www.owen.ru/forum/showthread.php?t=22038&p=186414&viewfull=1#post186414)

KAPITOSHKARU
13.11.2015, 12:02
Какая переменная отвечает за наличие связи мастера со слейвом? (т.е. связь есть = истина, нет связи = лож или наоборот)

Ответ смотри ниже в посте №29 (http://www.owen.ru/forum/showthread.php?t=22493&p=187483&viewfull=1#post187483)

Опрос переменной по триггеру является внеочередным или все равно остальные слейвы будут опрашиваться в порядке очереди.
(например опрос всех устройств занимает 1,5 секунды, а на переменную опрашиваемую по триггеру подается сигнал от BLINK с периодами T#200ms и T#200ms)

По какой функции правильно записывать переменные в ПЧВ?
"Запись в один регистр (код функции 06)"
"Запись в несколько регистров (код функции 16)"

Этот же вопрос в другой теме ---------> (http://www.owen.ru/forum/showthread.php?t=15530&p=186606&viewfull=1#post186606)

Про триггер вопрос открытый.

Ответ получил по телефону.
Пишем имя устройства ставим точку выпадает список доступных переменных.
Описание переменных:
Открываем "менеджер библиотек" ищем серенькое название IoDrvModbus, версия (3S - Smart Software Solutions GmbH)
Открываем папочку ModbusComPort
Кликаем ModbusSlaveComPort и кушаем много вкусного
Кликаем MB_ErrorCodes и кушаем много вкусного

Было бы супер найти описание на эту библиотеку.


Может кто подскажет значения:

--.AllocChannels; //
--.byModbusError; //Указывает текущую ошибку, как это определено в "MB_ErrorCodes" перечисление
--.FreeChannels; //
--.GetNextInitValue;//Получить Следующий Инициативу Значение
--.UpdateRequestResult; //Обновление Результата Запроса
--.xAcknowledge; //Перезагружается общения, но не сбрасывает "xError" или "byModbusError"
--.xError; // True, если произошла какая-то ошибка. Коммуникации Slave приостанавливается.
--.xInitDone; //Все команды инициализации были обработаны
--.xOldTrigger; //Старый триггер
--.xReqError; //
--.xReset; //Общение перезагружается и сбрасывает "xError" и "byModbusError".
--.xTrigger;//Триггеры посылая всем настроенным каналам Modbus по нарастающему фронту

KAPITOSHKARU
13.11.2015, 17:42
Пока стенд и электродвигатель рядом проверил:
Скинул Фазу с Электромотора и запустил ПЧВ в работу.
И о боже!!! нет ошибок!!!! мотор разгоняется на 2х фазах!!! Выключил, рукой держу вал мотора, запускаю ПЧВ - нет ошибок!!! вал держу рукой! мотор гудит!!! ошибок нет.
Выставлено 60Гц рабочая, на табло 45Гц и прыгает+-0,5гц
В чем проблема?


Но буду честен при 50Гц показал ошибку AL32 спустя минуту!

Почему?

Можно глянуть еще тут. (http://www.owen.ru/forum/showthread.php?t=22038&p=186552&viewfull=1#post186552)

Ага, но на третий опыт все же загорелась желтенькая лампочка защита, через минуту выдал AL12, но напряжение с двигателя не снял.

smk1635
13.11.2015, 21:46
Какой мощности двигатель? И какой ПЧВ?

KAPITOSHKARU
18.11.2015, 08:48
Как ни больно признавать свои ошибки, но да, двигатель 1,1kW, ПЧВ 3kW. Установил подходящий электродвигатель все работает четко. Циферки попляшут немного и выходит в аварию. СУПЕР!!!
Теперь хочу попробовать перекос по фазам сделать, есть резистор 2kW 25Ом как его подключить что бы не "спалить" пчв? Последовательно на одной фазе думаю у ПЧВ перегрузок не вызовет, а вот параллельно одной обмотки можно подключить, резистор то не индуктивная нагрузка! Да и в жизни бывает КЗ между фазами и КЗ на корпус.
Принимаем во внимание что после ПЧВ установлен моторный дроссель РМТ

KAPITOSHKARU
18.11.2015, 09:37
Ручное управление ПЧВ с СПК207.

Жду комментариев профессионалов.

KAPITOSHKARU
18.11.2015, 18:44
почему не могу прочитать и записать:
Время разгона 3-41
Время замедления 3-42
Предупреждение: низкий ток 4-50
Предупреждение: высокий ток 4-51

Нижний предел скорости вращения двигателя 4-12
Записывается через RS485 но после выключения питания устанавливается на введенные в ручную с пульта ПЧВ параметры.
4-12 =0 по сети изменил на 25Гц (250). выключил пчв, включил пчв 4-12 =0
на панели пчв 4-12 = 25 выключил пчв, включил пчв 4-12 =25
посети 4-12 = 0 выключил пчв, включил пчв 4-12 = 25???
с 4-14 Верхний предел скорости вращения двигателя все в порядке!
Ответ (http://www.owen.ru/forum/showthread.php?t=22493&p=187649&viewfull=1#post187649)


не читаются:
15-00
15-01
15-02
15-03


Ответ получил по телефону.
Моя Не внимательность! некоторые переменные опрашиваются по двум регистрам!
В инструкции к пчв не обратил на это внимание, а в инструкции к библиотеке
SPK_PCV.export "Описание связи СПК1хх и ПЧВ" есть намек.

KAPITOSHKARU
20.11.2015, 16:04
За какое количество времени опросятся 18 устройств с 3мя переменными типа WORD, при условии, что скорость 38400?

KAPITOSHKARU
23.11.2015, 09:20
И так по результатам запусков в выходные:
1. При отсутствии электродвигателя подключенного к ПЧВ - ПЧВ ошибок не выдает, ток потребления 0,2А частота 50Гц.
Минимальный и максимальные токи стоят по умолчанию. Почему ПЧВ не видит отсутствия электродвигателя?

2. Один функциональный блок, с одним программным кодом, для всех ПЧВ задает фиксированную частоту, например 50Гц.
На первом ПЧВ выходная частота 50,2 остальные 16ПЧВ 50Гц. Но при изменении частоты в работающем режиме некоторые ПЧВ тоже превышали установленную частоту - но не стабильно +0,2, было +0,1 и +0,3.

3. При запуске по командному слову, предустановленная, перед пуском, частота (3-11) равнялась 50Гц. Причем и в записанном и считанном регистре на вкладке ModbusGenericSerialSlave Соотнесение Входов/выходов все выглядело именно так. Но электродвигатель работал на установленной частоте 5Гц, а на табло ПЧВ было показано 4,7Гц. При изменении частоты электродвигатель начинал работу на установленной частоте.
Отсюда вопрос - сначала запускаем электродвигатель, потом меняем частоту. Причем такая ситуация наблюдается только при первом пуске после включения электропитания ПЧВ.

4. Нижний предел скорости вращения двигателя 4-12
Записывается через RS485 но после выключения питания устанавливается на введенные в ручную с пульта ПЧВ параметры.
4-12 =0 по сети изменил на 25Гц (250). выключил пчв, включил пчв 4-12 =0
на панели пчв 4-12 = 25 выключил пчв, включил пчв 4-12 =25
посети 4-12 = 0 выключил пчв, включил пчв 4-12 = 25???
с 4-14 Верхний предел скорости вращения двигателя все в порядке!
Ответ (http://www.owen.ru/forum/showthread.php?t=22493&p=187649&viewfull=1#post187649)

KAPITOSHKARU
23.11.2015, 10:03
Проковырявшись неделю как слепой котенок изучающий мир, изучал CS.
Благо результат есть и думаю пригодиться не только мне.
Поэтому максимально наглядно показываю в картинках.
Шаг первый
Открываем Вид Просмотр Watch (любой)
20960
Шаг второй
Копируем название Устройства вашего мастера, в моем случае по умолчанию Modbus_Master_COM_Port
20961
Шаг третий
В окне наблюдений вставляем Устройства вашего мастера, в моем случае по умолчанию Modbus_Master_COM_Port
и жмем интер
20962
Шаг четвертый
Раскрываем все списки подряд и ищем что то меняющееся.
20963
Шаг пятый
Вот что нашел. Эта переменная мне очень упростила задачу.
20964

Пользуйтесь смелей, это правда очень вкусно.

Правда работает только на реальном железе.

Modbus_Master_COM_Port.m_Master.m_uiCurrentSlave переменная которая показывает адрес опрашиваемого устройства.

Думаю не плохо для человека который чуть больше месяца общается с CODESYS V3.5 SP5 Patch 5
Сам себя не похвалишь - так и будешь не хваленый. :cool:

KAPITOSHKARU
24.11.2015, 09:20
Пример работы программы

Планирую при завершении данного тестового проекта создать полный список с правильными переменными для опроса.
согласно типам данных. Не совпадающие типы данных не удаляю просто не использую.

KAPITOSHKARU
24.11.2015, 13:39
4. Нижний предел скорости вращения двигателя 4-12
Записывается через RS485 но после выключения питания устанавливается на введенные в ручную с пульта ПЧВ параметры.
4-12 =0 по сети изменил на 25Гц (250). выключил пчв, включил пчв 4-12 =0
на панели пчв 4-12 = 25 выключил пчв, включил пчв 4-12 =25
посети 4-12 = 0 выключил пчв, включил пчв 4-12 = 25???
с 4-14 Верхний предел скорости вращения двигателя все в порядке!

Ответ:

В ПЧВ есть данные которые записываются в ОЗУ или ПЗУ, конечно при создании руководства желательно указать какие данные пишутся в ОЗУ и ПЗУ.
Как было сказано в тех поддержке у ПЧВ есть переменная по адресу 40 формата hex.
Функция чтения 01. Функция записи 05.
Состояние = 0 указывает на Чтение -Запись ОЗУ.
Состояние = 1 указывает на Чтение - Запись ПЗУ.
Спасибо ТехПоддержке что уделяют столько времени одному человеку персонально.

KAPITOSHKARU
24.11.2015, 16:55
Сегодня на рисовалась еще одна проблема на производстве. Вопрос звучал еще тут. (http://www.owen.ru/forum/showthread.php?t=22493&p=187012&viewfull=1#post187012)
на двигателе отгорел контактный провод, но перед этим он же сильно грелся (я про провод), значит при работе был перекос по фазам.
Не буду указывать марку частотника, но не ОВЕН, значит частотник выдавал на двигатель напряжение до последнего пока не отгорел контакт совсем.
если бы была защита от перекоса по фазам то этого не случилось.
из этого следует вопрос:

В ПЧВ есть защита от перекоса по фазам?

Sijey
28.03.2016, 11:56
Здравствуйте. Подскажите данный проект подойдет под другой частотник (другой фирмы). Конечно только изменить регистры... ??? Заранее спасибо за ответ. Частотник Advanced control m420.