Giter Club home page Giter Club logo

node-red-contrib-cip-ethernet-ip's Introduction

node-red-contrib-cip-ethernet-ip

A Node-RED node to interact with Allen Bradley / Rockwell PLCs using the EtherNet/IP protocol. Based on the awesome work of cmseaton42/node-ethernet-ip.

This node was created as part of the ST-One project.

Install

You can install this node directly from the "Manage Palette" menu in the Node-RED interface.

Alternatively, run the following command in your Node-RED user directory - typically ~/.node-red on Linux or %HOMEPATH%\.nodered on Windows

    npm install node-red-contrib-cip-ethernet-ip

NodeJS version 10 or greater and Node-RED version 1.0 or greater is required.

Usage

Each connection to a PLC is represented by the ETH-IP Endpoint configuration node. You can configure the PLC's Address, the variables available and their addresses, and the cycle time for reading the variables.

The ETH-IP In node makes the variable's values available in a flow in three different modes:

  • Single variable: A single variable can be selected from the configured variables, and a message is sent every cycle, or only when it changes if diff is checked. msg.payload contains the variable's value and msg.topic has the variable's name.
  • All variables, one per message: Like the Single variable mode, but for all variables configured. If diff is checked, a message is sent everytime any variable changes. If diff is unchecked, one message is sent for every variable, in every cycle. Care must be taken about the number of messages per second in this mode.
  • All variables: In this mode, msg.payload contains an object with all configured variables and their values. If diff is checked, a message is sent if at least one of the variables changes its value.

Disclaimer

The Software is provided "AS IS", without warranty of any kind. The Licensor makes no warranty that the Software is free of defects or is suitable for any particular purpose. In no event shall the Licensor be responsible for loss or damages arising from the installation or use of the Software

Bugs and enhancements

Please share your ideas and experiences on the Node-RED forum, or open an issue on the page of the project on GitHub

Support

Community support is offered on a best-effort basis via GitHub Issues. For commercial support, please contact us by sending an e-mail to [email protected].

License

Copyright: (c) 2016-2020, ST-One Ltda., Guilherme Francescon Cittolin [email protected]

GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)

node-red-contrib-cip-ethernet-ip's People

Contributors

diegorampim avatar gfcittolin avatar nateevans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-red-contrib-cip-ethernet-ip's Issues

Support of string datatype

Is there any news on when the string data type will be supported?

Any others who have found different ways to send and receive strings?

Error connecting to PLC: Error: TIMEOUT occurred while reading Controller Props.

Hello,

I try to connect to a PLC that has a Duagon CIP Stack embedded.

When I use Schneider PLC, everthing wroks.
Then I tried with Node-Red and get a : "Error connecting to PLC: Error: TIMEOUT occurred while reading Controller Props."

Doing a bit of Wireshark on it, and below the extract of a working Schneider Communication :
image

Then the Node-Red one :
image

So the main difference between the two is that node-red request for a service Code 0x52 instead of 0x54 for the Schneider one.
Wireshark identifies this two services as :

  • Schneider : 0x54 : Service: Forward Open (Request)
  • Node-Red : 0x52 : Service: Unconnected Send (0x52)

Do you know why node-red is using this 0x52 instead of 0x54 ?
And is it possible to change it ?

Thanks for your help !

Write TAGS from Messaje

Is your feature request related to a problem? Please describe.

  • Write TAGS without a tag table but object from messaje
  • In some cases there are so much tags on PLC and is so complicate to use many "Eth - IP Out " nodes for each tag.

Describe the solution you'd like
msg.payload = { 'TAG1': value1, 'TAG2': Value2, 'TAG3': Value3, ... , TAGN: ValueN } return msg

Describe alternatives you've considered

  • No alternatives found

Send array

Does node-red-contrib-cip-ethernet-ip support sending an array of data using the "eth-ip out node" to an array on the PLC, or do i need to write to each individual "subtag" with individual nodes?

If it does support it how should msg.payload be formatted?

TIMEOUT occurred while reading Controller Props

Hi,
I'm trying to connect to an OMRON NJ101 PLC. I get the error message: "Error connecting to PLC: Error: TIMEOUT occurred while reading Controller Props.". Any idea whats wrong? IP Address is correct :-)

Thanks.
Dirk

Size of tag list

  • Tag list not respect limits of config panel.

image

  • Add scroll in this list

Transfer of BOOL variable

Describe the bug

I am communicating with an Omron NX1P2 PLC. The communication works, but I cannot send a variable of the BOOL type. This communication always ends with an error:

"Error communicating with the PLC: {"generalStatusCode":30,"extendedStatus":[]}"

To Reproduce

Use the eth-ip out block and set the variable of type BOOL to TRUE.

Environment

  • Version of this node: 1.1.3
  • Node-RED version: 2.1.3
  • PLC Part Number: Omron NX1P2-9B24_DT1 v1.41
  • OS: Windows 10
  • Browser: Opera

Unable to use it on Yocto

I am able to install it, but once installed, it does not appear on nodes palette. Ethernet-ip module is installed.

cip

"Error connecting to PLC: Error: TIMEOUT occurred while reading Controller Props."

any one have solution.

Offline plc related to a mismatched order in tags (only for arrays)

Describe the bug

I have some arrays (all of 150 elements) :

  • x of type DINT
  • y of type DINT
  • z of type STRING
  • k of type STRING

To read some data I inserted the tags (without explicity indication of type) in "eth-ip endpoint node" for example :

  1. x[1]
  2. x[2]
  3. z[50]
  4. y[3]
  5. k[30]

the result is that plc is signed offline (in eth-ip in with mode All tags)

How to solve problem

The problem, only if I read data from arrays, seems to be the order : I must read in group all equal data type.

For example this not work

  1. x[1] DINT
  2. x[2] DINT
  3. z[50] STRING
  4. y[3] DINT
  5. k[30] STRING

But this work

  1. x[1] DINT
  2. x[2] DINT
  3. y[3] DINT
  4. z[50] STRING
  5. k[30] STRING

Expected behavior

Eth ip in must not sign offline a plc that work and that is well configured.

Environment

  • Version of this node: node-red-contrib-cip-st-ethernet-ip 2.0.0-beta.3
  • Node-RED version: 2.2.2
  • PLC Part Number: 1756-L83ES
  • OS: Windows 10 professional 21H2

Multiple messages in "All Tags" Mode

I'm reading a list of BOOL, DINT and REAL tags from a CompactLogix PLC. The ether-ip node is set to "All Tags" Mode. Cycle Time is set to 10,000 ms.

I would expect to receive one message every 10 seconds with all the tags. Instead, I will receive multiple messages with all the tags all sent at exactly the same time. See screenshot below...

The issue seems to be related to tags with frequently changing values and the eth-ip node report-by-exception feature. If no tags change value between cycles, no message is sent. (expected behavior but an option to override this could be nice) If one tag changes between cycles, one message is sent with the values for all the tags. (expected as well) Then things get interesting:

If two tags change between cycles two identical messages are sent with exactly the same timestamp and exactly the same data for all the tags. If three tags change, three identical messages are sent and so on... If I have a large number of tags change my flow gets hammered with a series of identical messages that I need to manually weed out.

As a work-around I put in a delay node with a rate limit. Ideally, the eth-ip node would be updated to only send out one message every cycle regardless of how many tags change.

image

NULL values on PLC reconnect

I'm using your module to communicate with a CompactLogix PLC and am using the "All tags" mode to return a group of tags as a single message. In a scenario where I lose communication with the PLC, the module does not function correctly when communication is restored. When communication is restored, the module begins functioning again but all values from the PLC are returned as null.

The debug output from the module looks like this:

  1. Communicating correctly
    Debug: {"BE505Hazmon.HDSR.o_SensorData":59.67499923706055,"BE505Hazmon.HDSR.o_Fault":false}

  2. Loss of communication
    Debug: Error communicating with the PLC: Error: <SCAN_GROUP> TIMEOUT occurred while writing Reading Tag Group.

  3. Communication restored
    Debug: {"BE505Hazmon.HDSR.o_SensorData":null,"BE505Hazmon.HDSR.o_Fault":null}

The values will continue as null until Node-Red is restarted or the flow is redeployed.

Note: If I use the mode "All tags, one per message" this issue doesn't present itself.

Use function node to configure the tags

Hello,
I want to read many variables from an Allen Bradley PLC but with different read-rate, so I wouldn't like to configure the tags and read-rate in the 'eth-ip' node. In a function node, I would like to organize and collect the data I need to read at the same rate in a JSON object and then send the information in msg.payload to the 'eth-ip in' node.
For example something like this:

image

I hope I made myself clear

thank you

Not a PLC, but Ethernet-IP Protocol

Hi.
We are reading successfully in python from a Televac pressure meter. There are no named tags that I am aware of, only numbers.
I use pycomm3 to read as such, but do not understand how to do the same thing in node-red:

from pycomm3 import CIPDriver, Services, ClassCode, INT, Array, USINT, SHORT_STRING, REAL

host = '192.168.10.31'

def get_real(instance_var):
with CIPDriver(host) as plc:
response = plc.generic_message(
service=Services.get_attribute_single,
class_code=162,
instance=instance_var,
attribute=5,
data_type=REAL,
connected=False,
unconnected_send=False,
route_path=True,
)

if response:
	return (response.value)
else:
	print(f'error - {response.error}')

try:
meter1 = get_real(101)

unstable reading tags

I have setup the node to read a list of tags every second. It sometimes returns every 3 seconds, sometimes 3-4 times in the same second.

Some Plcs going offline after updating st-ethernet-ip

Describe the bug

After updating library st-ethernet-ip (used by node-red-contrib-cip-st-ethernet-ip 2.0.0-beta.3) from 2.5.3 to 2.6.1 some plcs was signed as offline by eth ip in, but this is not true (all work well).

How to solve problem

Going deeper thru the problem, I focused on a PLC from which I read only one element x.y[50] : x is a struct, y is an array of 64 DINT, it was enough to change type from DINT to empty (in plc tags configuration on nodered), after deploy plc was signed online and all go well.

Expected behavior

Eth ip in must not sign offline a plc that work and that is well configured.

Environment

  • Version of this node: node-red-contrib-cip-st-ethernet-ip 2.0.0-beta.3
  • Node-RED version: 2.2.2
  • Node.JS 14.21.1
  • PLC Part Number: 1756-L83ES
  • OS: Windows 10 professional 21H2

Error communicating with PLC, Omron NX1P

I'm having a problem when trying to write to Omron PLC

It's somewhat the same issue descripted here, but this occurs when writing data to PLC in Node Red. After commented the line 125 as instructed to do in https://github.com/st-one-io/node-red-contrib-cip-ethernet-ip/issues/10 I am able to read the data from the PLC without problems.

I just noticed that this thread was already closed so probably nobody will see my message there...

So anyway, when I try to send any data from Node Red to the PLC with the "eth - ip out" -function, the status of the function block changes (for example from false to true), but after a few seconds the function block goes in error and the error message in debug window tells the following:

153571600-e1ff0487-58b4-4b9e-9098-647d7a21915f

"Error communicating with the PLC: {"generalStatusCode":30,"extendedStatus":[]}"

Is there anything I could check or do differently?

AB CompactLogix L24ER

Describe the bug

A clear and concise description of what the bug is.

Environment

  • Node-RED version: Node JS 14.6.0
  • PLC Part Number: CompactLogix L24 ERQB1B
  • OS: Windows 10
  • Browser: chrome

Additional context

This Node is giving me this error, and online discussion shows CompactLogix does not support readWallClock function.
"generalStatusCode":30,"extendedStatus"

Reading a value from a matrix (bidimensional array) of STRING_8 cause the write of truncated string on plc

Describe the bug

In Eth IP In, reading 2 tags of type STRING_8 in a matrix (10,2), x in the example belowe, cause the rewrite of the smaller string in the plc.

For example, I read x[0,1] (value "AABBCC") and x[0,0] (value "DDEEFFGG") : at first read of x[0,0] assume the value "DDEEFF" (it was write on plc), I have noted that has same lenght of x[0,1].

Expected behavior

Eth IP In must not write data to plc in any case

Environment

  • Version of this node: node-red-contrib-cip-st-ethernet-ip 2.0.0-beta.3
  • Node-RED version: 2.2.2
  • PLC Part Number: 1756-L83ES
  • OS: Windows 10 professional 21H2

Micro800 does not connect

Hi!

I try to connect the eth-ip node to a Micro800 Allen-Bradley PLC but appear TIMEOUT ERROR and I can´t connect.

[{"id":"3eae5e2e.126f82","type":"eth-ip in","z":"afaa80e6.5121a","endpoint":"1cafa1a8.abce4e","mode":"single","variable":"Prueba1","program":"","name":"Micro870","x":170,"y":280,"wires":[[]]},{"id":"1cafa1a8.abce4e","type":"eth-ip endpoint","z":"afaa80e6.5121a","address":"192.168.1.102","slot":"0","cycletime":"5000","name":"Micro870","vartable":{"":{"Prueba1":{"type":"BOOL"}}}}]

Could you help me please?

Thanks in advanced

Generic Ethernet/IP

Hello,
I just tried out connect Node Red to Fanuc robot controller, but there are needed more informations to configure protocol. This is list of these parameters:

  • Vendor ID
  • Device Type
  • Product Code
  • Input Size (words)
  • output size (words)
  • RPI (ms)
  • Assembly instance (input)
  • Assembly instance (output)
  • Configuration Instance

Is it possible to find somewhere these informations?
Of course it is Ethernet/IP protocol. I have there Scanner and also Adapter mode.
Which mode should be used to connect?

Regards,
kompak23

Support for STRING datatypes

My apologies in advance if this is the wrong place to submit this request/issue. I really like what you have done with this Node package for Ethernet/IP driver. Was wondering if there is a way or are there plans to support STRING data types (i.e. for 1756 L series controllers).

Regards,

Chris

eth-ip in not working as expected

Hi,
I have found if you are writing a PLC variable via 'eth-ip out' and reading the same variable via a 'eth-ip in'. The 'eth-ip in' fails to update.

image

Node-Red reproduce:
[{"id":"ddbb44b9.534618","type":"eth-ip in","z":"190d888b.33b4c7","endpoint":"dd5e958.3302d68","mode":"single","variable":"Output","program":"","name":"","x":130,"y":80,"wires":[["32fe7531.aa29ea"]]},{"id":"df38996d.81d568","type":"eth-ip in","z":"190d888b.33b4c7","endpoint":"dd5e958.3302d68","mode":"single","variable":"Toggle","program":"","name":"","x":130,"y":140,"wires":[["31a8986b.ca8ca8"]]},{"id":"c0dc92b8.c7082","type":"eth-ip out","z":"190d888b.33b4c7","endpoint":"dd5e958.3302d68","variable":"Toggle","program":"","name":"","x":330,"y":200,"wires":[]},{"id":"32fe7531.aa29ea","type":"debug","z":"190d888b.33b4c7","name":"Debug Output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":360,"y":80,"wires":[]},{"id":"31a8986b.ca8ca8","type":"debug","z":"190d888b.33b4c7","name":"Debug Toggle","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":360,"y":140,"wires":[]},{"id":"ec282ead.135fb","type":"inject","z":"190d888b.33b4c7","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":200,"wires":[["c0dc92b8.c7082"]]},{"id":"3d3b7aa0.2d2456","type":"inject","z":"190d888b.33b4c7","name":"","topic":"","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":240,"wires":[["c0dc92b8.c7082"]]},{"id":"dd5e958.3302d68","type":"eth-ip endpoint","z":"","address":"192.168.1.10","slot":"10","cycletime":"500","name":"Test","vartable":{"":{"Output":{"type":"BOOL"},"Toggle":{"type":"BOOL"}}}}]

Allen-Bradley test code:
XIC(Toggle)OTE(Output);

Node-Red Version: 0.20.0
node-red-contrib-cip-ethernet-ip Version: 1.0.1

Let us know if you need any more info or logs.

Thanks.

Tag names starting with "_" (underscore)

Hi,

I have difficulties importing tags starting with "_" through Import. The node will throw error and won't be able to communicate.

Adding tags manually with "_" prefix will be all right, but... I am just too lazy to do it for more than a thousand tags.

Thanks.

Write to Omron PLC

I'm trying to write data to an Omnron NX1P2 but I'm getting this error
writeError

I managed to connect and read the tag using what is commented in here #10

This is my tag configuration
image

any help would be appreciate.

TIMEOUT occurred while reading Controller Props

Hi,

I'm trying to use connect to a Micro850 (2080-LC50-48QBB) but i always get the controller props timeout.

I think I'm connecting properly, the error message is different if I use a other IP's than the Micro850, which means I'm a step closer to get it working.

I have Local and Global variables configured in the controller which is running.

Does the Address also needs Port or a reference to the Backplane?
Or do i need to Enable CIP in the controller parameters?

Anyone knows why i'm having this problem?

Thanks

Error communicating with the PLC: {"generalStatusCode":4,"extendedStatus":[0]}

Hi,

I'm trying to reach Allen Bradley CompactLogix 5380 PLC with Node-Red and ETH-IP node.

PLC IP: 10.100.1.20
Slot: 0

Ping OK, Studio 5000 connection OK, PLC in run mode, process control active.

If I configure the ETH-IP node normally, I get error:

Error communicating with the PLC: {"generalStatusCode":4,"extendedStatus":[0]}

This is a software tag FT_01. I can read it with another IIoT Gateway, but I need to add the path: PROGRAM:MainProgram.FT_01

Is there a way to add the program path?
BTW, I'm doing this via Node-Red ETH-IP Node.

image

image

image

image

Populate Vartable from Environment Variables

I'm using Node-RED to monitor around 50 pieces of equipment, each with a unique control system and a variety of processors. I'm using the same flow in Node-RED for all of the machines for ease of deployment and updates. The flow is designed to act accordingly to environment variables. It doesn't appear, however, that the vartable for node-red-contrib-cip-ethernet-ip (and I imagine node-red-contrib-pccc and node-red-contrib-s7) can be populated using environment variables. Deployment and maintenance would be so much easier if I could programmatically add the tags and addresses.

Logix 5000 Series - Error communicating with the PLC: {"generalStatusCode":30, "extendedStatus":[]}

I have several Logix 5000 systems I'm attempting to use cip-ethernet-ip with (showing two here, one working and one not). I get the following error message on two of the systems:
Error communicating with the PLC: {"generalStatusCode":30, "extendedStatus":[]}

One of the systems I'm having problems with is a 1756-L71S and Logix55L7SP with a 1756-EN2T with the last slot of the rack.
1 - Entire Rack

One of the systems that works fine is a Logix5561S and Logix55LSP with a Ethernet card in the last slot of the rack.
2 - Entire Rack

Each system has its own Pi running node-red and the cip-ethernet-ip nodes in each are configured the same. I've looked at and tried everything I can think of. Is there something I need to do with the PLC or Ethernet interfaces?

Thank you,
Chris

Error communication with plc

bug help debug

I had the message of error commmunication with PLC { generalStatusCode: 8, extendedStatus: [] }.
I cannot figure out why I am having this error, any help to debug or improve the log message?

Screenshots

image

Flow

   "id":"3fbba73.e7cf058",
   "type":"eth-ip endpoint",
   "address":"10.36.12.32",
   "slot":"1",
   "cycletime":"1000",
   "name":"",
   "vartable":{
      "":{
         "Unit[10].PrId":{
            "type":"DINT"
         },
         "Unit[10].Progno":{
            "type":"DINT"
         },
         "Unit_Txt_String[10].SequentialNo":{
            "type":"DINT"
         },
         "cnt[2].val":{
            "type":"REAL"
         },
         "Unit[10].Step":{
            "type":"DINT"
         },
         "Unit[10].Phase":{
            "type":"DINT"
         }
      },
      "U10_wort_kettle":{
         "PH311001.val":{
            "type":"REAL"
         },
         "PH311001_TT.val":{
            "type":"REAL"
         },
         "PT311334.val":{
            "type":"REAL"
         },
         "LT311331.val":{
            "type":"REAL"
         },
         "TT311351.val":{
            "type":"REAL"
         },
         "PT311332.val":{
            "type":"REAL"
         },
         "PT311331.val":{
            "type":"REAL"
         },
         "sfm_evap_rate.val":{
            "type":"REAL"
         },
         "DEN311002.val":{
            "type":"REAL"
         }
      }
   }
}```

"dependencies": {
"node-red": "^1.0.6",
"node-red-contrib-azure-iot-edge-kpm": "^0.4.2",
"node-red-contrib-azure-iot-edge-module": "^1.0.2",
"node-red-contrib-cip-ethernet-ip": "^1.1.2"
}


### Environment
 - **Version** of this node: 1.1.2
 - **Node-RED version**: 1.0.6
 - **PLC Part Number**: ?
 - **OS**: Ubuntu host executing docker on nodered/node-red:latest-12
 - **Browser**: chrome

Unused flow with eth-ip endpoints, but crashed entire Node-RED instance due to unconnectable PLC

Hi,

I have an unused flow with several eth-ip endpoints in my development node-red environment.
I noticed this weekend that the entire node-red instance had crashed.
When I started it up again, I received the error below when node-red crashed.
This error repeats every time I try to bring node-red online as long as this PLC is offline.
I believe that PLC is down for weekend maintenance.
I wanted to bring this to your attention, because this seems to crash an entire instance.
I also tried adding a catch node in the unused flow, but the behavior was the same.
I can provide any details you guys might need..

14 Sep 22:11:36 - [error] [eth-ip endpoint:xxx1] Error communicating with the PLC: Error: This socket has been ended by the other party

14 Sep 22:11:41 - Error: This socket has been ended by the other party
at Controller.writeAfterFIN [as write] (net.js:407:14)
at Controller.destroy (/home/xxx/.node-red/node_modules/ethernet-ip/src/enip/index.js:201:14)
at destroyPLC (/home/xxx/.node-red/node_modules/node-red-contrib-cip-ethernet-ip/red/ethernet-ip.js:225:27)
at closeConnection (/home/xxx/.node-red/node_modules/node-red-contrib-cip-ethernet-ip/red/ethernet-ip.js:245:13)
at Timeout.connect (/home/xxx/.node-red/node_modules/node-red-contrib-cip-ethernet-ip/red/ethernet-ip.js:272:17)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)

Error communicating with the PLC

Getting the following error when trying to use the 'eth-ip in' node:
[error] [eth-ip endpoint:fcb8299d356710ad] Error communicating with the PLC: {"generalStatusCode":5,"extendedStatus":[0],"ext":[{"func":"_getTemplateAttributes","templateID":193,"cipReq":{"type":"Buffer","data":[3,2,32,108,36,193,4,0,4,0,5,0,2,0,1,0]},"attributes":{"id":193},"members":[],"name":""}]}

Endpoint node properties correctly displays PLC info:
PLC Browser
10.0.0.250 : 1769-L24ER-QB1B/A LOGIX5324ER

Node-red crashes if you click the PLC address in the browser:
[red] Uncaught Exception:
[error] UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "#".

Thanks

Bool Variable

Describe the bug

I am trying to write a Bool in the PLC and it works but I need that bool to stay true for certain seconds. I am unable to keep the variable true for 2 seconds.

To Reproduce

Steps to reproduce the behavior:

  1. Make a bool variable
  2. Attach a TON timer to it of 2 seconds.
  3. Write the variable from node-red by injecting a true payload.

Expected behavior

I was I hoping can turn the variable on for 2 seconds and then turn it off.

Environment

  • Version of this node: 1.1.3
  • Node-RED version: 3.0.2
  • PLC Part Number: 5069-L310ER CompactLogix 5380
  • OS: Windows 10
  • Browser: Chrome

"Error communicating with the PLC: {"generalStatusCode":1,"extendedStatus":[273]}"

Describe the bug

I am not able to connect to any PLC.
I am connected to a 1756-ENBT/A, 192.168.11.204 slot 01, and i want to comunicate to a PLC L81ES, slot 02.
immagine
But it is not connecting saying "Error communicating with the PLC: {"generalStatusCode":1,"extendedStatus":[273]}"
I have tryied with another PLC but i got the same error.

EDIT. The old node 1.1.3 it is connecting fine

Expected behavior

Connect, i have tryed with PCCC and it is working fine i am not able to understand why it is not working

Screenshots

immagine

immagine

Environment

  • Version of this node: [2.0.0-beta.3]
  • Node-RED version: [3.0.2]
  • PLC Part Number: [L81ES ]
  • OS: [Ubuntu]
  • Browser: [Firefox]

Plc is not automatically reconnected

Describe the bug

When a plc, for a known reason (like maintenance, firmware upgrade or software upload), is disconnected from the lan, sometimes it does not automatically reconnect : I have to restart flow manually.

Expected behavior

I expect that the plc is reconnected, in all case, automatically

Logs

This is the log (after this plc is disconnected)
26 Jun 08:03:27 - [error] [eth-ip endpoint:Plc] Error communicating with the PLC: {"generalStatusCode":4,"extendedStatus":[0]}

Environment

  • node-red-contrib-cip-st-ethernet-ip 2.0.0-beta.3
  • Node red 2.2.2
  • Node.JS 14.21.1
  • Plc Rockwell 1756L81ES
  • Windows 10 professional 21H2

When defining long tag path results in "Variable [:FLIR_AX8:I.Measurement1.SpotTemp] not found"

eip node.txt

Communicating with ConnectLogix 1769-L32E 20.012
Node Red - 3.0.2
node-red-contrib-cip-ethernet-ip - 1.1.3

When defining a Global Tag:

Tag like this works - FLIR_AX8:I.DeltaTemp1 - Tag with only one step
Tag like this - FLIR_AX8:I.Measurement1.SpotTemp - Tag that has a path step beyond above example

Results in an error: "Variable [:FLIR_AX8:I.Measurement1.SpotTemp] not found"

I have tried creating a scope and defining it that way without success, also verified that the tag does indeed exist and can be polled by other software.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.