I have a modbus master set up on com1. I have tags mapped to addresses on the modbus master controller. The controller is enabled. The poll group is set to 500 ms.
But it won't send anything out on the com port.
I know I have the com port hooked up OK, because I have another program which sends to com1, and I see my hardware monitor blinking, and I can see the serial data in hyperterminal. But in this program there is no activity on the serial port.
Modbus master not sending anything
-
- Posts: 40
- Joined: Sat Jun 02, 2012 7:43 am
Modbus master not sending anything
- Attachments
-
- mm2.png (80.76 KiB) Viewed 13922 times
-
- mm1.png (34.3 KiB) Viewed 13922 times
-
- Posts: 824
- Joined: Tue Mar 13, 2012 9:53 am
Re: Modbus master not sending anything
Try setting some of your tags to Always active. The system will only send out data to the slave if tag values change or if a tag is displayed on a screen that is currently shown on the HMI. With always active turned on, it will continuously poll the tags.
You should also be able to unplug the serial cable from the modbus controller and get a Comm error indicating that the unit can not reach a controller.
You should also be able to unplug the serial cable from the modbus controller and get a Comm error indicating that the unit can not reach a controller.
Best Regards,
Mark Monroe
Beijer Electronics, Inc. | Applications Engineer
Mark Monroe
Beijer Electronics, Inc. | Applications Engineer
-
- Posts: 40
- Joined: Sat Jun 02, 2012 7:43 am
Re: Modbus master not sending anything
I changed to Modbus over TCP just to see what would happen. I also set all the tags to "always active" as you suggested. The panel sends out modbus polls at regular intervals, and the slave responds. Good.
But if I change back to serial, what I see in hyperterminal is
"TEST IF ECHO". It sends that out once when the program starts, and then the com port goes silent. There is no polling error popup.
"Hide Comm Error" is set to false.
But if I change back to serial, what I see in hyperterminal is
"TEST IF ECHO". It sends that out once when the program starts, and then the com port goes silent. There is no polling error popup.
"Hide Comm Error" is set to false.
-
- Posts: 40
- Joined: Sat Jun 02, 2012 7:43 am
Re: Modbus master not sending anything
I found it.
When it's tcp, the "Default Station" is an index into the station table, default zero. When it's serial, the "Default Station" becomes the node number. Zero is not a valid node number. I changed that to 2, and now it is polling. I see the polls in my slave emulator.
Now I'm getting comm errors on the panel, but that is another issue. At least it's polling now.
When it's tcp, the "Default Station" is an index into the station table, default zero. When it's serial, the "Default Station" becomes the node number. Zero is not a valid node number. I changed that to 2, and now it is polling. I see the polls in my slave emulator.
Now I'm getting comm errors on the panel, but that is another issue. At least it's polling now.
-
- Posts: 824
- Joined: Tue Mar 13, 2012 9:53 am
Re: Modbus master not sending anything
If your memory addresses are invalid the driver will not send out a command. You have addressing set for Decimal in your controller driver, but your using hex memory addresses assigned to the tags.
Change the Addressing field in your controller driver on the iX panel to hex and it will work.
Holding registers (0x3/0x6*) 400000 - 465535
40000 - 4FFFF Read Hex address range
400000 - 465535 Decimal address range.
Change the Addressing field in your controller driver on the iX panel to hex and it will work.
Holding registers (0x3/0x6*) 400000 - 465535
40000 - 4FFFF Read Hex address range
400000 - 465535 Decimal address range.
Best Regards,
Mark Monroe
Beijer Electronics, Inc. | Applications Engineer
Mark Monroe
Beijer Electronics, Inc. | Applications Engineer