Просмотр полной версии : Связь ПР200 с СИ30
Здравствуйте, осваивая ПР200 с СИ30, не могу прочитать текущее значение счетчика импульсов (Ctr)/
В макете схемы это переменная - ctu111. На экране(экран2) ПР200 хотелось бы видеть изменения показаний
СИ30. Выход на индикатор F2 сделан для наглядности .
Работа на изменение уставки (ust1)-U1 СИ30 проходит нормально.
Заранее спасибо.
nauki7139@mail.ru
Ревака Юрий
21.11.2016, 13:27
Здравствуйте, осваивая ПР200 с СИ30, не могу прочитать текущее значение счетчика импульсов (Ctr)/
В макете схемы это переменная - ctu111. На экране(экран2) ПР200 хотелось бы видеть изменения показаний
СИ30. Выход на индикатор F2 сделан для наглядности .
Работа на изменение уставки (ust1)-U1 СИ30 проходит нормально.
Заранее спасибо.
nauki7139@mail.ru
Дело в том, что для уставки и значения счетчиков применяется формат LONG 4 байта, а у Вас идет чтение только 2 байт, скорее всего задание уставки будет работать тоже не полностью, макс. 65535. Посмотрю что можно придумать. Во вложении адреса выделил красным, которые нужны для работы.
Ревака Юрий
21.11.2016, 16:34
В прикрепленном файле вариант настроенный для считывания INPUT регистров счета, которые называются "Текущее значение счетчика" и "Текущее значение счетчика физических величин". В принципе так можно считывать любые параметры в формате LONG, счетчик который у Вас устанавливается я не изменял, но стоит обратить внимание на то, что в таком режиме нет возможности задать уставку больше 65535, если необходимо больше, нужно писать в 2 регистра 12 и 13 соответственно, для 1 уставки или 14, 15 для второй.
Спасибо , все получилось!!!!
Serega_NT
25.09.2026, 12:36
Нифига не работает! опрашивать то опрашивает, но выдает полную чушь. Даже использовал шаблон для СИ30, не помогло. И по отдельности регистры опрашивал и вместе и игрался с настройками порядка расположения байтов и регистров. Даже пробовал изменить тип опрашиваемого значения с целочисленного на число с плавающей запятой. Ничего не работает!
Нифига не работает! опрашивать то опрашивает, но выдает полную чушь. Даже использовал шаблон для СИ30, не помогло. И по отдельности регистры опрашивал и вместе и игрался с настройками порядка расположения байтов и регистров. Даже пробовал изменить тип опрашиваемого значения с целочисленного на число с плавающей запятой. Ничего не работает!
Скорее всего проблема в том, что вы переменную "Пуск" привязали сразу к нескольким системным действиям.
Не надо так делать. И не надо одну и туже переменную использовать для запуска чтения/записи у нескольких сетевых переменных
И хотелось бы увидеть, что за чушь выдает прибор
kondor3000
25.09.2026, 14:02
Шаблон не надо было трогать и проблем бы не было.
Переменную Пуск из окон Опрос и Запуска чтения надо вообще удалить. Чтение сделать циклическим 100 мс, везде.
Serega_NT
25.09.2026, 14:30
Скорее всего проблема в том, что вы переменную "Пуск" привязали сразу к нескольким системным действиям.
Не надо так делать. И не надо одну и туже переменную использовать для запуска чтения/записи у нескольких сетевых переменных
И хотелось бы увидеть, что за чушь выдает прибор
90498
Вот такую чушь выдает
Serega_NT
25.09.2026, 14:33
Шаблон не надо было трогать и проблем бы не было.
Переменную Пуск из окон Опрос и Запуска чтения надо вообще удалить. Чтение сделать циклическим 100 мс, везде.
Слелал как написано. не изменилось ровным счетом ничего
Serega_NT
25.09.2026, 14:37
[QUOTE=kondor3000;488437]Шаблон не надо было трогать и проблем бы не было.
Пробовал изначально без шаблона - вообще отказывался опрашивать счетчик
kondor3000
25.09.2026, 14:37
90498
Вот такую чушь выдает
Так у вас в переменных по ходу регистры (байты) переставлены.
Вы шаблоном пользуйтесь, только отсебятину удалите.
Serega_NT
25.09.2026, 14:57
Так у вас в переменных по ходу регистры (байты) переставлены.
Вы шаблоном пользуйтесь, только отсебятину удалите.
Да я уже всяко переставлял галки и старшим байтом вперед и регистром назад. тут вариантов то всего - 4, я их все перепробовал. ничего не работает. Цифры конечно каждый раз разные и ни одного правильного
kondor3000
25.09.2026, 15:00
Да я уже всяко переставлял галки и старшим байтом вперед и регистром назад. тут вариантов то всего - 4, я их все перепробовал. ничего не работает. Цифры конечно каждый раз разные и ни одного правильного
Судя по огромным числам у вас счёт идёт в обратную сторону.
Как сделать правильно, создать новый проект, добавить шаблон и вывести только счёт СИ30 на поле программы.
Добиться, чтобы правильно показывало. Далее перенести настройки в проект.
Serega_NT
25.09.2026, 15:00
К стати в физических величинах (CEU) всегда 0 выдает
Serega_NT
25.09.2026, 15:11
Судя по огромным числам у вас счёт идёт в обратную сторону.
Ну правильно. Это программа управления установкой ТВЧ. У него нулевая точка вверху, индуктор опускается сначала быстро вниз до уставки 1, затем включает ТВЧ установку и спреер и медленно поднимает вверх до уставки 2, после чего быстро возвращается в ноль. Есть вариант программы где ноль внизу. Все зависит от обрабатываемой детали и как ее удобнее снимать из под индуктора или над индуктором. Соответственно когда идет индуктор вниз, то и значения отрицательные и уставок и текущего положения. Вот эту цифру мне и надо получить, потому что бывают детали где нужно на валу например закалить концы, а центр оставить незакаленным соответственно нужно 2 зоны калить и желательно за один проход и в автоматике. на данный момент такие детали калятся в ручном режиме.
kondor3000
25.09.2026, 15:15
Ну правильно. Это программа управления установкой ТВЧ. У него нулевая точка вверху, индуктор опускается сначала быстро вниз до уставки 1, затем включает ТВЧ установку и спреер и медленно поднимает вверх до уставки 2, после чего быстро возвращается в ноль. Есть вариант программы где ноль внизу. Все зависит от обрабатываемой детали и как ее удобнее снимать из под индуктора или над индуктором. Соответственно когда идет индуктор вниз, то и значения отрицательные и уставок и текущего положения. Вот эту цифру мне и надо получить, потому что бывают детали где нужно на валу например закалить концы, а центр оставить незакаленным соответственно нужно 2 зоны калить и желательно за один проход и в автоматике. на данный момент такие детали калятся в ручном режиме.
У вас на скрине число -104 (65432), так как в ПР нет отрицательных чисел, надо использовать функции конвертации, где отрицательные передаются Доп. кодом,
например число -1 это 4294967295. Так как 2 регистра, то используйте не INT а DINT.
Функции FLOAT_TO_DINT и DINT_TO_FLOAT на ST____ https://owen.ru/forum/showthread.php?t=22915&page=311&p=429821#post429821
Serega_NT
25.09.2026, 16:05
У вас на скрине число -104 (65432), так как в ПР нет отрицательных чисел, надо использовать функции конвертации, где отрицательные передаются Доп. кодом,
например число -1 это 4294967295. Так как 2 регистра, то используйте не INT а DINT.
Функции FLOAT_TO_DINT и DINT_TO_FLOAT на ST____ https://owen.ru/forum/showthread.php?t=22915&page=311&p=429821#post429821
Наконец-то дело сдвинулось с мертвой точки. получил исходные данные, причем, как я опробовал, даже не обязательно оба байта считывать, достаточно только второго. вопрос сейчас в другом встал. Уставки с прибора считываются встроенной функцией и без лишних шаманских бубнов и функцией DINT_TO_FLOAT превращаются в текущие значения, а встроенная функция считывания параметра CEU не считывает вообще ни чего, хотя берет данные с тех же адресов. Ну да ладно, это я еще продолжу эксперименты в понедельник. Главное что уже есть хоть чтото и можно уже писать программу дальше. Спасибо за помощь!90501
kondor3000
25.09.2026, 17:00
Наконец-то дело сдвинулось с мертвой точки. получил исходные данные, причем, как я опробовал, даже не обязательно оба байта считывать, достаточно только второго. вопрос сейчас в другом встал. Уставки с прибора считываются встроенной функцией и без лишних шаманских бубнов и функцией DINT_TO_FLOAT превращаются в текущие значения, а встроенная функция считывания параметра CEU не считывает вообще ни чего, хотя берет данные с тех же адресов. Ну да ладно, это я еще продолжу эксперименты в понедельник. Главное что уже есть хоть чтото и можно уже писать программу дальше. Спасибо за помощь!
Только не второго байта, а второго регистра. Байт до 255, регистр до 65535, тип WORD (INT, UINT).
Если что есть реверсивный счётчик СИ130 https://owen.ru/product/si130
Сергей0308
25.09.2026, 20:06
Только не второго байта, а второго регистра. Байт до 255, регистр до 65535, тип WORD (INT, UINT).
Если что есть реверсивный счётчик СИ130 https://owen.ru/product/si130
Так СИ30, что у товарища тоже реверсивный счётчик.
Даже один из самых первых СИ8 тоже реверсивный счётчик, в чём прикол не понял!
Serega_NT
28.09.2026, 13:46
Разобрался почему параметр CEU не считывался. убрал считывание по регистрам с адресов 2 и 3 переменные Var1 Var2 вообще удалил, оставил только двухрегистровый опрос CEU и все заработало.
Теперь другой вопрос возник - как можно извне еще 2 промежуточные уставки задавать? в СИ30 их только две, а для моей задачи надо 4 (нижняя и верхняя граница термообработки нижнего края вала и еще 2 уставки верхней зоны термообработки? Я конечно сейчас сделаю это внутренними константами, но тогда каждый раз при переходе на другой тип вала придется и программу перезаливать каждый раз.
Было бы не плохо иметь какой ни будь задатчик, посредством которого оператор сам бы менял границы термообработки. Тем более что я счетчик коэффициентом подогнал чтобы он отображал значение позиции в милиметрах
kondor3000
28.09.2026, 16:19
Разобрался почему параметр CEU не считывался. убрал считывание по регистрам с адресов 2 и 3 переменные Var1 Var2 вообще удалил, оставил только двухрегистровый опрос CEU и все заработало.
Теперь другой вопрос возник - как можно извне еще 2 промежуточные уставки задавать? в СИ30 их только две, а для моей задачи надо 4 (нижняя и верхняя граница термообработки нижнего края вала и еще 2 уставки верхней зоны термообработки? Я конечно сейчас сделаю это внутренними константами, но тогда каждый раз при переходе на другой тип вала придется и программу перезаливать каждый раз.
Было бы не плохо иметь какой ни будь задатчик, посредством которого оператор сам бы менял границы термообработки. Тем более что я счетчик коэффициентом подогнал чтобы он отображал значение позиции в милиметрах
Сделайте 2 (или все 4) уставки задаваемые с экрана ПР200, а расчёт в программе ПР.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot