Modbus RTU Siemens and Rotork Valves

H

Thread Starter

Hamid Ankouti

Hi
Dear Friends

I have a urgent problem, please help me.

I have one cp341 Modbus card and one MOV Master Station with 48 Rotork Valves. In Request Frame for command when i send command to valves, i can to open, close and stop them. but in Response frame i don't have any data. i checked cp341 diagnostic buffer and saw Modbus receive error 0830.

also i couldn't get valve status in request and response Modbus frame.
baud-rate is 9600 bps, stop bit is 1, parity is none and RXD, TXD LED in cp341 are flashing.

What is my problem?

All The Best
Hamid Ankouti
 
If your physical layer is RS485 (half duplex) then your master may be configured to be too slow to turn around and be ready to receive the beginning of the valve response.

OR

The turnaround setting of your valves may be configured to be too fast for the master which is not ready to receive the response.

Same same but different.
 
B

Bob Peterson

I thought about this for a while. I think there's a little bit of a language barrier here, so I'm going to summarize what I think you're saying. I think you are saying that you are able to send commands to the valve system and you can see them doing what you're telling them to do but you are getting no response back from this Modbus device. Incidentally the Siemens card is the master and the Valve controller is the slave. So it seems like your Hardware is sending from the master which is the card and the slave is receiving. However the slave is not sending back the normal response to the Modbus command even though it's acting on it. This suggests either that or cable is not made up correctly or you have not set up flow control correctly. Some modbus devices require Hardware flow control even if it's not actually used. Usually you have to try a couple of pins together so the slave that was that it's ok to transmit. Or it may be set up only to work with X on x off which is known as software flow control. And sometimes even devices setup with software flow control also use Hardware flow control.
 
H

Hamid Ankouti

>> one MOV Master Station with 48 Rotork Valves

> Is this a Pakscan system?

Yes, Its a Pakscan syatem with 48 FCU.
 
H

hamid Ankouti

any body know what is connection diagram between cp341 15 pin connector and rotork mov master station 9 pin connector?

CP341:
R(A)T(A) = PIN4
R(B)T(B) = PIN 11
GND = PIN 8

ROTORK MOV MASTER STATION according to manual

PIN 3 = DATA -
PIN 5 = GND
PIN 8 = DATA +

I CAN SEND COMMAND BUT I COULDN'T GET STATUS, Slave address, function code, start register and number of word are ok.

please guide me
Thanks
 
I've heard that the EIA RS485 standard says A is negative and B is positive, but it doesn't really matter what the spec says, we all have to deal with reality which is that some manufacturers label the lines one way, others label the lines the opposite way.

Since A is supposed to be the (more) negative, I'd start by connecting CP341 Pin 4 R(A)T(A) to Rotork Pin 3 (Data -), but if it doesn't work, swap the wires and look for a slave response.

The good news is that connecting 485 drive lines backwards does not damage the 485 drivers. If the lines are backwards, comm will not work, but it won't damage them.

I always use a generic Modbus master, like Modscan32, to check comm with a slave first, because I can tell what's happening with a generic Modbus master.

I prefer to try wiring it one way (master with one slave only). If the comm setting are correct on both ends and the master is correctly addressing the slave (slave ID is correct) then the slave responds - with data or with an error message. If there's no response, then swap the wires on one end and try again.

But there's lots of configuration settings (dozens) for a Modbus comm link in a PLC, so getting the (+)/(-) RS-485 wiring correct is only one of dozens of factors in getting a functioning comm link to a CP341.
 
H

Hamid Ankouti

Dear David,

Thanks for your reply.

i checked wiring; i can send command to pakscan, but i couldn't get status. i also checked with one slave. when i swap wires, i couldn't send command.

I don't know what is my problem with modbus rtu between cp341 and rotork master station. i checked also modbus tcp with modscan software. i can get status, but with rtu i got response timeout error.

slave address, baudrate, stop bite and parity are also same. i used function code no. 4 for get status.
 
> i checked also modbus tcp with modscan software. i can get status, but with rtu i got response timeout error.

If Modscan's master connects and gets a reply via Ethernet, but not via RS-485, the question is why?

1) Is RTU/485 communications even possible?

Not all devices support simultaneous Modbus RTU slave and Modbus TCP slave functionality. Does Pakscan?

I don't know. Pakscan has about 14 downloadable manuals, too much to skim read.

Devices can have physical RS-485 ports without useable firmware behind it. Sometimes the firmware is an option, enabled at the factory.

Or, it would not surprise me if one can only configure a single port as a Modbus slave at any given time, that one cannot run Modbus over Ethernet and RS-485 simultaneously. That kind of functionality is very specific to a given device.

2) The PC's USB-RS-485 converter is on a different COM port than what Modscan is configured to use.

Check Window's Device Manager > ports for the COM port the converter is installed on.

3) Wrong slave address

Presumably you polled the exactly same register address in RTU/485 as you did over Ethernet, correct?

How did you determine the slave ID to use for RTU/485 (Modbus/TCP over Ethernet uses the IP address)? How do you know what the slave address is? Using the wrong slave ID address will produce a timeout error because a slave only reply to a message sent to its address.

Sometimes devices do not default to slave address 1.
 
H

hamid Ankouti

yes, network of master station in field is pakscan. how can i understand, Modbus RTU firmware is enable or not?

yes, i used same function code (register) for rtu and tcp. slave ID is 1 because i sent command from PLC and saw valves going to open and close.

i checked rtu with modscan also, because my pc have serial port. with modscan rtu, i didn't have status also.
 
There are several ways to find out whether Modbus RTU is present and enabled.

1) Sometimes the issue is evident in the device's configuration software.

I've got one device on my work bench here that has both Modbus TCP or Modbus RTU slave functionality. The slave functionality needs to be enabled. After enabling, you select the port: RS-485 (RTU) or Ethernet (TCP). It is an either/or choice, there's no selection for "both".

See screen shot here:
https://s10.postimg.org/f45asg9sp/selection_of_either_RS_485_or_Ethernet.jpg

Your setup will not look the same, but the config software might well have the same sort of selection(s).

2) Read the documentation.

Spec/data sheets tend to make it look like everything is possible. Like, Modbus ASCII/RTU/TCP, DNP3, ETHETNET/IP
That's its role, to make it look all powerful.

Model selection guides, priced or unpriced, frequently have critical information in little asterisked notes that state what mutually excludes what else or what can or cannot be ordered with what else.

The manuals are supposed to document this kind of stuff, but, many times do not. Documentation is what it is.

Quick Start Guides are great if you don't know that you shouldn't use household appliances in the bathtub or fly kites under high voltage lines. Otherwise, they are printed to comply with national standards and like all bureaucratic exercises, extend the known boundary of "Useless".

Yeah, I know, who wants to read all that stuff? But if you do integration, that's your job.

3) Contact the vendor's tech support
Contact the vendor support and supply them with model and serial numbers of the controller/software, tell them what you've encountered and ask specific targeted question(s).

(Last time I called Rotork, they needed the actuator's serial number to tell me which two terminals in the actuator were the 4-20mA control signal terminals and what their polarity was. Apparently the idea of labeling the terminals or pasting a paper label inside the wiring JB cover hasn't escalated up the management hierarchy yet.)

Given the state of the industry, it's a gamble as to whether you get a reply and whether the reply answers your question(s) correctly and intelligibly. But every vendor claims to have great support, right? Give it try.

4) Use a vendor web forum.
Does Rotork have a user web forum?
The issue with user forums is that users frequently know little more than other users. The undocumented features remain undocumented. Urban myth thrives. And for reasons beyond me, the vendors (usually) do not participate (National Instruments excepted).

5) Use a general controls web forum, like Control.com.
Of course, to get an answer to such an explicit functionality issue, you need to find someone who has the product, has investigated your question and volunteers to participate in a public forum.

So when you find out, please return here and let the rest of know what you find out. Otherwise, it remains a mystery.
 
QUOTE:
>i checked rtu with modscan also, because my pc have serial
>port. with modscan rtu, i didn't have status also.
END QUOTE

What is the model number for the RS232 to RS485 converter used when you tried Modscan RTU?
 
Thanks for your reply

I managed to get status also.

i want to describe it how i could this.

First of all i must be say that this was first experience for get status and send command in Modbus for me without any learning :).

i suggest that for every communication between to equipment, first use laptop with software (Modbus poll and Modbus slave or modscan) in the middle and test every equipment separately. then if you get answer, connect master and slave equipment together. maybe even your TX, RX wire is vice versa or addresses has offset.

i managed to get about 500 bit status of valves with different addresses and different data blocks. so that i enable every request and response data block after 4 seconds in send/receive function block.

Best Regards
#Hamid_Ankouti
 
Top