-
передача двойных слов
Здравствуйте!
Задача следующая - передать переменную типа dword с ПЛК через kepserver "наверх" в интерфейс, написанный на delphi.
интересует, как прописать адрес в codesys (%QD10.1 ???) и как прописать адрес в opc server (404097 ?????)
или как разбить двойное слова на два обычных word???
-
Если вопрос о передаче переменных в режиме ПЛК(Slave) в сторонний сервер, то какой протокол передачи данных этого сервера?
Если Modbus. то адрес который вы указали никак не связан с адресацией области ввода-вывода ПЛК.
Посмотрите описание и пример:
http://www.owen.ru/forum/showpost.ph...74&postcount=8
http://www.owen.ru/forum/showpost.ph...08&postcount=1
Так же есть документ на диске ПЛК PLC_Config там описана адресация Slave
-
я добавляю переменные в Modbus (FIX).
вопрос состоит в том, что в программе на языке ST прописать
X1 AT %QD10: DWORD;
а в kepserver прописать
переменная X1 адрес 404097 тип dword
затем эта переменная цепляется к окошку в интерфейсе (написан на delphi).
c word все проходит, а вот с dword - нет:(
и в любом случае, напишите, как разбить на 2 слова, пожалуйста:o
-
разбить на 2 слова можно делением на 65535 и сдвигом :)
а почему не правильно приходит - возможно стоит попробовать переставить слова в посылке местами.
-
андрей, а вы не могли бы написать, как это в программе описать?
-
a : dword;
b : word; (*старшее слово*)
с : word; (*младшее слово*)
b:=a\65536;
с:=a;
Ну или есть команды сдвига с вытеснением...