@things-factory/integration-melsec 5.0.7 → 5.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/connector/index.ts"],"names":[],"mappings":";;AAAA,wBAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/connector/index.ts"],"names":[],"mappings":";;AAAA,wBAAqB","sourcesContent":["import './melsec-plc'\n"]}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.MelsecPLCConnector = void 0;
7
- const net_1 = __importDefault(require("net"));
8
- const promise_socket_1 = __importDefault(require("promise-socket"));
9
- const p_queue_1 = __importDefault(require("p-queue"));
4
+ const tslib_1 = require("tslib");
5
+ const net_1 = tslib_1.__importDefault(require("net"));
6
+ const promise_socket_1 = tslib_1.__importDefault(require("promise-socket"));
7
+ const p_queue_1 = tslib_1.__importDefault(require("p-queue"));
10
8
  const utils_1 = require("@things-factory/utils");
11
9
  const integration_base_1 = require("@things-factory/integration-base");
12
10
  const subHeader = '5000';
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-plc.js","sourceRoot":"","sources":["../../../server/engine/connector/melsec-plc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"melsec-plc.js","sourceRoot":"","sources":["../../../server/engine/connector/melsec-plc.ts"],"names":[],"mappings":"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","sourcesContent":["import net from 'net'\nimport PromiseSocket from 'promise-socket'\nimport PQueue from 'p-queue'\nimport { sleep } from '@things-factory/utils'\n\nimport { ConnectionManager, Connector, Connection } from '@things-factory/integration-base'\n\nconst subHeader = '5000'\nconst networkNumber = '00'\nconst requireNumber = 'FF'\nconst requireIoNumber = '03FF'\nconst requireMultiNumber = '00'\nconst readrequireLength = '0018'\nconst writerequireLength = '0019'\nconst writewordrequireLength = '001C'\nconst reserve = '0000'\nconst readCommand = '0401'\nconst readWordSubCommand = '0000'\nconst readCoilSubCommand = '0001'\nconst writeCommand = '1401'\nconst writeWordSubCommand = '0000'\nconst writeSubCommand = '0001'\nconst readLengthDevice = '0001'\nconst writeLengthDevice = '0001'\n\nexport class MelsecPLCConnector implements Connector {\n static getWriteCoilCommand(deviceCode, writeStartDevice, writeCoilValue, writeLength) {\n if (writeLength) {\n writeLength = writeLength.toString().padStart(4, '0')\n }\n\n return (\n subHeader +\n networkNumber +\n requireNumber +\n requireIoNumber +\n requireMultiNumber +\n writerequireLength +\n reserve +\n writeCommand +\n writeSubCommand +\n deviceCode +\n writeStartDevice +\n (writeLength || writeLengthDevice) +\n writeCoilValue\n )\n }\n\n static getWriteWordCommand(deviceCode, writeStartDevice, writeWordValue) {\n return (\n subHeader +\n networkNumber +\n requireNumber +\n requireIoNumber +\n requireMultiNumber +\n writewordrequireLength +\n reserve +\n writeCommand +\n writeWordSubCommand +\n deviceCode +\n writeStartDevice +\n writeLengthDevice +\n writeWordValue\n )\n }\n\n static getReadCoilCommand(deviceCode, readStartDevice, readLength) {\n if (readLength) {\n readLength = readLength.toString().padStart(4, '0')\n }\n\n return (\n subHeader +\n networkNumber +\n requireNumber +\n requireIoNumber +\n requireMultiNumber +\n readrequireLength +\n reserve +\n readCommand +\n readCoilSubCommand +\n deviceCode +\n readStartDevice +\n (readLength || readLengthDevice)\n )\n }\n\n static getReadWordCommand(deviceCode, readStartDevice) {\n return (\n subHeader +\n networkNumber +\n requireNumber +\n requireIoNumber +\n requireMultiNumber +\n readrequireLength +\n reserve +\n readCommand +\n readWordSubCommand +\n deviceCode +\n readStartDevice +\n readLengthDevice\n )\n }\n\n async ready(connectionConfigs) {\n await Promise.all(connectionConfigs.map(this.connect))\n\n ConnectionManager.logger.info('mitsubishi-plc connections are ready')\n }\n\n async connect(config) {\n if (ConnectionManager.getConnectionInstance(config)) {\n return\n }\n\n var [host, port = 1025] = config.endpoint.split(':')\n\n var socket = new PromiseSocket(new net.Socket())\n\n await socket.connect(port, host)\n\n var queue = new PQueue({ concurrency: 1 })\n var keepalive = true\n\n ConnectionManager.addConnectionInstance(config, {\n request: async function (message, length, { logger }) {\n return await queue.add(async () => {\n while (keepalive) {\n try {\n /* send request message */\n await socket.write(message)\n logger && logger.info(`Request : ${message}`)\n var responseCompleted = ''\n\n if (length > 0) {\n while (length - responseCompleted.length > 0) {\n logger && logger.info(`Will read ${length - responseCompleted.length}`)\n let response = await socket.read() // length - responseCompleted.length)\n if (!response) {\n // socket ended or closed\n throw new Error('socket closed')\n }\n responseCompleted += response.toString()\n }\n } else {\n let response = await socket.read()\n if (!response) {\n // socket ended or closed\n throw new Error('socket closed')\n }\n responseCompleted = response.toString()\n }\n\n logger && logger.info(`Response : ${responseCompleted}`)\n return responseCompleted\n } catch (e) {\n logger.error('plc command(write-read) failed.')\n logger.error(e)\n\n if (keepalive) {\n socket && socket.destroy()\n\n socket = new PromiseSocket(new net.Socket())\n await socket.connect(port, host)\n\n await sleep(1000)\n } else {\n throw e\n }\n }\n }\n\n throw new Error(`${config.name} maybe disconnected normally`)\n })\n },\n close: function () {\n queue.clear()\n keepalive = false\n socket.destroy()\n }\n })\n\n ConnectionManager.logger.info(`mitsubishi-plc connection(${config.name}:${config.endpoint}) is connected`)\n }\n\n async disconnect(connection: Connection) {\n var { close } = ConnectionManager.removeConnectionInstance(connection)\n close()\n\n ConnectionManager.logger.info(`mitsubishi-plc connection(${connection.name}) is disconnected`)\n }\n\n get parameterSpec() {\n return [\n {\n type: 'checkbox',\n name: 'keepalive',\n label: 'keepalive'\n }\n ]\n }\n\n get taskPrefixes() {\n return ['melsec']\n }\n\n get help() {\n return 'integration/connector/melsec-plc'\n }\n}\n\nConnectionManager.registerConnector('melsec-plc', new MelsecPLCConnector())\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/engine/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,kBAAe"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/engine/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,kBAAe","sourcesContent":["import './connector'\nimport './task'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,8BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,8BAA2B;AAC3B,+BAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,8BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,8BAA2B;AAC3B,+BAA4B","sourcesContent":["import './melsec-read-coil'\nimport './melsec-wait-coil'\nimport './melsec-write-coil'\nimport './melsec-read-word'\nimport './melsec-write-word'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-read-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-read-coil.ts"],"names":[],"mappings":";;AAAA,uEAAkF;AAClF,wDAA4D;AAE5D,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACpD,IAAI,EACF,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EACxD,GAAG,IAAI,CAAA;IAER,IAAI,UAAU,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtF,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,uBAAuB,CAAC,CAAA;KACtE;IAED,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE5B,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAA;IAC9C,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxD,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,UAAU,GAAG,GAAG,GAAG,UAAU,CAAA;KAC9B;IACD,IAAI,eAAe,GAAG,UAAU,CAAA;IAChC,IAAI,WAAW,GAAG,+BAAkB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAA;IAEhG,uDAAuD;IACvD,qCAAqC;IACrC,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,2CAA2C;IAEpG,kCAAkC;IAClC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE;QACpC,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;QAEzD,OAAO;YACL,IAAI;SACL,CAAA;KACF;SAAM;QACL,QAAQ;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;CACF,CAAA;AAED,cAAc,CAAC,IAAI,GAAG,mCAAmC,CAAA;AAEzD,+BAAY,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"melsec-read-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-read-coil.ts"],"names":[],"mappings":";;AAAA,uEAAkF;AAClF,wDAA4D;AAE5D,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACpD,IAAI,EACF,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EACxD,GAAG,IAAI,CAAA;IAER,IAAI,UAAU,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtF,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,uBAAuB,CAAC,CAAA;KACtE;IAED,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE5B,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAA;IAC9C,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxD,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,UAAU,GAAG,GAAG,GAAG,UAAU,CAAA;KAC9B;IACD,IAAI,eAAe,GAAG,UAAU,CAAA;IAChC,IAAI,WAAW,GAAG,+BAAkB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAA;IAEhG,uDAAuD;IACvD,qCAAqC;IACrC,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,2CAA2C;IAEpG,kCAAkC;IAClC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE;QACpC,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;QAEzD,OAAO;YACL,IAAI;SACL,CAAA;KACF;SAAM;QACL,QAAQ;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;CACF,CAAA;AAED,cAAc,CAAC,IAAI,GAAG,mCAAmC,CAAA;AAEzD,+BAAY,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA","sourcesContent":["import { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\nimport { MelsecPLCConnector } from '../connector/melsec-plc'\n\nasync function MelsecReadCoil(step, { logger, domain }) {\n var {\n connection: connectionName,\n params: { plcAddress: address, readLength: readLength }\n } = step\n\n var connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!connection) {\n throw new Error(`connection '${connectionName}' is not established.`)\n }\n\n var { request } = connection\n\n var deviceCode = address.substring(0, 1) + '*'\n var af_address = Number(address.substring(1)).toString()\n var len = af_address.length\n for (var i = 0; i < 6 - len; i++) {\n af_address = '0' + af_address\n }\n var readStartDevice = af_address\n var sendMessage = MelsecPLCConnector.getReadCoilCommand(deviceCode, readStartDevice, readLength)\n\n // Request : 500000FF03FF000018000004010001M*0001000001\n // Response : D00000FF03FF00000500000\n var content = await request(sendMessage, 23, { logger }) // (22 + readLength)에서 현재 readLength는 1로 고정\n\n // TODO readLength가 1이 아닐때 데이터 처리.\n if (content.substring(17, 18) == '5') {\n var data = content.substring(22, 23)\n\n logger.info(content)\n logger.info(`received response is ok. received: ${data}`)\n\n return {\n data\n }\n } else {\n // error\n throw new Error('response not applicable')\n }\n}\n\nMelsecReadCoil.parameterSpec = [\n {\n type: 'string',\n name: 'plcAddress',\n label: 'plc_address'\n },\n {\n type: 'number',\n name: 'readLength',\n label: 'read_length'\n }\n]\n\nMelsecReadCoil.help = 'integration/task/melsec-read-coil'\n\nTaskRegistry.registerTaskHandler('melsec-read-coil', MelsecReadCoil)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-read-word.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-read-word.ts"],"names":[],"mappings":";;AAAA,uEAAkF;AAClF,wDAA4D;AAE5D,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACpD,IAAI,EACF,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,EAChD,GAAG,IAAI,CAAA;IAER,IAAI,UAAU,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtF,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,uBAAuB,CAAC,CAAA;KACtE;IAED,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE5B,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAA;IAC9C,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxD,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,UAAU,GAAG,GAAG,GAAG,UAAU,CAAA;KAC9B;IACD,IAAI,eAAe,GAAG,UAAU,CAAA;IAChC,IAAI,WAAW,GAAG,+BAAkB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IAEpF,uDAAuD;IACvD,wCAAwC;IACxC,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAExD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,IAAI,OAAO,CAAA;KAChB;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;IAEzD,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAChB;CACF,CAAA;AAED,cAAc,CAAC,IAAI,GAAG,mCAAmC,CAAA;AAEzD,+BAAY,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"melsec-read-word.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-read-word.ts"],"names":[],"mappings":";;AAAA,uEAAkF;AAClF,wDAA4D;AAE5D,KAAK,UAAU,cAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACpD,IAAI,EACF,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,EAChD,GAAG,IAAI,CAAA;IAER,IAAI,UAAU,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtF,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,uBAAuB,CAAC,CAAA;KACtE;IAED,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE5B,IAAI,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAA;IAC9C,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxD,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,UAAU,GAAG,GAAG,GAAG,UAAU,CAAA;KAC9B;IACD,IAAI,eAAe,GAAG,UAAU,CAAA;IAChC,IAAI,WAAW,GAAG,+BAAkB,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IAEpF,uDAAuD;IACvD,wCAAwC;IACxC,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAExD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,IAAI,OAAO,CAAA;KAChB;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;IAEzD,OAAO;QACL,IAAI;KACL,CAAA;AACH,CAAC;AAED,cAAc,CAAC,aAAa,GAAG;IAC7B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAChB;CACF,CAAA;AAED,cAAc,CAAC,IAAI,GAAG,mCAAmC,CAAA;AAEzD,+BAAY,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA","sourcesContent":["import { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\nimport { MelsecPLCConnector } from '../connector/melsec-plc'\n\nasync function MelsecReadWord(step, { logger, domain }) {\n var {\n connection: connectionName,\n params: { plcAddress: address, signed = false }\n } = step\n\n var connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!connection) {\n throw new Error(`connection '${connectionName}' is not established.`)\n }\n\n var { request } = connection\n\n var deviceCode = address.substring(0, 1) + '*'\n var af_address = Number(address.substring(1)).toString()\n var len = af_address.length\n for (var i = 0; i < 6 - len; i++) {\n af_address = '0' + af_address\n }\n var readStartDevice = af_address\n var sendMessage = MelsecPLCConnector.getReadWordCommand(deviceCode, readStartDevice)\n\n // Request : 500000FF03FF000018000004010000D*0001010001\n // Response : D00000FF03FF000008000003E9\n var content = await request(sendMessage, 26, { logger })\n\n var wordValue = content.substring(22, 26)\n var data = parseInt(wordValue, 16)\n\n if (signed && (data & 0x8000) > 0) {\n data -= 0x10000\n }\n\n logger.info(content)\n logger.info(`received response is ok. received: ${data}`)\n\n return {\n data\n }\n}\n\nMelsecReadWord.parameterSpec = [\n {\n type: 'string',\n name: 'plcAddress',\n label: 'plc_address'\n },\n {\n type: 'checkbox',\n name: 'signed',\n label: 'signed'\n }\n]\n\nMelsecReadWord.help = 'integration/task/melsec-read-word'\n\nTaskRegistry.registerTaskHandler('melsec-read-word', MelsecReadWord)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-wait-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-wait-coil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"melsec-wait-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-wait-coil.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConnectionManager, ScenarioInstanceStatus, TaskRegistry } from '@things-factory/integration-base'\nimport { sleep } from '@things-factory/utils'\n\nimport { MelsecPLCConnector } from '../connector/melsec-plc'\n\nasync function MelsecWaitForCoil(step, { logger, root, domain }) {\n var {\n connection: connectionName,\n params: { plcAddress: address, value, waitTerm = 50 }\n } = step\n\n var connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!connection) {\n throw new Error(`connection '${connectionName}' is not established.`)\n }\n\n var { request } = connection\n\n var deviceCode = address.substring(0, 1) + '*'\n var af_address = Number(address.substring(1)).toString()\n var len = af_address.length\n for (var i = 0; i < 6 - len; i++) {\n af_address = '0' + af_address\n }\n var readStartDevice = af_address\n var sendMessage = MelsecPLCConnector.getReadCoilCommand(deviceCode, readStartDevice, undefined)\n\n while (true) {\n let state = root.getState()\n if (state == ScenarioInstanceStatus.STARTED /* STARTED */) {\n var content = await request(sendMessage, 23, { logger })\n\n if (content.substring(17, 18) == '5') {\n var coilValue = content.substring(22, 23)\n\n if (value == coilValue) {\n logger.info('received response is ok. required: %s, received: %s', value, coilValue)\n\n return {\n data: coilValue\n }\n } else {\n logger.info('received response, but not accepted. required: %s, received: %s', value, coilValue)\n await sleep(waitTerm)\n continue\n }\n } else {\n // error\n throw new Error('response not applicable')\n }\n } else if (state == ScenarioInstanceStatus.STOPPED /* PAUSED */) {\n await sleep(waitTerm)\n } else {\n throw new Error('scenario stopped unexpectedly')\n }\n }\n}\n\nMelsecWaitForCoil.parameterSpec = [\n {\n type: 'string',\n name: 'plcAddress',\n label: 'plc_address'\n },\n {\n type: 'string',\n name: 'value',\n label: 'expected_value'\n },\n {\n type: 'number',\n name: 'waitTerm',\n placeholder: 'milli-seconds',\n label: 'wait_term'\n }\n]\n\nMelsecWaitForCoil.help = 'integration/task/melsec-wait-coil'\n\nTaskRegistry.registerTaskHandler('melsec-wait-coil', MelsecWaitForCoil)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-write-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-write-coil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"melsec-write-coil.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-write-coil.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\nimport { MelsecPLCConnector } from '../connector/melsec-plc'\n\nimport { sleep } from '@things-factory/utils'\n\nasync function MelsecWriteCoil(step, { logger, domain }) {\n var {\n connection: connectionName,\n params: { plcAddress: address, value, writeLength = 1, autoReset, delay = 50 }\n } = step\n\n var connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!connection) {\n throw new Error(`connection '${connectionName}' is not established.`)\n }\n\n var { request } = connection\n\n var w_address = address\n var w_value = value\n var deviceCode = w_address.substring(0, 1) + '*'\n\n var af_address = Number(w_address.substring(1)).toString()\n var len = af_address.length\n for (var i = 0; i < 6 - len; i++) {\n af_address = '0' + af_address\n }\n var writeStartDevice = af_address\n\n if (w_value == 1) {\n var writeCoilValue = '1'\n } else {\n var writeCoilValue = '0'\n }\n\n await doRequest(request, deviceCode, writeStartDevice, writeCoilValue, writeLength, logger)\n\n if (autoReset) {\n await sleep(delay)\n\n await doRequest(request, deviceCode, writeStartDevice, Number(!Number(writeCoilValue)), writeLength, logger)\n }\n\n return {\n data: writeCoilValue\n }\n}\n\nasync function doRequest(request, deviceCode, writeStartDevice, writeCoilValue, writeLength, logger) {\n var sendMessage = MelsecPLCConnector.getWriteCoilCommand(deviceCode, writeStartDevice, writeCoilValue, writeLength)\n // Request : 500000FF03FF000019000014010001M*00033300011\n // Response : D00000FF03FF0000040000\n var content = await request(sendMessage, 22, { logger })\n\n // TODO writeLength 1이 아닐때 데이터 처리.\n if (content.substring(17, 18) == '4') {\n // ok\n return {\n data: writeCoilValue\n }\n } else {\n // error\n throw new Error('response not applicable')\n }\n}\n\nMelsecWriteCoil.parameterSpec = [\n {\n type: 'string',\n name: 'plcAddress',\n placeholder: 'M0,Y1,..',\n label: 'plc_address'\n },\n {\n type: 'number',\n name: 'writeLength',\n label: 'write_length'\n },\n {\n type: 'number',\n name: 'value',\n label: 'value'\n },\n {\n type: 'checkbox',\n name: 'autoReset',\n label: 'auto_reset'\n },\n {\n type: 'number',\n name: 'delay',\n placeholder: 'milisecodes, default is 50ms',\n label: 'reset_delay'\n }\n]\n\nMelsecWriteCoil.help = 'integration/task/melsec-write-coil'\n\nTaskRegistry.registerTaskHandler('melsec-write-coil', MelsecWriteCoil)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"melsec-write-word.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-write-word.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"melsec-write-word.js","sourceRoot":"","sources":["../../../server/engine/task/melsec-write-word.ts"],"names":[],"mappings":"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","sourcesContent":["import { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\nimport { access } from '@things-factory/utils'\nimport { MelsecPLCConnector } from '../connector/melsec-plc'\n\nasync function MelsecWriteWord(step, { data, logger, domain }) {\n var {\n connection: connectionName,\n params: { plcAddress: address, accessor, value }\n } = step\n\n var connection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!connection) {\n throw new Error(`connection '${connectionName}' is not established.`)\n }\n\n var { request } = connection\n\n var w_address = address\n var deviceCode = w_address.substring(0, 1) + '*'\n\n var af_address = Number(w_address.substring(1)).toString()\n var len = af_address.length\n for (var i = 0; i < 6 - len; i++) {\n af_address = '0' + af_address\n }\n var writeStartDevice = af_address\n\n value = accessor ? access(accessor, data) : value\n if (isNaN(value)) {\n throw new Error(`invalid number value : ${value}`)\n }\n\n var valueDefine = Number(value).toString(16)\n var writeWordValue = ''\n\n if (valueDefine.length == 1) {\n writeWordValue = '000' + Number(value).toString(16)\n } else if (valueDefine.length == 2) {\n writeWordValue = '00' + Number(value).toString(16)\n } else if (valueDefine.length == 3) {\n writeWordValue = '0' + Number(value).toString(16)\n } else if (valueDefine.length == 4) {\n writeWordValue = Number(value).toString(16)\n }\n\n // Request : 500000FF03FF00001C000014010000D*00010000010001\n // Response : D00000FF03FF0000040000\n logger.info(`will send request value: ${value}:${writeWordValue}`)\n\n var sendMessage = MelsecPLCConnector.getWriteWordCommand(deviceCode, writeStartDevice, writeWordValue)\n var content = await request(sendMessage, 22, { logger })\n\n logger.info(`received response: ${content}`)\n\n return {\n data: writeWordValue\n }\n}\n\nMelsecWriteWord.parameterSpec = [\n {\n type: 'string',\n name: 'plcAddress',\n placeholder: 'M0,Y1,..',\n label: 'plc_address'\n },\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'number',\n name: 'value',\n label: 'value'\n }\n]\n\nMelsecWriteWord.help = 'integration/task/melsec-write-word'\n\nTaskRegistry.registerTaskHandler('melsec-write-word', MelsecWriteWord)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;AAAA,oBAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;AAAA,oBAAiB","sourcesContent":["import './engine'\n"]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/promise-readable/lib/promise-readable.d.ts","../../../node_modules/promise-writable/lib/promise-writable.d.ts","../../../node_modules/promise-duplex/lib/promise-duplex.d.ts","../../../node_modules/promise-socket/lib/timeout-error.d.ts","../../../node_modules/promise-socket/lib/promise-socket.d.ts","../../../node_modules/eventemitter3/index.d.ts","../../../node_modules/p-queue/dist/queue.d.ts","../../../node_modules/p-queue/dist/options.d.ts","../../../node_modules/p-queue/dist/priority-queue.d.ts","../../../node_modules/p-queue/dist/index.d.ts","../server/engine/connector/melsec-plc.ts","../server/engine/connector/index.ts","../server/engine/task/melsec-read-coil.ts","../server/engine/task/melsec-wait-coil.ts","../server/engine/task/melsec-write-coil.ts","../server/engine/task/melsec-read-word.ts","../server/engine/task/melsec-write-word.ts","../server/engine/task/index.ts","../server/engine/index.ts","../server/index.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true},"acc8fa7e1d03f0d8c4af03c75027086d80bf1cb17edd2d71313bee7bd12dfb91","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","cb92bc2e42b261e4299025756f1beb826b3d9666a3f0d46f8a7254ca512f57e4","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","653968fc1b35c5eb3d273d36fac1c1dc66f9537edf28f33485b8776bd956e23d",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"64d5585e08ad1ab194b18bf4e851f22a626eae33ac7312ca4ba90bb7ea7daf64","23d8cc7a06506dac48b821ebff451b061367e9f1b79b1b296d4b53ace65f202e","bf438026a849e316dd2d4e197bc0fc10798e0cd21fe5a1912287660143f9e708","32903e7a7491fea192f1568fb2f9bbbf3281044e716e11a718b2f5dab1bbf126","b5802b9e18c5b496489713b651c9f7da089ffc751403a82481978ef4ff1d8c2d","97bbf1e8aa018c332f3a1e742625b9c4aebded25a93ae914f8e3a4b009e2fb2a","b80c780c52524beb13488942543972c8b0e54400e8b59cee0169f38d0fabb968","a0a118c9a66853bb5ec086c878963b5d178ecb3eec72d75dc553d86adef67801","4bbf82fc081be97a72c494d1055e4f62ad743957cdc52b5a597b49d262ae5fd4","4583bf6ebd196f0c7e9aa26bfe5dfee09ea69eee63c2e97448518ea5ee17bc64","2b16288372f6367cdb13e77cbd0e667d5af3034a5b733a0daa98a111cfee227f","ced8c4ffe23a52caac988496e3fb9739c0112d8554d9e459b445e7e96bcde0bf","0d8fb5eb4021f7b90df6be47ef3e1c61801db6255ecc82cf86db0ec18bf8e6e0","cf26ded0ddf5a6fa45ba3131a4286c919adc54815702a6d3112e6974ee102bd0","10cb1e074013fcb52a6bb7a694686b8e073a7412062300f6778bf04ae9462018","b6212660f2e1e18f8214534c2767d8ff05f27b713da5c37cf94543a947990c2f","d8a5d637fcebc8486eacdb09050555007ec30665b3788598b8ae1f1172e398ea","d1cb3e8ec34d88dc72583b8b9690cdb08d6ae374b71808a8c5666560f1ceface","c5e1336cd4efb3a58528fbba95e40a441aad090f234cf788d166904d745ab7e8","8547694bbf35e324d5bb64215ae218ab372807c759be08f9ce27a8adfc9af9fb","336b6d64b4cff6c2e09100b496e9870743d9c8005e718c18e6200bce7ec2975c","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":false,"target":4,"useDefineForClassFields":false},"fileIdsList":[[87,119,121],[87,120],[87],[43,87],[46,87],[47,52,87],[48,58,59,66,75,86,87],[48,49,58,66,87],[50,87],[51,52,59,67,87],[52,75,83,87],[53,55,58,66,87],[54,87],[55,56,87],[57,58,87],[58,87],[58,59,60,75,86,87],[58,59,60,75,78,87],[87,91],[61,66,75,86,87],[58,59,61,62,66,75,83,86,87],[61,63,75,83,86,87],[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],[58,64,87],[65,86,87],[55,58,66,75,87],[67,87],[68,87],[46,69,87],[70,85,87,91],[71,87],[72,87],[58,73,87],[73,74,87,89],[58,75,76,77,78,87],[75,77,87],[75,76,87],[78,87],[79,87],[58,81,82,87],[81,82,87],[52,66,75,83,87],[84,87],[66,85,87],[47,61,72,86,87],[52,87],[75,87,88],[87,89],[87,90],[47,52,58,60,69,75,86,87,89,91],[75,87,92],[87,115,116],[87,115,116,117,118],[87,100,101,102,103],[87,101],[87,101,102],[75,87,94,95,96],[87,94],[66,87,94,97,98],[42,87,105],[42,66,87,99,104],[42,87,106,112],[42,87,107,108,109,110,111],[42,87,113]],"referencedMap":[[122,1],[121,2],[120,3],[43,4],[44,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[56,14],[57,15],[58,16],[59,17],[60,18],[45,19],[93,3],[61,20],[62,21],[63,22],[94,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[75,35],[77,36],[76,37],[78,38],[79,39],[80,3],[81,40],[82,41],[83,42],[84,43],[85,44],[86,45],[87,46],[88,47],[89,48],[90,49],[91,50],[92,51],[100,3],[115,3],[117,52],[119,53],[118,52],[116,3],[104,54],[102,55],[103,56],[101,3],[97,57],[95,58],[99,59],[98,3],[96,58],[42,3],[8,3],[10,3],[9,3],[2,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[18,3],[3,3],[4,3],[22,3],[19,3],[20,3],[21,3],[23,3],[24,3],[25,3],[5,3],[26,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[1,3],[41,3],[106,60],[105,61],[113,62],[112,63],[107,60],[110,60],[108,60],[109,60],[111,60],[114,64]],"exportedModulesMap":[[122,1],[121,2],[120,3],[43,4],[44,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[56,14],[57,15],[58,16],[59,17],[60,18],[45,19],[93,3],[61,20],[62,21],[63,22],[94,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[70,30],[71,31],[72,32],[73,33],[74,34],[75,35],[77,36],[76,37],[78,38],[79,39],[80,3],[81,40],[82,41],[83,42],[84,43],[85,44],[86,45],[87,46],[88,47],[89,48],[90,49],[91,50],[92,51],[100,3],[115,3],[117,52],[119,53],[118,52],[116,3],[104,54],[102,55],[103,56],[101,3],[97,57],[95,58],[99,59],[98,3],[96,58],[42,3],[8,3],[10,3],[9,3],[2,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[18,3],[3,3],[4,3],[22,3],[19,3],[20,3],[21,3],[23,3],[24,3],[25,3],[5,3],[26,3],[27,3],[28,3],[29,3],[6,3],[30,3],[31,3],[32,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[1,3],[41,3],[106,60],[105,61],[113,62],[112,63],[107,60],[110,60],[108,60],[109,60],[111,60],[114,64]],"semanticDiagnosticsPerFile":[122,121,120,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,45,93,61,62,63,94,64,65,66,67,68,69,70,71,72,73,74,75,77,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,100,115,117,119,118,116,104,102,103,101,97,95,99,98,96,42,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,106,105,113,112,107,110,108,109,111,114]},"version":"4.7.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-melsec",
3
- "version": "5.0.7",
3
+ "version": "5.0.11",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -23,8 +23,8 @@
23
23
  "clean": "npm run clean:server"
24
24
  },
25
25
  "dependencies": {
26
- "@things-factory/integration-base": "^5.0.7",
26
+ "@things-factory/integration-base": "^5.0.11",
27
27
  "p-queue": "^6.4.0"
28
28
  },
29
- "gitHead": "1c7c7618e2e3c9ef8b07d730c3df84c8bc01b35f"
29
+ "gitHead": "37cd4feb62e062899cae7029588d86a5d4b4036a"
30
30
  }