Вход

Просмотр полной версии : ПЛК 160 типы данных



Langoliere
15.04.2021, 20:40
Добрый день.
Вопрос в следующем. Имеются два инкрементальных энкодера. Для работы с ними использовали быстрые дискретные входа, заменив их в CodeSys 2.3 на Fast Encoders. Получили переменную типа Real. Затем с аналогового выхода нужно передать переменную в модуль другого контроллера Fastwel. Аналоговый выход из ПЛК160 типа WORD. Аналоговые входа на модуле Fastwel AIM723 однопроводные с типом переменной DWord. В итоге на контактах выхода от ПЛК 160 есть 4-20мА, но Fastwel ее не понимает.
В чем может быть дело? В типе переменных или в чем то другом? Возможно проблема в физическом подключении от ПЛК160 в однопроводной модуль Fastwel?

Langoliere
16.04.2021, 09:31
Я имел в виду, что если вставать в разрыв и мерить мА, то ппри изменении переменной в ПЛК160, аналоговый выход изменяется.
Fastwel должен получить в переменную целое число позиции энкодера. Сейчас эта переменная успешно передается до аналогового выхода ПЛК160.
Масштабирование, если я правильно понимаю позволяет 4-20 преобразовать в число - значение параметра.
Каким образом можно конфигурировать аналоговый выход и аналоговый вход, что бы сигнал 4-20 с соответствующим диапазоном физ величины был одинаковый?
Основное сомнение у меня у том что тип на выходе real , а вход dword.

Langoliere
16.04.2021, 09:53
Можете подсказать какой командой задавать соответствие 4-20 Ai? Возможно, если привести к общему диапазону, это решит вопрос

A.Simonov
16.04.2021, 10:43
Я имел в виду, что если вставать в разрыв и мерить мА, то ппри изменении переменной в ПЛК160, аналоговый выход изменяется.
Fastwel должен получить в переменную целое число позиции энкодера. Сейчас эта переменная успешно передается до аналогового выхода ПЛК160.
Масштабирование, если я правильно понимаю позволяет 4-20 преобразовать в число - значение параметра.
Каким образом можно конфигурировать аналоговый выход и аналоговый вход, что бы сигнал 4-20 с соответствующим диапазоном физ величины был одинаковый?
Основное сомнение у меня у том что тип на выходе real , а вход dword.

Добрый день.

Если аналоговый выход 4-20 мА на ПЛК160 успешно изменяет свое значение, то проблема с настройкой/подключением Fastwel AIM723.
Очевидно, что модуль Fastwel AIM723 не может знать о том, что в ПЛК160 задается не переменной DWORD, так как они видит только токовый сигнал 4-20 мА.

Для линейной трансформации одной величины в другую в codesys можно использовать функцию LIN_TRAFO (https://help.codesys.com/webapp/lin_trafo;product=codesys;version=3.5.11.0) из Util.lib

Langoliere
16.04.2021, 13:35
Сейчас провёл несколько экспериментов. Если на входе для энкодеров в ПЛК160 , в Range of encoder поставить значение 255, то выходные мА примерно совпадают с положением энкодера относительно этого диапазона.
Однако, если значение поменять на 400, то 20 мА на аналоговом выходе ПЛК160 покажет уже на 23 импульсах.
Я понимаю, что что то делаю не так. Но по неопытности не могу увидеть что.

Langoliere
16.04.2021, 13:55
Видимо я дал неверную информацию. Аналоговый выход не соответствует требуемому. То есть его значения не соответствуют.
Вообще с одного контроллера на другой, можно так аналоговые выхода с аналоговыми входами цеплять?

Langoliere
16.04.2021, 14:00
Есть возможность внутри контроллера программно преобразовать значение количестве импульсов с энкодера и в зависимости от него жестко установить Ao 4-20?

rg6u
27.10.2022, 13:46
День добрый форумчане, может ли кто оказать инфорационную помощь - имеется плк160.220-и м(02) только с аналоговыми выходами 4-20мА и панель овен сп307, задача - управление с панели аналоговым выходом, в свою очередь выход управляет частотным приводом elhart, все по этой же токовой петле 4-20мА.
Аналоговый выход об'явлен, связь с панелью есть, данные идут, конечно же не знаю, правильно или нет, но никак не получается "оживить" аналоговый выход с плк, всю голову сломал и примеров не могу найти

petera
27.10.2022, 14:22
День добрый форумчане, может ли кто оказать инфорационную помощь - имеется плк160.220-и м(02) только с аналоговыми выходами 4-20мА и панель овен сп307, задача - управление с панели аналоговым выходом, в свою очередь выход управляет частотным приводом elhart, все по этой же токовой петле 4-20мА.
Аналоговый выход об'явлен, связь с панелью есть, данные идут, конечно же не знаю, правильно или нет, но никак не получается "оживить" аналоговый выход с плк, всю голову сломал и примеров не могу найти

1. В конфигурации ПЛК создаем две переменные
63412

переменная AO_1 - выход ПЛК 4..20 мА
переменная HMI_307 - значение из панели

2. Программа
63413

Здесь (в ПЛК) все.
Замечу в переменную AO_1 нужно записывать значения от 0.0 до 1.0, что будет соответствовать 4..20 мА на физ.выходе ПЛК

3. В панели, в настройках порта включить галку Переставить WORD
63414

4. Создать элемент ц.ввода
63415
в моем случае (см. конфигурацию ПЛК) регистр в ПЛК - 4х0, формат DWord

5. Для дисплея - формат Float
63416

6. Предположим, что на экране будем вводить диапазон от 0 до 100, при этом на выходе ПЛК нужно иметь от 4 до 20 мА, т.е. в ПЛК нужно передавать значения от 0.0 до 1.0
для этого включим масштабирование ввода и вывода для ц.ввода
63417

ВСЕ!

ЗЫ.
Пример подключения АО выхода ПЛК к ЧП можно подсмотреть во вложении

ЗЫ.
Масштабирование 0..100 в 4..20
63422

rg6u
27.10.2022, 14:48
Огромное вам спасибо " petera ", не могли бы вы прикрепить скрины с более читабельным видом, особенно программа, мне хоть будет от чего опереться при исправлении своих ошибок...

1exan
27.10.2022, 14:51
1. В конфигурации ПЛК создаем две переменные
63412

переменная AO_1 - выход ПЛК 4..20 мА
переменная HMI_307 - значение из панели

2. Программа
63413

Здесь (в ПЛК) все.
Замечу в переменную AO_1 нужно записывать значения от 0.0 до 1.0, что будет соответствовать 4..20 мА на физ.выходе ПЛК



Интересная штука - тоже помню что где-то надо было писать 0.0...1.0 в аналоговый выход. Тут надо было сделать программу под ПЛК160 - и там надо было писать 4.0...20.0. И вроде работало.
63419
И мин макс на картинке - 0.0 и 21.0

rg6u
27.10.2022, 15:00
Я дико извиняюсь, открыл в другом браузере и все оказывается в очень хорошем качестве...

petera
27.10.2022, 16:29
Огромное вам спасибо " petera ", не могли бы вы прикрепить скрины с более читабельным видом, особенно программа, мне хоть будет от чего опереться при исправлении своих ошибок...

Вы видите миниатюры картинок.
Если щелкнуть на любую картинку она откроется в новом окне в полном разрешении

так работает движок форума

petera
27.10.2022, 16:40
Интересная штука - тоже помню что где-то надо было писать 0.0...1.0 в аналоговый выход. Тут надо было сделать программу под ПЛК160 - и там надо было писать 4.0...20.0. И вроде работало.
63419
И мин макс на картинке - 0.0 и 21.0

Возможно Вы правы про диапазон, 4..20
я давно не работал с ПЛК160,
ну тогда масштабирование в панели изменить надо
63421

1exan
27.10.2022, 16:56
Возможно Вы правы про диапазон, 4..20
я давно не работал с ПЛК160,
ну тогда масштабирование в панели изменить надо
63421

Будет возможность, проверю.

Я кстати обычно делаю масштабирование в контроллере, непосредственно перед записью в аналоговый выход, функцией типа такой:

LIN_FUN := (IN - IN_MIN) / (IN_MAX - IN_MIN) * (OUT_MAX - OUT_MIN) + OUT_MIN;

В этом случае можно задать любую входную шкалу в единицах сигнала, а для выхода - любую выходную шкалу, а в контроллере и панели оперировать непосредственно со значениями в физических единицах (ну разве что точку подвигать).

petera
27.10.2022, 17:01
Будет возможность, проверю.

Я кстати обычно делаю масштабирование в контроллере, непосредственно перед записью в аналоговый выход, функцией типа такой:

LIN_FUN := (IN - IN_MIN) / (IN_MAX - IN_MIN) * (OUT_MAX - OUT_MIN) + OUT_MIN;

В этом случае можно задать любую входную шкалу в единицах сигнала, а для выхода - любую выходную шкалу, а в контроллере и панели оперировать непосредственно со значениями в физических единицах (ну разве что точку подвигать).

Это понятно, я бы тоже так делал, если в программе, например, ПИД регулятора на входе нужно получить сигнал для АО
Т.к. программы в примере нет, то просто хотел подчеркнуть возможности панели

1exan
28.10.2022, 05:06
Проверил - для модификации ПЛК160 с токовыми выходами 4...20мА надо записывать значения REAL 4.0...20.0. При выходе за границы данного диапазона сигнал на аналоговом выходе имеет значение 3,85 и 20,15 мА соответственно.

rg6u
29.10.2022, 11:10
Все выставил по рекомендациям , не оживает аналоговый выход, хоть тресни...

rg6u
29.10.2022, 11:14
Забыл совсем, у меня в проекте панели нет строки - переставить WORD в REAL, только на этом месте - изменить порядок регистров.

1exan
29.10.2022, 14:17
Все выставил по рекомендациям , не оживает аналоговый выход, хоть тресни...

Аналоговый выход 4-20мА выдает 3,8мА, даже если ничего не писать в выход.
И этот выход - пассивный, нужно внешнее питание. Проверьте подключение по руководству.

rg6u
29.10.2022, 14:53
Всё, заработало, оказалась ошибочная информация про букву в маркировке контроллера, не 4-20мА а 0-10в, снял контроллер и по шильдику вскрылась проблема...

rg6u
29.10.2022, 15:37
А можно ли как-то увеличить скорость обработки кнопок на панели, сейчас в панели стало обращение к двум плк, по обращению и ответам скорость к первому осталась на прежнем уровне, но вот при работе со вторым стали наблюдаться подвисания на несколько секунд...!?

1exan
29.10.2022, 16:01
А можно ли как-то увеличить скорость обработки кнопок на панели, сейчас в панели стало обращение к двум плк, по обращению и ответам скорость к первому осталась на прежнем уровне, но вот при работе со вторым стали наблюдаться подвисания на несколько секунд...!?

Подвисания могут возникать при обращении по несуществующим адресам. Стоит проверить привязку всех переменных второго ПЛК.

rg6u
29.10.2022, 16:31
Спасибо, проверю...

petera
29.10.2022, 18:51
Забыл совсем, у меня в проекте панели нет строки - переставить WORD в REAL, только на этом месте - изменить порядок регистров.

Это одно и тоже

rg6u
29.10.2022, 19:22
Принято, уже интуитивно понял, я не очень большой специалист в программировании, делаю в LD и FBD, с сенсорной панелью у меня вообще опыт работы с самого начала в первый раз, вот и вопросы примитивные для вашего уровня задаю, всё познается с опытом...

rg6u
29.10.2022, 19:26
Проверил, несуществующих адресов нет, задержка в несколько секунд , как на прд. , так и на прм., но только с 0-ым регистром.

kondor3000
29.10.2022, 20:30
Проверил, несуществующих адресов нет, задержка в несколько секунд , как на прд. , так и на прм., но только с 0-ым регистром.

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

rg6u
29.10.2022, 20:51
Хорошо, завтра выйду на смену и выложу, для плк и для панели...

rg6u
30.10.2022, 08:30
Утро доброе всем...!
63507 - ПЛК №2
63508 - ПАНЕЛЬ СП307
63509 - ПЛК №1

kondor3000
30.10.2022, 12:12
Утро доброе всем...!
63507 - ПЛК №2
63508 - ПАНЕЛЬ СП307
63509 - ПЛК №1

В конфигураторе панели, во всех битах 0х, а здесь 1х, смотри скрин 63510

petera
30.10.2022, 13:36
В конфигураторе панели, во всех битах 0х, а здесь 1х, смотри скрин 63510Для слейва из конфигурации не имеет значение 0х или 1х, вроде так было раньше, См. примечание!

https://owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726

rg6u
30.10.2022, 13:38
В конфигураторе панели, во всех битах 0х, а здесь 1х, смотри скрин 63510
Благодарю, а слона - то я и не заметил...!
Неужели из - за одной ошибки так прд. и прм. страдают...?!

rg6u
30.10.2022, 13:51
Исправил и запрограммировал в панель, ещё один нюанс - экраны , как переключались с задержкой, так и переключаются, но только те, которые относятся к плк 2, а тут - то я что неправильно сделал...!?

rg6u
30.10.2022, 14:01
Для слейва из конфигурации не имеет значение 0х или 1х, вроде так было раньше, См. примечание!

https://owen.ru/forum/attachment.php?attachmentid=12345&d=1395648726

Получается , что я неправильно распределил адресацию, судя по картинке, я сперва использовал все требующиеся мне по 8-мь бит, потом уже остальное...

rg6u
30.10.2022, 14:35
https://youtu.be/PJHiKrhrhpQ

1exan
30.10.2022, 14:39
Получается , что я неправильно распределил адресацию, судя по картинке, я сперва использовал все требующиеся мне по 8-мь бит, потом уже остальное...

У вас нормально распределены переменные в обоих ПЛК, "незанятого пространства" как на рисунке, нет.
Панель я не открывал, но имейте в виду при адресации бит, что 1байт(8 бит)+1байт(8 бит)=1word, т.е. эти 2 последовательных байта относятся к одному и тому-же адресу регистра.

rg6u
30.10.2022, 14:39
Вот то самое переключение экранов, чтобы не быть голословным, относящиеся экраны к плк 1 переключаются хорошо, а вот относящиеся к плк 2 с задержкой...

petera
30.10.2022, 14:46
https://youtu.be/PJHiKrhrhpQ

Скорей всего не программные, а аппаратные проблемы связанные с
- подключение второго ПЛК к панели, например, по топологии звезда, а не последовательное подключение Панель-> ПЛК1->ПЛК2
- отсутствуют согласующие резисторы на конце линии
- и пр.

ЗЫ
пару диагностических дисплеев со статистикой обмена не помешают

Для диагностики влияния этих мероприятий
Воспользуйтесь регистрами PSW70...PSW73 (сделайте дисплеи с этими регистрами) (это для порта PLC)
дисплеи сделать глобальными!
PSW70 - число переданных пакетов
PSW71 - число пакетов с ошибками
PSW72 - число ошибок из-за тайм-аута
PSW73 - число ошибок из-за искажения данных(не совпадают СRC

rg6u
30.10.2022, 15:00
Скорей всего не программные, а аппаратные проблемы связанные с
- подключение второго ПЛК к панели, например, по топологии звезда, а не последовательное подключение Панель-> ПЛК1->ПЛК2
- отсутствуют согласующие резисторы на конце линии
- и пр.

ЗЫ
пару диагностических дисплеев со статистикой обмена не помешают

Для диагностики влияния этих мероприятий
Воспользуйтесь регистрами PSW70...PSW73 (сделайте дисплеи с этими регистрами) (это для порта PLC)
дисплеи сделать глобальными!
PSW70 - число переданных пакетов
PSW71 - число пакетов с ошибками
PSW72 - число ошибок из-за тайм-аута
PSW73 - число ошибок из-за искажения данных(не совпадают СRC

Второй плк на данный момент не подключен, длинна провода от плк до экрана один метр, просто меня беспокоит - то, что после добавления экранов для второго плк, эти экраны стали переключаться с задержкой...

petera
30.10.2022, 15:18
Второй плк на данный момент не подключен, длинна провода от плк до экрана один метр, просто меня беспокоит - то, что после добавления экранов для второго плк, эти экраны стали переключаться с задержкой...

Ну вот и ВСЕ!!!

Не подключенный ПЛК - это и есть не существующие регистры...
Выше уже был первоначальный диагноз

rg6u
30.10.2022, 15:41
Какая - то " печальная " картина вырисовывается
63514

rg6u
30.10.2022, 15:43
Какая - то " печальная " картина вырисовывается
63514

Я так понимаю- это после попыток обращения к не подключенному плк 2...!?

petera
30.10.2022, 15:48
Я так понимаю- это после попыток обращения к не подключенному плк 2...!?

естественно
уменьшение тайм-аута до 200 сделает панель более адекватной

ЗЫ.
Нет слейвов - будут тормоза. Ведь запросы к отсутствующим слейвам Вы не запретили. А число попыток по умолчанию - три и таум-аут по умолчанию 1000 мс. Т.е. панель шлет запрос, ждет ответа, через 1000мс повторяет запрос и так три раза на каждый запрос. В момент ожидания панель и тормозит
уменьшите тайм-аут до 200
Тайм-ауты находятся здесь
PFW28 -тайм-аут для порта Download
PFW38 -тайм-аут для порта PLC
ф. областью пишем туда 200. Ф.область должна быть глобальная и действие - После загрузки проекта.

rg6u
30.10.2022, 15:49
Ну вот и ВСЕ!!!

Не подключенный ПЛК - это и есть не существующие регистры...
Выше уже был первоначальный диагноз

Получается, переключение между экранами тоже зависит от того, подключены ли все об'явленные приемники информации или нет...!?

petera
30.10.2022, 15:52
Получается, переключение между экранами тоже зависит от того, подключены ли все об'явленные приемники информации или нет...!?
Ведь запросы к отсутствующим слейвам Вы не запретили. А число попыток по умолчанию - три и таум-аут по умолчанию 1000 мс. Т.е. панель шлет запрос, ждет ответа, через 1000мс повторяет запрос и так три раза на каждый запрос. В момент ожидания панель и тормозит и не отвечает на нажатие кнопок

rg6u
30.10.2022, 15:54
естественно
уменьшение тайм-аута до 200 сделает панель более адекватной

ЗЫ.
Нет слейвов - будут тормоза. Ведь запросы к отсутствующим слейвам Вы не запретили. А число попыток по умолчанию - три и таум-аут по умолчанию 1000 мс. Т.е. панель шлет запрос, ждет ответа, через 1000мс повторяет запрос и так три раза на каждый запрос. В момент ожидания панель и тормозит
уменьшите тайм-аут до 200
Тайм-ауты находятся здесь
PFW28 -тайм-аут для порта Download
PFW38 -тайм-аут для порта PLC
ф. областью пишем туда 200. Ф.область должна быть глобальная и действие - После загрузки проекта.

Тайм-аут, это-задержка отправки в милисекундах...!?

rg6u
30.10.2022, 16:13
Тайм-аут, это-задержка отправки в милисекундах...!?

Мне надо создать окно цифрового ввода PFW38, после загрузки в панель ввести значение 200, но в описании написано , что для тайм-аута порта плк PFW35...!?

kondor3000
30.10.2022, 16:39
Мне надо создать окно цифрового ввода PFW38, после загрузки в панель ввести значение 200, но в описании написано , что для тайм-аута порта плк ф. областью пишем туда 200. Ф.область должна быть глобальная и действие - После загрузки проекта....!?

ф. областью пишем туда 200. Ф.область должна быть глобальная и действие - После загрузки проекта.63518


А вообще то надо просто подключить второй ПЛК, и тормозов не будет.

rg6u
30.10.2022, 16:48
ф. областью пишем туда 200. Ф.область должна быть глобальная и действие - После загрузки проекта.63518

А вообще то надо просто подключить второй ПЛК, и тормозов не будет.

Я сделал через окно цифрового ввода в скрытом окне, вроде все ввелось...

rg6u
30.10.2022, 16:50
Второй плк буду устанавливать после согласования с руководством времени простоя станка...

kondor3000
30.10.2022, 16:50
Я сделал через окно цифрового ввода в скрытом окне, вроде все ввелось...

Для ПЛК порта действительно адрес PFW35
Адреса PFW35 для PLC и PFW25 для Dounload

petera
30.10.2022, 16:54
Для ПЛК порта действительно адрес PFW35
Адреса PFW35 для PLC и PFW25 для Dounload

Онять двадцать пять!
Не PFW35 для PLC

Нужен регистр PFW38!!!!!
ЗЫ

to kondor3000
Я Вам уже писал об этом!
https://owen.ru/forum/showthread.php?t=36194&p=382499&viewfull=1#post382499

PFW35 - это задержка между запросами

это есть в настройках порта
А тайм-аута в настройках нет, нет и упоминания в руководстве!

rg6u
30.10.2022, 17:00
Онять двадцать пять!э
Не PFW35 для PLC

Нужен регистр PFW38!!!!!
ЗЫ

to kondor3000
Я Вам уже писал об этом!
https://owen.ru/forum/showthread.php?t=36194&p=382499&viewfull=1#post382499

PFW35 - это задержка между запросами

это есть в настройках порта
А тайм-аута в настройках нет, нет и упоминания в руководстве!

Принято, сейчас исправлю...

kondor3000
30.10.2022, 17:02
to kondor3000
Я Вам уже писал об этом!
https://owen.ru/forum/showthread.php?t=36194&p=382499&viewfull=1#post382499

PFW35 - это задержка между запросами

это есть в настройках порта
А тайм-аута в настройках нет, нет и упоминания в руководстве!

Да, спасибо, забыл уже.

petera
30.10.2022, 17:05
Мне надо создать окно цифрового ввода PFW38, после загрузки в панель ввести значение 200, но в описании написано , что для тайм-аута порта плк PFW35...!?

И Вам тоже сюда https://owen.ru/forum/showthread.php?t=36194&p=382499&viewfull=1#post382499

Не верь своим глазам!
Переводчик был не трезвым
PFW35 - это задержка между запросами
Нужен PFW38

Если запишите 200 в PFW35, то затормозите обмен с обоими ПЛК (резко - всего 5 запросов в секунду), а тормоза в панели останутся

1exan
30.10.2022, 17:48
Второй плк буду устанавливать после согласования с руководством времени простоя станка...

Если ваша установка может работать нормально при отсутствии одного из ПЛК, наверное есть смысл сделать в панели возможность отключения его опроса. А вот есть ли такие возможности у панели, к сожалению не знаю, может petera подскажет.

petera
30.10.2022, 18:23
Если ваша установка может работать нормально при отсутствии одного из ПЛК, наверное есть смысл сделать в панели возможность отключения его опроса. А вот есть ли такие возможности у панели, к сожалению не знаю, может petera подскажет.

Есть такая возможность, через регистр PFW130 https://owen.ru/forum/showthread.php?t=35196&p=362855&viewfull=1#post362855

Однако,
Есть странное поведение битовых индикаторов, привязанных к битам слейва отключенного контроллера - все индикаторы находятся в значении “1” и периодически кратковременно (доли секунды) переходят в “0”.
Из-за такого странного поведения битовых переменных, например, если есть историческая таблица, в которой используются биты отключенного контроллера, то таблица будет "забита" ложными сообщениями по переднему фронту этих бит.
Решается путем копирования через глобальную функцию бит ПЛК в промежуточные регистры панели
Т.е. поставить в соответствие битам регистров 4х в ПЛК биты промежуточных регистров PSW панели.
Например
4х0 --> PSW256
4х1 --> PSW257
4х2 --> PSW258
.........
4х9 --> PSW265
и т.д.

Если Вы использовали для ламп, переключателей с индикацией или в исторической таблице биты 0х ПЛК, то их номера всегда можно представить в виде отдельных разрядов регистров 4х. Например 0х1 соответствует 4х0.01, а 0х31 соответствует 4х1.15.
Соответсвенно лампы привязать уже к битам PSW.

Валенок
30.10.2022, 18:46
естественно
уменьшение тайм-аута до 200 сделает панель более адекватной..
А до 15..30 совсем адекватной. Для ПЛК-слейва при 115200 больше - не нужно.

1exan
30.10.2022, 18:48
Есть такая возможность, через регистр PFW130 https://owen.ru/forum/showthread.php?t=35196&p=362855&viewfull=1#post362855

Однако,
Есть странное поведение битовых индикаторов, привязанных к битам слейва отключенного контроллера - все индикаторы находятся в значении “1” и периодически кратковременно (доли секунды) переходят в “0”.
Из-за такого странного поведения битовых переменных, например, если есть историческая таблица, в которой используются биты отключенного контроллера, то таблица будет "забита" ложными сообщениями по переднему фронту этих бит.
Решается путем копирования через глобальную функцию бит ПЛК в промежуточные регистры панели
Т.е. поставить в соответствие битам регистров 4х в ПЛК биты промежуточных регистров PSW панели.
Например
4х0 --> PSW256
4х1 --> PSW257
4х2 --> PSW258
.........
4х9 --> PSW265
и т.д.

Если Вы использовали для ламп, переключателей с индикацией или в исторической таблице биты 0х ПЛК, то их номера всегда можно представить в виде отдельных разрядов регистров 4х. Например 0х1 соответствует 4х0.01, а 0х31 соответствует 4х1.15.
Соответсвенно лампы привязать уже к битам PSW.

т.е. нужно сделать глобальную функцию, которая периодически будет копировать несколько регистров ПЛК, в которые "упакованы" биты данных, в регистры панели. И уже потом в панели мы используем отдельные биты регистров панели как переменные состояния?

petera
30.10.2022, 19:25
т.е. нужно сделать глобальную функцию, которая периодически будет копировать несколько регистров ПЛК, в которые "упакованы" биты данных, в регистры панели. И уже потом в панели мы используем отдельные биты регистров панели как переменные состояния?

Да, совершенно верно. Только ссылки 0х.. и 1х я бы не стал называть регистрами..

petera
30.10.2022, 19:27
А до 15..30 совсем адекватной. Для ПЛК-слейва при 115200 больше - не нужно.

Не, для панелей СП3хх, меньше 100 делать не следует.
Лучшее - враг хорошего

Валенок
30.10.2022, 19:30
Не, для панелей СП3хх, меньше 100 делать не следует.
Лучшее - враг хорошего
Причем тут панель ? ПЛК-слейв либо начнет отвечать через 5..10мс либо нет. Совсем нет. Чего высиживать ?

petera
30.10.2022, 19:38
Причем тут панель ? ПЛК-слейв либо начнет отвечать через 5..10мс либо нет. Совсем нет. Чего высиживать ?

Самой панели дурно становится если ей в настройках порта прописать тайм-аут <100 ms

Валенок
30.10.2022, 19:42
Самой панели дурно становится
Её тошнит ? ))

petera
30.10.2022, 19:52
Её тошнит ? ))

Малейший чих - окно о потери связи,
Я же в проектах использую классику - системное окно "Потеря связи с ПЛК №.."

Операторы пугаются...

Валенок
30.10.2022, 20:02
Малейший чих - окно о потери связи,..

А как длительность высиживания cвареного яйца влияет на появление цыпленка ?


системное окно "Потеря связи с ПЛК №.."
А здесь оно есть ?

Кстати. Здесь еще и зачем-то 3 повтора.
Бабушка либо ответит на 1-ое письмо, либо умерла. Зачем спамить ?
А коли запрос побился, так на следующем кругу повторится. Если не ср..тся незачем очередь к сериал-унитазу держать.


Я же в проектах использую классику - системное окно "Потеря связи с ПЛК №.."....Операторы пугаются...
Я обычно до такого окна даю несколько попыток (не подряд - см. выше), не в стране эльфов живу - и гроза бывает. А если оператор напугался - то по делу, а так всегда храпят как младенцы.

rg6u
03.11.2022, 19:00
Если ваша установка может работать нормально при отсутствии одного из ПЛК, наверное есть смысл сделать в панели возможность отключения его опроса. А вот есть ли такие возможности у панели, к сожалению не знаю, может petera подскажет.

Всем вечер добрый, да, "установка" работает адекватно, второй плк буду вводить в эксплуатацию после праздников, сейчас на работе, в течении смены периодами подходил и наблюдал, работает на ура и мастера смен не жаловались...