Working with Siemens IoT2000 series from Linux
By Leo Gaggl
The Siemens IoT2000 series has been a very interesting development from Siemens and it’s really encouraging to see the use of Open Source in the Automation sector definitely on the increase. And that can only be a good thing for developer productivity. Seeing a different IDE for each manufacturer of a PLC invokes some nasty memories of last century web-application development…
Download existing image
The image can be downloaded from the Siemens support site (if you don’t have an account with Siemens you might have to sign up for a login first. https://support.industry.siemens.com/cs/document/109741799/simatic-iot2000-sd-card-example-image
Create image from sources
If you want to create your own image from source you can find the instructions here: https://github.com/siemens
However for getting around the system the example image has some additional software making it easier to find your way around the system.
Create SD card image
<pre class="wp-block-preformatted">sudo dd bs=4M if=Downloads/Example_Image_V2.4.0/example-V2.4.0_RC2.wic of=/dev/sdb status=progress && sync
NOTE: ensure that you check the output device before running this commend.
Edit network config
The default IP address configuration is 192.168.200.1. You can either change this after bootup, but I prefer to edit this on the SD card while still plugged into the PC used to create the card.
<pre class="wp-block-preformatted">sudo vim /media/$USERID$/platform/etc/network/interfaces
The contents of the file after editing (in my case I have enabled DHCP)
<pre class="wp-block-preformatted">```
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# Wired interfaces
auto eth0
iface eth0 inet dhcp
#iface eth0 inet static
# address 192.168.200.1
# netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
## Connect to the unit
To find the DHCP address after startup (unless you created as <g class="gr_ gr_19 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep" data-gr-id="19" id="19">static</g> assignment on the router (the unit will show up as “(Siemens Industrial Automation Products Chengdu)”