IOU06 Quick-Start-Guide / Binary Output Demo
In this quick-start guide we will run demo programs to stimulate the IOU06’s binary outputs and how to acknoledge it’s work.
Prerequisites
Hardware
- A Moducop Edge Computer with a IOU06 installed
-
A development PC (Windows or Linux), connected via Network to the Moducop
- A laboratory Power Supply capable of supplying 24V/100mA.
Tools on Development PC
The examples are written in programming language Go, we download the go sources and compile them. Therefore we need some tools on your development PC:
Get Demo Software
Clone the repository containing the examples to a folder of your choise (here myworkdir
)
c:
cd \myworkdir
git clone https://github.com/ci4rail/io4edge-client-go.git
cd io4edge-client-go
cd ~/myworkdir
git clone https://github.com/ci4rail/io4edge-client-go.git
cd io4edge-client-go
Determine the Service Address of your IOU06
Io4Edge Devices are usually addressed by their service address, which is a name in the network.
The IOU06’s service name depends on the ModuCop’s slot and is usually
S101-IOU06-USB-EXT-<slot-number>[-<function>]
, i.e. if the IOU06 is in the slot next to ModuCops CPU01, we have the following service names:
Service Name | Description | Port |
---|---|---|
S101-IOU06-USB-EXT-1 | Core function | 9999 |
S101-IOU06-USB-EXT-1-ibis | IBIS | 10000 |
S101-IOU06-USB-EXT-1-com | COM (mutually exclusive with CAN) | 10001 |
S101-IOU06-USB-EXT-1-can | CAN (mutually exclusive with COM) | 10001 |
S101-IOU06-USB-EXT-1-gpio | Binary Outputs | 10002 |
We need this service address in the demo programs to address the module, for example to address the binary output function, we would use S101-IOU06-USB-EXT-1-gpio
.
If you are unsure, you can also browse the available devices:
ssh root@<moducop-ip>
Once logged in into the Moducop Shell:
io4edge-cli scan -f
If your IOU06 is in the slot next to the CPU, the output should be:
S101-IOU01-USB-EXT-1, 192.168.201.1, S101-IOU01, <serial-number>
+-----------------------------+-------------------------------------+-------+
| SERVICE TYPE | SERVICE NAME | PORT |
+-----------------------------+-------------------------------------+-------+
| _ttynvt._tcp | S101-IOU06-USB-EXT-1-ibis | 10000 |
| _ttynvt._tcp | S101-IOU06-USB-EXT-1-com | 10001 |
| _io4edge_binaryIoTypeB._tcp | S101-IOU06-USB-EXT-1-gpio | 10002 |
+-----------------------------+-------------------------------------+-------+
Binary I/O Demo
The Binary output demo will stimulate the binary outputs of the IOU06. Please connect separate loads to the binary e.g. 1000Ohm resistance, so when the output switch turns on, the binary output will act as a switch, closing the circuit, allowing current to flow through the load.
Connecting
Connect the binary output pins BIN_OUT1
& BIN_OUT2
to different loads, which are supplied with 24V. Connect the ground to the Common Ground pin COMMON_GND
Compile Demo
Run this in a powershell console
cd examples\gpio\set_outputs
$Env:GOOS = "linux"
$Env:GOARCH = "arm64"
go build
cd examples/gpio/set_outputs
GOOS=linux GOARCH=arm64 go build
This produces the binary file set_outputs
in the current folder.
Copy Demo to Moducop
Transfer the compiled binary. Replace <target-ip>
with the IP address of your Moducop.
We copy the binary to the /data
folder of ModuCop, as this is a writeable, whereas the rest of the filesystem is write protected.
scp set_outputs root@<target-ip>:/data
Running the Demo
Login into your Moducop over SSH:
ssh root@<target-ip>
Once logged in into the Moducop’s Shell, run the demo.
In case your IOU06 is not in the slot next to the CPU, use a different address, e.g. S101-IOU06-USB-EXT-2-gpio