PDA

Просмотр полной версии : CTUD_UDINT



Dmitrijb
15.01.2019, 11:14
Добрый день, подскажите пожалуйста почему codesys 2.3 не распознает тип CTUD_UDINT, в тоже время CTUD работает.

capzap
15.01.2019, 12:37
Добрый день, подскажите пожалуйста почему codesys 2.3 не распознает тип CTUD_UDINT, в тоже время CTUD работает.
CTUD это возможно счетчик, но ни как не тип данных. Все что поддерживается из типов данных можно посмотреть здесь (https://www.owen.ru/uploads/134/codesys_v23_ru.pdf#%5B%7B%22num%22%3A2203%2C%22gen %22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C0%2C76 9.03765%2C0%5D)

Dmitrijb
15.01.2019, 13:14
а никто и не говорил про тип данных. ФБ CTUD это счетчик с накопительной переменной с типом int, а CTUD_UDINT соответственно с другим.

petera
15.01.2019, 13:54
а никто и не говорил про тип данных. ФБ CTUD это счетчик с накопительной переменной с типом int, а CTUD_UDINT соответственно с другим.

Счетчик CTUD входит в библиотеку Standard.LIB, только тип переменной для счета совсем не int, а WORD
40762

Никакого счетчика "CTUD_UDINT" в этой библиотеке нет, а чего нет, того и распознать нельзя.

Dmitrijb
15.01.2019, 14:07
просто в стандарте IEC 61131-3 описан как раз счетчик с CTUD_UDINT, а простой CTUD досчитает до 32767 и надо будет творить обнуление с сохранением предыдущего значения. что при CTUD_UDINT не надо бы было. Вот и хотел узнать, похоже не поддерживает.

petera
15.01.2019, 14:33
просто в стандарте IEC 61131-3 описан как раз счетчик с CTUD_UDINT, а простой CTUD досчитает до 32767 и надо будет творить обнуление с сохранением предыдущего значения. что при CTUD_UDINT не надо бы было. Вот и хотел узнать, похоже не поддерживает.

Счетчик CTUD из библиотеки Standard.LIB досчитает не до 32767, а до 65535 и обнулится сам.
При этом Ваш мифический CTUD_UDINT тоже имеет предел счета 4294967295, т.е. не бесконечность и рано или поздно тоже "надо будет творить обнуление с сохранением предыдущего значения"

Dmitrijb
15.01.2019, 14:51
Вы сами то сначала проверьте обнулит ли он сам, и до скольки он досчитывает прежде чем говорить

petera
15.01.2019, 15:11
Вы сами то сначала проверьте обнулит ли он сам, и до скольки он досчитывает прежде чем говорить

А в чем сомнения Ваши?
40765
Проверяйте!

ЗЫ
Выход счетчика CV имеет тип WORD по этому считает счетчик от 0 до 65535
40767

ЗЫ
Смотрим
40768
нажми на картинку!

petera
15.01.2019, 15:57
CTUD + CTUD = CTUD_UDINT
40769

Зинько Владислав
17.01.2019, 10:17
CTUD + CTUD = CTUD_UDINT
40769

Добрый день!

petera, судя по выложенному Вами проекту, Вы запускали свой проект в режиме эмуляции. В эмуляции счетчики считают до 65535. Но при работе проекта в ПЛК счетчики работают не так, как в эмуляции - считают до 37767.
Попробуйте запустить проект на ПЛК и слова ТС подтвердятся.