0.1.2-9.1 • Published 2 years ago

lightweight-opc-client v0.1.2-9.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Lightweight OPC Client

Install using NPM npm install lightweight-opc-client or using Yarn yarn add lightweight-opc-client

Require lightWeightOPCClient to your code.

const { lightWeightOPCClient } = require('lightweight-opc-client');

Then configure the params. The result will displayed on console. You can also store the value to MySQL database.

Params: | name | description | type | required? | example | |--|--|--|--|--| | endpointUrl | URL to OPC server | string | yes | opc.tcp://192.168.1.1:49320 | | nodeId |OPC node ID | string | yes | ns=2;s=sample-NODE-ID | | applicationName | your application name you want | string | optional. Default: MyApp | "MyApp" | | infinite | set monitoring to infinite | boolean | optional. Default: false | true | | monitorTime | set how long device (in milisecond) to be monitored if infinite is set to false | number | Optional. Default: 10000 | 10000 | databaseConfigs | connect to database if you want save the data to databae | object | Optional | { host: 'databasehost', user: 'username', password: 'your-password', database: 'sample_db' } | tableName | the name of the table to store the data in database | string | Yes, if databaseConfigs exists | sample_table | | fieldName | the name of the field to store the data in database | string | Yes, if databaseConfigs exists | sample_field | | timestampField | field that receive timestamp value | string | Yes, if databaseConfigs exists. Default: created_at | created_at

Example

const { lightWeightOPCClient } = require('lightweight-opc-client');

const databaseConfigs = {
  host: 'databasehost',
  user: 'username',
  password: 'your-password',
  database: 'ems_data',
};

const endpointUrl = 'opc.tcp://192.168.1.1:49320';
const nodeId = 'ns=2;s=sample-NODE-ID';
const fieldName = 'value';
const tableName = 'test_table';
const timestampField = 'created_at';

lightWeightOPCClient({
  endpointUrl,
  nodeId,
  applicationName: 'UV Lamp No. 3',
  infinite: true,
  monitorTime: 10 * 1000,
  databaseConfigs,
  fieldName,
  tableName,
  timestampField,
});