Ну либо считать файл, добавить строку и записать по новой, либо взять функцию позиции курсора и писать в конце файла
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Доброго времени уважаемые форумчане!
Есть такой проект на CFC
В нём есть:
En_function: BOOL; - разрешение на включение функции
counter: WORD; - счётчик от энкодера
volume_start: WORD; - значение начального движения
sensor: BOOL; - датчик крайнего положения механизма
Err: BOOL; - значение возможной ошибки (запрет на выполнение действия)
TIME_reg: WORD; - регистр времени на последнее действие
Trig_start: F_TRIG; - тригер переключения действия
slow: BOOL; - медленное движение
Delay100ms: TOF; - костыль что бы программа не прерывалась раньше времени
Permission: BOOL; - разрешение на выход из программы
speed: BOOL; - движение на макс. скорости
start: BOOL; - начало движения
timer: TP; - таймер последнего движения
last_ACT: BOOL; - последнее движение
function_end: BOOL; - действие закончено.
Проблема в том что выходные переменные:
start, speed и slow - включаются на реальном контроллере с задержкой.
То есть - механизм движется по выходу старт, дошёл до своего значения энкодера, остановился, включилось движение по speed... и т.д.
А надо что бы он не успевал остановиться и продолжал двигаться уже по speed
Что я сделал не так и как добиться того что бы механизм двигался плавно (сейчас идёт рывками между переключениями)
ЗЫ. Это только часть программы. Вся программа более 300 блоков + 230 блоков раз в 240мсек (вывод инфы на дисплей)
ЗЫ.ЗЫ пробовал ставить задержку до 60 мсек (на отключение выходных переменных старт и т.д. - не помогло.) Более 60 не ставил. И так бред какой то. Надо что то нормальное придумать.
У меня на ПЧ дельта подобная ситуация была!!!
Пришлось время остановки (торможения) выставить в 0 и отнять от позиции остановки по импульсам от энкодера импульсов 90 (инерция большая) и включать повышенную 2ю скорость. А время разгона увеличил и получился плавный ход и переключение!!
Уважаемые форумчане ! Не могли бы вы дать несколько советов по повышению быстродействия модулей ввода - вывода .
Есть дискретный импульсный сигнал 1сек да , 1сек нет . Программа пропускает сигналы . Воспринимает примерно - 4сек да 4сек нет . Была скорость 9600 , поднял до 115200 - изменений не увидел . Скорость вернул на 9600 , перенастроил в конфигурации плк - параметры модуля с дискретными выходами на запись по изменению переменной - стало лучше ( 2 сек на 2сек ) , но не устраивает .
В схеме плк100 , МВ110-224.16ДН , МВ110-24.32ДН , 2 МУ110-224.16Р , МУ110-24.32Р , МВ110-224.8А , МЭ110-220.3М . Аналоговые модули время опроса 1000мс .
Делай опрос через библиотеки.
не в ту тему пишите, и где проект...Добрый день, у меня вопрос, на СПК207
Объясните пожалуйста, цель задачи состоит в том, чтобы при подаче сигнала на дискретный вход плк 150 загорался соответствующий индикатор ип320.
Одна из причин, по которой выбирают оборудование ОВЕН: наличие большого количества доступно изложенных инструкций и примеров программ на все случаи жизни.
Ближе всего мне кажется Пример передачи измеренной величины из трм101 по протоколу ОВЕН на ИП320 (Master) по протоколу Modbus посредством ПЛК1хх.
Только в Вашем случае в модуль ModBus (Slave) в ПЛК нужно добавить модуль 8 bits и использовать в нем по одному биту для каждого индикатора.
Можно найти также множество обучающих видеороликов, в том числе и по Вашей задаче.
Если появятся конкретные вопросы спрашивайте здесь, и Вам с удововольствием на них ответят
Aleksey.KIP Выделил Ваш вопрос в отдельную тему в разделе CODESYS 3: http://www.owen.ru/forum/showthread.php?t=29069
OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС