Просмотр полной версии : СП310+ПЛК63+2ТРМ1 У2(работа с библиотеками)
Здравствуйте. Задача чисто для самообучения. Хочу подружить между собой СП310 и ПЛК63 по RS232, а так же единовременно ПЛК63 и 2ТРМ1 по RS485, то есть к примеру увидеть температуру датчика, подключенного к 2 ТРМ1 на СП310 через ПЛК63.
Перед сборкой хотел бы уточнить некоторые вопросы.
На фото, я выделил красным, то что я уже настроил. А конкретно собираюсь передавать "Измеренную величину на входе один с 2ТРМ1".
Получается весь код на ST у меня сейчас настроен для получения температуры с ТРМ? А как передавать температуру дальше на СП310 по RS232? По сути у меня есть переменная d, в которой будет температура с датчика, надо ее дальше во что то преобразовать?
In_Da_Cher_A
20.04.2024, 07:14
А как передавать температуру дальше на СП310 по RS232? По сути у меня есть переменная d, в которой будет температура с датчика, надо ее дальше во что то преобразовать?откройте руководство на ПЛК63 и прочтите каким образом там формируется память переменных и входов
"7.5 Размещение переменных в области памяти протокола Modbus при работе в режиме Slave-устройства"
kondor3000
20.04.2024, 08:57
Здравствуйте. Задача чисто для самообучения. Хочу подружить между собой СП310 и ПЛК63 по RS232, а так же единовременно ПЛК63 и 2ТРМ1 по RS485, то есть к примеру увидеть температуру датчика, подключенного к 2 ТРМ1 на СП310 через ПЛК63.
Перед сборкой хотел бы уточнить некоторые вопросы.
На фото, я выделил красным, то что я уже настроил. А конкретно собираюсь передавать "Измеренную величину на входе один с 2ТРМ1".
Получается весь код на ST у меня сейчас настроен для получения температуры с ТРМ? А как передавать температуру дальше на СП310 по RS232? По сути у меня есть переменная d, в которой будет температура с датчика, надо ее дальше во что то преобразовать?
Вы же уже делали связь ПЛК с панелью, присвойте d в переменную с адресом нужных регистров для передачи и всё.
Температуру d уже удалось считать правильно? Разберитесь сначала тут. На ПЛК63 вообще есть RS485? Или через конвертер будете включать?
Если хотите передать в панель через биб-ку, то берите пример записи.
Температуру d уже удалось считать правильно?
Да
На ПЛК63 вообще есть RS485?
Есть
Вы же уже делали связь ПЛК с панелью.
Да, но только через RS485, а не RS232
Присвойте d в переменную с адресом нужных регистров для передачи и всё.
Так и сделал. Все получилось, на панеле отобразилась температура с ТРМ!)
75295
Если хотите передать в панель через биб-ку, то берите пример записи.
Надо будет попробовать
kondor3000
20.04.2024, 13:25
Все получилось, на панеле отобразилась температура с ТРМ!)
Надо будет попробовать
Ну вот уже прогресс)) Сначала попробуйте записать температуру в панель с ТРМ биб-кой.
А потом попробуйте биб-ми читать, записывать в панель, по несколько штук целочисленных и REAL.
По несколько штук, лучше читать, записывать уже массивом, а не по 1 штуке. Одну из целочисленных можно сделать маской бит.
Что-то никак не получается передать переменную "А" типа int в панель через библиотеку(взял пример записи).
7531875319
Что-то никак не получается передать переменную "А" типа int в панель через библиотеку(взял пример записи).
7531875319
Вы через COM поРт пишете из ПЛК в память ПЛК?
kondor3000
22.04.2024, 18:52
Что-то никак не получается передать переменную "А" типа int в панель через библиотеку(взял пример записи).
7531875319
При чём тут адресное пространство ПЛК слейва, если ПЛК мастер у вас? Панель надо настроить как слейв соответственно. Регистры панели слейв начинаются с 256.
Пересмотрите видео по ссылке.
У вас слейв адрес панели - 16 ? Вообще у панели обычно слейв адрес 1.
И все параметры порта проверьте.
К тому же вы передаёте переменную А типа WORD, а пишите про INT, типы переменных изучить пробовали?
При чём тут адресное пространство ПЛК слейва, если ПЛК мастер у вас? Панель надо настроить как слейв соответственно. Регистры панели слейв начинаются с 256.
Пересмотрите видео по ссылке.
И все параметры порта проверьте.
Я вас понял. Завтра постараюсь попробовать.
У вас слейв адрес панели - 16 ? Вообще у панели обычно слейв адрес 1.
Да, так и есть
Передать переменные "А" и "f1" получилось с первого раза, но у меня f1 занимает 4 номер регистра, который в панели относится к системным. Непонятно как поменять номер регистра с 4 на 300 в библиотеке на ПЛК, где конкретно прописывать.
kondor3000
24.04.2024, 17:55
Передать переменные "А" и "f1" получилось с первого раза, но у меня f1 занимает 4 номер регистра, который в панели относится к системным. Непонятно как поменять номер регистра с 4 на 300 в библиотеке на ПЛК, где конкретно прописывать.
А если подумать? Там же на русском подписано даже.
Вы же выделили на скрине начальный адрес 4, следующая строка кол-во записываемых регистров 4 , из них,
два на 32 битное целочисленное типа DINT ( или DWORD или UDINT с адресом 4) и два на REAL, адрес 6.
Сравните как разбирается на байты целочисленное и как REAL и подумайте, как например передать несколько целочисленных и несколько REAL.
И как расставить байты, для правильной передачи чисел.
А если подумать? Там же на русском подписано даже.
Вы же выделили на скрине начальный адрес 4, следующая строка кол-во записываемых регистров 4 , из них,
два на 32 битное целочисленное типа DINT ( или DWORD или UDINT с адресом 4) и два на REAL, адрес 6.
Сравните как разбирается на байты целочисленное и как REAL и подумайте, как например передать несколько целочисленных и несколько REAL.
И как расставить байты, для правильной передачи чисел.
Вроде разобрался:D
kondor3000
12.05.2024, 15:19
Вроде разобрался:D
Ну уже лучше)) а теперь замените f2 и f3 на массив f2:ARRAY [0..9] OF REAL; и сможете записать сразу 10 переменных REAL. Регистров будет уже 20.
Упаковку можно сделать компактней, каждая строка 1 REAL, например
ptr_f2:=ADR(f2); buffer[1] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[0] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[3] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[2] := ptr_f2^;
ptr_f2:=ptr_f2+1; buffer[5] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[4] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[7] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[6] := ptr_f2^;
Аналогично можно прочитать Массив любых переменных, если они идут подряд.
Ну уже лучше)) а теперь замените f2 и f3 на массив f2:ARRAY [0..9] OF REAL; и сможете записать сразу 10 переменных REAL. Регистров будет уже 20.
Упаковку можно сделать компактней, каждая строка 1 REAL, например
ptr_f2:=ADR(f2); buffer[1] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[0] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[3] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[2] := ptr_f2^;
ptr_f2:=ptr_f2+1; buffer[5] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[4] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[7] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[6] := ptr_f2^;
Аналогично можно прочитать Массив любых переменных, если они идут подряд.
Вроде так.
Единственно мне не понятно почему упаковка выглядит именно так и в таком порядке:confused:
kondor3000
15.05.2024, 17:55
Вроде так.
Единственно мне не понятно почему упаковка выглядит именно так и в таком порядке:confused:
А что не понятно то? Есть начальный адрес массива ADR(f2), а дальше адрес каждого следующего байта +1. В буфере Байты и Регистры все подряд, [0] [1] [2] [3].
Каждый байт надо поставить в правильном порядке ( для панели [1] [0] [3] [2]), например, если переставить [1] и [0] , то поменяются местами байты,
а если поменять [1] [0] с [3] [2], то поменяются местами регистры. Попробуйте и получите вместо 50.80, что-то типа 2.345e-25.
Для разных модулей и панелей порядок может быть разный, но для Овена чаще всего такой.
ptr_f2:=ADR(f2); buffer[1] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[0] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[3] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[2] := ptr_f2^;
ptr_f2:=ptr_f2+1; buffer[5] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[4] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[7] := ptr_f2^; ptr_f2:=ptr_f2+1; buffer[6] := ptr_f2^;
Я про код.
Например почему буфферы идут не [0] [1] [2] [3] , а [1] [0] [3] [2]?
Или, что значит запись ptr_f2^?
А, что теперь осталось, чтобы получать данные с ТРМ и передавать в него же с hmi через плк63 через интерфейс?
kondor3000
15.05.2024, 18:20
А, что теперь осталось, чтобы получать данные с ТРМ и передавать в него же с hmi через плк63 через интерфейс?
Выше ещё дописал,
а что осталось, прочитать данные с ТРМ, присвоить в программе в переменные для записи в панель и отправить.
ptr_f2^ это указатель, вы указываете положить данный байт в адрес такой то, +1 к начальному адресу
Для разных модулей и панелей порядок может быть разный, но для Овена чаще всего такой.
Этот порядок искать в руководстве для панели? И я как понимаю, если будет нормальный плк, то есть не такой старичок как плк63 с библиотеками, то и заморачиваться с порядком байтов и прочей упаковкой не придется?
kondor3000
15.05.2024, 19:00
Этот порядок искать в руководстве для панели? И я как понимаю, если будет нормальный плк, то есть не такой старичок как плк63 с библиотеками, то и заморачиваться с порядком байтов и прочей упаковкой не придется?
Порядок в Модбас не стандартизирован, у каждой фирмы, может быть свой порядок. Если целочисленное нормально, а REAL кривой, меняйте порядок регистров (чаще всего).
Если не помогло, то меняйте порядок байт
kondor3000 ,спасибо за ответы и терпение)!
Теперь получается мне надо использовать код из двух разных примеров, один для чтения с ТРМ и второй для записи в панель?
Тогда их как лучше оформить? Поместить оба в PLC_PRG или создать основную программу в CFC, а код с функцией чтения и записи оформить как два отдельных функциональных блока на ST? Но в итоге я как понимаю, что в первом, что во втором случае надо будет разобраться в коде поглубже, чтобы понять, что переименовать, что можно убрать, а что надо будет, например с функционального блока перенести в основную часть PLC_PRG
kondor3000
18.05.2024, 15:53
kondor3000 ,спасибо за ответы и терпение)!
Теперь получается мне надо использовать код из двух разных примеров, один для чтения с ТРМ и второй для записи в панель?
Тогда их как лучше оформить? Поместить оба в PLC_PRG или создать основную программу в CFC, а код с функцией чтения и записи оформить как два отдельных функциональных блока на ST? Но в итоге я как понимаю, что в первом, что во втором случае надо будет разобраться в коде поглубже, чтобы понять, что переименовать, что можно убрать, а что надо будет, например с функционального блока перенести в основную часть PLC_PRG
Лучший вариант наверное, чтение и запись перенести в отдельные программы. Оставив основную программу для работы. В основной только вызвать подпрограммы.
Переменные для чтения и записи можно перенести в глобальные, тогда они будут доступны из любой программы.
Для панели совместить чтение и запись в одной программе, расставив шаги CASE, например 0 открытие порта, чтение 1 и 2 шаг, запись 3 и 4 шаг.
Подпрограммы лучше сделать универсальными, если надо воткнул в любой проект (поменял адрес и регистры) и всё.
На каком языке делать решать вам, основная программа по началу, нагляднее на CFC (но со временем перейдёте на ST, наверное)
Считать с ТРМ два параметра температуры 1,2 канала и передать через плк с помощью библиотек в панель получилось. Сейчас никак не получается считать одновременно больше двух параметров с ТРМ. При прописывании количества регистров равным 4 считывается успешно только 2 параметра, остальные 2 с некорректными цифрами, но стоит мне как положено установить количество регистров равным 8, то отображаются нули. Что не так не пойму.
kondor3000
20.05.2024, 19:45
Считать с ТРМ два параметра температуры 1,2 канала и передать через плк с помощью библиотек в панель получилось. Сейчас никак не получается считать одновременно больше двух параметров с ТРМ. При прописывании количества регистров равным 4 считывается успешно только 2 параметра, остальные 2 с некорректными цифрами, но стоит мне как положено установить количество регистров равным 8, то отображаются нули. Что не так не пойму.
Чтение, запись массивами я предлагал для панели.
Думаю в ТРМ как в панели, не получится считать все 8 регистров подряд, читайте по 4, если получится, если нет то по 2.
Удивительно, вы 2 месяца разбираетесь и до сих пор не проверили чтение с ТРМ.
Удивительно, вы 2 месяца разбираетесь и до сих пор не проверили чтение с ТРМ.
Почему же, проверял, но только 2 регистра(один параметр), сразу на несколько не замахивался.
А так, если получается за неделю 3 раза позаниматься с плк после работы, то это уже хорошо. Бывает и за неделю ни разу не подойду. Скоро отпуск, можно будет основательно заняться.
Все получилось, как и хотел изначально, единственно с ПЧ+двигатель думаю было бы интереснее). В конце когда уже более менее понятно, что и как, прям в кайф было все прописывать и подключать).
Без вас, kondor3000 , я бы не справился. Спасибо за помощь!
Прилагаю фото и видео конечного результата.
https://disk.yandex.ru/i/mSY2QCVGS0VU6A
kondor3000
25.05.2024, 09:57
Все получилось, как и хотел изначально, единственно с ПЧ+двигатель думаю было бы интереснее).
Уже неплохо)
Вот пример опроса ПЧВ1 через биб-ку, фактически он не отличается от вашего проекта, только скорость 9600 и регистры другие. И что тут интересного?
Работа с ПЧВ отличается только присутствием помех по сети и питанию и борьбой с ними, остальное всё так же. Вы можете взять свою программу и управлять ПЧВ изменив адреса, (передавая не биты, а регистр WORD с упакованными битами). Работу с битами через Маску вы можете проверить на Панели (ПЧВ вообще не нужен).
В примере ПЛК можно заменить на любой, так так опрос через биб-ку.
Примеры обмена по интерфейсу RS-485 с приборами по Модбас, для ПЛК63-73
10) Обмен через библиотеки Modbus и OwenNet https://owen.ru/product/codesys_v2/example_program
Принцип работы ПЧВ по интерфейсу RS 485 https://www.youtube.com/watch?v=LmcZoIKQStg
А тут видео, все нужные регистры ПЧВ1 https://www.youtube.com/watch?v=X8no0PFBhy8
ПЧВ2 https://www.youtube.com/watch?v=WgjaGlgQHYA
Принцип работы ПЧВ по интерфейсу RS 485 https://www.youtube.com/watch?v=LmcZoIKQStg
А тут видео, все нужные регистры ПЧВ1 https://www.youtube.com/watch?v=X8no0PFBhy8
ПЧВ2 https://www.youtube.com/watch?v=WgjaGlgQHYA
Посмотрел, вроде более-менее понятно.
Вы можете взять свою программу и управлять ПЧВ изменив адреса, (передавая не биты, а регистр WORD с упакованными битами). Работу с битами через Маску вы можете проверить на Панели (ПЧВ вообще не нужен).
Тут не могли бы по подробнее, про работу с битами через маску и как это можно проверить через мою программу панель+плк. В сети искал, но ничего подобного на ST в Codesys не нашел
Примеры обмена по интерфейсу RS-485 с приборами ОВЕН, ( пример с чтением, записью Койлов (бит) и вся разница)
5) Опрос ПЧВ через библиотеку Modbus https://owen.ru/product/codesys_v2/example_program
Не совсем понятно, что в выделенных строках задается
Регистры и биты командного слова на фото они для данного примера подходят или есть более старый РП для ПЧВ?
kondor3000
26.05.2024, 16:51
Не совсем понятно, что в выделенных строках задается
Регистры и биты командного слова на фото они для данного примера подходят или есть более старый РП для ПЧВ?
Биты немного другие, скорее всего пример для старого ПЧВ.
command_word:WORD:=16#847C; = 33916 (DEC) Командное слово задаёт включенные биты в Визуализации 76054
Посмотрите видео, там всё разложено по полочкам.
Биты упаковываются в Маску бит (WORD) и распаковываются через точку. Распаковка 76057
Упаковка Mask.0 := b0; Mask.1 := b1; Mask.2 := b2;..........Mask.15 := b15;
Распаковка b0:=Mask.0; b1:=Mask.1; b2:=Mask.2; b3:=Mask.3;.......... b15:=Mask.15;
Это получается просто пример, то есть недоработанная программа? Здесь же не указан ни один регистр, нет регистра командного слова(49999), хотя само командное слово есть, нет регистра задания по интерфейсу(50009), хотя сама переменная freq есть.
command_word:WORD:=16#847C; = 33916 (DEC) Командное слово задаёт включенные биты в Визуализации 76054
С этим разобрался.
kondor3000
27.05.2024, 20:28
Это получается просто пример, то есть недоработанная программа? Здесь же не указан ни один регистр, нет регистра командного слова(49999), хотя само командное слово есть, нет регистра задания по интерфейсу(50009), хотя сама переменная freq есть.
Да плевать на пример, зачем читать, записывать 16 раз по 1 биту, когда можно упаковать биты и отправить регистр или прочитать регистр и извлечь из него все биты сразу.
Вставьте в свою программу адреса регистров ПЧВ и читайте, записывайте регистры и биты в панели, такие же как в ПЧВ.
Вставьте в свою программу адреса регистров ПЧВ и читайте, записывайте регистры и биты в панели, такие же как в ПЧВ.
Как то так
kondor3000
29.05.2024, 18:05
Как то так
А где адреса ПЧВ ?
Вы просто биты добавили, а надо сделать полное управление ПЧВ с его адресами и битами,
в панели эмулировать ответ, тоже битами и частотой.
День добрый. В связи с загруженностью приостановил свои занятия на пару месяцев. За это время в придачу достал маленький движок и китайский ПЧ с RS485. В общем уже успел поиграться и через панель и через Codesys, но вылезли нюансы.
1. Через панель(СП310 + ПЧ) получается и посылать команды и получать от частотника
https://disk.yandex.ru/i/kE6Pl3Q7F0sRVg, единственно не пойму, как привязать состояние ПЧ к обычному индикатору(лампочки)
https://disk.yandex.ru/i/MjArmIxKphYOHw https://disk.yandex.ru/i/19ZM5pLaobe7Lg
2. Через Codesys(ПЛК63+ПЧ) посылаются команды без проблем, но никак не получается получить в переменную состояние ПЧ(переменные "а" и "х") https://disk.yandex.ru/i/oFbLARIj1md3cg
Вот видео самого проекта https://disk.yandex.ru/i/lDdZYwEBPvV1mg
Мануал на ПЧ прилагаю 77831
Фото проекта
kondor3000
06.08.2024, 08:44
День добрый. В связи с загруженностью приостановил свои занятия на пару месяцев. За это время в придачу достал маленький движок и китайский ПЧ с RS485. В общем уже успел поиграться и через панель и через Codesys, но вылезли нюансы.
Фото проекта
Зачем опять видео, где не видно ничего? Зачем скрины не относящиеся к делу?
Где проекты?
По поводу ламп, Пуск и Реверс лампы работают, а на Стоп нет. Значит бит на Стоп выбрали не тот.
Там по ходу вообще не биты, а числа 1 Пуск, 2 Реверс, 3 Стоп, проверьте на Дисплее.
Где проекты?
Вот для ПЛК и СП310
kondor3000
06.08.2024, 09:52
Вот для ПЛК и СП310
По поводу ламп, Пуск и Реверс лампы работают, а на Стоп нет.
Там по ходу вообще не биты, а числа 1 Пуск, 2 Реверс, 3 Стоп, проверьте на Дисплее.
Просто биты 0 и 1 соответствуют числам 1 и 2, (бит 2 это 4), а бит 3 это число 8. А сравнивать надо с числом 3.
Зачем скрины не относящиеся к делу?
Вот например скрин кода, который не считывает показания частоты ПЧ 77847
Это регистр по мануалу, отвечающий за этот параметр 77848
kondor3000
06.08.2024, 14:11
Вот например скрин кода, который не считывает показания частоты ПЧ 77847
Это регистр по мануалу, отвечающий за этот параметр 77848
Скрин надо в работе выкладывать, посмотреть на него просто так, я и в проекте могу. Адрес правильный, возможно байты надо переставить.
А так же считать лучше сразу 5 регистров, с 4097 по 4101
И ещё, не понятно, у вас в проекте ПЛК адрес ПЧ - 2, а в проекте панели, адрес ПЧ -1
И ещё, не понятно, у вас в проекте ПЛК адрес ПЧ - 2, а в проекте панели, адрес ПЧ -1
На данный момент я не подключал связку СП310+ПЛК63+ПЧ, а только СП310+ПЧ и отдельно ПЛК63+ПЧ, так как в последнем у меня не получается считать состояние ПЧ, как только считаю буду пробовать полную связку. Поэтому и адрес ПЧ в двух случаях разный
А так же считать лучше сразу 5 регистров, с 4097 по 4101
Как только хоть один получится считать, попробую
Адрес правильный, возможно байты надо переставить.
0 с 1 местами поменять?77849
kondor3000
06.08.2024, 14:46
0 с 1 местами поменять?77849
Да , поменять местами
kondor3000
06.08.2024, 16:20
Проверил проект на OPC сервере (слейв), только адреса поменял, у меня всё работает, без перестановки байт 77850
2 чтение, 2 запись
Проверил проект на OPC сервере (слейв), только адреса поменял, у меня всё работает, без перестановки байт 77850
2 чтение, 2 запись
А, где тогда проблема зарыта? Ведь связь то есть, я с Codesys задаю команды на старт, реверс, стоп и частоту меняю, все работает, а считывать не хочет показывает 0. Ну я все равно завтра попробую байты переставить
kondor3000
06.08.2024, 17:27
А, где тогда проблема зарыта? Ведь связь то есть, я с Codesys задаю команды на старт, реверс, стоп и частоту меняю, все работает, а считывать не хочет показывает 0. Ну я все равно завтра попробую байты переставить
Вам проще всего взять любой ОПС сервер, хоть Овен, в режиме мастера и опросить ваш ПЧ, забить те же регистры и проверить.
Зря вы разные адреса ПЧ применяете, вам надо каждый раз менять адрес ПЧ и перезагружать всю систему.
Либо вы после смены адреса, не перезагружаете питание, либо проект не очищали, компилировали или помехи от ПЧ, кабель витая пара в экране, поставить 120 Ом по RS485, экран заземлить у ПЛК.
Так же надо проверить чтение и запись отдельно.
Вам проще всего взять любой ОПС сервер, хоть Овен, в режиме мастера и опросить ваш ПЧ, забить те же регистры и проверить.
Попробую, у меня установлен Овен и Lectus
Либо вы после смены адреса, не перезагружаете питание, либо проект не очищали, компилировали или помехи от ПЧ, кабель витая пара в экране, поставить 120 Ом по RS485, экран заземлить у ПЛК.
С этим непросто, в квартире только фаза и ноль. Сопротивления есть с таким номиналом. Ставить 2 шт., один на плк, другой на ПЧ? Кабель обычный UTP 4 пары
kondor3000
06.08.2024, 18:38
С этим непросто, в квартире только фаза и ноль. Сопротивления есть с таким номиналом. Ставить 2 шт., один на плк, другой на ПЧ? Кабель обычный UTP 4 пары
120 Ом хотя бы со стороны ПЛК, в реале надо ставить с 2 сторон. Для квартиры, если земли нет, то просто витая пара в экране.
При работе с ОПС сервером при подключении через АС-4, у меня резистор включается в самом АС-4 переключателем.
Newcomer
07.08.2024, 13:48
День добрый. В связи с загруженностью приостановил свои занятия на пару месяцев. За это время в придачу достал маленький движок и китайский ПЧ с RS485. В общем уже успел поиграться и через панель и через Codesys, но вылезли нюансы.
1. Через панель(СП310 + ПЧ) получается и посылать команды и получать от частотника
https://disk.yandex.ru/i/kE6Pl3Q7F0sRVg, единственно не пойму, как привязать состояние ПЧ к обычному индикатору(лампочки)
https://disk.yandex.ru/i/MjArmIxKphYOHw https://disk.yandex.ru/i/19ZM5pLaobe7Lg
2. Через Codesys(ПЛК63+ПЧ) посылаются команды без проблем, но никак не получается получить в переменную состояние ПЧ(переменные "а" и "х") https://disk.yandex.ru/i/oFbLARIj1md3cg
Вот видео самого проекта https://disk.yandex.ru/i/lDdZYwEBPvV1mg
Мануал на ПЧ прилагаю 77831
Фото проекта
По RS-485 запускать и останавливать ПЧ получилось ? Глянул проект для панели, там у кнопок Пуск, Реверс, Стоп стоит один и тот же адрес 8192. Это как понимать ?
kondor3000
07.08.2024, 14:11
По RS-485 запускать и останавливать ПЧ получилось ? Глянул проект для панели, там у кнопок Пуск, Реверс, Стоп стоит один и тот же адрес 8192. Это как понимать ?
В этот регистр пишется число, 1 Пуск, 6 Стоп и т. д.
Кнопки, это запись разных чисел в один и тот же регистр. На видео всё работает с панели, кроме индикатора Стоп.
Почему, написал уже выше.
Вам проще всего взять любой ОПС сервер, хоть Овен, в режиме мастера и опросить ваш ПЧ, забить те же регистры и проверить
Пробовал биты местами менять, толку нет, переменные показывают 0, хотя в их буфере скачут различные цифры. Терминаторы тоже не помогли. Вот только витой пары с экраном нет сейчас в наличии.
В ОРС-сервер от Овен все работает 77877
По RS-485 запускать и останавливать ПЧ получилось ?
Да, без проблем
Попробовал разделить чтение и запись. Результат тот же. Сфотал в реальном режиме переменные чтения77878
Попробовал разделить чтение и запись. Результат тот же. Сфотал в реальном режиме переменные чтения
Вот эти места вместе точно делают то, что задумывалось?
77879
Вот эти места вместе точно делают то, что задумывалось?
77879
Нет, только что редактировал, не удалил лишнее, поправлю
kondor3000
07.08.2024, 15:32
Нет, только что редактировал, не удалил лишнее, поправлю
Пробуйте ещё раз чтение отдельно, после удаления ошибок.
Пробуйте ещё раз чтение отдельно, после удаления ошибок.
Да, конечно! Уже поправил, только сегодня залить и проверить уже не успею
kondor3000
07.08.2024, 16:07
Да, конечно! Уже поправил, только сегодня залить и проверить уже не успею
Не забудьте очистить и компилировать проект, с чтением обычно нет проблем.
Чтение у всех работает, а проблемы с записью.
Newcomer
07.08.2024, 17:36
В этот регистр пишется число, 1 Пуск, 6 Стоп и т. д.
Кнопки, это запись разных чисел в один и тот же регистр. На видео всё работает с панели, кроме индикатора Стоп.
Почему, написал уже выше.
В качестве источника частоты ПЧ что задано ? Параметры какие меняли у заводских настроек ?
Не забудьте очистить и компилировать проект, с чтением обычно нет проблем.
Чтение у всех работает, а проблемы с записью.
Я всегда компилирую проект, но он не всегда видит ошибки, как например в последний раз. А вот, что значит очистить проект не совсем понимаю
В качестве источника частоты ПЧ что задано ? Параметры какие меняли у заводских настроек ?
P00.02=2
P00.03=9
Если честно не совсем понятно к чему вопрос, ведь проблем с управлением нет.
kondor3000
07.08.2024, 19:00
Я всегда компилирую проект, но он не всегда видит ошибки, как например в последний раз. А вот, что значит очистить проект не совсем понимаю
Когда вы перезаливаете несколько раз проект, меняете что-то несколько раз, просто компиляцией не отделаешься, заливка происходит частично,
только то, что менялось. Могут возникнуть проблемы, наложиться регистры, остаться какие-то данные в регистрах и т. д.
Если вы нажимаете Очистить всё, Компилировать всё, проект полностью перезаливается, как первый раз. Не будет багов и накладок.
Такое бывает довольно часто, и не только в 2.3, но и в Codesys 3.5
P00.02=2
P00.03=9
Если честно не совсем понятно к чему вопрос, ведь проблем с управлением нет.
Всего 2 параметра поменяли ?
Всего 2 параметра поменяли ?
Почти, еще поменял параметр, разрешающий реверс, на этом вроде бы все
Когда вы перезаливаете несколько раз проект, меняете что-то несколько раз, просто компиляцией не отделаешься, заливка происходит частично,
только то, что менялось. Могут возникнуть проблемы, наложиться регистры, остаться какие-то данные в регистрах и т. д.
Если вы нажимаете Очистить всё, Компилировать всё, проект полностью перезаливается, как первый раз. Не будет багов и накладок.
Такое бывает довольно часто, и не только в 2.3, но и в Codesys 3.5
Ошибку исправил, нажимал Очистить все, Компилировать все, пробовал читать сразу несколько, пробовал только один регистр считывать, ничего не помогает. Главное панель оператора считывает, ОРС-сервер тоже, до этого работала и запись и считывание одновременно с 2ТРМ1 на ПЛК с этим же самым кодом
Ошибку исправил, нажимал Очистить все, Компилировать все, пробовал читать сразу несколько, пробовал только один регистр считывать, ничего не помогает. Главное панель оператора считывает, ОРС-сервер тоже, до этого работала и запись и считывание одновременно с 2ТРМ1 на ПЛК с этим же самым кодом
Мне попадались частотники, которые не позволяли считать слово состояния и код ошибки одним групповым запросом. По отдельности - пожалуйста, два регистра вместе - ошибка. Причём други параметры (типа напряжения, тока и т.д) - читались группой без проблем
kondor3000
08.08.2024, 07:59
Мне попадались частотники, которые не позволяли считать слово состояния и код ошибки одним групповым запросом. По отдельности - пожалуйста, два регистра вместе - ошибка. Причём други параметры (типа напряжения, тока и т.д) - читались группой без проблем
Так у него и так чтение по 1 регистру, в разных шагах.
Надо будет попробовать в тех.поддержку Овен написать
kondor3000
08.08.2024, 08:04
Надо будет попробовать в тех.поддержку Овен написать
Остаётся только тайм ауты подобрать, например поставить 100 или 200 ms, сам проект уже проверен.
В сервере и в панели явно больше 50 ms.
Остаётся только тайм ауты подобрать, например поставить 100 или 200 ms, сам проект уже проверен.
В сервере и в панели явно больше 50 ms.
Время ожидания ответа 1000мс
Период опроса 1с
77896
Время ожидания ответа 1000мс
Не занимайтесь ерундой. Максимум 100мс. Не ответили за это время - значит ответа вообще не будет - письмо сгорело.
Остаётся только тайм ауты подобрать, например поставить 100 или 200 ms, сам проект уже проверен.
В сервере и в панели явно больше 50 ms.
Пробовал, постепенно увеличивал до 1000 ms, не читает все равно
kondor3000
08.08.2024, 15:50
Пробовал, постепенно увеличивал до 1000 ms, не читает все равно
Создайте новый чистый проект, скопируйте только чтение, таймаут сразу 100 ms, проверьте адрес ПЧ, адреса чтения расставьте по нарастанию, залейте и проверьте ещё раз.
Создайте новый чистый проект, скопируйте только чтение, таймаут сразу 100 ms, проверьте адрес ПЧ, адреса чтения расставьте по нарастанию, залейте и проверьте ещё раз.
А как тогда запускать ПЧ, перевести в ручной режим, чтобы управлять с лицевой панели?
kondor3000
08.08.2024, 16:22
А как тогда запускать ПЧ, перевести в ручной режим, чтобы управлять с лицевой панели?
Приготовьте новый проект, запустите ПЧ со старого и залейте новый, для проверки чтения. Обратно также.
Либо 2 вариант, сделать запись по биту, чтобы запись не работала вообще, пока не включите бит управления.
Приготовьте новый проект, запустите ПЧ со старого и залейте новый, для проверки чтения. Обратно также.
Либо 2 вариант, сделать запись по биту, чтобы запись не работала вообще, пока не включите бит управления.
Попробовал и с лицевой панели сперва(в ручную запускать), затем отдельно одним проектом запускать, а другим читать(как вы сперва и предложили). Все-равно не читает
Может я где накосячил, уже несколько раз все переделывал. Скриншоты кода:77907779087790977910
Помню, что не любите видео, но здесь качество хорошее все отлично видно, если при просмотре в настройках выставить максимальное 1080. Запись в реальном времени при считывании регистров ПЧ https://disk.yandex.ru/i/lvekL_hb3Ng3cQ
kondor3000
08.08.2024, 18:32
Попробовал и с лицевой панели сперва(в ручную запускать), затем отдельно одним проектом запускать, а другим читать(как вы сперва и предложили). Все-равно не читает
Может я где накосячил, уже несколько раз все переделывал. Скриншоты кода:
Помню, что не любите видео, но здесь качество хорошее все отлично видно, если при просмотре в настройках выставить максимальное 1080. Запись в реальном времени при считывании регистров ПЧ
Проект выложите для проверки.
Проект выложите для проверки.
............
kondor3000
08.08.2024, 19:21
Попробуйте мой проект запустить, только у меня ФБ вместо программы, на работу не влияет
Попробуйте мой проект запустить, только у меня ФБ вместо программы, на работу не влияет
Вместо значений везде вопросы и есть одна ошибка при переходе на следующий шаг 77918 77919
Вместо значений везде вопросы и есть одна ошибка при переходе на следующий шаг
Вопросы - потому что у вас открыт не конкретный экземпляр ФБ а его тип:
При подключенном ПЛК нажмите ещё раз на ФБ "HtenieInt" - должно появиться окошечко с выбором экземпляра ФБ
Вопросы - потому что у вас открыт не конкретный экземпляр ФБ а его тип:
При подключенном ПЛК нажмите ещё раз на ФБ "HtenieInt" - должно появиться окошечко с выбором экземпляра ФБ
С ФБ свои нюансы оказывается. Но результат тот же 77920
kondor3000
09.08.2024, 08:21
Да странно это, при чём панелью и ОРС сервером всё читается и записывается.
Надо понять в чём отличие чтения ПЛК биб-кой, от чтения Панелью или ОРС сервером. При чём запись работает, то есть обмен настроен правильно.
С ФБ свои нюансы оказывается. Но результат тот же
Можете оставить чтение только одного регистра и попробовать?
Можете оставить чтение только одного регистра и попробовать?
Не знаю, в принципе, что уже только не пробовали. Написал в тех.поддержку Овен
Тех.поддержка Овен ответила:77966
Это мне тогда, на что нужно заменить эту запись:77967
kondor3000
12.08.2024, 10:35
Тех.поддержка Овен ответила:
Это мне тогда, на что нужно заменить эту запись:
Запись можно изменить, на get1_modbus: MB_RD_INP_REGS; (*функция 04 - чтение регистра типа INT*)
только вы же 3 функцией опрашивали с панели и с ОРС сервера, и всё работало.
Можно было проверить и 4 функцию, в панели использовать 3х, а в сервере чтение Инпут регистров, функция 04.
Запись можно изменить, на get1_modbus: MB_RD_INP_REGS; (*функция 04 - чтение регистра типа INT*)
только вы же 3 функцией опрашивали с панели и с ОРС сервера, и всё работало.
Можно было проверить и 4 функцию, в панели использовать 3х, а в сервере чтение Инпут регистров, функция 04.
Попробовал в ОРС-сервере поменять, вот результат:77968
На всякий случай попробовал на ПЛК, поменял как вы указали77969, не работает
kondor3000
12.08.2024, 13:13
Попробовал в ОРС-сервере поменять, вот результат:77968
На всякий случай попробовал на ПЛК, поменял как вы указали77969, не работает
Значит дело не в функции чтения, а в чём то другом.
В общем подключался удаленно программист с тех.поддержки Овен. Ничего не удалось решить, вывод что ПЛК63 и данный ПЧ не совместимы. И как бы, что ПЛК63 далеко не лучший вариант для обучения, он устарел и в нем много багов, лучше приобретите ПЛК200
kondor3000
13.08.2024, 14:50
Для обучения покупать ПЛК200 слишком жирно, обучиться можно и в эмуляции или с виртуальным ПЛК.
При чём можно так же опрашивать частотник, через переходник.
Не стал плодить еще одну тему. Получилось записать и считать регистры с ПЧ через виртуальный ПЛК в Codesys 3.5 7803778038
Все таки Codesys 3.5 отличается от 2.3, пока еще не разобрался почему не получается записать новое значение кликом мыши как в CS v2.378039
Еще такие вопросы:
1. Получится у меня опросить ПЧ(Slave) через виртуальный контроллер(Master), при этом управляя ПЧ панелью СП310(Slave) через ethernet, подключенный к ПК(к виртуальному контроллеру)?
2. Хотелось бы опробовать связку ПЧ(Slave)+виртуальный контроллер(Master)+OwenCloud(Slave)
3. Еще связку ПЧ(Slave)+виртуальный контроллер(Slave) + Scada SimpLight(Master)
kondor3000
16.08.2024, 13:36
Еще такие вопросы:
1. Получится у меня опросить ПЧ(Slave) через виртуальный контроллер(Master), при этом управляя ПЧ панелью СП310(Slave) через ethernet, подключенный к ПК(к виртуальному контроллеру)?
2. Хотелось бы опробовать связку ПЧ(Slave)+виртуальный контроллер(Master)+OwenCloud(Slave)
3. Еще связку ПЧ(Slave)+виртуальный контроллер(Slave) + Scada SimpLight(Master)
Набирать новое число надо в столбце Подготовленное значение, потом Ввод и Ctrl+F7. Но в вашем случае не прокатит, так как в программе в него пишется из переменной а, вот в ней и надо менять.
Всё получится по 1 и 3 пунктам, если правильно настроить. По одному порту должны быть одинаковые настройки сети, только разные слейв адреса.
Если порты будут разные то и настройки сети могут быть разные.
С Овен клаудом без реального контроллера вряд ли получится.
В 3 пункте ПЛК лучше оставить мастером для ПЧ, а для скады сделать слейвом, можно по ТСР.
Набирать новое число надо в столбце Подготовленное значение, потом Ввод и Ctrl+F7. Но в вашем случае не прокатит, так как в программе в него пишется из переменной а, вот в ней и надо менять.
Всё получится по всем 3 пунктам, если правильно настроить.
Хорошо, попробую
kondor3000
16.08.2024, 13:57
Хорошо, попробую
Кроме Овен клауд.
Набирать новое число надо в столбце Подготовленное значение, потом Ввод и Ctrl+F7. Но в вашем случае не прокатит, так как в программе в него пишется из переменной а, вот в ней и надо менять.
Всё получится по 1 и 3 пунктам, если правильно настроить. По одному порту должны быть одинаковые настройки сети, только разные слейв адреса.
Если порты будут разные то и настройки сети могут быть разные.
С Овен клаудом без реального контроллера вряд ли получится.
В 3 пункте ПЛК лучше оставить мастером для ПЧ, а для скады сделать слейвом, можно по ТСР.
Пока попробовал по одному порту через один адаптер RS485. Все получилось и считать и записать. Спасибо за подсказку, а то побежал бы второй покупать!) 7804778048
Единственно пока непонятно ведет себя регистр 3000 78043. То есть при пуске, срабатывает 0 бит как положено 78044, при реверсе 1 бит, тоже как надо 78045. А при стопе, когда должен отработать 2 бит, активируется сразу оба 78046.
Помню, вы поясняли за этот вопрос:
По поводу ламп, Пуск и Реверс лампы работают, а на Стоп нет.
Там по ходу вообще не биты, а числа 1 Пуск, 2 Реверс, 3 Стоп, проверьте на Дисплее.
Просто биты 0 и 1 соответствуют числам 1 и 2, (бит 2 это 4), а бит 3 это число 8. А сравнивать надо с числом 3.
Например, как программно или кодом это исправить я догадываюсь, но как это реализуют проще опытные прогеры непойму
status : (start :=1, reverse, stop, ...);
status : (start :=1, reverse, stop, ...);
А я такой огород рисовал) 78049
Чтобы соединить CП310 и ПК по ethernet для связи с виртуальным ПЛК, можно использовать 4 жильный UTP кабель?
Еще заметил, что сигналы с Панели доходят не сразу до ПЧ, а с задержкой 3-5 сек, это же не нормально?
kondor3000
17.08.2024, 14:48
Чтобы соединить CП310 и ПК по ethernet для связи с виртуальным ПЛК, можно использовать 4 жильный UTP кабель?
Еще заметил, что сигналы с Панели доходят не сразу до ПЧ, а с задержкой 3-5 сек, это же не нормально?
Кабель любой, желательно с витыми парами и экранированный.
Панель мастер не любит регистры с неправильными адресами, если хоть один адрес не рабочий, в дисплее, графике, таблице, панель будет жёстко тормозить.
По поводу работы индикаторов в панели, можно использовать индикаторы с графич. макросами от Petera, выложил проект 78053
Макросы исправлены на А=1, А=2 и А=3. Можете просто индикаторы заменить на мои, с макросами.
Панель мастер не любит регистры с неправильными адресами, если хоть один адрес не рабочий... панель будет жёстко тормозить.
.
Чтоб не очень жёстко - таймаут нужно поменять на 20..30, да и повторов 1 (один)
Панель мастер не любит регистры с неправильными адресами, если хоть один адрес не рабочий, в дисплее, графике, таблице, панель будет жёстко тормозить.
В том то и дело, что все правильно, все работает и отображается, ничего лишнего незадействованного 78058
И у меня панель в роли Slave в данном случае
Чтоб не очень жёстко - таймаут нужно поменять на 20..30, да и повторов 1 (один)
Хорошо, попробую
Никак не хочет виртуальный ПЛК увидеть панель СП310 по ethernet. Вроде все правильно настроил 78059780607806178062
Единственно с кабелем мог накосячить, взял 8 жильный UTP, но обжал по схеме из интернета 78063
А в РЭ СП310 немного по другому78064
Проекты прилагаю:
kondor3000
18.08.2024, 10:40
Никак не хочет виртуальный ПЛК увидеть панель СП310 по ethernet. Вроде все правильно настроил
Проекты прилагаю:
Сделайте так
У Компа адрес 192.168.0.10
У ПЛК мастера адрес 192.168.0.20
У Панели слейва адрес 192.168.0.30
Маска везде 255.255.255.0
Шлюз везде 192.168.0.1 - (обычно это адрес роутера) если у вас сеть. Кабель тоже подходит от Роутера.
Панель у вас получилась Мастером, в него добавлен опрос устройства, Устройство надо удалить. Должно быть так78068
В ПЛК Мастере, не установлен адрес Ethernet (самого ПЛК) должно быть так 78071
В соотнесении входов ПЛК не установлена настройка Вкл 2 (Всегда в задаче цикла шины) 78070
Такую же настройку, всегда надо ставить и в соотнесении Модбас СОМ.
Все ваши проблемы, от того что вы не делаете новые проекты, а переделываете старые. Опрос Частотника переделали в опрос панели, мастера и слейвы все перепутали, адреса тоже все надо проверять. Панель была мастером, теперь слейв, адреса все изменились.
Сделайте так
У Компа адрес 192.168.0.10
У ПЛК мастера адрес 192.168.0.20
У Панели слейва адрес 192.168.0.30
Маска везде 255.255.255.0
Шлюз везде 192.168.0.1 - (обычно это адрес роутера) если у вас сеть. Кабель тоже подходит от Роутера.
Панель у вас получилась Мастером, в него добавлен опрос устройства, Устройство надо удалить. Должно быть так78068
В ПЛК Мастере, не установлен адрес Ethernet (самого ПЛК) должно быть так 78071
В соотнесении входов ПЛК не установлена настройка Вкл 2 (Всегда в задаче цикла шины) 78070
Такую же настройку, всегда надо ставить и в соотнесении Модбас СОМ.
Все ваши проблемы, от того что вы не делаете новые проекты, а переделываете старые. Опрос Частотнока переделали в опрос панели, мастера и слейвы все перепутали, адреса тоже все надо проверять. Панель была мастером, теперь слейв, адреса все изменились.
Спасибо! Все заработало!) Да, накосячил, впервые настраивал связь через ethernet
А будет работать такая связка: например, мастером будет виртуальный плк, а панель оператора и Скада Simp Light слейв устройствами, которые будут привязаны и управлять одними и теме же переменными на виртуальном плк, при этом будет еще два слейв устройства:ПЧ и ПЛК63(с датчиками температуры)?
kondor3000
20.08.2024, 14:22
А будет работать такая связка: например, мастером будет виртуальный плк, а панель оператора и Скада Simp Light слейв устройствами, которые будут привязаны и управлять одними и теме же переменными на виртуальном плк, при этом будет еще два слейв устройства:ПЧ и ПЛК63(с датчиками температуры)?
Скада всегда мастер, ПЛК для неё слейв, всё остальное может быть слейвом для ПЛК мастера.
Если включить по TCP, то мастерами могут быть Скада и Панель для ПЛК слейва. Правда с виртуальным ПЛК не проверял.
А вообще даже в Лоджике, есть макрос управление из 2 мест, пишите на ST функц. блок и управляете чем надо.
Скада всегда мастер, ПЛК для неё слейв, всё остальное может быть слейвом для ПЛК мастера.
Не совсем понимаю, то есть виртуальный плк может быть одновременно слейвом для Скады и при этом мастером например для ПЧ?
kondor3000
20.08.2024, 14:52
Не совсем понимаю, то есть виртуальный плк может быть одновременно слейвом для Скады и при этом мастером например для ПЧ?
А у вас разве не так было? У вас даже TCP обмен был вместе с обменом по RS485, это же разные порты и могут работать одновременно.
На разных портах, ПЛК может быть слейвом для панели и скады и мастером для ПЧ и ПЛК63.
А у вас разве не так было? У вас даже TCP обмен был вместе с обменом по RS485, это же разные порты и могут работать одновременно.
У меня был виртуальный контроллер мастером, ПЧ по RS485 слейвом и панель по TCP/IP тоже слейвом.
На разных портах, ПЛК может быть слейвом для панели и скады и мастером для ПЧ и ПЛК63.
Теперь дошло)
На разных портах, ПЛК может быть слейвом для панели и скады и мастером для ПЧ и ПЛК63.
Если ПЛК63 выступает слейвом, то все настраивается через Codesys 2.3, то есть в этом случае библиотеки можно не использовать?
kondor3000
20.08.2024, 15:11
Если ПЛК63 выступает слейвом, то все настраивается через Codesys 2.3, то есть в этом случае библиотеки можно не использовать?
Можно не использовать.
Еще такой вопрос. Выставил ПЛК63 на продажу, если заберут думаю вместо него взять ПЛК150. Он на борту имеет аналоговые и дискретные входы и выходы, а самое главное кроме RS485 и RS232 есть ethernet. Все таки хочется попробовать OwenCloud.
Как считаете, в таком случае ПЛК150 нормальный выбор или есть варианты по лучше?
kondor3000
20.08.2024, 15:26
Еще такой вопрос. Выставил ПЛК63 на продажу, если заберут думаю вместо него взять ПЛК150. Он на борту имеет аналоговые и дискретные входы и выходы, а самое главное кроме RS485 и RS232 есть ethernet. Все таки хочется попробовать OwenCloud.
Как считаете, в таком случае ПЛК150 нормальный выбор или есть варианты по лучше?
Для Овен клауда ПЛК150 не лучший выбор, хотя сам ПЛК вполне годный.
Кстати его по ТСР можно спокойно подключить и к Скаде и к панели, там в слейве можно сразу выбрать несколько портов, 502 и 503 например.
И даже если надо, можно добавить RS232.
Для Овен клауда ПЛК150 не лучший выбор, хотя сам ПЛК вполне годный.
Кстати его по ТСР можно спокойно подключить и к Скаде и к панели, там в слейве можно сразу выбрать несколько портов, 502 и 503 например.
Не поясните почему для Овен Клауда не лучший выбор? И еще читал, что у него на борту не просто RS232, а RS232 Debug, типа в режиме master/slave нормально работает только по протоколу Modbus ASCII
kondor3000
20.08.2024, 15:39
Не поясните почему для Овен Клауда не лучший выбор? И еще читал, что у него на борту не просто RS232, а RS232 Debug, типа в режиме master/slave нормально работает только по протоколу Modbus ASCII
Для клауда его долго настраивать надо. В новых ПЛК всё намного проще.
Дебаг используется для программирования и прошивки ПЛК, в том числе, (кабель можно переделать) но как слейв он нормально работает по RTU, например с панелью мастером.
Дебаг используется для программирования и прошивки ПЛК, в том числе, (кабель можно переделать) но как слейв он нормально работает по RTU, например с панелью мастером.
А сам мастером по RS232 может быть?
kondor3000
20.08.2024, 15:48
А сам мастером по RS232 может быть?
Точно не знаю, надо проверять.
Точно не знаю, надо проверять.
Ну если, что узнаю у тех.поддержки. Спасибо за ответы!
kondor3000
21.08.2024, 17:16
Ну если, что узнаю у тех.поддержки. Спасибо за ответы!
Проверил на ПЛК154, через порт RS232 Debug по протоколу Modbus ASCII, ПЛК может быть мастером 78119 и слейвом
По протоколу Modbus RTU только слейвом.
Проверил на ПЛК154, через порт RS232 Debug по протоколу Modbus ASCII, ПЛК может быть мастером 78119 и слейвом
По протоколу Modbus RTU только слейвом.
Хорошо. Спасибо!
Прошел курс на Stepik "Базовый курс по СКАДА Симп Лайт 4.7", через эмулятор модбас получается все считывать и записывать как в Мониторе так и в тесте каналов.
Цепляю и настраиваю ПЧ, в тесте каналов все управляется и читается, а вот в мониторе все работает кроме задания частоты. То, есть в мониторе читается реальная частота и слово состояния и так же кнопки Пуск, Реверс и Стоп работают, но как только я записываю частоту в цифровую клавиатуру, то она при любом значении записывает ноль.
78190781917819278193
Прилагаю проект скады:
kondor3000
25.08.2024, 16:33
Прошел курс на Stepik "Базовый курс по СКАДА Симп Лайт 4.7", через эмулятор модбас получается все считывать и записывать как в Мониторе так и в тесте каналов.
Цепляю и настраиваю ПЧ, в тесте каналов все управляется и читается, а вот в мониторе все работает кроме задания частоты. То, есть в мониторе читается реальная частота и слово состояния и так же кнопки Пуск, Реверс и Стоп работают, но как только я записываю частоту в цифровую клавиатуру, то она при любом значении записывает ноль.
78190781917819278193
Прилагаю проект скады:
Если не меняется значение, значит оно перезаписывается в ПЛК ( или откуда вы читаете, записываете )
Возможно перезаписывает панель. Уже писал про управление из 2 мест.
Сделайте ещё один тег, который просто отправит в ПЛК задание частоты (второе) и проверьте запись в ПЛК.
Если не меняется значение, значит оно перезаписывается в ПЛК ( или откуда вы читаете, записываете )
У меня пока самая простая схема ПЧ+ПК+СКАДА. Значение меняется, только всегда на 0!
И опять вы выложили все скрины, не относящееся к проблеме.
Я даже не знаю, что там еще можно скинуть. Подскажите, я поправлю. А так весь проект скинул, конечно не факт, что у вас стоит на ПК такая скада
kondor3000
25.08.2024, 16:47
У меня пока самая простая схема ПЧ+ПК+СКАДА. Значение меняется, только всегда на 0!
Сделайте ещё один тег, который просто отправит в ПЛК задание частоты (второе) и проверьте запись в ПЛК.
Сделайте ещё один тег, который просто отправит в ПЛК задание частоты (второе) и проверьте запись в ПЛК.
Нет ПЛК в схеме! Только ПЧ и Скада
kondor3000
25.08.2024, 16:53
Нет ПЛК в схеме! Только ПЧ и Скада
А как вы проверите правильность записи? Если вы отправляете REAL, то надо правильно расставить регистры ( байты)
Для переменной REAL, в Модбас драйвере должен быть Float32, а Скаде быть тип Single
У вас вообще стоит WORD и DOUBLE
Прошел курс на Stepik "Базовый курс по СКАДА Симп Лайт 4.7", через эмулятор модбас получается все считывать и записывать как в Мониторе так и в тесте каналов.
Цепляю и настраиваю ПЧ, в тесте каналов все управляется и читается, а вот в мониторе все работает кроме задания частоты. То, есть в мониторе читается реальная частота и слово состояния и так же кнопки Пуск, Реверс и Стоп работают, но как только я записываю частоту в цифровую клавиатуру, то она при любом значении записывает ноль.
78190781917819278193
Прилагаю проект скады:
Уверены, что тип переменной - DOUBLE?
А как вы проверите правильность записи? Если вы отправляете REAL, то надо правильно расставить регистры ( байты)
Для переменной REAL, в Модбас драйвере должен быть Float32, а Скаде быть тип Single
Это я повторил за курсом на Stepik. Поправил, все заработало! Спасибо! Только как теперь сделать, чтобы частота задавалась с запятой?7819578196
kondor3000
25.08.2024, 17:16
Это я повторил за курсом на Stepik. Поправил, все заработало! Спасибо! Только как теперь сделать, чтобы частота задавалась с запятой?
Так формат же у вас указан Х.Х, проверьте ещё привязку в Мониторе к Дисплею.
Если надо 2 знака, то укажите Х.ХХ
Так формат же у вас указан Х.Х, проверьте ещё привязку в Мониторе к Дисплею.
Если надо 2 знака, то укажите Х.ХХ
На WORD нет выбора знаков Х.Х78197
Но, что интересно, если выбрать Single и Х.Х, при этом значение записи умножить на 100, а значение чтения разделить на 100, то все в Мониторе четко работает7819978201
kondor3000
25.08.2024, 17:42
На WORD нет выбора знаков Х.Х
Но, что интересно, если выбрать Single и Х.Х, при этом значение записи умножить на 100, а значение чтения разделить на 100, то все в Мониторе четко работает
Ну значит так сделано, для отправки целочисленных со знаком после запятой.
Вообще то надо было отправить в ПЛК, проверить правильность и потом управлять ПЧ, как и было задумано.
Можно даже отправить REAL, в ПЛК разделить на 100 и конвертировать.
Ну значит так сделано, для отправки целочисленных со знаком после запятой.
Вообще то надо было отправить в ПЛК, проверить правильность и потом управлять ПЧ, как и было задумано.
Можно даже отправить REAL, в ПЛК разделить на 100 и конвертировать.
Теперь буду пробовать через ПЛК цеплять ПЧ к Скаде, только пока не решил, то-ли через плк63, то-ли через виртуальный контроллер в Codesys
Потому что WORD это не число, а набор бит.
kondor3000
25.08.2024, 18:04
Потому что WORD это не число, а набор бит.
В Лоджике UDINT разбирается на биты, в CDS 2.3 DWORD разбирается на биты, по вашему это тоже не число?
kondor3000
25.08.2024, 18:15
Теперь буду пробовать через ПЛК цеплять ПЧ к Скаде, только пока не решил, то-ли через плк63, то-ли через виртуальный контроллер в Codesys
К живому ПЛК63 зацепить не проблема, есть переходник.
Вот интересно, догадаетесь как зацепить на одном компе Скаду и Виртуальный ПЛК 3.5 напрямую, не используя ОПС сервер ?
Или как например соединить 2 Вирт. ПЛК 3.5 между собой, мастер и слейв.
Это одним способом делается.
К живому ПЛК63 зацепить не проблема, есть переходник.
Вот интересно, догадаетесь как зацепить на одном компе Скаду и Виртуальный ПЛК 3.5 напрямую, не используя ОПС сервер ?
Или как например соединить 2 Вирт. ПЛК 3.5 между собой, мастер и слейв.
Это одним способом делается.
Не знаю), но пробовать по любому буду
kondor3000 что можно запихнуть в Word или Dword? да хоть черта, главное, чтобы этого черта поняла панель. Панель понимает, что в вашем word переменная int? тогда ради бога...
К живому ПЛК63 зацепить не проблема, есть переходник.
Вот интересно, догадаетесь как зацепить на одном компе Скаду и Виртуальный ПЛК 3.5 напрямую, не используя ОПС сервер ?
Или как например соединить 2 Вирт. ПЛК 3.5 между собой, мастер и слейв.
Это одним способом делается.
Вроде получилось) 78219
kondor3000
26.08.2024, 16:03
Вроде получилось) 78219
Ну и хорошо )) Значит с IP адресом догадались.
Сегодня пытался подключиться к Скаде через SIMP Mobile Client https://simplight.ru/manual_next/klient-simp-layt/novyy-mobilnyy-klient и так же через Web-клиент https://simplight.ru/manual_next/klient-simp-layt/web-klient, но никак не хочет выдает ошибку, хотя все делал по инструкции 78231
И я как понимаю могу подключиться к OwenCloud через Скаду? https://simplight.ru/manual_next/owen-cloud/opisanie-programmy
Написал в тех.поддержку скады. Отвечают на почту быстро, буквально 5-10 минут. В общем SIMP Mobile Client и Web-клиент на бесплатных версиях не работают.
А вот к OwenCloud можно и на бесплатной.
Единственно, встречал только, когда ОПС-сервер служит мостом между ПЛК и Скадой, а тут ОПС-сервер Овен связывает между собой Скаду Simp Light и OwenCloud.
EVGEN_ у SimpLight есть еще платный модуль для OwenCloud, где Scada может выступить устройством для Облака. То есть не только через OPC получать данные из облака. Если вы о ней. Но работать будет только на Windows если я правильно понимаю.
EVGEN_ у SimpLight есть еще платный модуль для OwenCloud, где Scada может выступить устройством для Облака. То есть не только через OPC получать данные из облака. Если вы о ней. Но работать будет только на Windows если я правильно понимаю.
Ну я на платную не замахиваюсь, мне и через ОРС будет достаточно, если заработает.
Вообще эта скада понравилась, внутри нее можно писать скрипты на языке типа FBD, а не только "С" или "Паскаль". Хотя мне пока особо и сравнивать то не с чем)
Главное чтобы нравилась сама Scada. Не помню, у них есть полнофункциональная демо или нет? я просто тоже ей интересуюсь в плане RT на Linux (5-я версия) но все руки не доходят опробовать.
Если есть демка, попробуйте Enterpise вариант, там встроенный Modbus есть и как оно будет в сравнении без OPC.
я смотрел ценники, вполне гуманно даже за Enterprise если не накидывать лицензии на счетчики и т.д.
kondor3000
27.08.2024, 17:57
Ну я на платную не замахиваюсь, мне и через ОРС будет достаточно, если заработает.
Вообще эта скада понравилась, внутри нее можно писать скрипты на языке типа FBD, а не только "С" или "Паскаль". Хотя мне пока особо и сравнивать то не с чем)
Тут предлагают протестировать новую платформу Simplight 5 https://owen.ru/forum/showthread.php?t=421&page=28#274
Что то я не разберусь, но по моему меня тех.поддержка ввела в заблуждение и ничего не выйдет. Мне сказали, что можно бесплатно в мою связку подключить Овен Клауд через Овен ОРС сервер.
Как в итоге понял я: данные ПЧ надо передать в ПЛК, далее с ПЛК передать в Овен Клауд, затем с Овен Клауд в Овен ОРС-сервер и только после этого с ОРС-сервера в скаду Simp Light!
Но прикол в том, что у меня виртуальный ПЛК, который не выбрать в Овен Клауд для добавления.
EVGEN_ виртуальный ПЛК просто для тестирования или вы RT на ПК запускаете для работы вообще?
1. ПЧ так понимаю slave и он сам не передает данные в ПЛК, это ПЛК забирает данные из ПЧ
2. Реальный ПЛК Овен можно подключить к OwenCloud, только надо смотреть какие ПЛК это умеют. Вроде начиная с ПЛК100 уже можно (свой ПЛК100 никак не прицеплю в облако, некогда, но в последней прошивке и таргете там все есть для облака)
Виртуальный ПЛК CodeSys это не разработка Owen, отсюда и невозможность прицепить его к облаку.
3. а нафига такие танцы с бубном по передаче туда, потом обратно и т.д. ?
Как выше писал, SimpLight может выступить устройством для OwenCloud, раньше у них цена была 5 т.р. Но работать будет только на Windows. А далее скриптами или как-там делается гонять данные из ПЛК в облако и обратно, только OPC уже тут как собаке пятая нога.
И да, у Овен облако кривые сертификаты OPC UA, не все продукты могут их игнорировать, а реальные библиотеки OPC Faundation ругаются и без внедрения костылей работать не будут. Овену пофигу на это, типа Insat OPC может работать и ладно.
EVGEN_ виртуальный ПЛК просто для тестирования или вы RT на ПК запускаете для работы вообще?
Просто для тестирования
EVGEN_а нафига такие танцы с бубном по передаче туда, потом обратно и т.д. ?
Для обучения и опыта, да и просто интересно
EVGEN_Как выше писал, SimpLight может выступить устройством для OwenCloud, раньше у них цена была 5 т.р. Но работать будет только на Windows. А далее скриптами или как-там делается гонять данные из ПЛК в облако и обратно, только OPC уже тут как собаке пятая нога.
Я из Казахстана, у меня как бы проблем с windows нет. А так в принципе две виды стоит на 1 ПК: Ubuntu и Windows 10.
Ну и как я разобрался, через ОРС сервер Овен можно и бесплатно привязать данную Скаду к Овен Клауд, только надо, чтобы Клауд знал это устройство, то есть ПЛК, либо с ethernet, либо через шлюз.
Вы не Scada привязали к Облаку, а Облако к Scada. Это разные вещи. Облаку начхать на вашу Scada, ПЛК и что вы там еще хотите. Облако работает только со шлюзами Овен ПМ, ПЕ, ПВ и их ПЛК. Больше ни с чем. Ну еще с платным решением от SimpLight (это решение совместное у Овен и SimpLight). Все.
А к виртуальному контроллеру Codesys 3.5 можно подцепить ПЛК63 по RS232 через адаптер?
Если из виртуального контроллера есть доступ к портам ПК то да. Вроде возможно
Если из виртуального контроллера есть доступ к портам ПК то да. Вроде возможно
А, то я смотрел ни где не видел выбора RS232 или RS485, просто Modbus и на выбор:RTU или ASCII
kondor3000
28.08.2024, 14:11
А, то я смотрел ни где не видел выбора RS232 или RS485, просто Modbus и на выбор:RTU или ASCII
В вирт. контроллере вы задаёте номер СОМ порта и параметры сети. Втыкаете переходник RS232 и работаете с ним.
Правда это в теории, с вирт. ПЛК через RS232 работать не доводилось)
В вирт. контроллере вы задаёте номер СОМ порта и параметры сети. Втыкаете переходник RS232 и работаете с ним.
Правда это в теории, с вирт. ПЛК через RS232 работать не доводилось)
Вроде должно работать, тут проблема скорее в другом 78335
Решил собрать всю свою солянку в кучу: 2ТРМ1+ПЛК63 по RS485, ПЛК63+виртуальный контроллер по RS232, ПЧ+виртуальный контроллер по RS485, СП310+виртуальный контроллер по ethernet, виртуальный контроллер+Скада Simp Light по ethernet(может через ОПС-сервер).
Есть ли какой нюанс по передачи данных с ТРМ через ПЛК63 в виртуальный контроллер? Ведь в ТРМ Float 78336, а в виртуальном контроллере WORD 78337. Как лучше сделать?
kondor3000
30.08.2024, 08:16
Вроде должно работать, тут проблема скорее в другом
Решил собрать всю свою солянку в кучу: 2ТРМ1+ПЛК63 по RS485, ПЛК63+виртуальный контроллер по RS232, ПЧ+виртуальный контроллер по RS485, СП310+виртуальный контроллер по ethernet, виртуальный контроллер+Скада Simp Light по ethernet(может через ОПС-сервер).
, а в виртуальном контроллере WORD Как лучше сделать?
На 1 скрине у вас связи нет.
Если вы заметили то в CDS 3.5, есть только переменные WORD (1 регистр), А читать надо Float (2 регистра), так что надо сделать?
На 1 скрине у вас связи нет.
Если вы заметили то в CDS 3.5, есть только переменные WORD (1 регистр), А читать надо Float (2 регистра), так что надо сделать?
Ну можно FLOAT преобразовать в WORD в ПЛК63 и дальше отправить в виртуальный контроллер.
kondor3000
30.08.2024, 08:43
Ну можно FLOAT преобразовать в WORD в ПЛК63 и дальше отправить в виртуальный контроллер.
Для того чтобы преобразовать, вы сначала его принять должны как FLOAT.
Просто надо принять 2 штуки WORD и из них собрать FLOAT, для этого надо просто поставить читать 2 регистра, а не 1 как у вас.
Собрать флоат можно написав функцию или использовать готовый блок WORD_2_REAL из биб-ки Owen.
Или есть ещё способ Объединение.
Но тут опять, как сделать в таком случае плк 63 слэйвом через библиотеку для виртуального контроллера?
kondor3000
30.08.2024, 10:14
Но тут опять, как сделать в таком случае плк 63 слэйвом через библиотеку для виртуального контроллера?
Зачем биб-ка ? ПЛК 63 и так слейвом может быть.
И зачем вообще нужен 63 тут? Работу с 63 вы вроде освоили.
Вирт. контроллер может работать напрямую с ПЧ, с панелью и Скадой, 63 вообще не нужен.
Зачем биб-ка ? ПЛК 63 и так слейвом может быть.
И зачем вообще нужен 63 тут? Работу с 63 вы вроде освоили.
Вирт. контроллер может работать напрямую с ПЧ, с панелью и Скадой, 63 вообще не нужен.
Да, ПЛК63 тут по сути не нужен. Я просто хочу собрать все в кучу для закрепления материала и перейти к написанию своей первой программы на ST уже с аналоговыми сигналами, пока не появится возможность достать более современный плк.
Сейчас пересмотрел свои старые проекты и получается я еще ни разу не делал ПЛК63 слейвом через RS232, что мне сейчас как раз требуется, так как на RS485 висит 2ТРМ1
Где его слейв адрес для RS232? Или у них в одном параметре и для 232 и 485 78343
kondor3000
30.08.2024, 13:26
Да, ПЛК63 тут по сути не нужен. Я просто хочу собрать все в кучу для закрепления материала и перейти к написанию своей первой программы на ST уже с аналоговыми сигналами, пока не появится возможность достать более современный плк.
Сейчас пересмотрел свои старые проекты и получается я еще ни разу не делал ПЛК63 слейвом через RS232, что мне сейчас как раз требуется, так как на RS485 висит 2ТРМ1
Где его слейв адрес для RS232? Или у них в одном параметре и для 232 и 485 78343
Вообще то я с ПЛК63 не работал уже сто лет))) Ввверху походу общий для всего,
А внизу это для связи с компом и CDS 2.3, по какому порту подключать.
Не соединяется ПЛК63 с Codesys 3.5 78346
А с Codesys 2.3 без проблем 78347
Проекты
kondor3000
30.08.2024, 15:03
Не соединяется ПЛК63 с Codesys 3.5 78346
А с Codesys 2.3 без проблем 78347
Проекты
Дело не в Кодесисе, а в том что у Вирт. ПЛК нет выхода RS232, а у ПЛК63 есть.
Надеюсь вы переходник RS232 поставили, порт и настройки проверили.
И опять выложили опрос ТРМ по 485, при чём тут RS232 ?
Дело не в Кодесисе, а в том что у Вирт. ПЛК нет выхода RS232, а у ПЛК63 есть.
Надеюсь вы переходник RS232 поставили, порт и настройки проверили.
Я всегда через этот переходник 78350
Конечно, порт и настройки проверил, они в принципе такие же как и у Codesys 2.3, только адрес 16
kondor3000
30.08.2024, 17:00
Я всегда через этот переходник
Конечно, порт и настройки проверил, они в принципе такие же как и у Codesys 2.3, только адрес 16
Соединил по RS232, через переходник за 2 минуты, всё работает, скрин 78351
Вирт. ПЛК 3.5 и ПЛК154, через порт Debag 232
и даже собрал REAL из 2 WORD, переменные массива переставил наоборот, на скрине всё есть
Соединил по RS232, через переходник за 2 минуты, всё работает, скрин 78351
Вирт. ПЛК 3.5 и ПЛК154, через порт Debag 232
и даже собрал REAL из 2 WORD, на скрине всё есть
Значит где то у меня косяк
А где вы выбрали RS232? У меня на выбор только Modbus COM 78352
kondor3000
30.08.2024, 17:49
А где вы выбрали RS232? У меня на выбор только Modbus COM 78352
Это без разницы, работает и так. Уже проверил.
Просто я создал проект для ПЛК210, а потом обновил (заменил) на Вирт. ПЛК и удалил Овен Клауд из задач.
С адресами вы напутали в слейве Float по 2 регистра, адреса 82,84,86, а в мастере читаете адреса 82,83,84 по 1 регистру.
Автоперезапуск, галку не поставили.
Это без разницы, работает и так. Уже проверил.
Просто я создал проект для ПЛК210, а потом обновил (заменил) на Вирт. ПЛК и удалил Овен Клауд из задач.
С адресами вы напутали в слейве Float по 2 регистра, адреса 82,84,86, а в мастере читаете адреса 82,83,84 по 1 регистру.
Автоперезапуск, галку не поставили.
Вроде понял, завтра попробую.
Заработало!) Надо было кабель поменять, через родной не цеплялся 78368
Считать все получилось 78372 78373
Теперь 2 WORD передать в ПЛК63, но ПЛК63 не принимает WORD, а принимает Real или ближайший к WORD Uint
kondor3000
31.08.2024, 09:40
Считать все получилось 78372 78373
Теперь 2 WORD передать в ПЛК63, но ПЛК63 не принимает WORD, а принимает Real или ближайший к WORD Uint
Для ПЛК, REAL, это 2 регистра WORD (или 4 байт) передаваемые вместе. Для REAL важно расставить правильно регистры и байты,
тогда ПЛК примет его как REAL, в лучшем виде.
В вашем случае, если ПЛК63 принимает не правильно, достаточно при отправке поменять регистры местами.
Для ПЛК, REAL, это 2 регистра WORD (или 4 байт) передаваемые вместе. Для REAL важно расставить правильно регистры и байты,
тогда ПЛК примет его как REAL, в лучшем виде.
В вашем случае, если ПЛК63 принимает не правильно, достаточно при отправке поменять регистры местами.
Получилось. Спасибо! 78374
Все-таки сколько в АСУ ТП нюансов!
Добавил к схеме СП310 по ethernet. Далее собираюсь подцеплять ПЧ и Скаду.
Единственно, слабо представляю как организовать управление записью уставки(SP) канала ТРМ с 2 мест. То есть, чтобы уставку 2ТРМ1 SP1 и SP2 можно было задавать с экрана панели и с экрана скады. Как в таком случае будет происходить выбор, что записывать в переменную, привязанную к уставке?
kondor3000
03.09.2024, 07:52
Добавил к схеме СП310 по ethernet. Далее собираюсь подцеплять ПЧ и Скаду.
Единственно, слабо представляю как организовать управление записью уставки(SP) канала ТРМ с 2 мест. То есть, чтобы уставку 2ТРМ1 SP1 и SP2 можно было задавать с экрана панели и с экрана скады. Как в таком случае будет происходить выбор, что записывать в переменную, привязанную к уставке?
А язык ST зачем изучали? Пишите ФБ и переключаете из 2 мест 78417
function_block SelChgF // ФБ SelChgF управление из 2 мест
var_input
I1 : real;
I2 : real;
end_var
var_output
Q : real;
end_var
var
I_1 : real;
I_2 : real;
end_var
____________________________________
if I_1<> I1 then // SelChgF
Q:= I1;
elsif I_2 <> I2 then
Q := I2;
end_if
I_1:= I1; I_2 := I2;
А язык ST зачем изучали? Пишите ФБ и переключаете из 2 мест 78417
function_block SelChgF // ФБ SelChgF управление из 2 мест
var_input
I1 : real;
I2 : real;
end_var
var_output
Q : real;
end_var
var
I_1 : real;
I_2 : real;
end_var
____________________________________
if I_1<> I1 then // SelChgF
Q:= I1;
elsif I_2 <> I2 then
Q := I2;
end_if
I_1:= I1; I_2 := I2;
Спасибо!
Отпуск закончился, теперь заниматься получится только вечерами(
Проводов куча) 78437
Как это только вечерами? А ночью? Ночью спать, утром рано вставать)
И на фото некомплект - где пиво? Если не прет лучше в спорт зал сходить, а то под пивас можно че-нить спалить)
Таким образом записанные переменные, виртуальный контроллер считает флоат, отправленный с ОПС-сервера Овен?78474
Просто до этого можно было группировать по 2 WORD, а здесь нет такого
kondor3000
05.09.2024, 20:02
Таким образом записанные переменные, виртуальный контроллер считает флоат, отправленный с ОПС-сервера Овен?
Просто до этого можно было группировать по 2 WORD, а здесь нет такого
Вот так для получения , аналогично для отдачи 78482
Можете принять как массив WORD, у меня в примере, с прямым адресом AT%IW0 и выцепить нужные регистры массива [12],[13] и [14],[15] , собрав из них REAL,
можете принять как массив REAL с адресом AT%IW12, тогда собирать уже не надо, для этого достаточно в мастере положить по этим же адресам
2 штуки REAL, с правильно расставленными регистрами.
И в работе 78483 получаю 4 WORD, которые автоматом отображаются как 2 REAL
ОРС-сервер подружил с виртуальным контроллером, передал FLOAT и считал7849778498
Но, не пойму как вытащить этот REAL из массива в переменную, что уже только не пробовал, пишет ошибку.78499
kondor3000
07.09.2024, 10:20
ОРС-сервер подружил с виртуальным контроллером, передал FLOAT и считал
Но, не пойму как вытащить этот REAL из массива в переменную, что уже только не пробовал, пишет ошибку.
Присвоение делается в коде программы, а вы присваиваете прямо в объявлении Глобальных переменных)))
У меня ведь на скрине всё есть.
Кроме того, для вывода в скаду ОРС сервер вообще не нужен, надеюсь это понятно). В Симп лайт встроенный Модбас-ТСР драйвер.
Присвоение делается в коде программы, а вы присваиваете прямо в объявлении Глобальных переменных)))
У вас в примере программа запущена и не видно детали.
Так тоже не дает78500
Кроме того, для вывода в скаду ОРС сервер вообще не нужен, надеюсь это понятно). В Симп лайт встроенный модбас драйвер.
Да, знаю. Ранее писал, что это для практики
kondor3000
07.09.2024, 11:10
У вас в примере программа запущена и не видно детали.
Так тоже не дает
Что то вы тупите уже, опять перенесли присвоение в объявления переменных, только в программу. 78502
Вот мой скрин, обвёл присвоение в левом нижнем углу.
С чего вы решили делать присвоение на ST, если у вас программа на CFC, да ещё в верхнюю часть, где переменные объявляются ?
Вообще не пойму как присвоить вводному блоку в CFC число из массива, ранее делал в ST
78501
kondor3000
07.09.2024, 11:54
Вообще не пойму как присвоить вводному блоку в CFC число из массива, ранее делал в ST
78501
Если вы присваиваете из массива, то и пишите READ_SP_OPC [0]
READ_SP_OPC [1]
У меня присвоение из массива в переменные REAL 78504
Разобрался. Все дело в том, что Codesys 3.5 отличается от Codesys 2.3. Я так тоже делал, но у меня выходила ошибка прежде всего из-за того, что нужно было перед переменной прописывать GVL., так как она у меня глобальная, в CS 2.3 такого условия нет. 78505
78506
kondor3000
07.09.2024, 13:57
Разобрался. Все дело в том, что Codesys 3.5 отличается от Codesys 2.3. Я так тоже делал, но у меня выходила ошибка прежде всего из-за того, что нужно было перед переменной прописывать GVL., так как она у меня глобальная, в CS 2.3 такого условия нет
В глобальные вы сами перенесли, хотя по факту в глобальных нужны только переменные используемые в разных блоках. Если массив используется в одной программе, то и в глобальных он не нужен.
К тому же если в глобальных удалить (закомментировать) атрибут // {attribute 'qualified_only'} , то и GVL. приписывать не надо.
Атрибут закомментировал и компиляция без ошибок без GVL. 78508 работа 78509
В глобальные вы сами перенесли, хотя по факту в глобальных нужны только переменные используемые в разных блоках. Если массив используется в одной программе, то и в глобальных он не нужен.
К тому же если в глобальных удалить (закомментировать) атрибут // {attribute 'qualified_only'} , то и GVL. приписывать не надо.
Атрибут закомментировал и компиляция без ошибок без GVL. 78508 работа 78509
Спасибо, учту!
Забегу немного наперед с вопросом, знаю, что в Simp Light есть встроенная база данных как и ОРС-сервер, но насколько сложно и есть ли примеры, как привязать к скаде Simp Light стороннюю базу данных SQL и какая лучше?
Немного объясню к чему столько лишних телодвижений. В Казахстане довольно непросто устроиться новичку(без опыта) в АСУ ТП, не хотят возиться, знаю тех кто оканчивал вышку в одном из самых престижных университетов страны по профилю АСУ и его никуда не брали. Но стоило поехать в Россию и сразу находили работу. Так как я за пределы пока не собираюсь, то мне нужно по максималке заполнить резюме и к тому же честно.
kondor3000
07.09.2024, 16:55
Спасибо, учту!
Забегу немного наперед с вопросом, знаю, что в Simp Light есть встроенная база данных как и ОРС-сервер, но насколько сложно и есть ли примеры, как привязать к скаде Simp Light стороннюю базу данных SQL и какая лучше?
Немного объясню к чему столько лишних телодвижений. В Казахстане довольно непросто устроиться новичку(без опыта) в АСУ ТП, не хотят возиться, знаю тех кто оканчивал вышку в одном из самых престижных университетов страны по профилю АСУ и его никуда не брали. Но стоило поехать в Россию и сразу находили работу. Так как я за пределы пока не собираюсь, то мне нужно по максималке заполнить резюме и к тому же честно.
Про стороннюю базу данных SQL, для Скады консультируйтесь в тех поддержке Simp Light. Этим я не занимался.
МихаилГл
07.09.2024, 17:28
Ещё всё зависит от того, как вы эту базу будете использовать, и как эта база интегрирована в саму скаду.
Если скада сама формирует отчёты, то это одно и тут вам не надо знать никаких t-sql, а если вы собираетесь отчёты писать ручками, то это другое. Я вот привык всё руками сам делать, поэтому любая скада где данные идут в mssql подходит. А отчёты уже через ms report service делаю. Но тут надо хоть немного знать внутренности самого sql сервера...
Ещё всё зависит от того, как вы эту базу будете использовать, и как эта база интегрирована в саму скаду.
Если скада сама формирует отчёты, то это одно и тут вам не надо знать никаких t-sql, а если вы собираетесь отчёты писать ручками, то это другое. Я вот привык всё руками сам делать, поэтому любая скада где данные идут в mssql подходит. А отчёты уже через ms report service делаю. Но тут надо хоть немного знать внутренности самого sql сервера...
А в чем преимущество, недостатки, если скада сама формирует отчеты и где надо писать самому ручками, например, как вы привели пример через ms report service? Может посоветуете, что изучить по этой теме, может ютуб канал?
А так мониторил вакансии по АСУ ТП, требование по знанию mssql попадалось довольно часто.
МихаилГл
07.09.2024, 19:31
А в чем преимущество, недостатки, если скада сама формирует отчеты и где надо писать самому ручками, например, как вы привели пример через ms report service? Может посоветуете, что изучить по этой теме, может ютуб канал?
А так мониторил вакансии по АСУ ТП, требование по знанию mssql попадалось довольно часто.
Если скада делает что-то сама, то вы ограничены функционалом этой скады. Я считаю что скада должна просто пересылать данные в любой sql сервер. А остальное это задача другой группы АСУТПшников. Или отчёт уровня mes реализовывать, или уже на уровень ERP типа 1С...
Что изучать и куда смотреть... Это сложный вопрос. Я сейчас много с металлургией работаю, там все группы АСУТПШНИКОВ друг с другом никак не связаны, за контроллеры одни отвечают, за базы данных другие, и никто в чужую область принципиально не лезет. На арселор тимертау такая же штука, был там год назад. Если смотреть на обогатительные фабрики, то там АСУТПшники могут в одной группе работать, и всё знать соответственно от схем шкафов до уровня передаваемых данных и как всё это работает. Вам в вашей области надо всё знать? Или есть должностная инструкция с конкретным функционалом?
PS Вот это я смотрел для начала...
https://youtube.com/@sqldeveloperbi?si=8G5AScYYXRvbcxuJ
Знать все на отлично невозможно. Даже хорошо зная какую-то Scada ваше резюме может быть никому не нужным, так как будут искать со знанием той Sсada, которая установлена на предприятии. Как-то так.
МихаилГл
07.09.2024, 19:44
Знать все на отлично невозможно. Даже хорошо зная какую-то Scada ваше резюме может быть никому не нужным, так как будут искать со знанием той Sсada, которая установлена на предприятии. Как-то так.
Поэтому мне нравятся классические скада системы, wincc, rsview32, factory talk, Шнайдер и пр. А не мудреная мастер скада. Изучив одну можно достаточно быстро освоить другие, так как принципы одинаковые.
выбор scada зависит от оборудования прежде всего. Ну и от толщины кошелька :)
МихаилГл
07.09.2024, 19:56
выбор scada зависит от оборудования прежде всего. Ну и от толщины кошелька :)
Мне повезло, пришёл когда на обогатительную, там уже было нормальное по... И функционал замечательный. Я за месяц освоился, и главное, я больше ни на одном объекте такого не видел. А потом нам ещё и обновили систему до клиент-серверного решения с полноценным sql... Я теперь хоть и не работаю там, но в своих проектах по максимуму стараюсь те решения принимать.
Т.е. по идее я научился не на своём опыте, а на опыте других. Самому бы мне до этого уровня долго шагать пришлось.
Вам в вашей области надо всё знать? Или есть должностная инструкция с конкретным функционалом?
PS Вот это я смотрел для начала...
https://youtube.com/@sqldeveloperbi?si=8G5AScYYXRvbcxuJ
На данный момент я киповец и с меня этого не спрашивают совсем, но мне нравится АСУ ТП и хотелось бы туда уйти по возможности через несколько лет. Поэтому пока изучаю чисто для себя, для более богатого резюме.
Спасибо за ссылку!
Поэтому мне нравятся классические скада системы, wincc, rsview32, factory talk, Шнайдер и пр. А не мудреная мастер скада. Изучив одну можно достаточно быстро освоить другие, так как принципы одинаковые.
Вот поэтому я и взялся за оборудования Овен для изучения базы, так как есть русскоязычный форум и тех.поддержка, а так же более простую Российскую Скаду Simp Light.
Вот кубил бы я ПЛК и Панель оператора Siemens без малейшего знания базы, кто бы и где бы со мной столько возился, как например kondor3000? Ему отдельное спасибо за ответы
Я сейчас много с металлургией работаю, там все группы АСУТПШНИКОВ друг с другом никак не связаны, за контроллеры одни отвечают, за базы данных другие, и никто в чужую область принципиально не лезет. На арселор тимертау такая же штука, был там год назад. Если смотреть на обогатительные фабрики, то там АСУТПшники могут в одной группе работать, и всё знать соответственно от схем шкафов до уровня передаваемых данных и как всё это работает.
Ну сколько я подмечал, чем больше предприятие, тем больше разделение и наоборот, чем меньше предприятие, тем универсальнее работники и генеральнее директор)
Наверное стоит мониторить рынок у вас, и смотреть требования (какая scada, какая БД) и пробовать их устанавливать и смотреть. Так то их даже не десяток...
Ну, у вас вроде нет проблем с Windows, но все же в сторону Linux я бы смотрел. Как минимум научится устанавливать, устанавливать ПО, ну и примитивные и базовые вещи в командной строке.
Ну и чтобы жизнь медом не казалась - openScada в придачу, ну либо RapidScada :), чтобы linux-ом не просто так играться, разбираясь с базой.
Наверное стоит мониторить рынок у вас, и смотреть требования (какая scada, какая БД) и пробовать их устанавливать и смотреть. Так то их даже не десяток...
Ну, у вас вроде нет проблем с Windows, но все же в сторону Linux я бы смотрел. Как минимум научится устанавливать, устанавливать ПО, ну и примитивные и базовые вещи в командной строке.
Ну и чтобы жизнь медом не казалась - openScada в придачу, ну либо RapidScada :), чтобы linux-ом не просто так играться, разбираясь с базой.
Я как понимаю Linux в таком случае чисто для Скады, а не для рабочего ноута инженера АСУ ТП? Как-то в чате в телеге спрашивал про Linux, говорят себе на работе смысла нет устанавливать, так как программное обеспечение асушника в основном вся на винде.
А так у меня 2 системы на компе установлены: Windows 10 и Ubuntu.
EVGEN_ да, для работы инженера от Windows не избавиться никогда. Причина простая - конфигураторы устройств, различные утилиты, которых под Linux нет, и вероятно не будет никогда.
Scada то же, многие для администрирования используют все равно Windows - MS4D, SimpLight (если говорить о 5-й версии), RapidScada. Некоторые так вообще RT на Linux запускают под Wine - Simple Scada, Круг.
Но дело не в этом. Linux позволяет обойтись без обновлений, заставить Windows никогда не обновляться это проблема. Не требует лицензий в большинстве случаев. Может работать на более слабых машинах.
Но Linux не Windows, там другие проблемы :) например полное отсутствие стандартизации между дистрибутивами.
Скрипт, работающий на одной системе запросто может не работать на другой например. Разные типы систем установки программ. Например для дебиан подобных это deb пакеты, для других это rpm пакеты.
Зависимости, старые сборки в репозиториях и многое другое.
Написал простенький скрипт для панели СП310, чтобы при "Пуске", "Реверсе" и "Стопе"(Слово состояния) загорались соответствующие лампы. Но при компиляции повылазила куча ошибок и что интересно в глобальном макросе, хотя он у меня пустой. 78553 78554
kondor3000
10.09.2024, 18:22
Написал простенький скрипт для панели СП310, чтобы при "Пуске", "Реверсе" и "Стопе"(Слово состояния) загорались соответствующие лампы. Но при компиляции повылазила куча ошибок и что интересно в глобальном макросе, хотя он у меня пустой.
у вас несколько ошибок, даже скобок открыто больше чем закрыто.
if (PSW[271]==1)
{SetPSB(256);}
else
{ResetPSB(256);}
Вам же давал графические макросы, они не работают?
https://owen.ru/forum/showthread.php?t=39524&page=11#105
у вас несколько ошибок, даже скобок открыто больше чем закрыто.
if (PSW[271]==1)
{SetPSB(256);}
else
{ResetPSB(256);}
Поправил, но компиляция все-равно не проходит. 78563 78564
Вечером попробую залить в панель, может будет работать.
Вам же давал графические макросы, они не работают?
Скачивал, смотрел, все работает. 78565
Просто, я как понял, графических макросов, что в примере, по умолчанию нет в конфигураторе СП300. И хотелось попробовать на практике простой макрос на С.
В Скаде тоже реализовал индикацию через макрос 78566
А так можно было индикацию сделать и в виртуальном контроллере.
kondor3000
11.09.2024, 07:51
Поправил, но компиляция все-равно не проходит.
Вечером попробую залить в панель, может будет работать.
А так можно было индикацию сделать и в виртуальном контроллере.
Названия макросов на русском не надо давать, тогда пройдёт, код из компилятора. 78568
Если не проходит компиляцию, заливать в панель не надо.
Удалите свои 3 макроса и создайте один новый, оставьте по умолчанию Func1, вставьте мой текст 3 раза, с поправками на биты, скрин смотрите ( Это надо было сделать ещё вчера). И надо создать ФО c параллельным вызовом макроса раз в 1 сек.
Зато граф. макросы работают в эмуляции, это хорошо, когда нет панели или когда не знаешь как правильно писать макрос, задолбаешься заливать и проверять.
В вирт. контроллере есть визуализация.
Да, надо было на английском макрос обозвать. Все работает, залил проверил.
Вылез небольшой нюанс при управлений с двух мест(Скада+Панель). https://disk.yandex.ru/i/kVmGXhrjZ1lzIw
МихаилГл
13.09.2024, 16:53
Вылез небольшой нюанс при управлений с двух мест(Скада+Панель). https://disk.yandex.ru/i/kVmGXhrjZ1lzIw
У вас скорее неправильная реализация. Нужно со скады или с панели посылать бит на запуск, а в программе после запуска этот бит сбрасывать в 0. А вы похоже его делаете основным. А если у вас скада или панель перезагрузятся при запущенном механизме как они это перенесут, хотя возможно это не повлияет. С удалённых устройств вы посылаете команду 1, в ПЛК исполняете её и тут же сбрасываете в 0.так будет работать.
Как сделали вы?
kondor3000
13.09.2024, 17:19
Вылез небольшой нюанс при управлений с двух мест(Скада+Панель). https://disk.yandex.ru/i/kVmGXhrjZ1lzIw
Не работает, потому что вы сделали по своему, а не как было написано. При изменении с обоих мест и записываться должно в оба места, а у вас на выходе только одна переменная. Смотрим мой скрин https://owen.ru/forum/showthread.php?t=39524&page=19#185
У вас скорее неправильная реализация. Нужно со скады или с панели посылать бит на запуск, а в программе после запуска этот бит сбрасывать в 0. А вы похоже его делаете основным. А если у вас скада или панель перезагрузятся при запущенном механизме как они это перенесут, хотя возможно это не повлияет. С удалённых устройств вы посылаете команду 1, в ПЛК исполняете её и тут же сбрасываете в 0.так будет работать.
Как сделали вы?
Через функциональный блок, написанный на ST
function_block SelChgF // ФБ SelChgF управление из 2 мест
var_input
I1 : real;
I2 : real;
end_var
var_output
Q : real;
end_var
var
I_1 : real;
I_2 : real;
end_var
____________________________________
if I_1<> I1 then // SelChgF
Q:= I1;
elsif I_2 <> I2 then
Q := I2;
end_if
I_1:= I1; I_2 := I2;
Не работает, потому что вы сделали по своему, а не как было написано. При изменении с обоих мест и записываться должно в оба места, а у вас на выходе только одна переменная. Смотрим мой скрин https://owen.ru/forum/showthread.php?t=39524&page=19#185
У меня выход Q сразу записывает значение в ПЧ. Проекты:
МихаилГл
13.09.2024, 17:31
Это неправильно, это то что я и предположил.
Надо примерно так:
If i1 or i2 then это кнопки старт на панели или скаде
StartBit:= true
i1:=false
i2:=false
End if
If i3 or i4 then это кнопки стоп...
StartBit:=false
i3:=false
i4:=false
End if
Q:=StartBit
И мест управления хоть до одного места. Можно вообще i1 менять в 1 с любого устройства, если не хотите лог вести, откуда запустили. Со стопом тоже.
kondor3000
13.09.2024, 17:35
У меня выход Q сразу записывает значение в ПЧ. Проекты:
Не надо сразу, на входе 2 чтения, на выходе 2 записи. Изменение в любом входе должны записать оба выхода и если надо,
ещё и отправить в ПЧ ( 3 выхода).
МихаилГл
13.09.2024, 17:48
И вот тут:
I_1:= I1; I_2 := I2;
А не правильнее:
I_1:= Q; I_2 := Q;
Я бы и i1 и i2 в процедуре приравнял к Q, чтобы на 2х устройствах ввода после изменения задания были после обработки одинаковые задания.
С аналоговым выходом согласен сложнее операции при задании с разных интерфейсов, например, но тоже выполнимо.
Не надо сразу, на входе 2 чтения, на выходе 2 записи. Изменение в любом входе должны записать оба выхода и если надо,
ещё и отправить в ПЧ ( 3 выхода).
Всё, дошло)
МихаилГл , вернусь немного к Скаде. Вам приходилось работать со службой SQL Server Analysis Services, то есть вы производили анализ данных и использовали машинное обучение?
МихаилГл
13.09.2024, 18:01
Не надо сразу, на входе 2 чтения, на выходе 2 записи. Изменение в любом входе должны записать оба выхода и если надо,
ещё и отправить в ПЧ ( 3 выхода).
Внимательно глянул, у вас выходы сравниваются на выходе функционального блока. Ну в принципе согласен. Я бы реализовал внутри...
МихаилГл
13.09.2024, 18:02
МихаилГл , вернусь немного к Скаде. Вам приходилось работать со службой SQL Server Analysis Services, то есть вы производили анализ данных и использовали машинное обучение?
Нет, с ms report service только, где рапорты и отчеты рисовал запросами к ms sql.
Анализ это к АСУТП скорее мало относится. Это скорее автоматизация бизнес процессов, и это участь 1с ников...
Анализ это к АСУТП скорее мало относится. Это скорее автоматизация бизнес процессов, и это участь 1с ников...
Или Data Science
МихаилГл
13.09.2024, 18:20
Думаю вы хотите объять необъятное.
Есть такая пирамида АСУТП:
ERP
MES
SCADA
PLC
I/O
Не лезьте в ERP, всё остальное вполне по силам грамотному АСУТП шнику.
I/O уровень входов/выходов, по простому должны разбираться в любых электрические схемах
PLC уровень программирования контроллеров
SCADA уровень работы с визуализацией
MES уровень выдачи цеховых рапортов и отчётности
А вот ERP это уже интеграция цеховой информации в систему типа 1с предприятия, где не только ваш объект, а и другие заводы в других городах. Тут вы можете только записать данные в sql, а забирать и обрабатывать будут другие. Это достаточно специфично.
PS Вот это я смотрел для начала... https://youtube.com/@sqldeveloperbi?si=8G5AScYYXRvbcxuJ
Подскажите по 2 вопросам.
1. Что из этого нужно изучить АСУТПшнику?
2. Что из этого нужно изучить, чтобы к моему проекту в Скаде Simp Light прикрутить MS SQL Server?
78599
МихаилГл
14.09.2024, 07:52
SSRS - для создания системы отчётности вне любой SCADA. Правда ещё понадобится MS Visual Studio, но это позже. Это считайте продвинутый уровень у вас будет)
А чтоб прикрутить свою scada к mssql, надо знать основы... Как создать таблицы, как пишутся запросы на t-sql (в рапид скаде особенно актуально).
Некоторые скады сами создают таблицы в sql сервере, но чтобы их посмотреть понадобятся основы как раз. Чтобы иметь понимание как и куда пишутся данные.
См. Личку, там есть ссылка...
Не совсем понятно на кой это АСУТП-шнику ?
Задача АСУТП опрашивать и управлять приборами (нижний уровень, ПЛК и ввод/вывод). Как правило все Scada имеют возможность сохранения в БД.
Либо встроенные, либо прикрученные. Дальше уже другой уровень.
Смотрите куда пишет SimpLigth. В какую БД. А там уже либо взаимодействия БД между собой, либо в Scada есть возможности выполнять импорт/экспорт.
МихаилГл
16.09.2024, 03:29
Ну у нас, например, на скаду выводились отчёты в активХ, а они реализованы на SSRS.
МихаилГл ключевое тут "выводились" - прошедшее время. ActiveX уже мертвая технология даже по меркам Microsoft. Edge например ее не поддерживает насколько знаю.
Тут вопрос в чем - мы можем изучать кучу всего, но когда мы куда-то идем, там может оказаться совсем не то, что мы изучали. И изучать все и вся в данном случае глупо.
Надо понимать принципы построения. А уже к подробностям подходить по месту.
Пример: понять принципы архитектуры ПЛК на CodeSys и принципы ПЛК скажем Siemens и им подобным (кстати такого большинство).
Кстати в Казахстане Siemens не под санкциями, вот лучше бы прикупить какой-то из... например 1200-й и пару модулей к нему.
Разобраться как там работать через Modbus и OPC UA например.
МихаилГл
16.09.2024, 08:29
Она и сейчас выводится через этот компонент, я просто там не работаю. А этот компонент тупо браузер дублирует, чтоб не было кроме скады ничего открытого.
PS А система отчётности по работе оборудования никуда не делась. И мне, например, удобнее в ssrs это делать.
МихаилГл и сейчас выводится, потому что не меняют.... лошадей на переправе :)
Я к тому, зачем сейчас человеку изучать то, что мертво, если у него на работе этого нет, и куда пойдет неизвестно?
Пример: понять принципы архитектуры ПЛК на CodeSys и принципы ПЛК скажем Siemens и им подобным (кстати такого большинство).
Кстати в Казахстане Siemens не под санкциями, вот лучше бы прикупить какой-то из... например 1200-й и пару модулей к нему.
Разобраться как там работать через Modbus и OPC UA например.
Я подумываю о Siemens, у меня на работе на всех процессах стоит такой плк и при проблеме, подключается по удаленке сторонний программист, то есть у нас только отдел КИП и нет не АСУ ТП и даже системного администратора.
И при трудоустройстве много где требуют знать как с ним работать.
Но с другой стороны на него цены высокие, а покупать опять же придется за свои. Где его выгоднее купить и модули к нему? На Авито, на Aliexpress или еще где? Ну и где мне задавать вопросы, когда будут возникать трудности при изучении?
Ну на Ebay. Он вам доступен. Вам же для себя подойдет и б/у. Мало ли, может там продают например с парой битых входов или выходов. Для изучения сгодится.
На счет кто подскажет, не подскажу :) сам учился давно на 300-400 но на практике применить не было возможности.
Вам главное разобраться с его архитектурой. Она отличается от ПЛК на CodeSys в принципе. Разберетесь с архитектурой, как там все устроено, сможете разобраться и с ПЛК других производителей, не только Siemens. У многих похожая (Delta, AllenBradley)...
То есть будет понимание как устроены SoftPLC, которым по сути и является CodeSys и как устроены PLC по типу Siemens.
Ну на Ebay. Он вам доступен. Вам же для себя подойдет и б/у. Мало ли, может там продают например с парой битых входов или выходов. Для изучения сгодится.
На счет кто подскажет, не подскажу :) сам учился давно на 300-400 но на практике применить не было возможности.
Вам главное разобраться с его архитектурой. Она отличается от ПЛК на CodeSys в принципе. Разберетесь с архитектурой, как там все устроено, сможете разобраться и с ПЛК других производителей, не только Siemens. У многих похожая (Delta, AllenBradley)...
То есть будет понимание как устроены SoftPLC, которым по сути и является CodeSys и как устроены PLC по типу Siemens.
AllenBradley тоже много, стоят на всех фасовочных машинах. Та же Delta есть местами на пастеризаторах. Гляну на Ebay что и по чем есть.
Ну смотрите все таки 1200-й Siemens, если из них будете искать. Там фишка - OPC UA в нем не включен, надо как-то включать ручками. в 1500-й серии наоборот OPC UA включен по умолчанию.
Ну и как там Modbus настраивать, он тоже по умолчанию не включен.
Allen Bradley интересная штука, я даже драйвер писал на DF1 протокол (правда только доступного мне ПЛК). Те еще извращенцы :)
С удовольствием бы продолжил работу над драйвером, в том числе и их Ethernet/IP реализацией, было бы время, и главное доступ к ПЛК...
Как бы самому пока не приходилось собирать схему по управлению ПЧ от ПЛК дискретными и аналоговым сигналами, хочу попробовать реализовать. В основном меняли сгоревший ПЧ на новый и цепляли провода. Полистал руководство от ПЛК 63, там пишется, что при управлении аналоговым выходом(4-20мА) нужно ставить ограничительный резистор. Это специфика ПЛК 63? У нас порядком частотников, которые управляется по 4-20 мА и нигде нет никаких резисторов. Судя по руководству, если напряжение для аналогового выхода плк63 составляет 12В, то ничего не надо, а если например 24В, то 620 Ом
78746
kondor3000
20.09.2024, 13:07
Как бы самому пока не приходилось собирать схему по управлению ПЧ от ПЛК дискретными и аналоговым сигналами, хочу попробовать реализовать. В основном меняли сгоревший ПЧ на новый и цепляли провода. Полистал руководство от ПЛК 63, там пишется, что при управлении аналоговым выходом(4-20мА) нужно ставить ограничительный резистор. Это специфика ПЛК 63? У нас порядком частотников, которые управляется по 4-20 мА и нигде нет никаких резисторов. Судя по руководству, если напряжение для аналогового выхода плк63 составляет 12В, то ничего не надо, а если например 24В, то 620 Ом
Можно резистор не ставить, если вы уверены что кабель не коротнёт, тогда может питание +24 В пойти на выход ПЛК63 или выход коротнуть на 0.
Можно резистор не ставить, если вы уверены что кабель не коротнёт, тогда может питание +24 В пойти на выход ПЛК63 или выход коротнуть на 0.
То есть, желательно ограничительный резистор всегда ставить на всех ПЛК, которые управляют ПЧ по 4-20мА? Или на более современных уже предусмотрена защита от таких моментов?
Например, те же ТРМ со временем модернизировались, у них сперва надо было ставить резисторы 50 или 100 Ом, потом перешли джамперы, а теперь в новых моделях ничего не надо, только выбрать токовый сигнал программно.
kondor3000
20.09.2024, 14:03
То есть, желательно ограничительный резистор всегда ставить на всех ПЛК, которые управляют ПЧ по 4-20мА? Или на более современных уже предусмотрена защита от таких моментов?
Например, те же ТРМ со временем модернизировались, у них сперва надо было ставить резисторы 50 или 100 Ом, потом перешли джамперы, а теперь в новых моделях ничего не надо, только выбрать токовый сигнал программно.
Джамперы не для защиты, это подключаются шунты 50 Ом, параллельно входу, которые раньше ставились снаружи. А дополнительные резисторы уже для защиты. Они ставятся последовательно со входом ( выходом).
Много ставить нельзя, обычно до 600 Ом. Большой мощности тем более нельзя, при КЗ на +24 он должен сгореть быстро. Но чаще всего их не ставят.
Иногда ставят быстродействующие предохранители на 30 мА.
Что то я разогнался, а где у меня аналоговые выходы 4-20 мА?78749
Сбоку на шильд ПЛК смотрите.
И/У/Р - 4-20ма/0-10В/реле
Сбоку на шильд ПЛК смотрите.
И/У/Р - 4-20ма/0-10В/реле
Да, я смотрел, написано от руки(РРРИИ), похоже на "И" 78755
out 1..4 реле, шим 0.0..1.0
out 5..6 4-20мА масштаб 0.0..1.0
На всякий случай уточню, все-таки мой аппарат)
Так же будет работать?78777
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot