This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Modbus profiles examples
#21
Hola a todos
Me gustaría enlazar el LM5 con el nuevo micro PLC Logo V8.2 de Siemens mediante el protocolo modbus TCP, ¿alguien tiene el archivo JSON del micro PLC Logo 8.2?
Reply
#22
Hi
PLCs are always custom programmable so your json has to be custom made to your application.
BR
------------------------------
Ctrl+F5
Reply
#23
Hi,

I tried create my own .json for PM Janitza UMG-103 device I have, can somebody a little more explain my error and some parameters?? I use notepad++ and JSON viewer plugin:

{
"product_code": "UMG-103",
"mapping": [{
"bus_datatype": 14,
"address": 19000,
"value_nan": [65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L1-N",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19002,
"value_nan": [65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L2-N",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19004,
"value_nan": [65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L3-N",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19006,
"value_nan": [65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L1-L2",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19008,
"value_nan": [65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L2-L3",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19010,
"value_nan": [
65472,
0],
"type": "register",
"units": "V",
"value_multiplier": 1,
"name": "Voltage L3-L1",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19012,
"value_nan": [65472,
0],
"type": "register",
"units": "A",
"value_multiplier": 1,
"name": "Apparent current, L1",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19014,
"value_nan": [
65472,
0],
"type": "register",
"units": "A",
"value_multiplier": 1,
"name": "Apparent current, L2",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19016,
"value_nan": [65472,
0],
"type": "register",
"units": "A",
"value_multiplier": 1,
"name": "Apparent current, L3",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19018,
"value_nan": [65472,
0],
"type": "register",
"units": "A",
"value_multiplier": 1,
"name": "Vector sum; IN=I1+I2+I3",
"datatype": "float32"
}
{
"bus_datatype": 14,
"address": 19020,
"value_nan": [65472,
0],
"type": "register",
"units": "W",
"value_multiplier": 1,
"name": "Real power L1",
"datatype": "float32"
}],
"manufacturer": "Janitza",
"name": "UMG-103",
"product_range": "PM",
"description": "Power meter UMG-103"
}

When I try upload profile to LM - I see error: "Expected comma or array end but found T_OBJ_BEGIN at character 234"
Questions:
1. Bus_datatype 14 What is it for? Not found in documentation for LM json creation;
2. Value_nan When to add/use such parameter? At Janitza found nothing..

Below some addresses I tried to add from Janitza UMG-103 manual:

Address List
Address Type RD/WR Designation Unit Remark
19000 float RD _ULN[0] V Voltage L1-N
19002 float RD _ULN[1] V Voltage L2-N
19004 float RD _ULN[2] V Voltage L3-N
19006 float RD _ULL[0] V Voltage L1-L2
19008 float RD _ULL[1] V Voltage L2-L3
19010 float RD _ULL[2] V Voltage L3-L1
19012 float RD _ILN[0] A Apparent current, L1
19014 float RD _ILN[1] A Apparent current, L2
19016 float RD _ILN[2] A Apparent current, L3
19018 float RD _I_SUM3 A Vector sum; IN=I1+I2+I3
19020 float RD _PLN[0] W Real power L1
19022 float RD _PLN[1] W Real power L2
19024 float RD _PLN[2] W Real power L3
19026 float RD _P_SUM3 W Sum; Psum3=P1+P2+P3
19028 float RD _SLN[0] VA Apparent power L1

Big thanks for helping

Hi again,
Found my errors by myself Smile Should be comma after every data massive Smile Good tool found for yourself checking of new .json file - JSON validator: https://jsonlint.com/
So questions are remained:

1. Bus_datatype 14 What is it for? Not found in documentation for LM json creation;
2. Value_nan When to add/use such parameter? At Janitza found nothing..
Reply
#24
14 is 4 byte floating point. You can see the whole list when creating new objects in LM.

You probably don't need to use value_nan at all. This is specific to some meters that use a special Non-a-Number value to indicate that current value is not valid and should be ignored.
Reply
#25
OK, big thanks for info!!
Reply
#26
Hi,I have a project to connect to a Legrand video intercom control panel. According to the RS485 protocol of the control panel, our LM gateway should be used as a slave device. Legrand’s RS485 protocol has defined the control device instructions. What kind of script should I write in the gateway? Or is there a similar script case for reference?Thanks.
Reply
#27
(19.10.2020, 09:53)Rick Wrote: Hi,I have a project to connect to a Legrand video intercom control panel. According to the RS485 protocol of the control panel, our LM gateway should be used as a slave device. Legrand’s RS485 protocol has defined the control device instructions. What kind of script should I write in the gateway? Or is there a similar script case for reference?Thanks.
Create new thread for this, add some documentation of this device.
------------------------------
Ctrl+F5
Reply
#28
(19.10.2020, 09:59)Daniel. Wrote:
(19.10.2020, 09:53)Rick Wrote: Hi,I have a project to connect to a Legrand video intercom control panel. According to the RS485 protocol of the control panel, our LM gateway should be used as a slave device. Legrand’s RS485 protocol has defined the control device instructions. What kind of script should I write in the gateway? Or is there a similar script case for reference?Thanks.
Create new thread for this, add some documentation of this device.
Can you provide a similar script case? I have only written a script that uses the gateway as the main device. Huh
Reply
#29
Hi everyone,
I would like to ask if somebody have made the json file for the new Daikin interface dIII-net? The problem with this interface is that in the same register is the on/off and the fan speed for indoor unit. The speed of the indoor unit is the number that occurs from the bits 12, 13 and 14 and the bit 5 from the same register controls the on/off of the unit.
I have attached the manual of the DIII.
Thank you
Reply
#30
See this thread: https://forum.logicmachine.net/showthread.php?tid=2464
New firmware will have an option to write certain bits via profiles, for now only reading with a bitmask is supported.
Reply
#31
(29.10.2020, 14:25)admin Wrote: See this thread: https://forum.logicmachine.net/showthread.php?tid=2464
New firmware will have an option to write certain bits via profiles, for now only reading with a bitmask is supported.

Perfect solution.
Thank you
Reply
#32
FYI: I've just implemented and written a modbus JSON profile for the FLEXIT NORDIC S4 ventilation system. Now I can retrieve vital information and change certain parameters. PM if you are in need of this for your flexit. (PS! The CI66 JSON did not work for me).
Schneider Wiser (homeLynk), Power Tags, DALI, Multitouch Pro, Panasonic Heating pump, Flexit balansed ventilation, HUE integration, Lemus Speaker system. Tibber integration.
Reply
#33
Hi gents!
Who can assist me with JSON file creation to connect LM with Siemens LOGO8.2 via modbus?
Reply
#34
Hi everyone. 

I can share a Garo 3-phase energymeter and a Thermia Heatpump Mega 6 modbus profile.


EDIT 2022-11-19
Upload new profile for Thermia Mega S beacause of an error for address 015 had an datatype uint6 instead of uint16 Angel

Attached Files
.json   garo_energymeter.json (Size: 3.12 KB / Downloads: 60)
.json   Thermia_Heatpump_Mega6.json (Size: 7.91 KB / Downloads: 74)
.json   Thermia_Va_rmepump_Mega6_2022-11-19.json (Size: 8.2 KB / Downloads: 23)
Reply
#35
Hi everyone,

there is now a full tested LOGO V8.2 modbus profile and a Logo profile "READ ONLY".

Attached Files
.json   Logo_8_2.json (Size: 872.67 KB / Downloads: 75)
.json   Logo_8_2_READ_ONLY.json (Size: 879.95 KB / Downloads: 46)
Reply
#36
Hi everyone,

there is another Modbus - Profile for the Janitza UMG96-PA with German and English description.
The Modbusprofile is not tested. But it should work.

Attached Files
.json   UMG96-PA_de.json (Size: 10.68 KB / Downloads: 27)
.json   UMG96-PA_en.json (Size: 9.81 KB / Downloads: 46)
Reply
#37
good morning, someone has a profile created to control the lighting of the pool with the control.
ASTRALPOOL LUMIPLUS MODBUS
Could you make it easier for me

Thanks
Reply
#38
(06.08.2021, 06:14)lasttrip Wrote: good morning, someone has a profile created to control the lighting of the pool with the control.
ASTRALPOOL LUMIPLUS MODBUS
Could you make it easier for me

Thanks

It's not possible to do this via a profile because multiple requests are needed for certain operations. You can use event scripts together with Modbus proxy. For it to work you need to enable RTU-1 and set correct serial port configuration in Modbus tab. Change slave ID in all scripts if needed (currently set to 1).

Color 1..12 (1 byte unsigned int)
Code:
value = event.getvalue()
value = math.min(value, 12)
value = math.max(value, 1)

mbproxy = require('mbproxy')
mb = mbproxy.new()
mb:setslave(1)

mb:writeregisters(0x25, value)
mb:writebits(0x213, true)

Sequence 1..8 (1 byte unsigned int)
Code:
value = event.getvalue()
value = math.min(value, 8)
value = math.max(value, 1)

mbproxy = require('mbproxy')
mb = mbproxy.new()
mb:setslave(1)

mb:writeregisters(0x26, value)
mb:writebits(0x214, true)

Speed 1..8 (1 byte unsigned int)
Code:
value = event.getvalue()
value = math.min(value, 8)
value = math.max(value, 1)

mbproxy = require('mbproxy')
mb = mbproxy.new()
mb:setslave(1)

mb:writeregisters(0x27, value)
mb:writebits(0x214, true)

On/Off (1 bit)
Code:
value = event.getvalue()

mbproxy = require('mbproxy')
mb = mbproxy.new()
mb:setslave(1)

coil = value and 0x210 or 0x211
mb:writebits(coil, true)
Reply
#39
Thermia Atlas heat-pump Modbus profile attached. With predefined grp addresses.

Attached Files
.json   Thermia Atlas.json (Size: 12.22 KB / Downloads: 66)
Reply
#40
Good day! Gentlemen, who can help in writing a profile for a Varman convector. Documentation is attached.

Attached Files
.pdf   Exchange_Protocol_with_VARMANN_convector_control_units.pdf (Size: 122.54 KB / Downloads: 25)
Reply


Forum Jump: