daramr hirywah addler

0 views
Skip to first unread message

Amit Bolds

unread,
Aug 2, 2024, 8:22:18 PM8/2/24
to tamultito

Hello all, I am still fairly new to this forum and PLC's in general. I am trying to connect a EA9 touch panel via Ethernet to an Allen Bradley Micro Logix 1400 PLC. I am using Ethernet over serial because I need the serial connection to program while using the touch panel. I have given the Panel the IP Address 192.168.1.20 with a subnet mask 255.255.255.0 and I have given the PLC the IP address 192.168.1.10 with a subnet mask 255.255.255.0. The panel is not communicating with the PLC and I have very little knowledge on the subject, anyone's help would be greatly appreciated.

I can't tell for certain, but it looks like the address on the EA9 side (192.168.10.20) was set under DEV001. I haven't used the EA panels in a while, but I believe the DEV001 address needs to be the PLC address (192.168.10.10) and the EA9 address needs to be set directly under Ethernet Port.

I do a lot of EA9's to AB and never had to set the mask to zero. Did you try 255, 255, 254, 0? In one of our plants the IT set up for wider addresses and I had to use the 254 and it worked fine. The AD panels are so much easier to use and you can do quite a bit with them connected to the AB plc's. You can still program the PLC and the HMI through ethernet, just make sure the plc, hmi and computer have different addresses. It is so much faster programming through ethernet. The C-Mores have all the drivers you need to use them with AB.

I did not try 255.255.254.0, it seems to be working fine now though. The company I work for has a rather annoying and intrusive security software, sometimes programing with Ethernet is more trouble than it is worth because of this.

well, if I remember correctly, if you use modbus tcp on the 1400 you will have to pack all of your values into the data files that you tell the channel configuration to use for each respective modbus code. so in that respect, you may have to do more programming work. I believe you can do both at the same time also, ethernet/ip and modbus tcp on the same 1400.

Hi all,
first of all sorry for my bad english.
This is my first big project with arduino mega. i'm collecting datas from D18B20 sensors with arduino and trying to send datas to my PLC (micrologix 1400). totally i have 45 sensors. and i use xbee to transfer datas from one place to other place.
anyway, my question is ;
how should i connect my arduino (or directly xbee) to my PLC?
which is the easiest way?
i searched about it, as i understand i should use RS232 to TTL as hardware and modbus library on arduino. with this way, i can send datas to plc. but how?
anyone can help me?

If you want to use the Modbus Protocol, you need to set up your Arduino as a Slave device.
Are your sensors digital or analogic?
If you already have your sensor read by your Arduino, then you need to create some data structure, Modbus uses words, and set up this data to be in the modbus read/write area
Let me know some more about your project/code

lmanuel thank you for your reply,
my sensors are digital and i've already created words to send.. i just don't know how to send these datas to plc.
i want to send this words to plc in every 1 or 5 minutes with rs232 or rs485. this is the only thing that i'll do.
what should i use, how should i configure.. i don't have an idea about it. because i've never done it before..

The Mega would be a modbus slave device. The plc would have to poll the slave for data
What is your data format? Float or Int?
You need a data structure to store the data . Then you map this to modbus holding registers 4XXXX , Mega reads analog data. Scale it and moves it to the data structure to be read by the modbus master
I have used the mudbus lib on tcp and it works

Modbus works in a different way. Your Arduino would be waiting for your plc to poll (ask for data) and reply to that poll.
You just set up your modbus slave library to reply with the data on the words you have created to store your sensor values.
It is in your PLC where, if possible, you could try to set up your poll time to 1 - 15 minutes..... or on the SCADA that polls from the PLC where you could also try to set up some specific polling time. Definetly not on the slave (arduino) The slave just sits and waits for the master (plc) to poll and then reply to that.
Have a look at www.simplymodbus.ca and you will better understand the modbus protocol.

If I were you I would first look at using the DF1 protocol that is available on the Micrologix 1400.
DF1 uses standard RS-232 electrical specification, and I think you may find that that will be an easier approach.
You could also look into the ASCII protocol in your Micrologix 1400 too.

It sounds to me you are unsure of how any of these protocols work on the Micrologix range of PLCs.
Might I suggest you use google to find a wealth of resources on the web.
Here's one I just found Allen Bradley (AB) PLC DF1 Protocol download SourceForge.net

You did not say, but I am assuming you are using a computer with Microsoft windows, right?
And you have RS-Logix500 programming software and also RS-Linx to help setup comms between your RS-Logix500 and Micrologix 1400
Here, this is another site with some useful info =65

You will want to use RS485 not RS232 which is point to point and limited distance.
I am assuming that you will have multiple ardunio each with a different modbus slave address
The plc will have to poll each unit, this will take time . What will you do if a device is not online?
Retry?
This will slow things down

c01484d022
Reply all
Reply to author
Forward
0 new messages