PDA

Просмотр полной версии : Plc-150-220.х-л юмюкнцнбши бунд оняке оепегюцпсгйх



Devix
07.05.2009, 11:59
здравствуйте!

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

в примере значение Val после перезагрузки должно иметь значение -5, а имеет значение 0.

Прошивка: 2.07.2
Target: 2.06

PS: Блин какието проблемы с кодировкой.

Филоненко Владислав
07.05.2009, 12:27
странно, наверное ацп надо время на измерение значения...

Devix
07.05.2009, 17:39
хотелось бы узнать, когда решите данную проблему?

Филоненко Владислав
08.05.2009, 09:25
проблему того, что ацп требует некоторого времени на измерение - никогда. это невозможно. всегда измерение будет занимать некоторое время. это особенность ацп.

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


всегда измерение будет занимать некоторое время. это особенность ацп.
а можно узнать модель ацп?

Филоненко Владислав
08.05.2009, 14:20
т.е. ради этой, легко реализуемой в самой программе функции, все остальные, кто её реализовал или кому она не нужна должны получать торможение на 0,5-1 сек с выполнением программы? и зачем?

Ad7792

Devix
08.05.2009, 23:07
тоесть кому нужно быстрое ацп тот выберет другой контроллер. а работать контроллер всетаки должен правильно.

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

Devix
08.05.2009, 23:19
почитал про ацп там есть регистр состяния. я конечно всех тонкостей не знаю но вродебы при помощи битов Sr7,sr6,sr2,sr1,sr0 можно все это реализовать. по документации частота обновления от 4.17 до 470 герц такчто в худьшем случае задержка в четверть секунды.

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

Devix
08.05.2009, 23:24
как вариант настроит ацп можно в самом начале чтобы оно начало работать а дальше уже делать другие подготовительные дела.

Sniper007
09.05.2009, 17:02
А что вам мешает реализовать эту задержку самому?
ПЛК имеет флаг подачи питания - power.
Привяжите к нему таймер TON. И в PLC_PRG напишите что-то вроде:

TIM:TON;

TIM(IN:=power,PT:=t#2s); (*2 секунды - чтоб наверняка*)
if TIM.q=true then
ваша программа
end_if

Должно сработать...

Devix
09.05.2009, 17:34
А что вам мешает реализовать эту задержку самому?

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

DARNER
09.05.2009, 19:02
а по мне так ниче страшного в этом нету...:)
пусть будет так как оно есть!