Allen Bradley Micro 820 PLC

Tasneem Ahmad

Member
Join Date
Dec 2022
Location
Bangalore
Posts
22
Hello Everyone,

Hope you all are doing well.

I am new to the PLC and communication protocols used in PLC. I am currently stuck with Allen Bradley Micro 820 PLC, trying to Read/Write tag value. I am not sure what packet needs to be send to the PLC for Read and Write operation.
Can someone please help me to understand the packet structure which is required to established CIP communication.

Thanks
 
Hi,

Thanks for your response.

Actually I was looking for Read/Write operation using CIP Protocol using my application which I have created to perform Read/Write operation. I have created sample application in C++ which can send the data to the PLC and receive data from the PLC. I am using same packet structure as used in Control Logix PLC for CIP Communication but it is not working as expected.
I wanted to know if there is any change in packet structure for Allen Bradley Micro 820 PLC with respect to control logix PLC.

Thanks
 
I am using same packet structure as used in Control Logix PLC for CIP Communication but it is not working as expected

Its a different PLC so it will not be the same, I cant help much but I am sure its not the same... just like the SLC/MicroLogix family is not the same as the CLX, the Micro800 will be different than the CLX
 
The packet structure is more or less the same, the connection (forward open) is slightly different between Micro800 and the Logix platform. Micro800 doesn't use a port segment. You can wireshark what pylogix does. If your C++ application can communicate with the Logix platform, then you are nearly 100% there to communicating to the Micro820.

Once you are able to communicate, strings are handled different in Micro800 than in the Logix platform. I would argue, the Micro800 did it right, Logix platform is a mess.
 
Hi dmroeder,

Thanks for your quick help and suggestion.

1 question I have is about local and global variable in Micro 820 PLC.
I tried to access global variable and able to fetch the value using the script shared by you. But whether it is possible to Read local program variables created using connected component workbench software. If yes then can you share the format which needs to be passed in argument of read.

Thanks a lot.
 
Thanks for the confirmation.

Whether Forward Open request is required to be sent before every Read request or it is one time request if we keep connection alive till my application is running.

Thanks
 
Forward open is not required for each request. It's only required after the connection is closed by you, or a timeout
 
If you was using Python (pycomm3)

This would be how you can access the "LOCAL" variable.
Change "init_program-tags=true"

from pycomm3 import LogixDriver
import json#Used for printing the read return into a JSON String.

tags = ['Burner_ON','VFD_Start','PID_Enable','VFD_Status','PID_Start','PID_Setpoint',\
'SpdAdj','Start_Trigger','End_Trigger']#All "TAGS" that you need to read should be in this list.
def read():
with LogixDriver('192.168.254.10',init_tags=True,init_program_tags=False) as plc:#This will only load the GLOBAL TAGS
return plc.read(*tags)#Read all the tags listed

print(json.dumps(read()))#This prints the output into a JSON format string.
 
If you was using Python (pycomm3)

This would be how you can access the "LOCAL" variable.
Change "init_program-tags=true"

from pycomm3 import LogixDriver
import json#Used for printing the read return into a JSON String.

tags = ['Burner_ON','VFD_Start','PID_Enable','VFD_Status','PID_Start','PID_Setpoint',\
'SpdAdj','Start_Trigger','End_Trigger']#All "TAGS" that you need to read should be in this list.
def read():
with LogixDriver('192.168.254.10',init_tags=True,init_program_tags=False) as plc:#This will only load the GLOBAL TAGS
return plc.read(*tags)#Read all the tags listed

print(json.dumps(read()))#This prints the output into a JSON format string.

Have you tried this on a Micro800?
 
Yes, I use it on several of my Micro820/850/870 applications.

I run it on a Raspberry Pi 4 B and then use my Raspberry Pi as an Mqtt Sparkplug B gateway.

Works great.
 

Similar Topics

This unit was removed from one project where it had perfomed nicely. Wired into simulator and we have no signs of life no LED,s lit power...
Replies
2
Views
940
Hi all, I have problem that I could do with some help with: I have a setup consisting of an Allen Bradley Micro 820 controller, Panelview 800 and...
Replies
6
Views
3,052
I have an allen Bradley micro running a fan in an industrial paint mixing facility. The input fuse is 3a. The system will run fine for a bit and...
Replies
4
Views
1,983
Found a couple of old unused Micro 810s with lcd displays in the miscellaneous section. Don't ever use ccw or indeed any Allen Bradley, but...
Replies
12
Views
4,144
Hi guys, I need to add 2 x 1769-IF4 and 1 x 1769 OW16 output card into an existing Micro 1400 Series A PLC. It has already has 3 expansion...
Replies
7
Views
2,817
Back
Top Bottom