CODESYS - the IEC 61131-3 automation software
https://forum.codesys.com/

CODESYS Modbus TCP Master/Slave - BK9000 - doesn't work
https://forum.codesys.com/viewtopic.php?f=7&t=9959
Page 1 of 1

Author:  Dude82 [ Tue Aug 27, 2019 8:31 am ]
Post subject:  CODESYS Modbus TCP Master/Slave - BK9000 - doesn't work

In CODESYS 3.5 V15 I try to read data on Modbus from a Beckhoff Ethernet coupler ( BK9000+KL3314: input for thermocouple + KL3064 : Input 0-10V)
I have added an Ethernet Generic device and then add Modbus TCP Master and Slave (as I have seen in others threads).
I think I have put the proper parameters (IP adress: 192.168.1.48 = my BK9000 on the network, port = 502)
I have added input canal Chanel 1 with Read Holdings register (Offset = 1 (=0x0001) and data = 1) but I can't get any value when the program runs on the PLC (here a Raspberry with Jessie)

This is very surprising to me :shock: , because I can read both the value usine Python (with the pymodbus lib)
in python 3.7.4 on my windows computer

Code:
from pymodbus.client.sync import ModbusTcpClient
client = ModbusTcpClient('192.168.1.48', '502')
rr=client.read_holding_registers(1,1)
print('input: ', rr.getRegister(0))
It gives me the proper value of the Thermocouple

When I use KS2000 from Beckhoff, I can read also the value from Channel 1.

Do you know what i'm doing wrong in CODESYS ? It makes me made not to understand where the problem is. :evil:

Author:  Dude82 [ Tue Aug 27, 2019 9:57 pm ]
Post subject:  Re: CODESYS Modbus TCP Master/Slave - BK9000 - doesn't work

Solution found. :)
Sometimes I feel that I'm not very clever. :cry: By the way, I just forgot to enabled an option about the updated of the variable.
indeed in the configuration of the PLC device (Here a Raspberry): Enable 1 ("Use bus cycle task if not used in any task") must be used in my project. :mrgreen:

I can now get the thermocouple values through MODBUS.

Page 1 of 1 All times are UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/