Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 26 2021 15:07
    EngZara edited #94
  • Nov 26 2021 15:07
    EngZara edited #94
  • Nov 26 2021 15:02
    EngZara opened #94
  • Nov 22 2021 16:57
    Mudrekh synchronize #93
  • Nov 19 2021 21:46
    Mudrekh opened #93
  • Oct 27 2021 08:42
    anandanatarajan opened #92
  • Sep 30 2021 19:26
    skykep commented #71
  • Sep 20 2021 21:39
    dependabot[bot] labeled #91
  • Sep 20 2021 21:39
    dependabot[bot] opened #91
  • Sep 20 2021 21:39

    dependabot[bot] on npm_and_yarn

    Bump tmpl from 1.0.4 to 1.0.5 … (compare)

  • Sep 15 2021 10:06
    skykep closed #90
  • Sep 11 2021 01:20
    jhenson29 commented #89
  • Sep 10 2021 14:22
    skykep commented #89
  • Sep 10 2021 14:18
    pcnate commented #89
  • Sep 09 2021 21:14
    skykep opened #90
  • Sep 09 2021 19:43
    skykep commented #89
  • Sep 09 2021 19:40
    pcnate commented #89
  • Sep 09 2021 19:28
    skykep opened #89
  • Aug 10 2021 17:42
    dependabot[bot] labeled #88
  • Aug 10 2021 17:42
    dependabot[bot] opened #88
Jeremy Henson
@jhenson29
Yes. It’s to allow “Program:” as a prefix, same as FT View Studio. This allows tags names to be stored as single strings.
Nathan Baker
@pcnate
doesn't a full tag mean different thing on different processors?
Canaan Seaton
@cmseaton42
full tag?
Nathan Baker
@pcnate
full tag meaning program and tag name as a single string
Canaan Seaton
@cmseaton42
i guess im not sure, ive never had a problem but I most work with newer processors
Jeremy Henson
@jhenson29
I assume you’re talking about the tag name regex?
Canaan Seaton
@cmseaton42
yep
I am just trying to wrap my head around it lol, it is a lot of regex haha
Jeremy Henson
@jhenson29
Yeah, I know. I tried to make good comments about the pieces. There’s an issue with js regex also. There’s some feature it’s missing that made that particular regex more complicated than it should have been.
Canaan Seaton
@cmseaton42
no worries, was just trying to figure it out
Nathan Baker
@pcnate
i guess my reference to full tag was simply that other architectures (which I do not use nor am not familiar) may have different syntax for including the program name in the tagname as well as additional pieces of data
Canaan Seaton
@cmseaton42
thats interesting, maybe thats why it isnt officially documented, id be interesting in seeing some of the other architectures
Canaan Seaton
@cmseaton42
image.png
Do we need to catch BIT_STRING here, I think we throw an error if there is a bit index and bit string identified
Jeremy Henson
@jhenson29
I use the bit index property on bit strings. Check lines 44-64 of tag class (I think those are right).
It’s because bit strings get handles the same as a bit index. E.g tag[44] that’s an array of bool has to be read as tag[1].12
Canaan Seaton
@cmseaton42
ahh I see, so bit strings are boolean arrays?
I was wondering what tags a bit string corresponded to
Jeremy Henson
@jhenson29
Yes. Bool arrays. But they are treated like smaller dint arrays. If you’ve ever noticed, they’re always allocated in 32 bit increments. Eg. if you decals a bool array with length 12 in the plc, it will change to 32.
Declare*, not decals
Canaan Seaton
@cmseaton42
that makes sense, functions a similar way to booleans within a structure, is that the only use case for a bit_string?
Jeremy Henson
@jhenson29
I believe so.
Canaan Seaton
@cmseaton42
million dollar question, should we force the user to supply a datatype when instantiating a tag?
also i pushed a WIP commit to the repo with where I am at on the tag implementation in case you guys were curious
Jeremy Henson
@jhenson29
No. Please don’t. 95% of what I do does not specify a tag type. Almost all of my tag references are stored as single strings. I have a wrapper service around the EIP driver that reads all of the tags on the initial connection so I have types for writing.
Canaan Seaton
@cmseaton42
noted lol
Canaan Seaton
@cmseaton42
Ill try and make as small of an impact on the current API as I can though there will be some small differences
that said the changes should be minimal, i will not force the user to specify type
Jeremy Henson
@jhenson29
No worries. Do what you need to. It’s just really nice being able config all of my tags with single strings.
Canaan Seaton
@cmseaton42
I get that, that should all remain the same, the basic tag class will cover all the current use cases, there will be a separate tag class for strings and structures
Canaan Seaton
@cmseaton42
The most recent issue is a strange one, do you suspect the issue is on the PLC side? I can't figure out how we could be misreading the buffer. Also, I'm not sure the way he is reading the tags is a good way, that will send a unique payload to the controller per tag instead of bundling them in one payload which would be easier and cleaner I think.
Jeremy Henson
@jhenson29
I would bet an awful lot on the tag actually having that value occasionally. If nothing else, it needs to be verified.
The read method isn’t ideal, but I don’t think it’s causing the issue. I do something similar when I’m checking the tags on first run so I can identify and throw out tags that will fail while still letting the rest of the tags read.
Canaan Seaton
@cmseaton42
Gotcha, that makes sense
Jeremy Henson
@jhenson29
Ugh..I’ve been burned by rogue COP instructions more than once...
I don’t know if that’s his issue, but it would make sense.
Canaan Seaton
@cmseaton42
Haha people mess those up all the time
qesbrett
@qesbrett
Will this library work to form a Ethernet/ip connection with non-PLC ethernet/ip devices? I am trying to connect to a Turck Fen20 Ethernet I/O module
Nathan Baker
@pcnate
I have never tested doing this but I don't think it would
i believe those things have a web interface so you could just interface with it that way
qesbrett
@qesbrett
image.png

Thank you, that's what I worried. The Turck I/O module has a Ethernet/ip interface like UDP where you initiate a connection and use the assembly instance ID in the memory map to request a chunk of data, I've been looking for a library to easily just make those byte requests and form the connection. I was hoping this one might have a way to connect through the same Ethernet/IO standard

Any chance you familiar with the changes this fork made or its purpose? https://github.com/hirokiht/ethernet-ip-cip

Nathan Baker
@pcnate
I am not. Sorry
Canaan Seaton
@cmseaton42
The is a pull request open that supports this I think. I havent been able to complete my major release candidate as of yet, got derailed with project work though. That fork may be the best way to go until the library gets first class support. sorry @qesbrett
antoniobonora
@antoniobonora
Hi,
I tried to connect with the omron nj plc, but without success.
has anyone managed it?
Anyone have any suggestions to give me?
Thanks in advance
hi @cmseaton42, I tried to connect with the omron nj plc, but without success.
Do you know someone did it?
Do you have any suggestions to give me?
Thanks in advance
Canaan Seaton
@cmseaton42
I know this is super delayed @antoniobonora, sorry about that, It will not work with an omron PLC as the PLC interface was written explicitly for rockwell. That said, the underlying EIP code could be used to build your own omron driver assumming omron supports EIP natively.
@jhenson29, You have full write access the the base library, Feel free to pull any requests that you think need to be pulled immediately. I will not have time for months to get back to the rewrite :(
In the meantime, feel free to pull any requests into the base library that you think need to be pulled, sorry for the delay guys...
Alexander P Schantz
@zibeeze
Just wanted to say I started investigating this project and the work you guys have put in is great. I would like to help with the rewrite and getting this into Typescript. @jhenson29 I would be interested to see what PR’s you pull in,and what changes you would like to make in the rewrite.
dharraka
@dharraka
Hi All. I came across this last night and I think this project is awesome! Are there any plans to expand it to the MLX range of PLCs? I'm happy to do the dev work myself.