Grabbing data over Modbus TCP from Scadapack 350 to m340 problems

sevun

Member
Join Date
Nov 2011
Location
Austin, TX
Posts
12
I've got 16-bit data at address 40200 on a Schneider Scapack 350. I can grab the data over Modbus TCP using Kepware at IP 172.16.1.100. When I try to grab the same data using READ_VAR from a Schneider m340 PRA0100, I get no data and a timeout. I'm pretty sure I'm setting the ADDM variable wrong, but not sure how.

ADDM = 'Ethernet_1{172.16.1.100}TCP.MBS'

modicon_m340-1.png modicon_m340-2.png scapack350-1.png
 
If you are trying to read address 40200 from the SCADAPack

NUM = 199

This is the offset from the first holding register in memory, SCADAPack counts from 1.

The SCADAPack might only answer to unitID=1, if so
ADR=ADDM('Ethernet_1{172.16.1.100}1') otherwise ADR=ADDM('Ethernet_1{172.16.1.100}')

The 4th word of the GEST array should have 20 (2*NB)
The 3rd word of the GEST array needs a timeout in 100 milliseconds
 
Still no luck. I'm getting a timeout error still. Pinging the Scadapack from the m340 results in success. I'm still leaning towards the ADDM input having an issue, but I've run out of iterations to check.

modicon_m340-3.png modicon_m340-4.png modicon_m340-5.png
 
Are you sure the device at 172.16.1.100 is running a Modbus TCP server at port 502?

What happens when you try to [telnet 172.16.1.100 502] from a CMD.EXE window? N.B. you may need to install telnet.exe first; it might be easier to work from WSL.

Is 172.16.1.100 on a VPN at another location? If yes, is it possible that the Modbus protocol (port 502, usually) is being filtered?
 
Using Kepware I can successfully grab the data from .100

When I telnet it goes to blank screen (doesn't say connection failed).

The two devices go through a couple of switches but no firewalls. The annoying part is I can ping it from .79 to .100 just fine.

I think I'm going to try changing directions and have the .100 device write to the .79. If I can get that working then it will have to suffice.

Thanks for everyone's help so far.
 
There was another issue with modbus which was another problem. Once I got that fixed the timeouts stopped, then using the ADDM = 'Ethernet_1{172.16.1.100}1' was the trick (with 1 on end fixed it).

Orignally what I missed also was addressing:

Scapack 350, m340
30100, %IW99
40200, %MW199
 
Last edited:

Similar Topics

Im trying to extract data from a process analyst object, to create custom trend controls. The object exists on a citect page and onPageShow, I...
Replies
1
Views
1,864
I'm looking at trying to program Relay Ladder Logic to average out a value for X amount of time. In this application I'm looking to have an...
Replies
8
Views
3,064
Hi everyone, I have a 505 workshop program with PLC type of 555- 1106 and I was wondering how can I download the data documentation window as a...
Replies
3
Views
65
Hello everybody, I'm currently working on a project where I need to implement an IoT platform based on Microsoft Azure Cloud. Communication is...
Replies
2
Views
65
Hello. I have a db which is 1000 INT, and this db is represented in WinCC as a raw data type set of 5x 400 Bytes. This set is read with a script...
Replies
1
Views
79
Back
Top Bottom