Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Всем доброй ночи! Разбираюсь как работать с библиотекой Syslibcom...Возникли вопросы некоторые скорее касательно настройки портов. Задача состоит в том , чтобы считать через один интерфейс RS232 ПЛК 100 с одного дивайса данные (весовой терминал со своим протоколом) и оправить через другой RS232 на ПК.
1) Непонятно как при этом настраивать параметры портов в ПЛК Конфигурации???...и нужно вообще их там указывать???? потому как уже на программном уровне задаются параметры скорости и .д. ???
2) Какой из двух интерфейсов RS232 есть первый порт, а который второй?
Спасибо!!
1) При работе с портом через библиотеку - в конфигурации его добавлять не нужно.
2) RS-232 - COM1, RS-232 Debug - COM4
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Спасибо.
У меня ещё вопрос. В программах полезности, пример работы с COMSERICE есть такой фрагмент..
(*Вызываем таймер ожидания ответа*)
T1();
(*В переменную byte_read мы получаем число принятых байт при чтении порта*)
byte_read:=SysComRead(port_number, ADR(buf_otvet), 8, 0);
(*Если мы получили ответ от устройства, то принятую информацию собираем в более большой буфер ответа
то есть собираем ответ в удобный для обработки формат*)
IF byte_read>0 THEN
FOR i:=0 TO byte_read-1 DO
otvet[l+i]:=buf_otvet[i];
END_FOR
l:=l+byte_read;
(*В данном месте программы необходимо реализовать обработку принятой из порта информации*)
(*Дабы сильно не перегружать пример информации ниже используется подобие заглушки*)
(*Известно что длина ответа на используемые в программе запросы сторого 8 байт*)
(*Поэтому ниже производится анализ размера принятого ответа*)
(*Как только приходит за отведенный интервал времени нужное количество байт, начинаем обработку принятой команды*)
IF ( l=7) THEN
(*Получили нужное количество байт*)
(*Производим распаковку ответа и записываем его на выход блока*)
p1:=ADR(otvet[4]);
p:=ADR(rez);
p^:=p1^;
p1:=ADR(otvet[3]);
p:=p+1;
p^:=p1^;
(*Останавливаем таймер ожидания ответа*)
T1(IN:=FALSE, PT:=T#0s );
(*Ошибок нет*)
errors:=0;
(*Значиния на выходе блока сформированы, их можно использовать в программе*)
ready:=TRUE;
(*Переводим блок в режим отправки запроса*)
status:=1;
END_IF
Вопрос по таймеру Т1: Почему вызов таймера написан просто Т1(); без указания времени и переменной на входе...например Т1(in:=TRUE, PT:=#1s);
Но при этом подразумевается, что этот таймер был включен (шёл отсчёт времени), до тех пор пока не поступила команда
(*Останавливаем таймер ожидания ответа*)
T1(IN:=FALSE, PT:=T#0s );
Мне как то странно ..Неужто, если я просто вызову Т1(); то он у меня сразу запустится без подачи команды на вход???????
Вероятно, аргументы таймера были заданы где-то выше приведенного кода.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Нет. Не заданы..в том то и дело..
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Блин.точно. Спасибо.
Хорошая статья! Но стал вопрос можно ли просто читать? Точнее как это сделать?
Подключить следующей цепочкой ПК ---rs-232--- ПЛК110 (через программу COM Port Toolkit) отправить с ПК данные и увидеть их на ПЛК110 в режиме реально времени? Или нужно знать конкретный пакет (длина, скорость и т.д.)?
Последний раз редактировалось tomas111; 16.02.2018 в 17:13.
Доброго времени.
Объясните, уважаемые знатоки обмена по Modbus,
Почему вот здесь на 32 стр. https://cloud.mail.ru/public/JKkZ/bqLHJWaHT авторами протокол называется Modbus RTU, а меня не покидает ощущение,
что это нечто подобное. Иными словами - возможно ли например при помощи СПК107 по Modbus RTU прочитать данные с этого прибора.
К RTU привязался потому, что на порту есть еще другие устройства.