Просмотр полной версии : плк100. самопроизвольный переход в "стоп"
DNSankin
30.04.2009, 14:04
Господа, нужна Ваша помощь.
Прочитал здесь: http://www.owen.ru/forum/showpost.php?p=6178&postcount=3
На приведенной в сообщении картинке показана конфигурация ПЛК150. В конфигурации моих ПЛК100 такого пункта (Button [VAR]) нет.
Неужели до сих пор не решили проблему с переходом в режим "Стоп"?
Филоненко Владислав
30.04.2009, 16:23
самопроизвольный переход в состояние Stop наблюдался когда пользователи использовали доступ к переменным в конфигурации по указателю и превышали лицензионный предел или у них была ошибка в использовании указателей.
Николаев Андрей
01.05.2009, 08:38
с тех пор такая ошибка не проявлялась.
Дмитрий Артюховский
04.05.2009, 08:58
самопроизвольный переход в состояние Stop наблюдался когда пользователи использовали доступ к переменным в конфигурации по указателю и превышали лицензионный предел или у них была ошибка в использовании указателей.
не правда...
точнее, это часть возможных причин.... и проблема существует до сих пор (точнее, в прошивке 2.03 - другие просто не подходят мне по набору своих "жучков")
Sniper007
04.05.2009, 09:17
Но проблема решается добавлением модуля Button?
Филоненко Владислав
04.05.2009, 09:19
Это закапывание головы в песок. Лучше, конечно, найти причину сбоя в программе.
Модуль Button помогает от "мануального" останова проходящим персоналом :)
Дмитрий Артюховский
04.05.2009, 09:27
Но проблема решается добавлением модуля Button?
да, остановов нет.... но попытка использовать данный модуль для выполнения полезной функции не удалась - были ложные срабатывания
Дмитрий Артюховский
04.05.2009, 09:34
Это закапывание головы в песок. Лучше, конечно, найти причину сбоя в программе.
Модуль Button помогает от "мануального" останова проходящим персоналом :)
искать причину можно, но вот найти .... провел много времени за оптимизацией программы, добился цикла 500 - 700 мкс (изначально 1500-3000 мкс), но иногда проскакивают 1500 мкс.... долго бился и наконец закомментировал весь блок, осталось только ";" ... и что? цикл 20 мкс и периодически 1 мс... как можно еще оптимизиовать??? выкинуть и пустой оператор??? компилятор не позволит!!! (модбас запускается командой и соответственно не работает при закоментированной программе)
Sniper007
04.05.2009, 10:00
да, остановов нет.... но попытка использовать данный модуль для выполнения полезной функции не удалась - были ложные срабатывания
хм.. а пробовали на него фильтр ставить?
я сделал чтобы он мне при нажатии открывал одно окошко на ип-320. но сделал фильтр очень большой - 5 секунд.
Sniper007
04.05.2009, 10:02
самопроизвольный переход в состояние Stop наблюдался когда пользователи использовали доступ к переменным в конфигурации по указателю и превышали лицензионный предел или у них была ошибка в использовании указателей.
Что значит "использовали доступ к переменным в конфигурации по указателю"?
Дмитрий Артюховский
04.05.2009, 10:36
хм.. а пробовали на него фильтр ставить?
я сделал чтобы он мне при нажатии открывал одно окошко на ип-320. но сделал фильтр очень большой - 5 секунд.
нет не делал, но уверен что фильтр решит проблему, ложные срабатывания явно редкие и единичные, просто не очень нужно....
Sniper007
04.05.2009, 12:56
Так я не понял, у вас и при включенном модуле Button контроллер останавливавается?
Филоненко Владислав
04.05.2009, 15:03
в конфигурацию вставляется много мастеров их переменных и т.д.
они не именуются и связываются с переменными через At %хххх или по указателю через функцию Adr().
результат - компилятор это проглатывает и получается доступ к служебным областям плк, например при внешнем обращении. т.к. обычно 90% переменных нужны раз в год - и к ним раз в год обращаются - проблема вылезает уже на объекте.
решение - самые последние каналы ввода/вывода в конфигурации всегда именовать и тогда проблем не будет.
P.S. Достало стирание заглавных букв в сообщениях!
Sniper007
04.05.2009, 15:06
У меня в программе все переменные в PLC Configuration именованы - лучше так и делать?
Дмитрий Артюховский
04.05.2009, 18:40
Так я не понял, у вас и при включенном модуле Button контроллер останавливавается?
Нет, не останавливается.
Иногда самопроизвольно выполнялся код, который я привязывал к модулю "Button"
Sniper007
04.05.2009, 19:14
Аааа... Ну тогда все нормально. Значит отключение модуля Button (или правильно сказать "включение"?) спасает ситуацию. Значит похоже дело действительно в бракованной кнопке или помехах.
Чтобы код не вызывался самопроизвольно я сделал так:
Tim:TON;
TIM(IN:=Button,PT:=t#5s);
if Tim.Q=true then
траля-ля;
траля-ля;
end_if
Вопрос к разработчикам, а нельзя реализовать в прошивке контроллера фильтрацию? Пусть останов ПЛК будет происходить не сразу, а, скажем через секунду.
Филоненко Владислав
04.05.2009, 19:41
фильтрация есть, где-то 250 мс. но, видимо, не помогает. хотя воспроизвести ситуацию у нас не получилось.
Sniper007
05.05.2009, 10:19
Так будет ответ?
У меня в программе все переменные в PLC Configuration именованы - лучше так и делать?
Филоненко Владислав
05.05.2009, 10:21
да, конечно. хотя достаточно последней для I и Q типов
Николаев Андрей
05.05.2009, 19:33
нет, лучше так не делать.
не ленитесь объявлять переменные либо до начала написания проекта, либо в процессе. при объявлении новой переменной в соответствующем поле ассистента ввода (или ручками) пишите адрес переменной At %... а вот адрес можно глянуть как раз в конфигурации плк.
такой подход наводит порядок в мыслях и делает проект переносимым на другие контроллеры или прошивки.
А обращение через адреса или указатели - на мой взгляд не самое лучшее решение.
Sniper007
06.05.2009, 07:16
Объясните.
Я всегда делал обращение к выходам и сетевым адресам по имени. Присваивал в PLC Configuration имена этим входам и с этими именами работал.
Да я знаю что можно еще прописать в Global все переменые и им присвоить адреса. Так лучше делать если нужно будет перенести проект.
А что значит обращение по указателям?
Николаев Андрей
06.05.2009, 09:06
это общая рекомендация.
продвинутые программисты часто используют указатели на адрес. в хелпе есть описание.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot