Супер!
Так а как скорости-то переключать на ходу?
Вид для печати
a) Переводите все каналы опроса в режим Передний фронт или Приложение.
Когда нужно переключить скорости - останавливаете опрос каналов.
Изменяете настройки COM-порта согласно рисунку 4.6.6 и информации рядом с ним: https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.0.pdf
б) В этом случае обмен настраивается через библиотечные ФБ. Соответственно, в нужный момент времени останавливаете опрос, закрываете COM-порт, открываете его с новыми настройками и продолжаете опрос.
Спасибо. За разъяснения.
Привет. Попробовал построить обмен через Com-порт но на языке CFC.
1. Как вам идея реализации на этом языке?
2. Правильно ли использовал элемент move для перехода на второй шаг автомата и для копирования указателя hCom?
См. рисунок:
Вложение 64783
Почему я об этом спросил? Просто я заметил, что элемент с EN-ENO имеет определенное "западло". Оказывается, что при отсутствующем сигнале EN элемент не обнуляется, а тупо фиксирует свои выходы в последнем состоянии (т.е. работает по спаду на входе EN).
Вилка для супа
А зачем так делать? Чем ST не подходит?
Ну для понимания возможностей этого языка. Надо же попробовать.
В конце концов в обучающих видео от Овена часто используют этот язык. (Видели? Там блондинка сидит и пикает сканером штрих-кода :))
Привет.
Подскажите, а можно ли принять пакет из порта не в массив, а в строку?
Т.е.
Не так:
А так:Код:myComRead(xExecute:=TRUE, hcom:=myhCom, pBuffer:=ADR(arrReceive1), szBuffer:=255, udiTimeOut:=0);
У меня так не получается.Код:myComRead(xExecute:=TRUE, hcom:=myhCom, pBuffer:=ADR(sReceive1), szBuffer:=SIZEOF(81), udiTimeOut:=0);
В массив принимает данные, а в строку - не принимает.
Спасибо.
Добрый день.
Да, можно.
^Здесь, очевидно, ошибка.Код:szBuffer:=SIZEOF(81)
Нужно так:
Код:szBuffer:=SIZEOF(sReceive1)