MicroLogix 1100 (series B), Use SLC500 or Micrologix PlcType

131 views
Skip to first unread message

Jk

unread,
Dec 2, 2022, 12:42:07 PM12/2/22
to libplctag
    I am building a Blazor Server Application ( So i am using libplctag.net) to control an AB/Micrologix1100 PLC (CPU: ML1100) . 
    Yesterday I Finally got the first iteration working. However up to this point, I've focused on the most simplistic parts such as monitoring the [Inputs, Outputs, and Binary] tags to see if they are true, false. Mostly i'm looking for guidance and a better understanding of how to interface with the PLC's Data Files. I Don't think i'm doing this correctly. 

I've accomplished this so far using the following code  to configure the tags on the plc

var tag = new Tag<DintPlcMapper, int>()

{
    Name = "I1:0/1",
    Gateway = "192.168.0.23",
    Path ="1,0",
    PlcType = PlcType.Slc500,
    Protocol = Protocol.ab_eip
}


For Input Tags: Name = "I1:0/{bit}"
For Output Tags: Name = "O0:0/{bit}"
For Binary Tags: Name = "B3:0/{bit}"

Although everything works as expected up until this point, I'm not sure if this is being done correctly. 

For example : 
  • I cannot figure out how to extract the tags from the plc. The only way I've populated the tags so far is by exporting the Database from RSLOGIX500 to a CSV and importing the CSV files to my program (CSV export attached as file). 
  • INPUTS in RSLOGIX have their Name as 'I:0/{bit}' but i have to use "I1:0/{bit}" in my code
  • OUTPUTS are the same as INPUTS above but "O:0/{bit}" => "O0:0/{bit}
  • TIMER: I can only access the the base of the timer but not the presets or accum. 
Here's a screenshot of RSLOGIX 500 and the DataFiles
Micrologix1100_DataFiles.png

My Blazor app for reference
Blazor_PlcDashboard.png

DEV-PLC2.CSV
Micrologix1100_DataFiles.png
Blazor_PlcDashboard.png

Kyle

unread,
Dec 5, 2022, 12:49:11 AM12/5/22
to libplctag
Hi, thanks for using libplctag!

The library currently does not support getting all the data file definitions from a DF1/PCCC PLC like a Micrologix, SLC 500 or PLC/5.  I am sure that there is a way to do it since RSLogix 5 and RSLogix 500 show all the data files, but I have not found any documentation of it.

The naming of data files is based on the file number as well as type.   I probably should make the name parser figure out I and O but I have not done that yet.

In order to read a Timer data file, just use the T data type and the file number.   For instance "T4:0".   That will return 3 INT values.   If you want to just get one of the parts of a timer, you can get the accumulator with "T4:0.acc" and the preset value with "T4:0.pre".  If you want the control value, use "T4:0.con"

I hope that helps!

Best,
Kyle
Reply all
Reply to author
Forward
Message has been deleted
0 new messages