PDA

Просмотр полной версии : ПЛК 150 + М7055



Радик
22.12.2006, 13:28
Здравствуйте.
К ПЛК по RS485 подключен модуль М-7055("ICP DAS" 8 цифровых входов, 8 цифровых выходов).Используется протокол DCON.
Выходы изменить могу, а входы увидеть - нет.
Нельзя ли выслать примерный файл конфигурации.

Филоненко Владислав
22.12.2006, 15:27
Здравствуйте.
К ПЛК по RS485 подключен модуль М-7055("ICP DAS" 8 цифровых входов, 8 цифровых выходов).Используется протокол DCON.
Выходы изменить могу, а входы увидеть - нет.
Нельзя ли выслать примерный файл конфигурации.

А зачем вы опрашиваете модуль, поддерживающий ModBus, по DCON?:eek: :eek: :eek:
Какая у вас версия прошивки?

Радик
25.12.2006, 10:53
А зачем вы опрашиваете модуль, поддерживающий ModBus, по DCON?:eek: :eek: :eek:
Какая у вас версия прошивки?

Версия 1.29.7.
На DCON есть русская документация.

Филоненко Владислав
25.12.2006, 11:49
Прошейтесь прошивкой 1.30.9, там исправлена ошибка с разбором ответа от прибора (альтернатива - оставляйте пустой строчку "Bad Ansver")

Радик
25.12.2006, 12:39
А как это делается?
Я нигде не нашел описания процесса перепрошивки.

Филоненко Владислав
25.12.2006, 13:07
А как это делается?
Я нигде не нашел описания процесса перепрошивки.

Скачайте прошивку и следуйте инструкциям:
http://www.owen.ru/documents/catalog/files/1_30_09_plc150.rar

Радик
25.12.2006, 13:54
После прошивки смог прочитать данные с I-7018.
Но при повторном включении уже нет.

Филоненко Владислав
25.12.2006, 14:15
Повторном включении чего?
Поподробнее, пожайлуста.

незарегистрированный
25.12.2006, 15:31
Повторном включении чего?
Поподробнее, пожайлуста.
При первом после прошивки включении ПЛК, в строке под "Float output[VAR]" в меню "PLC config." отразилось значение входа I-7018.
После выключения и включения ПЛК показывает "0", а в поле статуса "80".

Филоненко Владислав
25.12.2006, 16:11
При первом после прошивки включении ПЛК, в строке под "Float output[VAR]" в меню "PLC config." отразилось значение входа I-7018.
После выключения и включения ПЛК показывает "0", а в поле статуса "80".

1. Делали ли Вы BootProject?
2. Повторное включение - это перезагрузка или просто на небольшое время вкл/выкл.?
3. 80-в какой системе исчисления?
4. Не могли бы Вы выслать проект с настройками?

незарегистрированный
26.12.2006, 11:02
1. Делали ли Вы BootProject?
2. Повторное включение - это перезагрузка или просто на небольшое время вкл/выкл.?
3. 80-в какой системе исчисления?
4. Не могли бы Вы выслать проект с настройками?

1. Делал.
2. на небольшое время вкл/выкл.
3. в десятичной.
4. Как.

Попробовал по Modbus RTU- нормально считывает. Но нам нужен DCON,
так как мы еще используем терминал DK-8070, а он поддерживает только DCON.

Филоненко Владислав
26.12.2006, 11:09
Добрый день!
Просто заархивируйте файл с расширением pro и в расширенном режиме ответа прикрепите.

Радик
26.12.2006, 11:24
Вот файл.
С уважением.

Филоненко Владислав
26.12.2006, 12:00
На первый взгляд, все в порядке

А после перезагрузки все работает нормально?

1. Проверьте, правильно ли заданы адрес и номер канала прибора.
2. Настоятельно рекомендую использовать контрольные суммы, т.к.
по опыту работы большой процент бракованных пакетов при обмене с DCON
устройствами!
3. Проверьте, не поменялась ли конфигурация каналов прибора, возможна след. ситуация - при вкл/выкл. питания (в этот момент питание на сом-интерфейсы не подается) на прибор была послана пачка, к-ю прибор воспринял как настройку (CRC то нет!) и теперь отвечает неправильно
4. Вместо float output можно вставить string output, а в поле разбора ответа
поместить [8s] и посмотреть, что-же посылает прибор. Еще лучше прослушать линию (если есть такая возможность)

Радик
26.12.2006, 15:02
На первый взгляд, все в порядке

А после перезагрузки все работает нормально?

1. Проверьте, правильно ли заданы адрес и номер канала прибора.
2. Настоятельно рекомендую использовать контрольные суммы, т.к.
по опыту работы большой процент бракованных пакетов при обмене с DCON
устройствами!
3. Проверьте, не поменялась ли конфигурация каналов прибора, возможна след. ситуация - при вкл/выкл. питания (в этот момент питание на сом-интерфейсы не подается) на прибор была послана пачка, к-ю прибор воспринял как настройку (CRC то нет!) и теперь отвечает неправильно
4. Вместо float output можно вставить string output, а в поле разбора ответа
поместить [8s] и посмотреть, что-же посылает прибор. Еще лучше прослушать линию (если есть такая возможность)

после загрузки новой версии (1.30.9) я включил ПЛК , загрузил мою программу(нажал Login) и он однократно показал считанные с модуля данные. Потом я выключил ПЛК, включил, снова нажал Login. С тех пор я данных не видел.
Я прослушиваю линию и вижу что с ПЛК на модуль(I-7018) идет правильная посылка и с модуля тоже идет правильный ответ.
Сейчас попробую с CRC.

Филоненко Владислав
26.12.2006, 15:13
А вы не пробовали reset нажать?

Радик
03.01.2007, 14:39
С Новым Годом Уважаемые.
Наладить обмен ПЛК150 и М-7055 по протоколу DCON
удалось только подняв скорость обмена до 57600 кб.
Другой Вопрос.
Может ли ПЛК150 одновременно работать по протоколу DСON
и ОВЕН.

Филоненко Владислав
09.01.2007, 10:48
Да, но на разных физич. линиях.
На одной то-же можно, но будут отдельные ошибки и обязательно исп. CRC для того, чтобы приборы могли распознать свой пакет. Однако такой режим нежелетелен, т.к. потенциально возможна ситуация, когда один прибор воспримет посылку к другому на друдом протоколе как свою. Вероятность мала, но реальна.

Радик
09.01.2007, 14:46
Да, но на разных физич. линиях.
На одной то-же можно, но будут отдельные ошибки и обязательно исп. CRC для того, чтобы приборы могли распознать свой пакет. Однако такой режим нежелетелен, т.к. потенциально возможна ситуация, когда один прибор воспримет посылку к другому на друдом протоколе как свою. Вероятность мала, но реальна.

Есть работающий проект с модулем DCON(Мастер) .Работает на RS-485 (57600 бод).
Вставляю модуль Овен(Мастер) (PLC config ) , делаю “Rebuld” «Login» “Run”.
Овен(Мастер ) работает , а модуля DCON(Мастер) как будто вообще нет.(активность на линии я контролирую).
Если я добавляю модуль Овен(мастер) после модуля DCON то после “Rebuld” сообщает об ошибке
‘Error 3454 "The address '<name>' points to an used memory!"

Филоненко Владислав
09.01.2007, 17:07
Есть работающий проект с модулем DCON(Мастер) .Работает на RS-485 (57600 бод).
Вставляю модуль Овен(Мастер) (PLC config ) , делаю “Rebuld” «Login» “Run”.
Овен(Мастер ) работает , а модуля DCON(Мастер) как будто вообще нет.(активность на линии я контролирую).

К сожалению, мы не предполагали, что кто-либо будет использовать 1 физ. линию для одновременной работы нескольких мастеров. Поэтому по умолчанию включен только 1 экземпляр интерфейса (1-й), остальные находятся в состоянии остановки.
Для их работы необходимо их запустить. Это можно сделать сл. образом.
а) Добавляем модуль UNM и устанавливаем его на требуемый нам интерфейс (в данном сл. Rs-485).
б) Подключаем библиотеку UNM.lib
в) В программе ПЛК при старте выполняем сл. действия: вызываем функцию LockDevice(0); затем ReleaseDevice(0);, где 0 - номер модуля UNM.
После этих манипуляций все экземпляры интерфейсов у всех мастеров переходят в состояние Run.


Если я добавляю модуль Овен(мастер) после модуля DCON то после “Rebuld” сообщает об ошибке
‘Error 3454 "The address '<name>' points to an used memory!"


Ошибка 3454 связана с неправильной интерпретацией компилятором CoDeSys-а информации о размерах и выравнивании модулей в конфигурации.
К сожалению, эта ошибка еще не исправлена фирмой 3S. Как выход, могу посоветовать добавлять промежуточные модули или доп-е неиспользуемые переменные.

Радик
10.01.2007, 09:02
Попробовал – не получается.
Вот проект с вашими инструкциями.
Посмотрите, что не так.

Малышев Олег
10.01.2007, 10:44
Вы каждый раз инициируете модуль RS485. Это нужно сделать только при старте.
Нужно объявить переменную Started - признак что инициализация прошла.
PROGRAM PLC_PRG
VAR
started:BOOL:=FALSE;
END_VAR

В программе нужно сделать однократную инициализацию модуля.
IF NOT started THEN
LockDevice(0);
ReleaseDevice(0);
Started:=TRUE;
END_IF

незарегистрированный
10.01.2007, 11:41
Вы каждый раз инициируете модуль RS485. Это нужно сделать только при старте.
Нужно объявить переменную Started - признак что инициализация прошла.
PROGRAM PLC_PRG
VAR
started:BOOL:=FALSE;
END_VAR

В программе нужно сделать однократную инициализацию модуля.
IF NOT started THEN
LockDevice(0);
ReleaseDevice(0);
Started:=TRUE;
END_IF

Не помогает.

Радик
10.01.2007, 14:40
Может есть еще варианты?
Прошил версией 1.31.1.- тоже самое.

Филоненко Владислав
10.01.2007, 15:06
Мы дополнительно протестируем этом момент и выдадим свои рекомендации

Филоненко Владислав
11.01.2007, 13:02
Подготовлена версия прошивки 1.31.2, в которой работает функция одновременной работы по неск. протоколам на одном интерфейсе.
Она будет в ближайшее время выложена на сайте + я могу разослать ее всем желающим по почте

МИХАИЛ
11.01.2007, 13:20
Владислав пожалуйста вышлите 1.32.2 на мой E-mail GALANT@KALUGA.RU.
С уважением Михаил.

Филоненко Владислав
11.01.2007, 14:35
Хотелось бы дополнительно отметить, что при работе 2-х и более мастеров на одной физ. линии они будут конфликтовать друг с другом. Для снижения числа коллизий необходимо:
1. Не выставлять одинаковые, кратные или близкие к ним времена опросов
мастеров.
2. Для мастеров, работающих в режиме по команде/смене значения ставить число повторов >0 (ModBus) или контролировать корректность завершения транзакции по каналу статуса.
3. В 1-м модуле физ-кого интерфейса (именно его настройки будут использоваться для инициализации драйвера последовательного порта) установить значение Framing Time больше чем максимальное безошибочное время ответа (максимум для всех приборов, нек-е приборы могут иметь время ответа до 100-150 мс). Этим вы гарантируете, что запросы различных мастеров будут идти с промежутком, достаточным для приема ответа от приборов. Особенно это важно в полудуплексных интерфейсах (RS-485).
4. Опрашивать приборы реже, чем при однопротокольном режиме
5. Максимально увеличить скорость передачи
6. Не использовать мультипротокольный режим:)

P.S. работа ПЛК в режиме мультипротокольного Slave-устройства не вызывает проблем с коллизиями:cool:

Радик
12.01.2007, 08:59
Подготовлена версия прошивки 1.31.2, в которой работает функция одновременной работы по неск. протоколам на одном интерфейсе.
Она будет в ближайшее время выложена на сайте + я могу разослать ее всем желающим по почте

Будте добры. " lpe@stn.com.ru ".

Радик
12.01.2007, 09:59
Прошу прощения . Еще ситуация.
Работа с пультом DK8070. Один Dcon(Мастер), 57600,несколько universal DCON device т.к. разный формат команд и ответов.Опрос "by command".
Если в результате опроса одного из девайсов не придет ответ, то начинается опрос всех устройств не взирая на "by command".

Филоненко Владислав
12.01.2007, 11:16
Прошу прощения . Еще ситуация.
Работа с пультом DK8070. Один Dcon(Мастер), 57600,несколько universal DCON device т.к. разный формат команд и ответов.Опрос "by command".
Если в результате опроса одного из девайсов не придет ответ, то начинается опрос всех устройств не взирая на "by command".

Устройства universal DCON device независимы друг от друга и не отсутствие ответа к одному никак не влияет на другие.

Повторяет запрос только тот модуль, к-й не получил ответ, причем если есть др. модули с большим приоритетом (т.е.) к-е дольше ожидают в очереди на запрос, отправят запрос раньше.

Радик
15.01.2007, 12:31
Посмотрите пожалуйста проект.
Если не приходит ответ во время вывода символа,
то начинается опрос всех устройств.
Это можно проверить и без пульта.

Филоненко Владислав
15.01.2007, 15:42
Посмотрите пожалуйста проект.
Если не приходит ответ во время вывода символа,
то начинается опрос всех устройств.
Это можно проверить и без пульта.

Да, проблема имела место быть...
Исправил, выслал вам на lpe@stn.com.ru

Радик
26.01.2007, 14:57
Еще вопрос.
Конфигурация ПЛК150 + М7055 +DK8070(пульт) работает.
Добавляю еще модуль М7055 - вместе с Codesys работает.
Делаю сreate boot и запускаю ПЛК150 без Codesys. ПЛК, похоже,
перезагружается несколько раз(пикает с интервалом ,где-то, 5 сек)
потом загорается "работа" но на шине тихо. На "login" не реагирует.
P.S. polling time=500ms.

Филоненко Владислав
29.01.2007, 09:22
Не могу ничего подсказать, т.к. поведение мастеров не зависит от того, как загружается проект.
Это единичный случай или постоянно с различными программами.

Радик
29.01.2007, 12:32
Не могу ничего подсказать, т.к. поведение мастеров не зависит от того, как загружается проект.
Это единичный случай или постоянно с различными программами.

Изменил программу, оставив всего 2 строки(
проект "amut_pult_klava3_0"), загрузил в ПЛК.
Выключил ПЛК, включил, - программа работает.
Добавляю в конфигурацию еще один universal device (модуль А4 М-7055 чтение) файл (amut_pult_klava3_1). делаю тоже самое - ПЛК пикает несколько раз с интервало 10-15 сек. и как будто зависает.
на Login отвечает "Communication error:Logout perfomed".

Филоненко Владислав
02.02.2007, 16:23
Изменил программу, оставив всего 2 строки(
проект "amut_pult_klava3_0"), загрузил в ПЛК.
Выключил ПЛК, включил, - программа работает.
Добавляю в конфигурацию еще один universal device (модуль А4 М-7055 чтение) файл (amut_pult_klava3_1). делаю тоже самое - ПЛК пикает несколько раз с интервало 10-15 сек. и как будто зависает.
на Login отвечает "Communication error:Logout perfomed".

Добрый день!
После долгого и упорного поиска ошибка поймана и жестоко убита.:D
Проблема касается всех, кто использует большое число модулей конфигурации (в среднем более 20-35 в зависимости от числа каналов и параметров в них).
Примечательно, что ошибка проявляется только при загрузке из BootProject.
Ядро CoDeSys тоже не избавлено от багов...:rolleyes:
Исправил, выслал вам на lpe@stn.com.ru
В скором времени появится на сайте.

Карнаухов Дмитрий
05.02.2007, 09:59
Подобным образом контроллер ведет себя при работе с МАВ8, если Frame oriented указать RTU, а Framing time ms - 2. Протокол овен. Все остальные насторойки по умолчанию. Если указать ASCII - связь надежная, правда пришлось увеличить max response delay до 100мс

Филоненко Владислав
05.02.2007, 10:35
Подобным образом контроллер ведет себя при работе с МАВ8, если Frame oriented указать RTU, а Framing time ms - 2. Протокол овен. Все остальные насторойки по умолчанию. Если указать ASCII - связь надежная, правда пришлось увеличить max response delay до 100мс

Уважаемый Дмитрий!
Протокол ОВЕН - ASCII протокол, поэтому не используйте RTU режим!

Радик
06.02.2007, 12:20
Здравствуйте.
Можно ли у ПЛК 150 уменьшить время измерения на аналоговых входах
до 0,5 с. И как это сделать.

Малышев Олег
06.02.2007, 12:48
Здравствуйте.
Можно ли у ПЛК 150 уменьшить время измерения на аналоговых входах
до 0,5 с. И как это сделать.

В параметрах модуля измерения установить параметр Measure interval,s

Филоненко Владислав
06.02.2007, 13:16
В параметрах модуля измерения установить параметр Measure interval,s

И не забыть наконец-таки сменить таргет на версию 1.31!

Радик
06.02.2007, 15:34
И не забыть наконец-таки сменить таргет на версию 1.31!
Сменил таргет версию и пришлось заново набивать конфигурацию.
А есть путь попроще?.

Малышев Олег
06.02.2007, 16:46
Чтобы не набирать заново конфигурацию пользуйтесь Project->Export. Вы можете выбрать конфигурацию и сохранить ее в текстовом файле .exp . После выгрузки файла его можно отредактировать в любом текстовом редакторе и загрузить обратно после установки нового таргета. Хотя, кончено это не всегда работает.

Радик
08.02.2007, 12:33
Вопрос по аналоговым входам ПЛК 150.
Обратил внимание что на аналоговых входах иногда устанавливается
значение=118.и еще цифры, несмотря на деиствительное напряжение на входе. Сбросить эти значения можно только выключив прибор.
Настройки Unifed signal sensor: U0_10, Ain high=100,Measure=0.5s,
остальные=0.
Происходит это редко. За месяц было раза три.
В чем причина?.

Филоненко Владислав
08.02.2007, 13:46
Хотелось бы увидеть схему подключения, что является источником напряжения, возможна ли ситуация, что на вход будет подано напряжение более 10 В?

незарегистрированный
08.02.2007, 14:43
Хотелось бы увидеть схему подключения, что является источником напряжения, возможна ли ситуация, что на вход будет подано напряжение более 10 В?

Наверное может.

Малышев Олег
08.02.2007, 14:53
При чтении значения с аналоговых входов ОБЯЗАТЕЛЬНО ИСПОЛЬЗУЙТЕ фунцию DECODE_FLOAT из библиотеки pid_regulators.lib Она расшифровывает ошибку измеренения (если есть).

Филоненко Владислав
08.02.2007, 15:19
Наверное может.

Нельзя подавать на аналоговый вход ПЛК в режиме 0-10 В напряжение свыше 11 В.

Радик
08.02.2007, 15:36
Нельзя подавать на аналоговый вход ПЛК в режиме 0-10 В напряжение свыше 11 В.

Спасибо. Проконтролирую.

Радик
12.02.2007, 13:39
Владислав , я вам на ящик письмо отправил.
Посмотрите.

Филоненко Владислав
12.02.2007, 14:38
Спасибо, посмотрим