Working with Siemens IoT2000 series from Linux
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…
Unfortunately, all the documentation for these units still assumes a Windows PC. And since I have not really been using a physical Windows machine for 10+ years now, that is really slowing things down. For the last few I didn’t really have to fall back to a VM, largely due to the fact that in web-development nobody cares about OS any longer. But I have a feeling that shifting my focus to the IIoT space this VM will get a bit more useful as some of these manufacturers don’t even bother with anything but Windows and are challenged enough to keep up with Windows upgrades.
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
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.
sudo vim /media/$USERID$/platform/etc/network/interfaces
The contents of the file after editing (in my case I have enabled DHCP)
```bash
# /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)”
sudo nmap -p22 -sV 10.1.1.0/24
## First login
ssh root@10.1.1.XXX
iot200setup
There is no initial password on the example image. After running through the setup program you should be good to go.
Comments
Be the first to comment! Reply to this post from your Mastodon/Fediverse or Bluesky account, or mention this post's URL in your reply. Your comment will appear here automatically via webmention.
Follow this blog on Mastodon at @gaggl.com@web.brid.gy or on Bluesky at @gaggl.com