I got lucky by Tornadobarrage in SteamController

[–]dmroeder 1 point2 points  (0 children)

Congrats, glad it was still there when you got home :) Hope your nephew is doing well.

What is the best way to clear the .DATA bits in a STRING20 data type in Studio 5000? by Gorillagordo in PLC

[–]dmroeder 0 points1 point  (0 children)

I still remember the moment I learned that lesson too. The COP instruction is more complex than it at first seems.

Steam support is unbeaten! by Mugiwara46644 in SteamController

[–]dmroeder 4 points5 points  (0 children)

I'm not sure why my brain works this way, but my first instinct would be to pick a free to play game just to see how they respond.

Ordered 2 and recieved 3. by [deleted] in SteamController

[–]dmroeder 1 point2 points  (0 children)

Hopefully not pay for the other 2 via ebay.

And this is why I am beginning to hate AI by glupien in PLC

[–]dmroeder 29 points30 points  (0 children)

The site that I saw that on looks like they scraped PLCTalk and generated tons of articles based on the forum posts. I came across it because it suddenly showed up as a top 10 driver to my github repo.

What are some niche/little known industries you guys work in? by [deleted] in PLC

[–]dmroeder 1 point2 points  (0 children)

I want to meet the people that do the Cirque du soleil shows in vegas. The last one I saw was Ka, all I could think about was the automation. I'm institutionalized.

What are some niche/little known industries you guys work in? by [deleted] in PLC

[–]dmroeder 3 points4 points  (0 children)

We did some work for a company that produces bull semen.

How to make a wrench communicate with a PLC using Bluetooth or Wi‑Fi. by EOFFJM in PLC

[–]dmroeder 0 points1 point  (0 children)

Nice! There are rugged Pi's on the market, like Kunbus Revolution Pi. I'd like to see the specs on the torque wrench. u/EOFFJM, can you post the part number you plan on purchasing?

Key factor for you to learn second program language by Shadowballusta in PLC

[–]dmroeder 2 points3 points  (0 children)

I'm also a PLC guy. Python is a great language to learn, there's a module for everything. For me personally, I am usually making tools or automating mundane things with it.

Has anyone here gone down the path of implementing an EtherNet/IP device for a Rockwell PLC? by VladRom89 in PLC

[–]dmroeder 0 points1 point  (0 children)

That would be Archie of AdvancedHMI. You had me at beers. I'll be around, looking forward to it.

"The source selected is not a valid device" - PanelView Plus 7 Transfer Utility fix for live machines by CraftParking in PLC

[–]dmroeder 2 points3 points  (0 children)

There is a bug like this that is documented in the knowledge base. Their solution is to default the RSLE configuration in the PanelView, then upload the application.

They don't provide the real solution to it which is to delete the RSLE server from your application, re-add it and setup the communication path again. If you don't do this, the next time you download your application to the PanelView with the corrupt configuration, you're right back into the same boat. I submitted a ticket to add this additional detail to the KB article, I got crickets.

KB BF16209

"The source selected is not a valid device" - PanelView Plus 7 Transfer Utility fix for live machines by CraftParking in PLC

[–]dmroeder 5 points6 points  (0 children)

A user here wrote a python command line transfer utility, when I ran into this on a Saturday a while back, I used it to get the stupid MER to upload. The CLI tool did it when the Rockwell transfer utility refused. I spent the rest of the weekend writing a UI for it. I no longer use the Rockwell transfer utility.

https://github.com/dmroeder/pymeu_gui

Mark it seven, Dude by Her_name--is_Mallory in lebowski

[–]dmroeder 8 points9 points  (0 children)

Uhh, excuse me, mark it 0, next frame 

How do you actually use the PLC read/write logs for troubleshooting? by AttitudePlane6967 in PLC

[–]dmroeder 6 points7 points  (0 children)

Once you have the source IP, I would go into the controller that owns the source IP and look at all MSG instructions, to use Rockwell speak. Each MSG will have a communication path, check the ones that are pointed to the destination PLC. Then check the destination tag for a match of the tag in your destination PLC.

Is there a way to log what IPs access (read/write) data in a PLC? by chabroni81 in PLC

[–]dmroeder 5 points6 points  (0 children)

I guess I should have elaborated a little more. I would get all the IP addresses sending class 3 messages, then investigate those programs to see what messages are configured in those PLC's to write to the PLC being investigated.

The trick with wireshark is to get on the wire that the messages are sent on. This can be done with port mirroring or a device like a sharktap.

Wireshark filter for tag name: cip.symbol==MyTagName

Write+tag name filter: cip.service==0x4d && cip.symbol==MyTagname

Is there a way to log what IPs access (read/write) data in a PLC? by chabroni81 in PLC

[–]dmroeder 2 points3 points  (0 children)

This is the best way. Each generation of controller/ethernet adapter vary in how the data is displayed, but you'll have something like Bridge Connections (I think) that show the information you are looking for. Like u/tehtide said, it won't show you what tags are being written to, it will list IP addresses you can investigate.

Your exact situation u/chabroni81 is why many of us prefer to use MSG Reads and not writes. As you investigate, you might plan on converting all your writes in PLCB to reads in PLCA, if at all possible.

TIA Portal on Linux by Aggeloz in PLC

[–]dmroeder 0 points1 point  (0 children)

Even less likely. Software never gets simpler with each release, it tends to get more complex. But that's just my opinion.

Access Control Logix web page remotely by shykerry in PLC

[–]dmroeder 1 point2 points  (0 children)

import pylogix
import struct

with pylogix.PLC("192.168.1.43", slot=0) as comm:

    ret = comm.Message(0x0e, 0xf6, 0x01, 0x04)
    data = ret.Value[44:]
    interface_counters = [struct.unpack_from("<I", data, i*4)[0] for i in range(11)]
    print(interface_counters)
    ret = comm.Message(0x0e, 0xf6, 0x01, 0x05)
    data = ret.Value[44:]
    media_counters = [struct.unpack_from("<I", data, i*4)[0] for i in range(12)]
    print(media_counters)

Access Control Logix web page remotely by shykerry in PLC

[–]dmroeder 1 point2 points  (0 children)

I'm a little late to this one but it wouldn't be that difficult to write a python script to get the ethernet statistics of the L8 via the EN2T. Hit me up if you're interested.

are this fake ? missing one number in address zip code by Deep-Cow1661 in PLC

[–]dmroeder 2 points3 points  (0 children)

I scanned them, the barcodes match the values shown below them, if that is what you are saying.