Abdullah

MrPLC Member
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Abdullah

  • Rank
    Hi, I am New!

Profile Information

  • Country Turkey
  1. MODBUS TCP with BK9100 Bus Controller

    Before everything, my problem was with the connections. I was not connecting input for power contacts, so I was not able to see the status LEDs on KL2408. I have connected and saw that, whenever I was setting a digital output ON, it resets back to OFF after 1 second. I figured out that this was watchdog timer. In the help file, I've found this: The watchdog is active under the factory settings. After the first write telegram the watchdog timer is initiated, and is triggered each time a telegram is received from this device. Other devices have no effect on the watchdog. A second approach, which represents a more sensitive condition for the watchdog, is for the watchdog only to be re-triggered after each write telegram. To do this, write a zero into register 0x1122 (default value "1"). The watchdog can be deactivated by writing a zero to offset 0x1120. The watchdog register can only be written if the watchdog is not active. The data in this register is retained. So, I have disabled watchdog register by writing a 0x0000 to 0x1120. It is now working fine! My problem is solved. Thanks for your attention.
  2. Hello, I have a BECKHOFF BK9100 Ethernet TCP/IP Bus Coupler. I am also using KL2408, 8 channel digital output terminal. I have ended the bus with KL9010. I would like to interface this system via MODBUS TCP using Python, under Linux, so I guess I cannot use Beckhoff ADS communication. But before Python, I wanted to interface it using readily available master simulators. I have tried using "Modsak" and "Modbus Poll" which are both supporting MODBUS TCP. I can connect to my device and read some registers. However, whenever I try to force a single coil (Function 5), using address 0x0001 and data 0xFF00, I get error. For example, if I do "Read Coil Status (Function 1)", I get a response back. Below screenshot shows that, numbers are in hexadecimal form. So, the response I get for reading the first 8 digital outputs is: 0x0102. However, if I try to "Force Single Coil (Function 5)", I get an error. Below screenshot shows that I am setting second digital output ON: Clicking on "Error Help" reveals below description of the problem: The slave/bridge/server sent an unexpected error response. Check that your slave/bridge/server is functioning correctly. What am I doing wrong?