Sign in to follow this  
Followers 0
Lyapunov

I/O scan NOE0100

7 posts in this topic

Hello, i have a Modicon M340 BMX1000 processor and NOE0100 communication module. Can i use the standard functions: READ_VAR and WRITE_VAR to communicate with devices rather than I/O scan function of NOE0100, as a consequence of the problem of reading and writing with the same device with I/O scan tool. Thanks

Share this post


Link to post
Share on other sites
I can't read and write the same device (in the same line in the Tab), i must split the tasks of read and write into three lines with the same IP address I use I/O scaning with an ADAM6050 to: Read Digital inputs and Read/Write digital outputs. The device has an IP address: 192.168.1.97. Write task of digital outputs : Device 1: IP: 192.168.1.97 unit ID = 1, Health timeout =1500, Repetitive rate=60, RD Master Object=%MW0, RD ref slave = 0, RD length = 0, WR Master Object=%MW100, WR ref slave =302, WR length = 1 Read task of digital outputs: Device 2: IP: 192.168.1.97 unit ID = 1, Health timeout =1500, Repetitive rate=60, RD Master Object=%MW0, RD ref slave = 302, RD length = 1, WR Master Object=%MW101, WR ref slave = 0, WR length = 0 Read task of digital inputs: Device 3: IP: 192.168.1.97 unit ID = 1, Health timeout =1500, Repetitive rate=60, RD Master Object=%MW1, RD ref slave = 300, RD length = 1, WR Master Object=%MW101, WR ref slave = 0, WR length = 0 With these configuration, sometimes the read task does'nt work properly or in asynchronous mode. Thank you in advance if you have the solution of my I/O scan problem, Best regards,

Share this post


Link to post
Share on other sites
I think you are asking the PLC I\O scanning service to do too much, you are trying to read and write to the same device in 60ms intervals, change your repetitive rate step to an odd number, 17 for instance, then back off the repetetive rate to 1017ms for device 1, then a multiple of the repetitive rate ms for the second and so on, that way they are not on the same repetitive rate.

Share this post


Link to post
Share on other sites
I'm not familiar with adam6050, but I took a brief look at it. It has an Ethernet connection, so if you are accessing it, you should configure the ID to 255 in your I/O Scanning service. Configuring the ID to 1, means that you are using a Gateway Modbus IP / ModBus RTU and you want to access the equipment with modbus address 1 in the serial link through the gateway with IP 192.168.1.97. If the configuration that you did is correct, it means that ADAM6050 does not communicate directly in Ethernet, but has a embedded gateway connected to a serial port inside it, so your communication will not be as fast as Ethernet, but as slow as serial..... You have configured one line for each read and write operations, but you can configure it in one line: For example, you can put the device 1, 2 and 3 together. Device 1: IP: 192.168.1.97 unit ID = 255, Health timeout =1500, Repetitive rate=60, RD Master Object=%MW0, RD ref slave = 300, RD length = 3, WR Master Object=%MW100, WR ref slave =302, WR length = 1 It's better and faster to read 3 words in a row than reading one each time, since the longest part of the Ethernet protocol isn't the modbus part, but the TCP/IP part. And even in modbus it's better to read 3 words in a row than 1 each time. Especially if you have a serial link.... And if you are writing and reading the outputs, you must consider that ADAM6050 needs some time to refresh it's memory, so if you write to it you must consider a delay to read it back, but you don't need to do this in the network, you can use a delay in you software, it's easier, faster and saves resources.

Share this post


Link to post
Share on other sites
Henrique, read and write in the same line means a Modbus request 23 = not all devices could support this kind of request!! So it could be better to divide in a line for reading and another for writing. Because of the low speed of serial communication it is better to set repetitive rate in a way as tragically said (or similar way). Perhaps you have to consider to program read_var and write_var in order to communicate in a more flexible way.

Share this post


Link to post
Share on other sites
And that's the worst part of Modbus.... Some manufactures implements only parts of the modbus protocol and does not explain what they did in their manuals or sometimes we do not have time or patience for reading all the stuff.... Usually, I try to communicate on the usual ways, if things go bad, I try to call for free support, and this doesn't work, then I go to the manuals.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0