Сообщение создано: 08. 10. 2016 [19:18]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"tka4ev_s" wrote:
В документации нашел функцию CRC
решил посчитать контрольную сумму для MODBUS
CRC-16/MODBUS 123456789 0x8005 0xFFFF 0x4B37
CRC(123456789, 0x8005, 16, 0xffff)
rez=15739 или 0x3d7b
Где в документации написано, что первый аргумент целое?
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 08. 10. 2016 [20:31]
|
tka4ev_s
Сергей Ткачев
Зарегистрирован(а) с: 19.10.2014
Сообщения: 30
|
"roman" wrote:
"tka4ev_s" wrote:
В документации нашел функцию CRC
решил посчитать контрольную сумму для MODBUS
CRC-16/MODBUS 123456789 0x8005 0xFFFF 0x4B37
CRC(123456789, 0x8005, 16, 0xffff)
rez=15739 или 0x3d7b
Где в документации написано, что первый аргумент целое?
ddr=Special.FLibSYS.int2str(123456789);
Special.FLibSYS.CRC(ddr,0x8005,0x16,0xffff);
так тоже не работает.
можно пример?
|
Сообщение создано: 08. 10. 2016 [21:44]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"tka4ev_s" wrote:
ddr=Special.FLibSYS.int2str(123456789);
Special.FLibSYS.CRC(ddr,0x8005,0x16,0xffff);
так тоже не работает.
У меня всё работает!
http://wiki.oscada.org/HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs#h1161-18
"tka4ev_s" wrote:
можно пример?
Примеров я сюда не даю!
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 21. 03. 2017 [13:24]
|
3dlogin
Илья Кузнецов
Зарегистрирован(а) с: 06.04.2016
Сообщения: 12
|
Роман, добрый день!
В документации говорится, что
Абстрактный объект представляет собой ассоциативный контейнер свойств и функций.
Возможно ли на сегодняшний день доопределить созданный объект функцией? Например, что-то вроде такого (псевдокод):
dataObj = new Object();
dataObj.type = 1;
dataObj.data = "";
dataObj.timestamp = 0;
dataObj.sequence = 1;
function dataObj.setData(dataString) { if (dataString.length > 0) dataObj.type = dataString.charCodeAt(0); /* fill other props, do something else */ }
или стоит пользоваться внутренней функцией процедуры, указывая в качестве одного из параметров ссылку на редактируемый объект?
|
Сообщение создано: 21. 03. 2017 [16:43]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"3dlogin" wrote:
В документации говорится, что
Абстрактный объект представляет собой ассоциативный контейнер свойств и функций.
Возможно ли на сегодняшний день доопределить созданный объект функцией? Например, что-то вроде такого (псевдокод):
Нет, раз в документации не написано. Определение функций статично в коде, хотя можно сделать так, как в шаблоне аналогового параметра:
dataObj = new Object();
dataObj.type = 1;
dataObj.data = "";
dataObj.timestamp = 0;
dataObj.sequence = 1;
dataObj.procedure = "if (data.length > 0) type = data.charCodeAt(0); /* fill other props, do something else */ }";
//Передать объект в другой узел и там исполнить:
SYS.DAQ.funcCall("JavaLikeCalc.JavaScript", dataObj, dataObj.procedure, "theProcUniqId");
"3dlogin" wrote:
или стоит пользоваться внутренней функцией процедуры, указывая в качестве одного из параметров ссылку на редактируемый объект?
Я так часто и делаю.
Кроме прочего это значительно быстрее по сравнению с определением функций к объекту, поскольку нет компиляции при каждом исполнении. Хотя если указывать "theProcUniqId" то перекомпиляции для одинаковых процедур и не будет и производительность будет близкой к вызову внутренней функции.
Learn, learn and learn better than work, work and work.
|