Просмотр полной версии : СПК107 передача данных Lectus
VladimirZHTEC
13.09.2024, 09:13
Доброго времени суток, может кто решал или сталкивался с такой проблемой, поменял панель СПК 207 на СПК 107, передача данных идет СПК пингуется, устанавливаю настройки в Lectus Функция чтения 04, то ОРС сервер адекватно видит старый СПК207 и получает данные, подключаю новый СПК107, пропадает передача меняю Функцию чтения на 01 или 02, качество переменных становится хорошее но значения нулевые и меняться не хотят))) чего же может быть?)))
kondor3000
13.09.2024, 09:42
Доброго времени суток, может кто решал или сталкивался с такой проблемой, поменял панель СПК 207 на СПК 107, передача данных идет СПК пингуется, устанавливаю настройки в Lectus Функция чтения 04, то ОРС сервер адекватно видит старый СПК207 и получает данные, подключаю новый СПК107, пропадает передача меняю Функцию чтения на 01 или 02, качество переменных становится хорошее но значения нулевые и меняться не хотят))) чего же может быть?)))
Значит на новом СПК не правильно настроили обмен, 4 функция (чтение Инпут регистров), 1 и 2 функция относится к чтению бит.
МихаилГл
13.09.2024, 09:43
Настройки модбас подключения, регистры и пр. точно один в один перенесены?
В новых прошивках (с версии 3.5.16 вроде) биты в словах принудительно переставлены на аппаратном уровне, и в программе придется это учесть...
Если бы приложили проект было бы проще вас сориентировать...
PS
https://owen.ru/forum/showthread.php?t=33976&p=364822&viewfull=1#post364822
Это по ПЛК, но на СПК тоже такие же замечания...
https://owen.ru/forum/showthread.php?t=33954&p=351532&viewfull=1#post351532
Это по СПК... Смотрите "Известные ошибки CODESYS V3.5 SP16 Patch 3"
VladimirZHTEC
13.09.2024, 11:07
Настройки модбас подключения, регистры и пр. точно один в один перенесены?
В новых прошивках (с версии 3.5.16 вроде) биты в словах принудительно переставлены на аппаратном уровне, и в программе придется это учесть...
Если бы приложили проект было бы проще вас сориентировать...
PS
https://owen.ru/forum/showthread.php?t=33976&p=364822&viewfull=1#post364822
Это по ПЛК, но на СПК тоже такие же замечания...
https://owen.ru/forum/showthread.php?t=33954&p=351532&viewfull=1#post351532
Это по СПК... Смотрите "Известные ошибки CODESYS V3.5 SP16 Patch 3"
Я бы с радостью приложил бы файлы проекта, но не получается их добавить в письмо....
VladimirZHTEC
13.09.2024, 12:20
Настройки модбас подключения, регистры и пр. точно один в один перенесены?
В новых прошивках (с версии 3.5.16 вроде) биты в словах принудительно переставлены на аппаратном уровне, и в программе придется это учесть...
Если бы приложили проект было бы проще вас сориентировать...
PS
https://owen.ru/forum/showthread.php?t=33976&p=364822&viewfull=1#post364822
Это по ПЛК, но на СПК тоже такие же замечания...
https://owen.ru/forum/showthread.php?t=33954&p=351532&viewfull=1#post351532
Это по СПК... Смотрите "Известные ошибки CODESYS V3.5 SP16 Patch 3"
https://drive.google.com/file/d/1_SrF9ZBMuXRcUl4mrJmzGkCDUcalGiIN/view?usp=drive_link
МихаилГл
13.09.2024, 12:27
https://drive.google.com/file/d/1_SrF9ZBMuXRcUl4mrJmzGkCDUcalGiIN/view?usp=drive_link
Отправил запрос
МихаилГл
13.09.2024, 12:48
https://drive.google.com/file/d/1_SrF9ZBMuXRcUl4mrJmzGkCDUcalGiIN/view?usp=drive_link
Может я туплю, а где соотнесения для регистров? В программе их тоже нету вроде...
78588
kondor3000
13.09.2024, 13:15
Соотнесения может и не быть, если сделать прямые адреса на массив. Вопрос есть ли массивы с адресами?
Или там булевые в соотнесении?
А вот модули все с ошибками, или шаблоны не соответствуют версии или не установлен соответствующий таргет.
Проект можно выложить в расширенных настройках, Добавить файл.
МихаилГл
13.09.2024, 13:18
Соотнесения может и не быть, если сделать прямые адреса на массив. Вопрос есть ли массивы с адресами?
Или там булевые в соотнесении?
А вот модули все с ошибками, или шаблоны не соответствуют версии или не установлен соответствующий таргет.
Проект можно выложить в расширенных настройках, Добавить файл.
Там везде пусто. И в программе нет ссылок на прямые адреса.
По ошибкам ВВ это у меня не установлено, но это вторично...
kondor3000
13.09.2024, 13:20
Там везде пусто. И в программе нет ссылок на прямые адреса.
Судя по вопросу, там булевые в соотнесении должны быть. Если нет нигде, то понятно почему не работает.
МихаилГл
13.09.2024, 13:23
Судя по вопросу, там булевые в соотнесении должны быть. Если нет нигде, то понятно почему не работает.
Не верите... Ух...
78589
А переменные все BOOL, вордов почти нет, и они не пакуются. Ну и поиск прямых ссылок дает только этот модуль...
78590
kondor3000
13.09.2024, 13:27
Если что, для ТС, тут скрины с соотнесением переменных в слейве.
А внизу страницы мои скрины соотнесение через массивы с прямыми адресами https://owen.ru/forum/showthread.php?t=39524&page=19
VladimirZHTEC
17.09.2024, 12:05
приветствую еще раз.... как понятно с ОВЕНом я не сталкивался.... по тому кривизны моих рук... при компиляции проекта не ошибок ни замечаний ничего нет.... СПК исправно показывает показания на панели (уровень давление и т.п.) а лектус посети уже нет. если включаю функцию чтения 04 то все в ошибках у лектуса, если 01 02 то все по нулям.... осталось просто попробывать функцию чтения 03.... но думаю сама картина не исправиться... если можно пожалуйста точнее описать что мне кривыми руками исправить? Благодарю)))
VladimirZHTEC
17.09.2024, 12:22
добавил проект СПК
VladimirZHTEC
17.09.2024, 12:34
Не верите... Ух...
78589
А переменные все BOOL, вордов почти нет, и они не пакуются. Ну и поиск прямых ссылок дает только этот модуль...
78590
приветствую еще раз.... как понятно с ОВЕНом я не сталкивался.... по тому кривизны моих рук... при компиляции проекта не ошибок ни замечаний ничего нет.... СПК исправно показывает показания на панели (уровень давление и т.п.) а лектус посети уже нет. если включаю функцию чтения 04 то все в ошибках у лектуса, если 01 02 то все по нулям.... осталось просто попробывать функцию чтения 03.... но думаю сама картина не исправиться... если можно пожалуйста точнее описать что мне кривыми руками исправить? Благодарю)))
kondor3000
17.09.2024, 13:11
приветствую еще раз.... как понятно с ОВЕНом я не сталкивался.... по тому кривизны моих рук... при компиляции проекта не ошибок ни замечаний ничего нет.... СПК исправно показывает показания на панели (уровень давление и т.п.) а лектус посети уже нет. если включаю функцию чтения 04 то все в ошибках у лектуса, если 01 02 то все по нулям.... осталось просто попробывать функцию чтения 03.... но думаю сама картина не исправиться... если можно пожалуйста точнее описать что мне кривыми руками исправить? Благодарю)))
У вас переменные к слейву Изернет вообще не привязаны, там и не будет ничего.
Туда надо привязать переменные или массив и записать в них нужные параметры из нужных блоков в программе.
И ещё, у вас основная программа PLC_PRG на SFC, проблематично в ней присваивать переменные будет. Надо создать программу или ФБ на ST или CFC, в котором всё будет присваиваться. Я бы вообще перенёс ваше SFC из PLC_PRG в новую программу, а в ней бы всё присваивал.
VladimirZHTEC
17.09.2024, 13:17
78649
вот здесь в слейве добавить все требуемые переменные?
VladimirZHTEC
17.09.2024, 13:36
У вас переменные к слейву Изернет вообще не привязаны, там и не будет ничего.
Туда надо привязать переменные или массив и записать в них нужные параметры из нужных блоков в программе.
И ещё, у вас основная программа PLC_PRG на SFC, проблематично в ней присваивать переменные будет. Надо создать программу или ФБ на ST или CFC, в котором всё будет присваиваться. Я бы вообще перенёс ваше SFC из PLC_PRG в новую программу, а в ней бы всё присваивал.
78649
вот здесь в слейве добавить все требуемые переменные?
kondor3000
17.09.2024, 14:16
вот здесь в слейве добавить все требуемые переменные?
Вот примерно так, у меня добавлены переменные REAL (точнее массив WORD полученный при разложении REAL) 78656
Чтение ОРС сервера по ТСР, функцией 0х04.
И ещё у вас в Изернет порт стоит 500, должен быть 502
VladimirZHTEC
18.09.2024, 09:14
Вот примерно так, у меня добавлены переменные REAL (точнее массив WORD полученный при разложении REAL) 78656
Чтение ОРС сервера по ТСР, функцией 0х04.
И ещё у вас в Изернет порт стоит 500, должен быть 502
Сейчас попробую как вы показали, мне только одно не ясно как влияет выбор порта 500 или 502? старая панель работает на порту 500... нормально.... я исходил из того как сделали ранее..
kondor3000
18.09.2024, 09:35
Сейчас попробую как вы показали, мне только одно не ясно как влияет выбор порта 500 или 502? старая панель работает на порту 500... нормально.... я исходил из того как сделали ранее..
502 порт везде стоит по умолчанию, можно использовать и другие порты, главное, что бы вы не забыли какой порт у вас.
От этого все проблемы, в половине сообщений на форуме, не правильные настройки порта и регистров.
Кстати рассмотрите создание слейва через биб-ку, очень удобно и меньше проблем будет, вместо панели будет любой ОРС сервер, хоть и Лектус.
тут видео https://www.youtube.com/watch?v=jPj2v3vAKRw
VladimirZHTEC
18.09.2024, 12:40
Вот примерно так, у меня добавлены переменные REAL (точнее массив WORD полученный при разложении REAL) 78656
Чтение ОРС сервера по ТСР, функцией 0х04.
И ещё у вас в Изернет порт стоит 500, должен быть 502
Прошу прощения здесь за основу взяли мой проект и запустили на ОРС сервере?
kondor3000
18.09.2024, 13:10
Прошу прощения здесь за основу взяли мой проект и запустили на ОРС сервере?
Да ваш проект, запущен на вирт. контроллере, обмен с ОРС сервером Овен, по ТСР.
VladimirZHTEC
25.09.2024, 12:47
Да ваш проект, запущен на вирт. контроллере, обмен с ОРС сервером Овен, по ТСР.
Попробовал запустить на ОРС Овен он реально заработал а лектус так и не хочет ;) у меня уже истерика ))))
kondor3000
25.09.2024, 13:00
Попробовал запустить на ОРС Овен он реально заработал а лектус так и не хочет ;) у меня уже истерика ))))
Выкладывайте проект и файл настройки Лектуса, посмотрим что у вас не так.
VladimirZHTEC
26.09.2024, 14:01
прилагаю проект спк и лектус
kondor3000
26.09.2024, 16:34
Уже сам прочитал слейв Лектусом, вот скрин и файл настроек Лектуса для виртуального контроллера 78936
Для реального СПК, поменять IP 127.0.0.1 на ваш от СПК и порт проверить 500
Самое главное, вы так и не добавили переменные во входные регистры, в слейв ТСР 78939 должно быть типа так78940
В вашем файле Лектуса, нет перестановки регистров (нет галки старшим регистром вперёд) и слейв адрес почему то 101, в ПЛК по умолчанию 1.
Поменял и у меня чтение, в моём проекте с переменными в слейве, заработало.
VladimirZHTEC
08.10.2024, 09:25
Уже сам прочитал слейв Лектусом, вот скрин и файл настроек Лектуса для виртуального контроллера 78936
Для реального СПК, поменять IP 127.0.0.1 на ваш от СПК и порт проверить 500
Самое главное, вы так и не добавили переменные во входные регистры, в слейв ТСР 78939 должно быть типа так78940
В вашем файле Лектуса, нет перестановки регистров (нет галки старшим регистром вперёд) и слейв адрес почему то 101, в ПЛК по умолчанию 1.
Поменял и у меня чтение, в моём проекте с переменными в слейве, заработало.
79184 добавил регистры в слейв как вы отметили на скриншоте, теперь он показывает ошибки при компилировании и не хочет изменять проект.
МихаилГл
08.10.2024, 09:29
79184 добавил регистры в слейв как вы отметили на скриншоте, теперь он показывает ошибки при компилировании и не хочет изменять проект.
Окно шире сделайте, не видно какую переменную вы соотнесли... Похоже ошиблись.
kondor3000
08.10.2024, 10:02
79184 добавил регистры в слейв как вы отметили на скриншоте, теперь он показывает ошибки при компилировании и не хочет изменять проект.
Видите у вас регистры наложены на вашем скрине Синяя Буква М, вам надо удалить этот адрес, нажать Ввод и сделать полную очистку и компиляцию
https://owen.ru/forum/showthread.php?t=28167&page=6#52
Возможно придётся опять удалить все последние добавленные переменные и забить снова.
VladimirZHTEC
08.10.2024, 12:01
Видите у вас регистры наложены на вашем скрине Синяя Буква М, вам надо удалить этот адрес, нажать Ввод и сделать полную очистку и компиляцию
https://owen.ru/forum/showthread.php?t=28167&page=6#52
Возможно придётся опять удалить все последние добавленные переменные и забить снова.
79200 я исправил и смог компилировать проект, после компиляции сразу онлайн загрузил на СПК... но увы картина не увенчалась успехом...79201 79202 79203 79204 79205 79206
kondor3000
08.10.2024, 12:57
79200 я исправил и смог компилировать проект, после компиляции сразу онлайн загрузил на СПК... но увы картина не увенчалась успехом...
Вы вот совсем не читаете, и не смотрите скрины. Галки привязать к адаптеру у меня нет.
Переменные в слейв надо класть Real разложенные на 2 WORD, я об этом уже дважды писал.
В слейве должны быть какие то данные, а у вас на скрине там нули сплошные.
Вы одну переменную считайте правильно, возьмите мой Лектус файл, зачем вы кучу переменных напихали если не работает ничего.
Вроде у вас правильно всё настроено, только связи нет, может что то блокирует? Кабель изернет между панелью СПК и компом проверен?
Кабель в нужный порт вставлен? Шлюз какой то используете или напрямую включено?
VladimirZHTEC
10.01.2025, 13:30
Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus показывает неимоверно левые значения...812288122981230 Тип данных пробовал ставить другой, включал и отключал порядок байтов, все четно....
Евгений Кислов
10.01.2025, 13:59
Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus показывает неимоверно левые значения...812288122981230 Тип данных пробовал ставить другой, включал и отключал порядок байтов, все четно....
Добрый день.
Привязывать переменную типа REAL к каналу типа WORD - не самая лучшая идея.
Разбейте REAL на два отдельных ворда и привяжите их к каналам слэйва.
kondor3000
10.01.2025, 14:17
Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus показывает неимоверно левые значения...812288122981230 Тип данных пробовал ставить другой, включал и отключал порядок байтов, все четно....
Можно и не разбивать на 2 WORD, но массиву из 2 WORD можно присвоить переменную REAL. А уже в Лектусе переставлять регистры и байты.
В любом случае для REAL надо 2 регистра, а не один как у вас.
VladimirZHTEC
15.01.2025, 12:03
Можно и не разбивать на 2 WORD, но массиву из 2 WORD можно присвоить переменную REAL. А уже в Лектусе переставлять регистры и байты.
В любом случае для REAL надо 2 регистра, а не один как у вас.
8132181322 какой из вариантов более правильный? но пробовал как вы говорили добавлять два регистра, но приходящее значение не изменилось в показаниях
VladimirZHTEC
16.01.2025, 11:49
В любом случае для REAL надо 2 регистра, а не один как у вас. это должен быть указан один и тот же регистр или 2 разных?
VladimirZHTEC
16.01.2025, 12:02
Добрый день.
Привязывать переменную типа REAL к каналу типа WORD - не самая лучшая идея.
Разбейте REAL на два отдельных ворда и привяжите их к каналам слэйва.
Application, Real_WORD_29, прописан код: TYPE REAL_WORD_29 :
UNION//
awModbusReal :ARRAY [0..1] OF WORD;
rRealValue :REAL;
END_UNION
END_TYPE
VladimirZHTEC
22.01.2025, 11:40
2 регистра REAL должны быть присвоены последовательно? я пробовал так картина не изменилась, меняя и подбирая регистры в Лектусе.... можете подсказать как правильно разбить REAL на WORD. Благодарю
kondor3000
23.01.2025, 15:11
2 регистра REAL должны быть присвоены последовательно? я пробовал так картина не изменилась, меняя и подбирая регистры в Лектусе.... можете подсказать как правильно разбить REAL на WORD. Благодарю
REAL, это 2 регистра WORD, записанных одновременно, передаются они вместе и адреса должны быть подряд, например 0 и 1 или 16 и 17 если передаёте WORD, если передаёте REAL адреса будут 0 или 16.
Так же REAL, можно представить как массив из 2 WORD, например w: ARRAY [0..1] OF WORD;
Передавая массив вы передаёте 2 регистра или 1 переменную REAL. Если массив из 20 регистров, это 10 переменных REAL.
Если REAL читается не правильно, регистры WORD надо поменять местами (реже поменять местами байты)
Здесь скрины как читать и записывать массивы, а так же как разобрать REAL и собрать обратно из 2 WORD (3 скрин внизу).
https://owen.ru/forum/showthread.php?t=40771&p=455445#post455445
Тоже самое можно сделать и в Лектусе, есть перестановка байт и перестановка регистров 81524
VladimirZHTEC
28.01.2025, 12:47
REAL, это 2 регистра WORD, записанных одновременно, передаются они вместе и адреса должны быть подряд, например 0 и 1 или 16 и 17 если передаёте WORD, если передаёте REAL адреса будут 0 или 16.
Так же REAL, можно представить как массив из 2 WORD, например w: ARRAY [0..1] OF WORD;
Передавая массив вы передаёте 2 регистра или 1 переменную REAL. Если массив из 20 регистров, это 10 переменных REAL.
Если REAL читается не правильно, регистры WORD надо поменять местами (реже поменять местами байты)
Здесь скрины как читать и записывать массивы, а так же как разобрать REAL и собрать обратно из 2 WORD (3 скрин внизу).
https://owen.ru/forum/showthread.php?t=40771&p=455445#post455445
Тоже самое можно сделать и в Лектусе, есть перестановка байт и перестановка регистров 81524
Я конечно не лучший знаток.... ОВЕН и CODESys.... так и не смог понять как именно, переставлял местами регистры.... пытался подобрать тип данных в Lectus.... но все так и не смог.... можете попробывать запустить у себя... может своим личным взглядос поймете... что именно
kondor3000
28.01.2025, 19:16
Я конечно не лучший знаток.... ОВЕН и CODESys.... так и не смог понять как именно, переставлял местами регистры.... пытался подобрать тип данных в Lectus.... но все так и не смог.... можете попробывать запустить у себя... может своим личным взглядос поймете... что именно
Вы не отправили 2 WORD в соотнесение в слейве, не правильно поставили адреса регистров в Лектусе (для Float адреса 0,2,4,6 и т. д.),81615
опять наставили ненужных галок в ТСР слейве, уберите все галки
В объединении UNION ( REAL_WORD_29 : ) поставили массив из 12 регистров [0..11], а надо два [0..1]. 81616
в остальных тоже где 2, а где то 4
Это объединение UNION, как раз раскладывает (или собирает) ваш REAL на два WORD из массива WORD[0] и WORD[1],
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[0]
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[1]
вот их и надо отправить в соотнесение. Кстати их как раз можно поменять местами [0] и [1]
А так их надо выбирать из Application / GVL 81617
После 15 Real (30 регистров) идут 3 регистра с битами- у меня работают 81640
VladimirZHTEC
03.02.2025, 13:31
Вы не отправили 2 WORD в соотнесение в слейве, не правильно поставили адреса регистров в Лектусе (для Float адреса 0,2,4,6 и т. д.),81615
опять наставили ненужных галок в ТСР слейве, уберите все галки
В объединении UNION ( REAL_WORD_29 : ) поставили массив из 12 регистров [0..11], а надо два [0..1]. 81616
в остальных тоже где 2, а где то 4
Это объединение UNION, как раз раскладывает (или собирает) ваш REAL на два WORD из массива WORD[0] и WORD[1],
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[0]
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[1]
вот их и надо отправить в соотнесение. Кстати их как раз можно поменять местами [0] и [1]
А так их надо выбирать из Application / GVL 81617
После 15 Real (30 регистров) идут 3 регистра с битами- у меня работают 81640
81702
я все изменил, исправил как вы выше описали,
Но переменные у меня не отображаются как вы ранее описывали: Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[0]
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[1]
Выбираю их правильно через Application/ GVL, может мне не хватает каких пакетов в библиотеке для коретктной работы...
Евгений Кислов
03.02.2025, 13:59
VladimirZHTEC, если есть желание разобраться в проблеме, то давайте это сделаем предметно - с использованием telegram и AnyDesk.
В прошлый раз, напомню, нам потребовалось на это около 15 минут.
Я доступен по утрам.
81709
kondor3000
03.02.2025, 14:02
81702
я все изменил, исправил как вы выше описали,
Но переменные у меня не отображаются как вы ранее описывали: Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[0]
Application.SCADA_P29_adr40_KLAPAN_1_POLOZhENIE_RE AL_rEAd_1_REAL_TO_2WORD.awModbusReal[1]
Выбираю их правильно через Application/ GVL, может мне не хватает каких пакетов в библиотеке для коретктной работы...
Это не пакетов не хватает, тут [0] и [1] надо дописывать руками. Программа не знает какой вы вставляете.
Их же можно поменять местами 1 и 0, если не правильно будет в отображение в Лектусе.
Давно бы скопировали и вставили целиком, специально вам пример дал.
Вы ещё и вставляете не туда, у меня на скрине входные регистры [0] ( Лектус их читает),
а вы вставляете в регистры временного хранения [0] ( сюда Лектус записывать должен).
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot