PDA

Просмотр полной версии : Помогите советом ПР200



confiden
17.12.2015, 08:56
Доброе утро. Подскажите советом, не могу сообразить .
Каким образом произвести преобразование двоичного четырех разрядного слова( буду формировать на I1,I2,I3,I4) в
переменную INT для дальнейшей обработке в программе?

Большое спасибо

Сергей0308
17.12.2015, 10:53
Чем функция PUTBIT не устраивает?

zamnarzanom
17.12.2015, 11:29
вот так только три входа, но принцип ясен будет
типа ЦАП соорудить21379
только не пойму, почему не симулирует, но принцип должен быть понятен.

zamnarzanom
17.12.2015, 11:33
ан нет, попробовал сейчас, всё работает.
вам нужно собрать дешифратор 4 в 16, можно макросом сделать потом.;)

Сергей0308
17.12.2015, 13:47
Какие у Вас весовые коэффициенты дискретных входов I1 - I4??? Соответственно 1-2-4-8 или другие?
С весовыми коэффициентами входов 1-2-4-8 как-то так:
21389

Eugene.A
17.12.2015, 13:56
ан нет, попробовал сейчас, всё работает.
вам нужно собрать дешифратор 4 в 16, можно макросом сделать потом.;)
Зачем дешифратор-то? Проще выбрать весовые коэффициенты входов 1-2-4-8.

confiden
17.12.2015, 14:48
спасибо большое за вашу помощь.
Сейчас немного отвлекся на другой проект. Переварю немного.

confiden
17.12.2015, 16:01
как то не понятно. предложенное вами очень просто с осмыслением. Но в эмуляторе такое почему то не работает.

Сергей0308
17.12.2015, 16:05
как то не понятно. предложенное вами очень просто с осмыслением. Но в эмуляторе такое почему то не работает.

Вот Вам проект, у меня почему-то всё работает! Может быть Вы в симуляторе пуск не нажали?
21392
Если Вас смущает простота, можно сделать вот так:
21393

confiden
17.12.2015, 17:07
все супер! все работает! но вот в чем дело. Полученное значение я хочу скидывать не на выход ПР. А в переменную типа float. и вот тут то я не могу никак посмотреть изменение данной переменной. Что я делаю не так?

Сергей0308
17.12.2015, 17:17
все супер! все работает! но вот в чем дело. Полученное значение я хочу скидывать не на выход ПР. А в переменную типа float. и вот тут то я не могу никак посмотреть изменение данной переменной. Что я делаю не так?

Наверно надо её на выход подать или сделать переменную энергонезависимой(галочку поставить)! Когда до выхода дойдёте, галочку наверно можно будет убрать!
21395

zamnarzanom
18.12.2015, 08:08
Вы определитесь с переменной или инт или флоат

vardan966
23.01.2016, 21:08
Подскажите пожалуйста можно ли на ПР200-24-2-1 сделать регулятор контактной сварки. Там фазовая регулировка мощности на тиристорах, модуляция и переход через нуль.

Павел Братковский
26.01.2016, 06:18
подскажите как при помощи ПР200 считать входы и управлять выходами МДВВ, связь между приборами настроил, а что дальше............я в тупике.

capzap
26.01.2016, 07:13
подскажите как при помощи ПР200 считать входы и управлять выходами МДВВ, связь между приборами настроил, а что дальше............я в тупике.
ищите в доках на мдвв регистр в котором лежат по разрядно все выхода, формируйте в пр слово, как Вы любите (через putbit либо еще как) и управляйте наздоровье, по входам тоже самое

Павел Братковский
26.01.2016, 08:01
спасибо!
все равно не понятно.....в доке написано Значение на выход №1 0,1 % 0...1000 int16 hex0000 dec0000.....какие значения на X и N ставить?


ищите в доках на мдвв регистр в котором лежат по разрядно все выхода

по ходу там 1 регистр один выход т.к. выход может работать в режиме ШИМ (не мой вариант т.к. у меня выходы реле), чего я добился это выход моргает...

capzap
26.01.2016, 08:08
таблица В4 регистры 50 и 51, а если всё же не хотите собирать дискретные сигналы в один регистр, тогда для вас на каждый выход должны быть два числа, это ноль и тысяча, это и будет для Вас выкл/вкл

Павел Братковский
26.01.2016, 08:15
таблица В4 регистры 50 и 51, а если всё же не хотите собирать дискретные сигналы в один регистр, тогда для вас на каждый выход должны быть два числа, это ноль и тысяча, это и будет для Вас выкл/вкл

вот так получается Спасибо огромное!

Павел Братковский
26.01.2016, 08:42
очередная засада, теперь уже с входами, согласно РЭ входа это счетчики импульсов, а мне нужен просто вход, пришло сработал, пропало отключился, как с этим бороться, как бы понимаю что в случае отсутствия сигнала нужно 0 вписывать, а как это сделать?

Павел Братковский
26.01.2016, 12:16
дошло, выкрутился вот так: 22028

capzap
26.01.2016, 12:55
проект не смотрел, но по предыдущему посту я так понял битовой маской категорически не хотите пользоваться
http://www.owen.ru/uploads/re_mdvv_2047.pdf страница 38, таблица В4 битовая маска входов регистр 51, далее в примечаниях пункт три описано расположение поразрядно все входа и выхода

Павел Братковский
26.01.2016, 14:51
я так понял битовой маской категорически не хотите пользоваться

почему не хочу, просто не умею....входы как я понял только битовой маской и получается в моем случае, как счетчики обнулять до меня так и не дошло...ну не кончал я институтов....

со входами надо разбираться...

капитан СПАСИБО!!!!!!!!!


далее в примечаниях пункт три описано расположение поразрядно все входа и выхода

это для Вас все понятно как день, а для меня только свет в конце тоннеля!!

Сергей0308
27.01.2016, 03:52
почему не хочу, просто не умею....входы как я понял только битовой маской и получается в моем случае, как счетчики обнулять до меня так и не дошло...ну не кончал я институтов....

со входами надо разбираться...

капитан СПАСИБО!!!!!!!!!



это для Вас все понятно как день, а для меня только свет в конце тоннеля!!

С входами как-то так:
22053

22054
Если Вам необходимы только состояния входов МДВВ, то счётчики Вас не должны интересовать!

Павел Братковский
27.01.2016, 05:21
спасибо Сергей!

с входами у меня так же, а с выходами выкручивался.....

Сергей0308
27.01.2016, 06:33
спасибо Сергей!

с входами у меня так же, а с выходами выкручивался.....

С выходами тоже как-то так:
22056
Если они пишутся по битовой маске!

Павел Братковский
27.01.2016, 06:45
спасибо!!! уже дошло...утро вечера и впрямь мудренее. только сделал вот так22058

у вас конечно рациональнее.....

осталось разобраться, как счетчики обнулять....

Сергей0308
27.01.2016, 08:09
спасибо!!! уже дошло...утро вечера и впрямь мудренее. только сделал вот так22058

у вас конечно рациональнее.....

осталось разобраться, как счетчики обнулять....

Так Вы насколько объяснили, вроде счётчики не используете, значит и обнулять их не имеет смысла! А вообще обнуляется, насколько успел понять записью "0" в соответствующий регистр(64-75), для каждого из 12 входов!

Павел Братковский
27.01.2016, 08:47
пока ни где не использую, так для общего развития, тем более МДВВ в наличии есть, пока тренируюсь, счетчики вряд ли понадобятся, но для общего развития можно позаморачиваться, регистр (64-75) читать получается, а если ставлю записать то там всегда 0....

Сергей0308
27.01.2016, 08:54
пока ни где не использую, так для общего развития, тем более МДВВ в наличии есть, пока тренируюсь, счетчики вряд ли понадобятся, но для общего развития можно позаморачиваться, регистр (64-75) читать получается, а если ставлю записать то там всегда 0....

Так надо наверно разовую запись по команде, а не постоянно "0" писать!

Павел Братковский
27.01.2016, 09:01
наверно, пробовал так, входную и выходную сетевые переменные соединяю между собой, в симуляторе какое бы значение не задал все одно 0, так бы через сел писал бы туда 0, но не судьба...все идеи кончались.........

Сергей0308
27.01.2016, 09:28
наверно, пробовал так, входную и выходную сетевые переменные соединяю между собой, в симуляторе какое бы значение не задал все одно 0, так бы через сел писал бы туда 0, но не судьба...все идеи кончались.........

Зачем Вам вообще счётчик сбрасывать, может в этом нет необходимости? Если есть, только вечером смогу что-то попробовать намалевать, сейчас нет ОЛ(116), только 51!

Павел Братковский
27.01.2016, 09:39
сугубо для интереса, мучаю модуль для опыта....

Сергей0308
27.01.2016, 19:32
наверно, пробовал так, входную и выходную сетевые переменные соединяю между собой, в симуляторе какое бы значение не задал все одно 0, так бы через сел писал бы туда 0, но не судьба...все идеи кончались.........

Я здесь тоже затрудняюсь что-то придумать, попробуйте так, коль есть на чём проверить:
22088
Это попытка сбросить счётчик 1 входа!
Не знаю, получиться или нет!

Павел Братковский
28.01.2016, 06:13
спасибо Сергей!!!

не получается, попробую у модераторов спросить....

по идее, как я думал сетевую переменную входную и выходную одну и ту же через сел соединяешь и по команде прописываешь 0, не прокатывает, энергонезависимость в самом модуле реализовано, ну да ладно, благо этот счетчик мне не нужен, так хотелось поиграться для общего развития....

Сергей0308
28.01.2016, 21:18
Сварганил что-то, похожее на Ваш счётчик и по сети(поставил перемычки между двумя интерфейсами) его сбрасываю, всё адекватно работает:
22130

Сергей0308
30.01.2016, 00:00
Тест автоматический, мы же не в каменном веке, чтобы на кнопки нажимать! Решил проблему так: создал входную сетевую переменную(Счет(чт)), в неё постоянно читается значение счётчика и отображается, если надо, на экране и выходную сетевую переменную(Счёт(зап)), из ней по команде "Запись" пишется "0" в регистр значения счётчика, в моём случае 512, в Вашем это регистры 64-75! Вроде, всё!

Павел Братковский
01.02.2016, 06:48
Сергей спасибо, к сожалению на данный момент занят, в ближайшее время обязательно проверю в железе.....

zamnarzanom
01.02.2016, 09:02
Господа, как поизящнее сделать детектор увеличения и уменьшения аналоговой переменной?
тоесть если переменная уменьшилась на 10уе, то на выходе получаем булевскую единицу.
Спасибо.

rovki
01.02.2016, 09:12
были гдето макросы...:confused:

zamnarzanom
01.02.2016, 11:08
чтото симуляция никак

zamnarzanom
01.02.2016, 11:09
были гдето макросы...:confused:

да, точно, нашёл!

rovki
01.02.2016, 14:57
да, точно, нашёл!
Ну значит не зря делал ...

Серёга Букашкин
02.02.2016, 13:21
На экране ПР200 редактируемые переменные выбираются кнопкой sel в хаотичном порядке. Что можно сделать чтобы было по порядку слева направо и от чего это зависит?

zamnarzanom
12.02.2016, 09:01
Ну значит не зря делал ...
подскажите, какая чувствительность у Вашего макроса?
или нечувствительность...

rovki
12.02.2016, 09:18
Вы ссылку дайте на макрос

zamnarzanom
16.02.2016, 09:14
Вектор изменения величины (Vip)

Серёга Букашкин
16.02.2016, 09:29
Если у ПР200 два слейва, то пользовательская зона адресов 512...576 у них общая? Опыт показывает что это так. По нормальному зоны адресов портов RS-485 не должны быть общими, и в РЭ об этом ни слова. Пожалуйста, подтвердите или опровергните, может что то не так программирую? Отдаю в сетевой регистр переменную на один порт и вижу ее в том же адресе на другом порте... однако.

Pavel_
19.02.2016, 10:45
На экране ПР200 редактируемые переменные выбираются кнопкой sel в хаотичном порядке. Что можно сделать чтобы было по порядку слева направо и от чего это зависит?
Редактируемые переменные выбираются кнопкой SEL не в хаотичном порядке, а последовательно, согласно их очередности добавления на экран, и последующий выбор возобновляется с последней редактируемой переменной (если не было выкл. питания прибора).

Павел Братковский
23.02.2016, 09:12
что-то не так, или я где то туплю....

экспериментирую со связкой ПР200+ип320 мастер 1слот, мдвв+мва8 второй слот.....гляньте кому не лень, счетчики в мдвв с экрана пр200 задаются установкой значения, а с ип 320 не хотят

22798
22799

Мордорец
23.02.2016, 15:11
как то оно странно получается.на конфликт похоже. Редактирование и с ИП320, и с ПР200. А если с ПР200 редактирование отключить, с ИП320 редактироваться будет?

rovki
23.02.2016, 17:22
Я так понял ,что это фрагмент проекта ,иначе макросы зачем нужны...

Павел Братковский
24.02.2016, 07:18
Я так понял ,что это фрагмент проекта ,иначе макросы зачем нужны...

это не совсем фрагмент, тренировка для осознания...учусь так сказать.

косяк в принципе понял в чем, получается так, беру сетевую переменную входящую 64 рег. из модуля в пр200 ее вывожу на экран, все хорошо, для того что бы вывести ее на ип320, создаю выходную переменную 514 рег. т.к. переменная выходная, она и не редактируется, пробовал в ип320 прописывать 64рег. вылазит потеря связи......дальше ступор.