Просмотр полной версии : Проблемы связи ПЛК-100 - Codesys при увеличении проекта
kait-volga
07.03.2012, 11:18
Добрый день.
Паровой котел ДЕ10.
ПЛК100:
Master RS485 =МВ110-16ДН + МУ110-8Р + пять ТРМ212+ МВА8
Slave RS232 Debug = панель Delta
Постепенно увеличивалась сложность программы, естественно увеличивалось время ее выполнения (в данный момент время цикла около 3ms) и появились проблемы при подключении к ПЛК средой CodeSys , а именно:
1) при наличии программы в ПЛК после включения удается подключится раз-другой, потом никак;
2) после сброса ПЛК нажатием Reset также удается подключится раз-другой и опять никак.
3) если создать-залить другой проект, полегче - соединяется влет.
И все это независимо от интерфейса подключения - Ethernet, Debug (естественно при смене шнура и передергивании питания).
Грешу на время цикла, потому что имею горький опыт, когда по ошибке поставил значение 30ms и точно также не мог подключится к ПЛК и скорость заливки программы и работе в PLC браузере была черепашьей (она и сейчас судя по PLC браузеру немного тормозит). Но с другой стороны, что такое 3ms? Это ничтожно мало, да и объем программы не супер велик... Подскажите куда копать, а то задолбался каждый раз при доработках давить Reset..?
PLC model MODEL PLC 100
Binary VERSION 2.14.4
Need Target version 2.10
Compiled: 15:21:55 Dec 8 2011
Попробуй через USB - вылетает меньше в разы.
И еще программу попробуй оптимизировать.
Я недавно делал что-тот типа этого:
IF Saves.Q THEN
SavesCount := SavesCount +1;
CASE SavesCount OF
1: PRG_1;
2: PRG_2;
3: PRG_3;
ELSE
SavesCount := 0;
END_CASE
END_IF
Т.е. не всю прогу за цикл выполняю, а через интервалы времени.
kait-volga интересная у вас прошивка 2.14.4 от 8 декабря минувшего года, даже на сайте до сих пор такой нет)
у вас в конфигурации плк добавлен модуль статистики? посмотрите на параметр Free processor resourse mks in 1 cycle должен быть не менее 20% от времени цикла плк (приведя все к милисекундам). да, и еще - при подключении кодесисом к плк реальный цикл последнего несколько увеличивается за счет нагрузки опросами кодесиса.
JIexa21 делаю немного по-другому
aaa := aaa + 1:
case aaa of
0: ;
1: кусок кода;
aaa := aaa + 1;
2: еще кусок кода;
aaa := aaa + 1;
...
n: кусок кода;
aaa := 0;
end_case;
lara197a
07.03.2012, 17:18
У этой прошивки, были какие-то проблемы с устойчивостью.
А вообще, увеличьте время цикла ПЛК.
При подключении к КДС коммуникационная нагрузка возрастает.
Оптимизировать не нужно. ПЛК вполне успешно обработает любую программу. Примеры сверху - это пережитки микроконтроллеров.
Работаю с S300, S400-среднее время циклов 15-20мс. Ни один программист (буржуйский) такой фигней не маялся. Если время цикла критично, на узел ставится отдельный ПЛК.
Куда вам на котел быстродействие в микросекунды?
kait-volga
09.03.2012, 12:55
Попробуй через USB - вылетает меньше в разы.
Я бы не сказал, что через USB вылетает меньше. По моему опыту связь через Ethernet устойчивей. А связь через USB это тоже что шнурок USB-COM - то работает, то нет... ИМХО. Плюс у меня задача стоит подключаться через WiFi роутер, что соответственно возможно только по Ethernet.
И еще программу попробуй оптимизировать.
Да вроде все и так, довольно оптимизировано.
kait-volga интересная у вас прошивка 2.14.4 от 8 декабря минувшего года, даже на сайте до сих пор такой нет)
http://www.owen.ru/forum/showpost.php?p=74112&postcount=103
у вас в конфигурации плк добавлен модуль статистики? посмотрите на параметр Free processor resourse mks in 1 cycle должен быть не менее 20% от времени цикла плк (приведя все к милисекундам). да, и еще - при подключении кодесисом к плк реальный цикл последнего несколько увеличивается за счет нагрузки опросами кодесиса.
Да, все так и есть. Есть модуль статистики, достаточно свободного времени у процессора. Про нагрузку при подключении CodeSys тоже вроде понятно, GateWay тяжелый протокол.
У этой прошивки, были какие-то проблемы с устойчивостью.
А можно подробнее, какие проблемы или где об этом написано?
А вообще, увеличьте время цикла ПЛК.
Куда вам на котел быстродействие в микросекунды?
Абсолютно никуда. Просто если ПЛК успевает обрабатывать в несколько миллисекунд, то зачем растягивать выполнение? Тем более, как я писал выше, при значительном увеличении времени цикла, соединение становилось вообще невозможным и еще падала скорость обмена.
Завтра попробую немного увеличить время цикла, поэкспериментировать. О результатах напишу.
lara197a
09.03.2012, 21:17
Вы в модуле статистик посмотрите, сколько ресурсов остаётся.
Про связь читал, но не помню. Кто-то из модераторов писал.
kait-volga
13.03.2012, 12:24
Вы в модуле статистик посмотрите, сколько ресурсов остаётся.
Про связь читал, но не помню. Кто-то из модераторов писал.
Увеличил время цикла до 4мс. Ресурсов остается предостаточно, максимальное зафиксированное время цикла программы не более 3мс. А в других около 2мс. Все равно затрудненно подключение. Может все же дело в прошивке... Объект далеко, попробую на другом ПЛК поиграться.
kait-volga
01.04.2012, 08:30
Добрый день.
После даунгрейда на версию v.2.14.0, проблемы связи не наблюдаю. Вывод очевиден.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot