PDA

Просмотр полной версии : Запуск/остановка программы технолога ТРМ251 с ПР200



RahuDev
04.02.2020, 15:38
Приветствую.

Пытаюсь запускать/останавливать программу технолога с ПР200. Может, что-то недопонимаю и не так делаю. Подскажите пож-та, как правильно. Логика действий такова:


Из документации ТРМ251:

Таблица 3.2 Команды чтения/записи групп параметров
Пуск/останов Программы технолога, функция записи - 0x05

Таблица 3.6
Команда пуск/останов программы технолога: регистр 0х0050, тип Int16, Передаваемые значения: 0xFF00 – пуск, 0x0000 – останов.



В OwenLogic в настройках прибора ПР200 функцию записи 0х05 можно выбрать только для битовой переменной, а для целочисленной - только 0x06 или 0x10.


Пишу с ПР200 регистр 0х0050 ТРМ251. Соответственно, ни битовая переменная с функцией записи 0x05, ни целочисленная с 0x06 не меняет состояния программы технолога.

Ревака Юрий
05.02.2020, 10:27
Приветствую.

Пытаюсь запускать/останавливать программу технолога с ПР200. Может, что-то недопонимаю и не так делаю. Подскажите пож-та, как правильно. Логика действий такова:


Из документации ТРМ251:

Таблица 3.2 Команды чтения/записи групп параметров
Пуск/останов Программы технолога, функция записи - 0x05

Таблица 3.6
Команда пуск/останов программы технолога: регистр 0х0050, тип Int16, Передаваемые значения: 0xFF00 – пуск, 0x0000 – останов.



В OwenLogic в настройках прибора ПР200 функцию записи 0х05 можно выбрать только для битовой переменной, а для целочисленной - только 0x06 или 0x10.


Пишу с ПР200 регистр 0х0050 ТРМ251. Соответственно, ни битовая переменная с функцией записи 0x05, ни целочисленная с 0x06 не меняет состояния программы технолога.

Добрый день, если правильно помню, для 5 функции там 80 регистр должен быть, смотрите как считается адресация в Help для bool 5х16=80

RahuDev
05.02.2020, 20:01
Доброго времени суток.

Еще раз попробовал. Регистр сетевой переменной в ТРМ251 = 80(=0x50), функция записи 0х05. Бит пробовал и 0 и 15. Пишу с ПР200 константу =0.
В настройках прибора ПР200 в OwenLogic галочка "Запись по изменению" снята, опция "Запуск записи" не выбрана. Ожидаю, что программа технолога будет после запуска кнопкой ТРМ251 сразу же останавливаться. Но нет, программа технолога кнопкой включается и работает дальше.

про 5х16=80 не понял. к чему это применить?

Остановка/блокирование запуска программы технолога в целом устроит => если есть другой способ - подскажите, не буду мучаться.

На всякий: связь есть; чтение режима, шага программы, температуры из ТРМ251 в ПР200 работает. Увы, кабеля RS485 не имею, посмотреть данные и вручную что-то отправить не могу.

Ревака Юрий
06.02.2020, 10:48
Доброго времени суток.

Еще раз попробовал. Регистр сетевой переменной в ТРМ251 = 80(=0x50), функция записи 0х05. Бит пробовал и 0 и 15. Пишу с ПР200 константу =0.
В настройках прибора ПР200 в OwenLogic галочка "Запись по изменению" снята, опция "Запуск записи" не выбрана. Ожидаю, что программа технолога будет после запуска кнопкой ТРМ251 сразу же останавливаться. Но нет, программа технолога кнопкой включается и работает дальше.

про 5х16=80 не понял. к чему это применить?

Остановка/блокирование запуска программы технолога в целом устроит => если есть другой способ - подскажите, не буду мучаться.

На всякий: связь есть; чтение режима, шага программы, температуры из ТРМ251 в ПР200 работает. Увы, кабеля RS485 не имею, посмотреть данные и вручную что-то отправить не могу.

Что Вы хотите от ПР, какую команду он должен выдать на ТРМ? Со стороны ПР работа с 5 функцией (адресацией регистров) требует пересчета в регистр и номер бита, об этом я и пытался написать. Если нужен 80 адрес, со стороны OL это будет 5 регистр 0 бит, вроде так.

RahuDev
08.02.2020, 02:49
Хочу с ПР запускать/останавливать программу технолога в ТРМ.

А именно(из документации на ТРМ251):
47182
и
47183

Ревака Юрий
11.02.2020, 13:52
Хочу с ПР запускать/останавливать программу технолога в ТРМ.

А именно(из документации на ТРМ251):
47182
и
47183

Вот так попробуйте.

RahuDev
12.02.2020, 03:17
Благодарю.

Пока нет, не помогло. Помимо того, что просто не заработало, возникает конфликт с регистром температуры по адресу 04(напомню, температура работает правильно). До кучи, температура работает правильно только когда данные идут "Старшим регистром вперед" и не "Старшим байтом вперед", иначе значение неверное.

Ревака Юрий
12.02.2020, 14:01
Благодарю.

Пока нет, не помогло. Помимо того, что просто не заработало, возникает конфликт с регистром температуры по адресу 04(напомню, температура работает правильно). До кучи, температура работает правильно только когда данные идут "Старшим регистром вперед" и не "Старшим байтом вперед", иначе значение неверное.

Можно скрин настройки регистров, версию OL, в идеале посмотреть бы на проект. Что касается порядка следования регистров, как в ТРМ сделано, в Owenlogic можно только подобрать режим, влиять на это нет возможности.

RahuDev
16.02.2020, 21:05
Буду очень благодарен, если посмотрите проект.

Версия OL 1.16.233.20405

47358

Проект (https://yadi.sk/d/phTcCNqOnPdCKQ)

Ревака Юрий
16.02.2020, 23:15
Буду очень благодарен, если посмотрите проект.

Версия OL 1.16.233.20405

47358

Проект (https://yadi.sk/d/phTcCNqOnPdCKQ)

Постараюсь завтра посмотреть, но уже вижу 80, это не правильно.


Посмотрел, для вкл/выкл программы изменил на 5 регистр 0 бит, для ТРМ это 5х16=80, еще убрал функцию записи для регистра температуры, которую читаем из прибора, судя по тому, что в свойствах экрана выбрано не редактировать, писать туда ничего не нужно, соответственно и команда записи не нужна, так же добавил режим записи по изменению.