Я, могу Вам только посочувствовать! По всей видимости необходимо принимать другое, или более кардинальное решение задачи. А какая марка энкодера?
Я, могу Вам только посочувствовать! По всей видимости необходимо принимать другое, или более кардинальное решение задачи. А какая марка энкодера?
Другое решение принимать поздно. Контроллер уже приобретён, оборудование изготовлено и должно быть сдано заказчику через несколько дней.
Проблему я, конечно, решу программным путём. Но я рассчитывал получить полноценный счётный модуль в составе ПЛК, наподобие как, например, в контроллере 314-2BG03 от Випы
а получил дулю, и теперь, вместо того,что бы спокойно и быстро выполнить свою работу, придётся выёживаться, как мухе на стекле.
Последний раз редактировалось olc; 28.10.2011 в 22:00.
Мешает здравый разум. Как Вы это себе представляете?
Я об этом догадываюсь.
Я такого не говорил. Просто удивляюсь - у кого хватило ума разработать счётчик без сброса в ноль, не говоря уже о предустановке.
За такой совет - большое спасибо, обязательно посмотрю, что за библиотека.
Энкодер я взял DFS-60. DRS вроде как снимаются с производства. По крайней мере, мне так манагер из Сик сказал. А какая разница - какой энкодер? Вроде бы у всех есть сигналы А, В и Z, и все работают одинаково.
PS. Посмотрел, что за ФБ INC_DEC в библиотеке OSCAT. Это программная обработка двух сигналов с дискретных входов. Я такую программулину уже написал за две минуты. Я рассчитывал получить АППАРАТНЫЙ скоростной счётчик, работающий в фоновом режиме, независимо от моей программы. А программа должна была только считывать количество импульсов из регистра.
В принципе, я такой счётчик и получил. Только в ноль сбросить его не могу. А без этого - на кой он мне нужен? Кто догадался сделать такого уродца?
Последний раз редактировалось olc; 28.10.2011 в 22:23.
Леонидыч, че-то ты злой сегодня в тяпницу-то вечером! Добрее, к людям помягше))
А по поводу уродца ты прав, конечно.
Как Вы себе представляете работу встроенной в ПЛК процедуры счета импульсов с энкодера? Сам энкодер это ничто иное, как колесо с дырками и фотодатчиком, который считывает эти дырки, чего туда можно записать??? Это ж железяка! А вот в регистр контроллера записать можно все! Не надо ля-ля. И если разработчики сделали недоизделие, то надо это признать. Очевидно, так и есть, поскольку ничего не отвечают по этому поводу. А еще у меня есть большое подозрение, что они вообще содрали этот контроллер у китайцев, потому и энкодерный счетчик такой, что с ним ничего сделать нельзя!
Мне не нужно 250кГц. Меня вполне устроили бы 2.5кГц. Частота импульсов на выходе энкодера пропорциональна частоте его вращения. А ПЛК110 привлёк не только ценой, но и тем, что в технических характеристиках заявлено наличие аппаратного счётного модуля на быстрых дискретных входах. Модуль этот работает, и достаточно шустро. Только разработчики не захотели сделать сброс внутреннего регистра этого модуля, и ничего не написали об этом в технической документации.
Вход ПЛК - это два дискретных входа, которые обнулять не нужно. К этим входам подключены сигналы А и В инкрементального энкодера. Обнулить энкодер - всё равно что обнулить индуктивный датчик. Обнулять нужно аппаратный реверсивный счётчик внутри контроллера, управлять которым, вероятно, как-то можно через внутренние регистры контроллера. Но эта возможность почему-то недокументирована.
Да я уже сделал. "Но осадок остался". Выходит, экономлю на собственных нервах, а они дороже денег заказчика. Может, и правда лучше покупать проверенные изделия от известных брэндов, а не кота в мешке.
Последний раз редактировалось olc; 29.10.2011 в 12:44.
Нет, сам счётчик пусть остаётся в области %I. Надо просто добавить управляющий регистр в области %Q. В этом регистре задействовать всего несколько бит:
0- сброс
1- запрет/разрешение счёта
2- направление счёта
С таким минимумом уже можно как-то работать.
Можно, конечно, и так. Но для разработчиков проще перетащить в область, в которую можно писать, и универсально - пиши любое значение, то есть не всегда достаточно только сброса.