PDA

Просмотр полной версии : Изменение битов в PSW СП-270



smashrod
10.11.2011, 00:20
Подскажите, пожалуйста, возможно ли менять отдельные биты в PSW в панели СП-270 (Slave). Сделал на включение переключение бита 0 в регистре 500 например, а на выключение 1 бит в 500.

Читаю ПЛК по Modbus регистр, бит 0 меняется от нажатия на кнопку, а вот 1 бит нет. Реально сделать такое? Или необходимо выделять под каждый бит регистр PSW?

smashrod
10.11.2011, 10:19
спасибо, обязательно посмотрю, но есть один вопрос, у меня сейчас панель в режиме Slave, так как у ПЛК-150 один RS-485, а по порту Debug нет кабеля, чтобы прицепиться (((

Есть подобные примеры для режима Slave? У меня в слейве не получилось сделать, получилось то что описано в теме (

capzap
10.11.2011, 16:10
Подскажите, пожалуйста, возможно ли менять отдельные биты в PSW в панели СП-270 (Slave). Сделал на включение переключение бита 0 в регистре 500 например, а на выключение 1 бит в 500.

Читаю ПЛК по Modbus регистр, бит 0 меняется от нажатия на кнопку, а вот 1 бит нет. Реально сделать такое? Или необходимо выделять под каждый бит регистр PSW?

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

smashrod
10.11.2011, 17:37
получатеся используются три регистра по два байта ради полезных трех бит ((( Поэтому я хотел менять отдельные биты одного регистра, чтобы читалось всего два байта.

capzap
10.11.2011, 17:47
получатеся используются три регистра по два байта ради полезных трех бит ((( Поэтому я хотел менять отдельные биты одного регистра, чтобы читалось всего два байта.

я писал про один и тот же регистр: значения 1,2 и 3, в двоичной системе это будет 001, 010 и 011, два бита одного регистра. Четыре это 2 разряд, восемь - третий и т.д.

smashrod
11.11.2011, 11:04
а как сделать так, чтобы писались именно значения? Мне казалось что когда настраиваешь регистр, то указывается в первом поле адрес регистра, а во втором изменяемый бит. А как записать туда цифру?

capzap
11.11.2011, 12:11
мне кажется разговор должен идти о функциональной кнопке с функцией ввод данных, а не о кнопке управления битом

smashrod
11.11.2011, 18:48
все, идею понял, так да, сделаю именно так, кстати, а она может сделать нажатие, чтобы выдать импульс в переменную например 2 кой, а потом опять нули?

capzap
13.11.2011, 10:15
я поступаю следущим образом, делаю панель слейвом, причем не важно что делает кнопка, с битами работает или регистрами, мастер получив изменение обрабатывает его и пишет в этот регистр начальное значение. Например кнопкой передал число пять, по состоянию нулевого разряда запустил один ФБ, по состоянию второго разряда выполнил некую функцию, соответственно по первому разряду условие не выполнилось, на следущем цикле ПЛК записал в регистр ноль, прочитав его ни одно из условий не выполнилось

PS в СП-270 кажется можно и скрипт написать который выполнит необходимые действия с регистром