Согласен, изобретать велосипед не к чему:-)
Согласен, изобретать велосипед не к чему:-)
Ну вот, сегодня, значится, былf попытка соединения ПЛК-150-I.M. с частотником от ВЕСПЕРа. Попытка успехом не увенчалась.
Для соединения использовался интерфейс RS-232 и кабель (Rx,Tx,GND).
В конфигураторе был добавлен Modbus master с интерфейсом связи RS-232. А дальше начались чудеса. При попытке логина из Codesys вылетае непонятное сообщение об ошибке.
Причем так и не удалось выяснить закономерность появления этого сообщения. Иногда после ресета ПЛК оно не выдается. Прошивка ПЛК и таргеты версии 2.
Затем в Modbus Master был добавлен Universal Modbus Device (NetMode = Serial). Проводилось считывание Last Error. При этом, в некоторых случаях она равнялась 0 (т.е. соединение установлено), а в некоторых 81 (таймаут ожидания - например, не подключен кабель к частотнику). Иногда после повторного логина выдается указанное выше сообщение и ПЛК словно подвисает - Last Error равен 0 или 81 и на ее значение не влияет, подключен ли кабель к частотнику или нет. Вывести его ступора иногда получается, выполнив ресет. Но какой-либо точной взаимосвязи тоже установить не удалось.
Что это может быть? Как решить проблему?
Данная проблема заключатся в том что если верхний (DBGU ) порт используется в программе необходимо выставить его режим как не CoDeSys. Это возможно двумя путями 1) Исп кабель без перемычки 2) Установить на верхней плате джампик и исп. стандартный кабель. А теперь главное - после указанной ранее установки нужно перезагрузить контроллер resetом. Т.к. режим использования порта определяется ТОЛЬКО при загрузке контроллера. Проверить режим DBGU можно просмотрев лог загрузки гипертерминалом. Строк в конце:
Special cable detected...
Switch top RS to CoDeSys mode...
не должно быть
С ПЧ я бы все же соединялся через RS-485... помехи еще никому жить не помогали, это ж частотник....
Да, по поводу кабеля уже прочел соседний топик. вот еще теперь вопрос: например, есть у частотника, с которым я соединяюсь, регистр 0123H, в котором хранится текщее значение выдаваемой частоты. Судя по всему, значение real, т.к. на дисплее отображается чило с плавающей точкой. Мне нужно получить это значение в программу ПЛК.
1. Какой именно подэлемент Universal modbus device нужно добавить? (Я так понимаю, что это должен быть input)
2. Какое значение указывать у параметра Command?
там не число с плавающей точкой, а обычное uint
Поэтому смело берете register input module, далее делите на 100 иприсваиваете real переменной, получаете значение частоты с точность 0.01 Гц
Command - 0x03
если сумбурно рассказал, то вот так:
real_out:=int_register/100;
Где int_register - это Register input module (word)
real_out - Частота на ПЧ в формате Real с двумя знаками после запятой.
Последний раз редактировалось Василий Куц; 22.08.2007 в 10:06.
Было бы чудесно, если бы Вы выложили примеры для ваших частотников (достаточно описания PLC Configuration) в форуме ПЛК-Примеры - народ бы смотрел и пользовал.
Да, кстати, забыл сказать.... в регистре 0123H хранится не значение выдаваемой частоты, а задание на частоту, это немного разные вещи.
Задание - это то, что вы видите в простейшем случае на дисплее, даже в режиме стоп.
Частота на выходе (она хранится в 0124Н) это.... частота на выходеТ.е. в режиме СТОП/ПАУЗА там будет 0, после подачи СТАРТ значение будет увеличиваться до значения задания.
Советую ознакомиться с данной документацией.
03 - чтение
06 - запись
Протокол Modbus E2-8300 .rar