PDA

Просмотр полной версии : программная перезагрузка плк



Сергеев Василий
19.05.2012, 04:01
может вопрос покажется глупым но как организовать программную перезагрузку плк скажем по времени или если он завис?

Валенок
19.05.2012, 10:06
Eсли по времени надо - сделать чтоб он завис (while true do;end_while)
Eсли завис - то можно не беспокоится, cистема сама перезагрузит

А зачем надо перезагружать по времени ?

Pointer
19.05.2012, 10:33
Eсли завис - то можно не беспокоится, cистема сама перезагрузит


Ага...Сергеев Василий, смотрите WDT (watchdog timer)...

Сергеев Василий
19.05.2012, 11:43
просто бывают иногда глюки не завис, работа идет, но программа не выполняется.

Pointer
19.05.2012, 11:59
просто бывают иногда глюки не завис, работа идет, но программа не выполняется.
Поэтому и мониторю форум...хотя ПОКА овеном не пользовался........

Валенок
19.05.2012, 15:44
работа идет, но программа не выполняется.
Какая работа идет ?
Если программа не выполняется мой верхний совет не катит - это ж программа.

Александр123456
19.05.2012, 17:00
просто бывают иногда глюки не завис, работа идет, но программа не выполняется.
Вы имеете ввиду то что контроллер останавливается? если так, то добавьте модуль "button".

pavelrer
14.11.2013, 23:42
Reset_PLC : BOOL := FALSE;

IF Reset_PLC = TRUE THEN
WHILE TRUE DO;
END_WHILE
END_IF

Не подскажете, поему у меня после выполнения данного кода, плс150 перегружается
но потом говорит что в нем нет программы? что может быть?

Спасибо.

capzap
15.11.2013, 09:26
Не подскажете, поему у меня после выполнения данного кода, плс150 перегружается
но потом говорит что в нем нет программы? что может быть?

http://www.kipshop.ru/CoDeSys/steps/codesys_v23_ru.pdf страница 129 читаем пункт “Online” “Create bootproject”

pavelrer
21.11.2013, 21:28
Спасибо, осилил.

Вот еще такой вопросик.
При пропадании питания на плк, плк начинает сохранять ретайны.
Ну пока в моем случаи это происходит где-то 30сек.
Если я включу питания через 10 сек то плс просто работает дальше, ну а мне надо чтобы
он сбросился . При пропадании питания я его загоняю в чудо цикл и он как я и хочу перезапускается.
Таким образом я жертвую ретайновыми переменными а они мне нужны.
Если я просто буду свои переменные хранить в файле, ну допустим создам my_prog.cfg
Ну и буду туда писать и читать.
Это нормально? Есть подводные камни? (Ну или надводные)
Спасибо.

petera
22.11.2013, 05:35
При кратковременном пропадании питания не обязательно использовать чудо цикл.
Добавьте в конфигурацию модуль статистики.
10815
При пропадании питания будет сброшен бит PWR, следовательно можно в программе предусмотреть определенные действия для этого случая, например остановить процесс управления, перевести выходы ПЛК в определенные состояния, записать переменные в файл, и т.д.
Если питание восстановится до полного выключения ПЛК, то и бит PWR установится в 1. Это можно использовать для перезапуска программы управления с начального состояния, и не нужен полный рестарт ПЛК.

pavelrer
22.11.2013, 11:55
Мне нужна полная перезагрузка ПЛК для следующих нужд.
При любом включении - лампочки должны работать одинаково – меня просто пользователи
замучают почему лампочка старт не гаснет и.т.д при быстром восстановлении питания.
Вот вроде ерунда, но все же. Для особо одаренных при старте плк он у меня 6 раз пикает,
типа я стартовал, при быстром восстановлении пиканье нет т.к плк еще работает.
Системное событие мне не подходит.
Ретайны у меня будут писаться очень редко, только в момент настройки работы программы из вне.
Просто будут приходить несколько АСКИ строк по сети, ну а плк их будет писать в файл, от туда
дергать и уже работать по этим правилам.

Да и про батарейку тут начитался, так и не понял выдит она из строя через год-два или нет.
Ну а носиться по всей стране с паялом и сумкой АКБ как-то не хочется.

Как я понимаю с файликом все будет ок, спасибо.

petera
22.11.2013, 12:17
Мне нужна полная перезагрузка ПЛК для следующих нужд.
При любом включении - лампочки должны работать одинаково – меня просто пользователи
замучают почему лампочка старт не гаснет и.т.д при быстром восстановлении питания.
Вот вроде ерунда, но все же. Для особо одаренных при старте плк он у меня 6 раз пикает,
типа я стартовал, при быстром восстановлении пиканье нет т.к плк еще работает.
Системное событие мне не подходит.
Ретайны у меня будут писаться очень редко, только в момент настройки работы программы из вне.
Просто будут приходить несколько АСКИ строк по сети, ну а плк их будет писать в файл, от туда
дергать и уже работать по этим правилам.

Да и про батарейку тут начитался, так и не понял выдит она из строя через год-два или нет.
Ну а носиться по всей стране с паялом и сумкой АКБ как-то не хочется.

Как я понимаю с файликом все будет ок, спасибо.
Бит PWR в модуле статистики ни какого отношения к системным событиям не имеет.
По фронту этого бита можно "пикать" 6 раз. Я же говорил, что по фронту бита PWR нужно делать рестарт программы. В том числе и лампочки могут гаснуть или включаться точно так же как и при включении ПЛК.

pavelrer
22.11.2013, 12:51
Не получается PWR.

1.Выключаю плк на 60сек – включаю – лампочка старт не горит чуть ждем загорелась.
2.Выключаю плк на 10сек – включаю – лампочка старт горит.

Пикать по выклу питания понятно, а как лампу старт погасить? Вот и приходится в чудо цикл пускать по PWR off.

Лампа СТАРТ, как погасить?
Спасибо.

capzap
22.11.2013, 13:08
Ну так Ваш код, Вы и решайте а хотите чтоб помогли,так исходник выкладывайте,как организовали управление ламплчки от питания

pavelrer
22.11.2013, 19:28
Меня вроде как-то все уже устраивает, но возможно я делаю это все через не тот проход.
Так, что еще раз.

Если мы достали наш плс из коробки, в плс есть программа.
Включаем питания – Загорается лампочка ПИТАНИЕ в этот момент как я понимаю программа еще не работает.
Ждем несколько секунд загорается лампочка старт. – Программа пошла работать.

Что я делаю при кратковременном отключении питания.

Start_Ctr := TRUE;
(* Тут делаем сброс ПЛК для того чтобы при отключении питания ПЛК сбросился сразу а не через 30 секунд *)
(* !!!!! При этом не сохраняются RETAIN переменные так что будет необходимо писать их в файл а от тудо в программу !!!!! *)
IF Power_Status = FALSE THEN
Start_Ctr := FALSE;
Reset_PLC.Reset_PLC := TRUE;
END_IF

Просто вешаю контроллер и он переходит в то состояние как будто мы его достали из коробки и включили.

Если я этого делать не буду то лампа старт горит сразу после включения питания. (при кратковременном пропадании)

Что в принципе меня беспокоит, это загон контроллера в чудо цикл перезагрузки. Вроде не так страшно, но
Все же не через функцию.

Если можно как-то погасить и потом зажечь лампочку старт при коротком пропадание питания, подскажите
плиз как.

Спасибо.

capzap
22.11.2013, 19:37
если речь не о лампе а о светодиоде старт на панели плк, то ни как программно Вы её не погасите, это делает ОС контроллера, только перегрузкой

pavelrer
22.11.2013, 20:09
Ну вроде я так и думал.
Спасибо.

Что в принципе меня беспокоит, это загон контроллера в чудо цикл перезагрузки. Вроде не так страшно, но
Все же не через функцию.

Не будет ли влиять частая перезагрузка плс на ресурс или работу плс?

На самом деле не так часто, но при конфигурирование с веб интерфейса или тсп клиента у пользователя может
Тут не получиться, там не получиться, - Допустим 100раз за день. Понимаем что дней таких мало (Ну потолок 10 – бывают настырные, а потом звонить будут). Беру по максимум.

При смене IP или lic (Лицензии) все ровно перегружать. Да и вводим функцию сброса по кнопки на моськи, ну через
спец манипуляцию, некоторые пользователи могут ее часто пользовать если что-то не получается.

Будут ли проблемы с плс или убой ресурса (записи файловой системы)?

Спасибо.

pavelrer
25.11.2013, 11:43
Вот и первые звоночки.

Программа в плк работает, кнопка стоп-старт забрана под нужды плк.
Ставил эксперименты с сокетом, получил такую кашу.
Программа в плк встала, стартовала но теперь не подцепится кодесисом, pic_io то же не работает,
Не может удалить файлы проекта.
RS-232 нету под рукой.
Кнопка ресет не работает, плк не сбросить – что делать?
Самое интересное, что програмка работает как надо, даже по сети пытается общаться с другой железкой.

Вот еще такой вопрос, т.к я кнопку старт-стоп забрал, возможно ли программным способом остановить
выполнения программы? Можно конечно файлы загрузочного проекта тереть и перезагружать plc, но
может есть цивилизованные способы?
Спасибо.

Sergey666
25.11.2013, 11:49
Вот и первые звоночки.

Программа в плк работает, кнопка стоп-старт забрана под нужды плк.
Ставил эксперименты с сокетом, получил такую кашу.
Программа в плк встала, стартовала но теперь не подцепится кодесисом, pic_io то же не работает,
Не может удалить файлы проекта.
RS-232 нету под рукой.
Кнопка ресет не работает, плк не сбросить – что делать?
Самое интересное, что програмка работает как надо, даже по сети пытается общаться с другой железкой.

Вот еще такой вопрос, т.к я кнопку старт-стоп забрал, возможно ли программным способом остановить
выполнения программы? Можно конечно файлы загрузочного проекта тереть и перезагружать plc, но
может есть цивилизованные способы?
Спасибо.

Вы,батенька, часом ПЛК в бесконечный цикл не загнали??????
Так называемая "чудо перезагрузка" работает корректно при отключении питания , если питание есть ПЛК будет постоянно перезагружаться . Для стопа перед включением питания надо зажать "Стоп" и "Ресет"(Вроде бы , точнее в описаловке).
И , естественно , к "зацикленному"ПЛК ничем не прицепишься.

pavelrer
25.11.2013, 12:10
Конечно я плк куда-то загнал, но дело то не в этом.
Программка работает, а вот сбросить кнопочками и манипуляциями с питанием ни как не получается.

melky
25.11.2013, 12:31
Что вы там за чудо программу написали, что вам такие махинации нужны ?
Зажатая кнопка Старт/Стоп + ресет не дает запускаться программе и позволяет подключиться для записи новой программы.
Ну или стереть программу совсем из Контроллера при помощи ПЛК браузера из CodeSYS

pavelrer
25.11.2013, 16:24
Что вы там за чудо программу написали, что вам такие махинации нужны ?

Делаю манипулятор к МКС, чтоб подводные лодки швартовать.:cool:

Да просто забираю ресурс под свои нужды.

В программке при создания сокета написал diSocket, а во всех остальных idSocket.

Как уже говорил кодесисом, plc_io подключиться по сети не получилось, кнопки то же нефурычат.

Зато методом научного тыка научился затерать plc150 (2.15).

Держим обе кнопки reset и старт, выключаем питание, удерживая кнопки включаем питания.
Отпускаем кнопку reset кнопку старт удерживаем.
Все светодиоды маргнут, после загорится светодиод что программа пошла в старт, тут отпускаем и еще раз
нажимаем кнопку старт.
Программа в плк стерта.

Почему-то не нашел такого описания (может плохо искал).

melky
25.11.2013, 18:48
pavelrer тут сам факт того, что вы пытаетесь программно перегружать ПЛК. Программа всегда работает в цикле, и если она корректна, то ПЛК перегружать нет необходимости.
Вот отсюда и вопрос - зачем такие извращения. Если ПЛК завис по какой-то причине и требуется именно рестарт, то скрепка "reset" решает все проблемы с перезагрузкой. Удаленно к нему все равно нельзя подключиться.
Копайте программу, чтобы не было такой необходимости.

pavelrer
25.11.2013, 20:46
Вы меня не поняли перезагрузка мне нужна только для того чтобы пользователь имел возможность
Сменить ip адрес и перегрузить плк к старту моей программы.
Кнопочка reset из плк убирается физически, ее просто не будет. Для управления плк пользователь будет
по инструкции манипулировать кнопкой старт-стоп.
Само-сабой, с помощью этой кнопки он может вернуть плк к заводу (т.е к девственной моей программе),
Сбросить сетевые настройки и всякие там еще штуки запускать, допустим канальчиком счелкать в ручном режиме.
Т.е здесь мне нужна была перезагрузка по которая выполняется по условию. Тот вариант который есть в плк
Меня устроит т.к нет вариантов.
А стоп и старт программы (программный ) нужен как скрытый сервис, если плк встал в ту фазу когда кодесисом
Подключиться по сети нельзя, rs в ноуте нет, а программка крутиться нормально, и на кнопочку реагирует. Вот и все.
Мне было бы удобно.

Да и не делаю я ему перезагрузку без правильно завершенных процессов, так что тут все нормально.

В случаи описанном выше, завис не плк, а сетевой порт просто не хотел не в какую работать, причина была
Ошибка в программе, кнопка reset не помогла, это была программная ошибка.

Но более меня удивило, что выход из этой ситуации, мне пришлось искать методом тыка, опираясь только на опыт,
И надеясь что производитель плк все же заложил такие функции.
Я был очень удивлен, что ни в документации, ни на форуме, да же в тех поддержку позвонил где плк брал, ответ на вопрос
Что делать без rs я не нашел. Все варианты не работали.

Вот вам и ответ зачем. Что-бы пользователи, инженеры которые занимаются установкой и обслуживанием манипулятором
МКС. Ни сидели на форумах, и не искали ответ на элементарный вопрос.

Валенок
25.11.2013, 22:12
Сначала думал что хочут удаленно поменять ip и понадобилось while true do (наверно единственное зачем нужно. А точно покатит ?)
Потом увидел про

Для управления плк пользователь будет по инструкции манипулировать кнопкой старт-стоп... с помощью этой кнопки он может вернуть плк к заводу (т.е к девственной моей программе) .. cбросить сетевые настройки и всякие там еще штуки запускать, допустим канальчиком счелкать в ручном режиме.
и заплакал над судьбой бедного пользователя. А-а-а, знаю что он нажмет через некоторое время:
жим-жим-жим-жииииим-жииииим-жииииим-жим-жим-жим

Sergey666
25.11.2013, 23:22
Неисповедимы пути эволюции...Pavelrer,вас этому на МКС облучили или вы самостоятельно дошли???
Кнопарь "Сброс" заклеили или выпаяли (откусили бокорезами)????


З.Ы Пришлете мне ,немножечко, того , что курите ???

pavelrer
25.11.2013, 23:25
жим-жим-жим-жииииим-жииииим-жииииим-жим-жим-жим

Согласен, не без этого.
Смотря как реализовать, чем дальше запихаешь, тем наверное лучше.
Да и вариантов то больше, просто нет.

pavelrer
25.11.2013, 23:34
Pavelrer,вас этому на МКС облучили или вы самостоятельно дошли???

Еще не дошел, пока иду..

melky
26.11.2013, 00:17
бред какой-то
1. если у вас виснет порт, найдите проблему в сети, плк то тут при чем ?
2. зачем где-то и кому-то менять порт ? настройте маршрутизацию и оставьте пользователя в покое
3. по секрету скажу, есть куча преобразователей usb-com порт и спокойно можно подключиться к плк любым ноутбуком, и еще момент - кто будет подключаться и чем ? без проекта в CodeSys любой ноутбук, подключенный к ПЛК кусок бесполезного железа.
4. и может вы плохо прочитали инструкцию, но стереть программу из flash кнопками вроде нельзя, можно только недопустить старта программы, что позволяет ее перепрошить или стереть но уже подключившись CodSys-ом, а вы приняли свои манипуляции за несуществующее описание документации ?

capzap
26.11.2013, 02:36
А зачем програмно то делать, что подойти к шкафу и тупо выключить питание на десять минут как то по другому запустит плк, чем ресет?

Sergey666
26.11.2013, 08:40
В принципе можно (ничто не запрещает) перезагруз по собаке организовать ... но ... аккуратнее надо ...
Даже интересно - ПЛК при перезагрузе по собаке ретейны сохранит или аналогично кнопке "Ресет", скорее всего не сохранит , т.к нештатная ситуация.

pavelrer
26.11.2013, 10:53
А зачем програмно то делать, что подойти к шкафу и тупо выключить питание на десять минут как то по другому запустит плк, чем ресет?

В данной задачи именно этого и не хочется делать. Этот вопрос решен.

Задача сейчас как остановить программу, программным способом. Это можно как-то сделать?


но стереть программу из flash кнопками вроде нельзя, можно только недопустить старта программы

Возможно я тут ошибся, и действительно возможно проста встала программа.
Повторить пока не могу.
Ну уж долга я искал информацию как это сделать!


ПЛК при перезагрузе по собаке ретейны сохранит или аналогично кнопке "Ресет"

Ретайны не сохраняются, приходиться писать в файл до выполнения перезагрузки

capzap
26.11.2013, 14:22
Этот вопрос решен.
можно по подробнее, т.е. просто прописать в PLC_PRG условие, вот тут ни чего не делаем, а тут выполняем рабочую программу, это не устраивает, надо обязательно чтоб плк входил, даже не в ресет, а в стоп?

pavelrer
26.11.2013, 15:59
надо обязательно чтоб плк входил, даже не в ресет, а в стоп?

Да именно в стоп, не ресет.
Т.к плк кнопка старт и стоп ушла под сервис нужды, а кнопка reset уже писал в одном случаии не сработала, ресет и из плк будет убрана.
Так что если случиться - глюк чего либо (а програмка все же будет исполняться), можно было той-же кнопкой старт-стоп но программно, т.е 21 нажатие допусим остановить програмульку.
Это не очень логично, и только для сервиса. т.к я уже писал что сталкнулся (это была програмная ошибка) с ситуацией когда плк програмка работает, сеть работает, все работает,
а кнопка ресет нет, да и она будет физичиски исключенна из плк. при этом кодесисом по сети не подключиться. Тоскать всякие там переходники usb-rs не хочеться, ну или забыл.

capzap
26.11.2013, 16:29
а что Вас тянет ресет то всё нажимать, Вы поймите, что сейчас впустую тратите время на бредовую затею, не хотите ли заняться логикой своей программы чтоб впредь не было глюков

Sergey666
26.11.2013, 22:40
надо обязательно чтоб плк входил, даже не в ресет, а в стоп?

Да именно в стоп, не ресет.
Т.к плк кнопка старт и стоп ушла под сервис нужды, а кнопка reset уже писал в одном случаии не сработала, ресет и из плк будет убрана.
Так что если случиться - глюк чего либо (а програмка все же будет исполняться), можно было той-же кнопкой старт-стоп но программно, т.е 21 нажатие допусим остановить програмульку.
Это не очень логично, и только для сервиса. т.к я уже писал что сталкнулся (это была програмная ошибка) с ситуацией когда плк програмка работает, сеть работает, все работает,
а кнопка ресет нет, да и она будет физичиски исключенна из плк. при этом кодесисом по сети не подключиться. Тоскать всякие там переходники usb-rs не хочеться, ну или забыл.

Можно даже кнопарь к входу(или несколько кнопарей) и приделать и нажимать типа код вводить и по событию останавливать выполнение программы(НЕ ЦИКЛА а ТЕКСТА!!!!!!!).

В PLC_PRG

IF not Stoped_prg then Prg1;Prg2;(*и т.д*)END_IF

Только бывает при работе с сокетами когда ПЛК просто не хочет работать по сети и решается это ,вроде как , перезагрузкой.

Валенок
26.11.2013, 22:47
т.е 21 нажатие допусим остановить програмульку.
Думаецца что здесь забыли циферку. Например - так:

т. 1е21 нажатие допусим остановить програмульку.

Sergey666
26.11.2013, 22:51
И четыре зеленых писка вверх...

Валенок
26.11.2013, 23:01
А чего ? Такой HMI.
21 нажатие - графитовые стержни (или чего там) вверх. 22 нажатие - вниз. Все чётко и ясно.

pavelrer
26.11.2013, 23:13
Зае…..ло, Был вопрос!
Я ожидал от форума, на который ссылается производитель и разработчик
что на мои вопросы , будут давать ответы! Хоть какие………………………..
А не задавать мне, зачем – почему – а не хотите ли вы? ( Да За……ли .. НЕТ!!!)
Тут 90% флуда.
Вопрос задали - не знаешь – так и скажи – не знаю. не знаешь, а в этом признаться не можешь? ,
Можешь – помоги или скажи не знаю! Не можешь, какой черт флудить, -
На……хер, выяснять зачем!?
Есть задача - вам нахер надо знать зачем и почему – так не можете ответить да \нет!
Вы профи, или флуды набирающие кол-во сообщений и……
Ух Господа, …………………………………………………

Прошу прошение за грубость, но без этого … не вижу смысла ..,

Возможно я не прав, но как-то начинаю воспринимать слова capzap - практик!

Господа, без обид.

Далее промолчу…………!

(capzap – не в вашу сторону, сори – в общую , в тему.)

Валенок
26.11.2013, 23:17
а что Вас тянет ресет то всё нажимать, Вы поймите, что сейчас впустую тратите время на бредовую затею, не хотите ли заняться логикой своей программы чтоб впредь не было глюков
Имхо, лучший ответ

capzap
27.11.2013, 05:43
Я лично не обижаюсь,
в стоп встать программным способом не получиться,вот прекратить "крутить" рабочую логику это вполне реально, пока она будет находиться в таком "безопасном" режиме будет достаточно времени,подойти с ноутом и проверить какой блок дал сбой,а если изучить бибки оскатовские, то можно даже применить логгирование, уж файл с логом прочитать можно будет не зависимо от состояния плк

Sergey666
27.11.2013, 08:44
Зае…..ло, Был вопрос!
Я ожидал от форума, на который ссылается производитель и разработчик
что на мои вопросы , будут давать ответы! Хоть какие………………………..
А не задавать мне, зачем – почему – а не хотите ли вы? ( Да За……ли .. НЕТ!!!)
Тут 90% флуда.
Вопрос задали - не знаешь – так и скажи – не знаю. не знаешь, а в этом признаться не можешь? ,
Можешь – помоги или скажи не знаю! Не можешь, какой черт флудить, -
На……хер, выяснять зачем!?
Есть задача - вам нахер надо знать зачем и почему – так не можете ответить да \нет!
Вы профи, или флуды набирающие кол-во сообщений и……
Ух Господа, …………………………………………………

Прошу прошение за грубость, но без этого … не вижу смысла ..,

Возможно я не прав, но как-то начинаю воспринимать слова capzap - практик!

Господа, без обид.

Далее промолчу…………!

(capzap – не в вашу сторону, сори – в общую , в тему.)
Какой злой слющай , а.
На все вопросы ответы даны исчерпывающие , если на прием мозг не работает , начинается прикол .

Lam-Ka
27.11.2013, 10:11
Обычно стараются кнопку "Reset" припаять, когда ее нет (встречаются в природе такие экземпляры оборудования). А тут-....
Первое что приходит в голову после прочтения 2/3 темы- "Мы не ищем легких путей". А вот под конец- "Когда коту делать нечего....." Вы уж меня извините, но зачем создавать дополнительную точку отказа? Как программно перезагрузить контроллер, если сама программа-"перегружалка" вдруг зависнет? Об этом Вы подумали?

Еще раз извините, но если Вы пришли искать помощи и совета, будьте так добры- перестаньте вести себя как 10-летний школьник: "Хочу и все тут, мне плевать что это невозможно". А когда человек не может сформулировать задачу и ответить на вопрос "зачем это нужно"- шутки и подколы не избежны.

Евгений_Томск
27.11.2013, 17:47
Зае…..ло, Был вопрос!
Я ожидал от форума, на который ссылается производитель и разработчик
что на мои вопросы , будут давать ответы! Хоть какие………………………..
А не задавать мне, зачем – почему – а не хотите ли вы? ( Да За……ли .. НЕТ!!!)
Тут 90% флуда.
Вопрос задали - не знаешь – так и скажи – не знаю. не знаешь, а в этом признаться не можешь? ,
Можешь – помоги или скажи не знаю! Не можешь, какой черт флудить, -
На……хер, выяснять зачем!?
Есть задача - вам нахер надо знать зачем и почему – так не можете ответить да \нет!
Вы профи, или флуды набирающие кол-во сообщений и……
Ух Господа, …………………………………………………

Прошу прошение за грубость, но без этого … не вижу смысла ..,

Возможно я не прав, но как-то начинаю воспринимать слова capzap - практик!

Господа, без обид.

Далее промолчу…………!

(capzap – не в вашу сторону, сори – в общую , в тему.)

Прикольно!!! Что-то мне это напоминает,но не могу вспомнить и сформулировать...
Возможно, типа стоит студент на улице перед сессией с плакатом помогите чем можете
на коньяк для препода. Ему дают десятку, а он матерится,кричит, мол мало дали,жмоты бездушные...

pavelrer
03.12.2013, 16:04
Всем спасибо, вопрос решен.

Ну и как тут все считают, еще один совсем тупой вопрос.
Если позволите.

Можно ли приконектится по rs кодесисом и написать програмульку которая
будет соединяться на 127.0.0.1 на порт 1200 ну и выполнять командочки, по какому-то действию.
Ну типа UpdateCore.
Будет ли это работать? Чисто теоритичиски.

pavelrer
03.12.2013, 16:18
уж файл с логом прочитать можно будет не зависимо от состояния плк

Как это прочитать, если у меня rs-нет а порт 1200 висит, кидать его в какой другой порт?


а если изучить бибки оскатовские - а эти бибки ни как незя прикрутить к ОВЕН, уж очень сладкие?

kgsh82
03.12.2013, 16:39
- а эти бибки ни как незя прикрутить к ОВЕН, уж очень сладкие?

А в чём проблема? "Прикручивайте" на здоровье. Многие уже так делают)

pavelrer
03.12.2013, 18:05
Извиняюсь, у меня видимо опыта маловато, пару месяцев.
Но при добавлении библиотеки, после компиляции компилятор ругается всякими нехорошими словами.
Неизвестный тип….
Неизвестная длина….
Допустим Oscat_building_100.lib
Мы об одном и том же говорим?

capzap
03.12.2013, 18:09
я их не прикручиваю, а ручками копипаст делаю, можно и импорт/экспортом - но это для тех кто из мышкиного поколения

pavelrer
03.12.2013, 18:21
Плиз, расскажите как это сделать, пошагово.
Нет опыта, но очень хотса
Это куды и чего копипастить?
Ну или где почитать.
Спасибо.

capzap
03.12.2013, 18:25
понравилась какая нибудь функция в бибке, в своем проекте создаете такую же с тем же текстом, компилируете, если появились ошибки, смотрите чего не хватает, скорее всего внутри ПОУ использовалась еще функция из бибки, создаете нехватающие ПОУ и снова компилите и так до победного

melky
03.12.2013, 18:33
pavelrer вам так или иначе придется делать то, что описывает capzap, так как при превышении POU в проекте выше допустимого, CodeSys будет ругаться даже в том случае, если вы фактически не используете ни одной библиотеки в своем проекте.
CodeSys компилирует все ДО опроса проекта. Косяк версии 2.3, и вероятно исправлен не будет. Как с этим в версии 3 не знаю, еще не мучал ее.

pavelrer
03.12.2013, 18:49
А 3я Кодесис пойдет для плк 150? Может не поздно мне переключиться пока идет выяснение возможности plc?
Да и codesys.

Добавляю бибку, выбираю функцию, в переменных все ок могу скопипастить, но вот вместо функции в листинге – блок.
Его то как перенести, а можно ли его в листинг как то сделать, ну галку где-то поставит, чтоб не блок был а ST?

Что такое превышения, пока не очень понимаю, но кажется это PRG+FB+FUN – ну этож скока должно быть?
P.S Все пробывалки провожу на пустом проекте.

Спасибо.

Sergey666
03.12.2013, 22:27
Просто у Оската уже библиотек больше под КДС3.
Не знаю откроет ли из КДС 2.3 ...
Вообще к проекту кроме стандартных и там сислибфайл , сислибком и др привязывается Оскатовская для КДС2.3 (вроде последняя 3.3 )
Нормальные 160 и 270, 303 уже с косяками .

Sergey666
03.12.2013, 22:37
Всем спасибо, вопрос решен.

Ну и как тут все считают, еще один совсем тупой вопрос.
Если позволите.

Можно ли приконектится по rs кодесисом и написать програмульку которая
будет соединяться на 127.0.0.1 на порт 1200 ну и выполнять командочки, по какому-то действию.
Ну типа UpdateCore.
Будет ли это работать? Чисто теоритичиски.

"UpdateCore" - команда ПЛК браузера. Внешней програмулькой можно , чисто теоретически , если ломануть и доработать КДС 2.3(сделали-же утилиту чтения - записи файлов ).
И зачем конектится КДСом по rs , а програмульку цеплять к Ethernet ? К нему Ethernet порту можно одновременно и КДСом и програмулькой.

pavelrer
04.12.2013, 01:22
F
К нему Ethernet порту можно одновременно и КДСом и програмулькой.

rs - для того шоб отладить хак, а вот не факт что с порта xxx, plc будет кушать как с порта 1200. хотя...? чеб и нет!?

Дак а какие мысли если plc будет сам в себя по 127.0.0.1 долбиться?


сделали-же утилиту чтения - записи файлов
вот и я такую мыслю думаю

petera
04.12.2013, 02:46
понравилась какая нибудь функция в бибке, в своем проекте создаете такую же с тем же текстом, компилируете, если появились ошибки, смотрите чего не хватает, скорее всего внутри ПОУ использовалась еще функция из бибки, создаете нехватающие ПОУ и снова компилите и так до победного
Я то же так делаю, иногда.:)
И только если в моем проекте нужна только одна оскатовская функция и нужный ФБ из библиотеки не использует другие POU.
Но можно в опциях проекта, в генераторе кода исключить неиспользуемые POU.
10955

Для решения проблемы

... при превышении POU в проекте выше допустимого, CodeSys будет ругаться даже в том случае, если вы фактически не используете ни одной библиотеки в своем проекте.
CodeSys компилирует все ДО опроса проекта. Косяк версии 2.3, и вероятно исправлен не будет...
Перед первой компиляцией проекта исключаю всю библиотеку OSCAT, затем выборочно включаю нужные POU этой библиотеки и опять компилирую проект. Если после этого компилятор ругается на отсутствие какого-либо POU, то включаю в компиляцию и их.
Для меня так быстрей получается чем создавать новые, недостающие POU, в своем проекте и копипастить в них код из проекта библиотеки OSCAT.

capzap
04.12.2013, 06:58
Копипаст будет иметь преимущество у тех, кто еще создавал загрузочные пятидюймовые дискеты. Я же не отрицал что есть способы одной мышкой это делать :)