Здравствуйте, возможно ли написать скрипт для чтения данных с RS232 (не Modbus)?. Прибор постоянно шлёт данные без запроса. Формат данных:
Communication protocol
Baud rate:57600
Check bit:No
Data bits:8bits
Stop bit:1bit
For sending data
Data format:一Single frame data 6 Bytes
Frame header:0xF0
Frame footor:0x0F
Header Symbol 6 compression BCD code Footer
F0 10 01 02 03 0F
“10” is positive number, the other is negative.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
MasterOPC Universal Скрипт
-
- здесь недавно
- Сообщения: 11
- Зарегистрирован: 13 мар 2018, 11:34
- Имя: Виталий
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
MasterOPC Universal Скрипт
Возможно https://yadi.sk/i/IOni7SAS3TPTMn
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- здесь недавно
- Сообщения: 11
- Зарегистрирован: 13 мар 2018, 11:34
- Имя: Виталий
MasterOPC Universal Скрипт
Спасибо за ответ. Пытаюсь, пока, прослушать Com порт. Не подскажете, чего не хватает, чего я не так делаю? Заранее спасибо.
local Addr=server.GetCurrentDeviceAddress();
local dest={}; --таблица принятых значений по маске
local destmask={"byte","byte","byte","byte","byte","byte"}; --маска ответа
local len,lenbuf;
local bufs=""; --строка принятых байт
dest,len,bufs,lenbuf=server.SendAndReceiveDataByMask (0,table.maxn(send),destmask,6);
local Addr=server.GetCurrentDeviceAddress();
local dest={}; --таблица принятых значений по маске
local destmask={"byte","byte","byte","byte","byte","byte"}; --маска ответа
local len,lenbuf;
local bufs=""; --строка принятых байт
dest,len,bufs,lenbuf=server.SendAndReceiveDataByMask (0,table.maxn(send),destmask,6);
-
- здесь недавно
- Сообщения: 11
- Зарегистрирован: 13 мар 2018, 11:34
- Имя: Виталий