Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ktemelkov/node-profinetdcp

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-profinetdcp

NodeJS Addon for sending PROFINET DCP requests.

Prerequisites

Libpcap library should be already installed prior to the installation of the npm package.

For Windows

Install NPcap from https://nmap.org/npcap/#download

For Linux

Install libpcap-dev e.g.

sudo apt-get install -y libpcap-dev

for Mac OSX

Libpcap is already installed

Installation

npm install profinetdcp

Example

const { listInterfaces, dcpIdentify, LinkStatus } = require('profinetdcp')

listInterfaces().then((list) => {
  const interfaces = list.filter((intf) => !intf.isLoopback && intf.status == LinkStatus.Up)

  if (interfaces.length > 0) {
    console.log(`Found ${interfaces.length} network interfaces with link status "up"`)
    console.log('---------------------------------------------------------------------')
    console.log(interfaces)
    console.log('---------------------------------------------------------------------')
    
    console.log('Sending DCP identify requests ...')
  
    interfaces.forEach((intf) => {
      dcpIdentify(intf).then((hosts) => {
        if (hosts.length > 0) {
          console.log(`Hosts found on interface ${intf.name}`)
          console.log(hosts)
        } else {
          console.log(`No hosts found on interface ${intf.name}`)
        }
      }).catch((err) => {
        console.log(`Failed to indentify hosts on interface ${intf.name}`)
        console.log(err.message)
      })
    })  
  } else {
    console.log(`No network interfaces found with link status "up"`)
  }  
})

TODO

  • Only DCP Identify request is implemented at the moment. DCP-Get and DCP-Set to follow ...

  • List of hosts is returned after the 5 sec. scan timeout. No partial progress at the moment.

  • Add documentation and examples

About

NodeJS Addon for sending PROFINET DCP requests

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.