PDA

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



ribamuka
05.07.2017, 15:53
Создал Программу:



//-------------------------------------------------------------------------------------
// Переменные
PROGRAM PLC_PRG
VAR

Lamp: BOOL :=FALSE;
CounterInput1: BOOL := FALSE;
END_VAR
//-------------------------------------------------------------------------------------
// Программа
Lamp:=CounterInput1;
//-------------------------------------------------------------------------------------


Из логики следует, что замкнув цифровой вход загорится стандартная лампочка на корпусе ПЛК, этого не происходит, почему?

- Пробую в отладке руками задать значение переменной CounterInput1, лампочка загорается.
- Убираю все привязки, замыкаю цифровой вход, смотрю окно со всеми входами, значение входа меняется.

31986

melky
05.07.2017, 16:05
Lamp: BOOL := FALSE;

Эта переменная всегда false....

И это, присваивать надо наоборот, Counter := вход такой-то

ribamuka
05.07.2017, 16:13
melky,


Lamp: BOOL := FALSE;
Эта переменная всегда false....


При инициализации она FALSE, но в теле программы ее значение устанавливается равным дискретному входу.

1. Прикрепил скриншот, того, как у меня привязаны переменные к входам.
2. По-поводу присваивания наоборот, не понял, можете пояснить?

Осинский Алексей
06.07.2017, 08:33
melky,



При инициализации она FALSE, но в теле программы ее значение устанавливается равным дискретному входу.

1. Прикрепил скриншот, того, как у меня привязаны переменные к входам.
2. По-поводу присваивания наоборот, не понял, можете пояснить?

Попробуйте отвязать CounterInput1 и на маску состояния входов (отметил на рисунке) привязать переменную DWORD.
Меняется ли ее значение при замыкании входа?

31996

melky
06.07.2017, 12:03
наоборот не надо, немного попутал. Counter1 у вас физический вход ? а вы взяли и объявили его как локальную переменную, вот она то всегда и будет false, так как нет привязки ко входу а к совершенно другой переменной. Уберите ее из объявлений переменных и пропишите только у входа...

capzap
06.07.2017, 12:10
наоборот не надо, немного попутал. Counter1 у вас физический вход ? а вы взяли и объявили его как локальную переменную, вот она то всегда и будет false, так как нет привязки ко входу а к совершенно другой переменной. Уберите ее из объявлений переменных и пропишите только у входа...

Вы "слегка" путаете, тут речь о КДС3

melky
06.07.2017, 13:24
c 3-м не работал, если не так же, то прошу прощения...

ribamuka
06.07.2017, 15:44
Попробуйте отвязать CounterInput1 и на маску состояния входов (отметил на рисунке) привязать переменную DWORD.
Меняется ли ее значение при замыкании входа?
31996

Да меняется. Но почему работает только при задании соответствия в маске?

Евгений Багаев
07.07.2017, 11:52
Да меняется. Но почему работает только при задании соответствия в маске?

На вкладке Owen:Internal Соотнесение входов/выходов справа внизу Всегда обновлять переменные переключите в положение Enable 2.

Осинский Алексей
07.07.2017, 11:54
Да меняется. Но почему работает только при задании соответствия в маске?

Скажите пожалуйста, у Вас JP2 в каком положении находится?
Какая версия прошивки?
Какая версия таргет-файла?

ribamuka
17.07.2017, 19:31
1. JP2 - OFF

2.
Имя: OWEN PLC323.03-CS.WEB
Производитель: Owen
Группы: ПЛК
Тип: 4096
ID: 1628 0061
Версия: 3.5.0.40
Номер модели: 005
Описание: OWEN PLC323.03-CS.WEB