MLX1400 and Krohne flowmeters

rejoe.koshy

Member
Join Date
Dec 2011
Location
kolkata
Posts
195
Hi folks,
I am trying to fetch data from flowmeters of Krohne make using mlx1400 over RS485. The architecture as follows:

Krohne device ----- wireless device ----------------remote device ----mlx1400 .
rs485 rs485

The tx and rx of the wireless device is blinking but the plc generates an error " local processor time out".

Has anyone worked with the device (Krohne) before?

Please help!
 
what protocol is the krohne using (e.g. Modbus)?

what protocol is the MicroLogix 1400 configured to use?


what communication settings is the krohne using (baudrate, parity, stop bits, etc.)?

what communication settings is the MicroLogix 1400 configured to use?
 
what protocol is the krohne using (e.g. Modbus)?

what protocol is the MicroLogix 1400 configured to use?


what communication settings is the krohne using (baudrate, parity, stop bits, etc.)?

what communication settings is the MicroLogix 1400 configured to use?

The protocol used in Krohne is modbus, 9600 -Baud rate, parity -1, stop bit -1 and same setting is done for mlx 1400.

I am executing the MSG instruction every 2 seconds..polling time have any effect??
 
The protocol used in Krohne is modbus, 9600 -Baud rate, parity -1, stop bit -1 and same setting is done for mlx 1400.


Is the MicroLogix 1400 serial port configured as a Modbus RTU Master (see here)?

Are you configuring the same Channel (0 or 2) that corresponds to the physical port to which the cabling is connected?

Have you tried using a PC-based Modbus Master/Client application to communicate with the Krohne device, to confirm proper operation and pinouts?

Have you tried using a PC-based Modbus Slave/Server application to be communicated with by the MicroLogix 1400, to confirm proper operation and pinouts?

Have you tried both of the above without the wireless device, and/or have you confirmed that the wireless device works (e.g. a loopback to a PC)?

Have you tried all combinations of swapping the RS-485 A/B and/or +/- wires at each connection? Document conventions for the meaning of A/B and/or +/- vary widely between devices, and are rarely clear.

Those steps might isolate where the problem is.

I realize these are basic questions that you may have already checked multiple times, but in my experience serial communication problems are usually something simple that is overlooked. If you need to go beyond that level, then it is time to sniff the RS-485 traffic with a third-party PLC, and/or get out an oscilloscope.

I am executing the MSG instruction every 2 seconds..polling time have any effect??

2s should be short enough if the configuration and connections are correct, but using the done and error bits of the MSG instruction along with the delay would be be more robust.
 
Modbus RTU is fussy about timing. If the remote device is generic RS-485, it might not do RTU timing precisely enough to qualify for Modbus.


This happens all the time with Ethernet/485 gateways, where the generic version does not work but the Modbus version does.
 
Modbus RTU is fussy about timing. If the remote device is generic RS-485, it might not do RTU timing precisely enough to qualify for Modbus.


This happens all the time with Ethernet/485 gateways, where the generic version does not work but the Modbus version does.

I tried by changing the polling time to 5 secs and it started working but with a catch .Everytime I recycle power it would not respond for about 3 mins and then suddenly spring to life. I tried by increasing the time to 6 s and it stopped working again!
 
I tried by changing the polling time to 5 secs and it started working but with a catch .Everytime I recycle power it would not respond for about 3 mins and then suddenly spring to life. I tried by increasing the time to 6 s and it stopped working again!

That is certainly odd.

I suspect the timing of Modbus that was referred to by @danw might not have been the related to the polling, but the the inter-character timing on the RS-485 physical medium. The Modbus RTU specification (cf. modbus.org) is quite specific about that:

  • "If a silent interval of more than 1.5 character times occurs between two characters, the message frame is declared incomplete and should be discarded by the receiver."
  • "In RTU mode, message frames are separated by a silent interval of at least 3.5 character times."
  • "The implementation of RTU reception driver may imply the management of a lot of interruptions due to the t 1.5 and t 3.5 timers. With high communication baud rates, this leads to a heavy CPU load. Consequently these two timers must be strictly respected when the
    baud rate is equal or lower than 19200 Bps. For baud rates greater than 19200 Bps, fixed values for the 2 timers should be used: it is recommended to use a value of 750μs for the inter-character time-out (t 1.5 ) and a value of 1.750ms for inter-frame delay (t 3.5 )"
 
For this to work correctly, the wireless devices are critical. Modbus RTU relies on character timing so the wireless devices must be built and/or configured to maintain that timing precisely, otherwise the serial ports at the receiving ends are going to be dazed and confused. DanW pointed this out already, so I am just reiterating what he said.

I suspect the issues you are resolving with a power cycle and subsequent three minute wait are a coincidence of the timing of your poll requests and how they match up with the data packages transmitted between the wireless devices.

RS-485 can be run for 4000 feet so unless you are going farther....run a cable.

If you are going further, then you might want to set up a temporary test where you park your ML1400 next to the flowmeter and hardwire it to prove out your programming and port settings. Then move into the details of the wireless devices. Sharing the specifics here would be a good idea too. What make and model are these "wireless devices"?
 
Last edited:
For this to work correctly, the wireless devices are critical. Modbus RTU relies on character timing so the wireless devices must be built and/or configured to maintain that timing precisely, otherwise the serial ports at the receiving ends are going to be dazed and confused. DanW pointed this out already, so I am just reiterating what he said.

I suspect the issues you are resolving with a power cycle and subsequent three minute wait are a coincidence of the timing of your poll requests and how they match up with the data packages transmitted between the wireless devices.

RS-485 can be run for 4000 feet so unless you are going farther....run a cable.

If you are going further, then you might want to set up a temporary test where you park your ML1400 next to the flowmeter and hardwire it to prove out your programming and port settings. Then move into the details of the wireless devices. Sharing the specifics here would be a good idea too. What make and model are these "wireless devices"?


The wireless device is of ATC make , model no. ATC 871-S2. The configured frequency is 430 Mhz. I did try with "modscan" prior to testing the same micrologix and it worked perfectly fine.
 

Similar Topics

I have an OEM customer that has been building a small machine using a MicroLogix 1100 which is now discontinued. I have recommended that they use...
Replies
32
Views
5,391
Hi all, Please, could someone give me a working example of how to use the RHC instruction? I want to measure the speed of a machine that works...
Replies
2
Views
1,434
Hi all.. I would like create comm between MLX1400 and POWERFLEX 525 trought Ethernet.. I know, answer is a here...
Replies
1
Views
1,518
I had to replace a hosed-down PV+7 (2711PT6C21D8S) which connects directly to a MLX1400 via ethernet (no switch). The addresses are static and...
Replies
7
Views
2,231
Hello all. Is there a way I can have values at certain intervals stored on the SD card for the MLX1400....maybe triggered alarms also? I have used...
Replies
4
Views
1,402
Back
Top Bottom