Привет, у меня есть одна такая проблема. В программе PLC я периодически использую индексный регистр E1. Я использую его для указания других регистров (D, M). Периодически в программе PLC Е1 меняет свое значение (1-15 в моем случае). Пока все хорошо. Тем не менее, мне нужно, чтобы объекты в программе панели (DOP-110CS) появлялись в зависимости от значения E1. Проблема в том, что в окне выбора реестра объекта объекта нет возможности выбора реестра E.
Что можно сделать?
Спасибо!
Как прочитать индексного регистра Е1 ПЛК через DOP-110?
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Как прочитать индексного регистра Е1 ПЛК через DOP-110?
В конце программы ПЛК копируйте Е1 в какое либо слово области D и читайте его с панели.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Как прочитать индексного регистра Е1 ПЛК через DOP-110?
Место, где присваиваются значения E1, это:
Проблема заключается в том, что M301-M315 являются процедуры которые активируются пользователем одновременно а должны обслуживаться последовательно, с возвратом вперед (с М315 до М301). Это на рисунке является своего рода матрицей, в которой при сканировании, если M315 активен, E1 назначается 15, что дополнительно указывает в программе ПЛК D315 (D300E1) и D115 (D100E1). Как видно, в следующих строках контакты с тем же именем (M315) открываются и не позволяют E1 принимать другие значения. В конце программы процедура 15 была обслужена и закрыта (RST M300E1). При следующем сканировании контакт M315 в первом ряду уже открыт, а остальные с таким же именем в следующих строках закрыты. Поэтому следующая строка с полностью открытыми контактами уже начинается с M314 и E1 = 14 соответственно. Таким образом, все повторяется до тех пор, пока все процедуры не будут обслужены и закрыты.
Я не мог придумать другой способ реализовать эту последовательную обработку в обратном порядке.
Итак, согласно вашим рекомендациям, после каждой записи значения E1 я должен своевременно записывать его в другой регистр (например, D50) и использовать его в программе панели, верно?
Если это так, изменения в программе ПЛК должны выглядеть следующим образом.
Или для простоты сделать это только один раз после матрицы.
Спасибо!
Проблема заключается в том, что M301-M315 являются процедуры которые активируются пользователем одновременно а должны обслуживаться последовательно, с возвратом вперед (с М315 до М301). Это на рисунке является своего рода матрицей, в которой при сканировании, если M315 активен, E1 назначается 15, что дополнительно указывает в программе ПЛК D315 (D300E1) и D115 (D100E1). Как видно, в следующих строках контакты с тем же именем (M315) открываются и не позволяют E1 принимать другие значения. В конце программы процедура 15 была обслужена и закрыта (RST M300E1). При следующем сканировании контакт M315 в первом ряду уже открыт, а остальные с таким же именем в следующих строках закрыты. Поэтому следующая строка с полностью открытыми контактами уже начинается с M314 и E1 = 14 соответственно. Таким образом, все повторяется до тех пор, пока все процедуры не будут обслужены и закрыты.
Я не мог придумать другой способ реализовать эту последовательную обработку в обратном порядке.
Итак, согласно вашим рекомендациям, после каждой записи значения E1 я должен своевременно записывать его в другой регистр (например, D50) и использовать его в программе панели, верно?
Если это так, изменения в программе ПЛК должны выглядеть следующим образом.
Или для простоты сделать это только один раз после матрицы.
Спасибо!
Re: Как прочитать индексного регистра Е1 ПЛК через DOP-110?
Я имел в виду ваш последний вариант.