Jump to content

JZ20-R16 problems on Modbus RTU


Recommended Posts

Hi everybody,

 

Greetings to all, another newbie here... :) Having some issues on getting Modbus RTU messages to work on JAZZ PLC. My setup:

 

1) JZ20-R16 PLC with MJ20-PRG adapter (?) plugged in it. I'm using MJ20-CB200 cable (RJ11 plugs on both ends) and MJ10--22-CS10 adaptor (DB9 female connector). Using this gear I can query the PLC with modbus RTU messages over RS232 serial line.

 

Serial line settings I use:

9600bps,

8(data bits),

none(parity),

1(stop bits)

 

2) Gemalto modem (BGS5T) as a modbus master. It has DB9 female connector on it as well.

 

3) Serial to USB converter cable for serial communication verification.

 

A bit of context: while using serial-to-usb cable I can't query PLC all the time. That means, *sometimes* I can query it successfully, but after disconnecting and messing around a bit I cannot query PLC any more. Unplugging USB-to-serial and reconnecting helps, so I assume it's kinda converter drivers/whatever issues so not a big deal here, just a note. So using this cable I can verify, that PLC *can* (though not always I would expect) respond to Modbus RTU messages properly using defined settings above. I have couple of Modbus master simulation programs and strangely enough only one of them can query the PLC successfully.

 

Real problem:

I have written peace of software for BGS5T to act as a modbus tcp/ip to modbus rtu gateway. I can verify that this gateway works by three methods:

1) run modbus slave simulator on a PC, connect gateway over serial line to PC (same usb-to-serial cable used here) and query PC slave simulator over that modem acting as a gateway. Everything's just fine.

2) I can connect to the terminal program on a PC and verify that sent message to serial line is valid modbus RTU message:

0x01 0x03 0x00 0x02 0x00 0x01 0x25 0xCA :

 

(from left to right hexadecimal values)

1) device ID (1 byte)

2) function code (1 byte)

3) start address (2 bytes)

4) register count to read (2 bytes)

5) CRC (MSB)

6) CRC (LSB)

 

3) I have made "sniffing" rs232 cable and I can listen on messages being set to PLC or being received from PLC (depends on wire I'm hooking to). I can verify that exactly the message defined above is sent to PLC using serial settings mentioned above.

 

PLC does not respond with anything. Absolute silence....

 

I used 3 wire connections (Tx, Rx, GND), used null-modem configuration for both modem and PLC, nothing helps. JAZZ PLC is silent for those messages.

 

What could be wrong here? Voltage levels does not match..? handshaking is mandatory on JAZZ PLCs..? I'm completelly out of ideas to try out, cannot sleep normally over a week now... :D I don't know much details about serial line physical implementation, so feel unsure in this topic.

 

Please help.

 

Regards from LTU :)

Link to comment
Share on other sites

Hello,

 

RS232 as a standard requires handshaking. May I ask what the voltage levels are for RS232 communication on the BGS5T module?

 

However, I have read when using no parity, you must use 2 stop bits for Modbus RTU.  I am not sure if you have set this up in your program when you configured Modbus RTU, but if not...

     "The format for each byte ( 11 bits ) in RTU mode is :
      Coding System: 8–bit binary
      Bits per Byte: 1 start bit
                            8 data bits, least significant bit sent first
                            1 bit for parity completion
                            1 stop bit

     Even parity is required, other modes ( odd parity, no parity ) may also be used. In order to ensure a maximum compatibility with
     other products, it is recommended to support also No parity mode. The default parity mode must be even parity.
     Remark : the use of no parity requires 2 stop bits."

 

Let us know if this helps.

Link to comment
Share on other sites

Hello,

 

Ok, that's something definitely worth a try, thanks a lot. However problem is that I got that PLC preconfigured for my tests and I assume there's no freeware software for Unitronics Jazz plcs so I could change connection settings myself... But I'll ask to change it for me and I'll post my results here. For the given configuration I've tried (once more) all the possible variants with no luck.

 

Thanks again.

Link to comment
Share on other sites

Forgot one thing to mention:

 

>>> "May I ask what the voltage levels are for RS232 communication on the BGS5T module?"

 

I wish I knew.. :) could not find any specs on that. But I assume these are within standard rande [+-]3 to [+-]15 volts. When checking transmit line of a modem rs232 port logical zero (positive voltage) / silent line is at +5.99 volts.

Link to comment
Share on other sites

Hi again,

 

Can you please provide instructions on how to set communication settings on rs232 for Jazz under U90Ladder app? I've found this info:

http://www.unitronics.com/KnowledgeBase/U90Ladder/Communications/PLC_Communication_Settings.htm

 

but there's said f.e. "Set PLC settings" : "Click here to write your selected settings into the M90/91. Note that this does not write settings to Jazz controllers."

 

So, I wonder what to do to set comm settings for PLC such as parity, data bits, stop bits.. any ideas?

 

Thanks

Link to comment
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
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.