Добрый день! Можно ли программно отправить команду RESET COLD.
Вид для печати
Добрый день! Можно ли программно отправить команду RESET COLD.
откуда Вы хотите её подать? Может вопрос должен быть задан подругому, но по каким то причинам Вы пошли обходным путем. Порочитали про библиотеку SysLibPlcCtrl_RU.pdf про функцию SysResetPLCProgram, но незнаете как ей пользоваться и хотите узнать как ей работать?
а заодно еще и start
Если у Вас есть опыт работы с этой функцией, подскажите как это сделать. Мне нужно выполнить команду RESET (со сбросом всех значений переменных) (просто возникает проблема, с подглючиванием программы, помогает только RESET, понятно, что в программе где то косяк, но она очень большая в ней сложно разобраться) вот хочется сделать потайную кнопку, при нажатии которой, все обнуляеться, и продолжает работать.
опыта нет, по тому что КДС не хочет эту библиотеку заливать на мой ПЛК. А так все просто, добавили библиотеку, создали в проге условие при котором должен произойти сброс, курсор внутрь условия и нажимаете F2, с помощью ассистента выбираете функцию SysResetPLCProgram, подтверждаете. При запросе какого типа единственная переменная указываете RESET_MODE. В окне объявлений присваиваете появившейся переменной значение 1, что соответствует RESET_COLD
хотя можно попробовать вот так http://www.owen.ru/forum/showpost.ph...45&postcount=2
Спасибо большое, что откликнулись на мой вопрос!
Попробовал использовать эту функцию, среда CoDeSys не грузит программу в контроллер...видимо эта функция не поддерживается прошивкой контроллера...
Если проект компилируется, то загрузка должна пройти.
Может забыли через менеджер библиотек добавить библиотеку?
нет, она не поддержана, на форуме об этом писалось, остается только заставить ПЛК перегрузится самому из за бесконечного цикла
Так обычной перезагрузки недостаточно, программа, после перезагрузки, начинает работать, а необходимо полностью все обнулить RESET COLD..
тогда остается толко по событию старт или питание включено, произвести инициализацию переменных в нулевое состояние
Я так пробовал, не получается...После отработки определенного количества циклов (это тех.процесс) значение переменных(некоторых, всегда различных) равно INVALID или переполнено, хотя в конце и в начале каждого цикла, оно обнуляется...такое ощущение что не хватает памяти...
val:= MAX(0,MIN(100,val)); такая формула не позволит переменной выходить за диапазон [0 - 100]
может быть вам стоит уделить внимание отладке программы для исключения ошибок, чем методам борьбы с не совсем работоспособной программой?
:) тогда присоединяюсь полностью к swerder-у
Если вы пишите программы для тех.процессов пищевого производства например, как в данной ситуации, где проект состоит из 50 подпрограмм, в котором более 1500 переменных, при том, что ее писал другой программист, а это уже усложняет отладку, то вы должны знать, что легче написать снова, чем разобраться в том, что уже написано...Спасибо всем , что попытались мне помочь, и помогли советом! Желаю Вам, чтобы у вас не возникало таких сложностей!:)
Поверьте я не пессимист) просто у меня совсем нет времени, чтобы разбираться с этим...Так конечно, все получают удовольствие от сделанной работы и я в том числе, но это немного другая ситуация.