Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
blocks:app-note:siemens_logo_modbus [2024-03-20 07:57]
mattias [Limitation]
blocks:app-note:siemens_logo_modbus [2024-03-20 13:19] (current)
mattias [Programming the PLC]
Line 3: Line 3:
 ====Introduction==== ====Introduction====
 This application note describes the steps to configure the device and blocks to be able to set the coils and read inputs of the device. Device version LOGO!8.3 is used in this example, but it is likely to work for any model of the Siemens LOGO! PLC. It is possible to buy a get started kit that contains a device and the configuration software in one single kit.  This application note describes the steps to configure the device and blocks to be able to set the coils and read inputs of the device. Device version LOGO!8.3 is used in this example, but it is likely to work for any model of the Siemens LOGO! PLC. It is possible to buy a get started kit that contains a device and the configuration software in one single kit. 
-This application makes use of modbus implementation enhancements so make sure to use Blocks 6.3.1 or more recent.+ 
 +This application makes use of recent Blocks modbus implementation enhancements so make sure to use Blocks 6.3.1 or more recent.
  
 A few of the benefits of this type of device is: A few of the benefits of this type of device is:
   * Good value for money   * Good value for money
-  * Can be extended with additional port modules. +  * Can be extended with additional modules. 
-  * Fits in a standard norm enclosure.+  * Fits in a standard DIN 43880 enclosure fixed with a DIN EN 50022 35mm rail.
   * Electricians will be happy to install them in any mains system.    * Electricians will be happy to install them in any mains system. 
-  * Can be programmed for special tasks from programming the PLC.+  * Can be programmed for special tasks from programming the PLC (not within the scope of this tutorial)
  
  
Line 30: Line 31:
 {{:blocks:app-note:logo_modbus:modbus_server_setting.png?800|}} {{:blocks:app-note:logo_modbus:modbus_server_setting.png?800|}}
  
-  *  Here it is possible to specify connections from a perticular server/servers. In this example i will leave it to accept all connection requests server side. +Here it is possible to specify connections from a perticular server/servers. In this example i will leave it to accept all connection requests server side. 
  
 {{:blocks:app-note:logo_modbus:modbus_server_prompt.png?800|}} {{:blocks:app-note:logo_modbus:modbus_server_prompt.png?800|}}
Line 50: Line 51:
 This is done from the manage page and the Modbus I/O modules tab. This is done from the manage page and the Modbus I/O modules tab.
  
-{{:blocks:app-note:logo_modbus:blocks_device_settings.png?600|}}+{{:blocks:app-note:logo_modbus:blocks_device_settings.png?800|}}
  
 As soon as we got that setup we can use all channels as properties in Blocks allowing us to bind controls or texts to display or control the property values.. As soon as we got that setup we can use all channels as properties in Blocks allowing us to bind controls or texts to display or control the property values..
Line 60: Line 61:
  
  
-====Limitation====+====Temporary limitations====
  
-Currently it is not possible to read holding registers with modern addressing. We have have added feature request to add the ability to manually set the modbus function. Currently it is done automatically based on the data type and direction. +Currently (Blocks version 6.3) it is not possible to read holding registers with modern addressing. We added feature request to add the ability to manually set the modbus function per channel. Currently this is decided automatically based on the data type and direction. 
-To work around this, one can use the classic modicon addressing and translate the siemens addressed documented in "modern" address style to modicon. +To work around this, one can use the classic modicon addressing and translate the Siemens addresses documented in standard modbus address style (modern)  to modicon. 
  
 In example: In example:
 Since the modicon addressing is not 0 based we end up with: Since the modicon addressing is not 0 based we end up with:
-coils  8193-8196+coils  8193-8196 and so on. 
 +Addresses starting with 3XXXXX will use function 4 (input registers) 
 +Addresses starting with 4XXXXX will use function 3 (holding registers) 
 + 
 +In this blocks configuration I added the same as in the example above, but I also added a holding register. I wanted to read that because I programmed a pulse counter in the PLC that outputs to the holding register. This way I can expose the value as a property in blocks and make use of it in any task logic or expose it in content. 
 +{{:blocks:app-note:logo_modbus:logomodicon.png?800|}} 
 + 
 +====Programming the PLC====
  
 +It is not that hard to program a PLC, please use online tutorials and Siemens documentation regarding how to create programs.