PDA

Просмотр полной версии : что с ретайном ?



Валенок
24.04.2010, 18:20
ПЛК150

код
VAR RETAIN
i: WORD := 0; (* Хоть с инициализацией, хоть без нее *)
END_VAR
VAR
Tm : TON;
END_VAR
****
Tm( IN := TRUE, PT := T#1s );
IF Tm.Q THEN
Tm( IN := FALSE );
i := i+ 1;
END_IF
****
Казалось бы - просто энергонезависимый счетчик секунд.

Clean All
Login
Reset original
Logout
Login (загрузка в нулёвый контроллер)
Run
Create boot (2 раза)

Жду 2 минуты. Счетчик = 120
Logout
Тыркаю сброс
Перезагрузка несколько секунд.
Как только "Работа" - Login
И сколько в счетчике ?

40. :eek: ( а не ожидаемые 125..135. И даже 0..10 не словил *)
Где ж ретайн ?

PS
При простом выключении питания все пуском. Даже связь сохраняется.

PLCInfo
PLC model MODEL PLC 150
Binary VERSION 2.02.8
Need Target version 2.02
Compiled: 12:56:39 Nov 23 2007
PIC version is 09

Sergey666
25.04.2010, 00:20
при резете от кнопки плк не сохраняет ретаин (просто не успевает)
а при загрузке подымает предыдущие значения из файла(ваши 40).
об этом уже тыщщу раз говорилось.

Дмитрий Артюховский
25.04.2010, 11:48
Ага! кнопка "Ресет" это вообще зло и давить ее нужно в исключительных случаях (зависания программы). А для оперативного сброса стоит использовать функциональную кнопку с прицепленным к ней кодом корректной инициализации.

Но с другой стороны, ретайн переменная должна инициализироваться при замене а не сбросе программы!!! Попробуйте свой счетчик (i) поместить в область глобальных переменных, должен будет, по идее, сохраняться.

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

Филоненко Владислав
25.04.2010, 18:09
Какой retain? Вы ПЛК кувалдой по мозгам вдали и ждете сохранения значения. Retain записываются ТОЛЬКО при пропадании питания! Так работают ВСЕ плк.

Филоненко Владислав
27.04.2010, 08:37
before/after_reset ловят программы сброс самого CoDeSys. А это аппаратный :) Если дошло до него - значит совсем плохо и верить текущим значения и состоянию процессора нельзя. его надо обрезетить.

"Просто катушка контактора, причем без нагрузки на нем." Ага, проходили. В 7 классе. Надо поставить искрогасящую цепочку (диод если постоянка) и все будет ок. При коммутации индуктивности жуткие помехи. Тов. Попов и Герц на них на 150 км связывались. А тут только связь пропадает. :)

Валенок
27.04.2010, 12:03
чего ж на других плк это нет ? (1хх)
почему именно на 63 ?

Филоненко Владислав
27.04.2010, 14:42
почему нет? и там было в тех же условиях.
поставили люди искрогасящие цепочки и работают.

Зуйков Александр
27.04.2010, 20:49
если жалко цепочек непосредственно с контакторами, то хотя бы через маломощные интерфейсные реле. все легче будет.

Валенок
28.04.2010, 00:40
расскажите пожалуйста поподробнее что происходит с плк63 и при каких условиях.

так я ж рассказал (см. выше)

Валенок
28.04.2010, 00:54
если жалко цепочек непосредственно с контакторами, то хотя бы через маломощные интерфейсные реле. все легче будет.

а где про это в руководстве по эксплуатации ?

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

еще раз повторяю :
на серии 1хх ни разу связь не слетала из-за щелкнувшего выхода с нагрузкой. на 63 слетает постоянно.

Филоненко Владислав
28.04.2010, 07:36
а где про это в руководстве по эксплуатации - извините, но там нету и пунктов:
1) бить кувалдой
2) класть в микроволновку
3) использовать как пищевую добавку
4) закапывать в землю
и многих других.
но есть пункт по нагрузочной способности реле. спорим, что импульсный ток/напряжение через контакт > максимального в рэ?