Просмотр полной версии : вопрос по UNM.lib
Пытаюсь через UNM передать последовательность из 10 байт в Ethernet. Настроил в конфигурации UNM-TCP, порт задал 10000. В итого setbyte возвращает какую-то ахинею вместо положенных 10 байт и в порт ничего не отправляет.
Может кто сталкивался с таким?
При этом с чтением из Ethernet, и передачей в RS-232 проблем никаких.
Филоненко Владислав
15.04.2019, 20:40
UNM никогда не предназначалась для работы с Ethernet. То что читает - забавный побочный эффект :)
Используйте сокеты.
UNM - для совместной работы какого нибудь экзотического счётчика и обычных приборов ОВЕН/ModBus, опрашиваемых через конфигурацию. По последовательным портам ТОЛЬКО!
Но если открыть описание библиотеки, читаем: "Библиотека UNM (файл UNM.lib) – обеспечивает прием/передачу информации через встроенные порты контроллера (RS-232/RS-485/Ethernet) для расширения возможностей стандартных модулей, поставляемых в составе системы CoDeSys (работа одновременно с модулями протоколов Modbus, DCON и ОВЕН на одном физическом интерфейсе). Назначение всех программных компонентов библиотеки указано в таблице 1. ".
Получается официальное описание врёт?
IF NOT(start) THEN
ReleaseDevice(DeviceNumber);
stat:=0;
ready:=FALSE;
ELSE
IF start THEN
CASE stat OF
0:
IF(LockDevice(DeviceNumber)=1) THEN
ready:=FALSE;
stat:=1;
ELSE
stat:=0;
END_IF
1:
FOR i:=0 TO ByteCount DO
p:=ADR(command)+i;
p1:=ADR(command_string)+i;
p1^:=p^;
END_FOR
stat:=2;
2:
IF SetByte(DeviceNumber,command_string,ByteCount)=Byt eCount THEN
ready:=TRUE;
stat:=0;
ELSE
stat:=2;
END_IF
END_CASE
END_IF
END_IF
Филоненко Владислав
16.04.2019, 12:54
Я не помню других пользователей, кто UNM с TCP использовал. В описание вкралась ошибка.
Сделал через сокеты. Заодно вроде разобрался как оно работает.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot