“Bearbeitungszentrum BAZ” - Single File and Custom Topics

This example shows an entire BAZ setup expressed within a single commissioning file and by using explicit topics on the endpoint resources (obsoleting a mapping resource).

Download: bazCustomTopics.yml

Note

The example below uses an additional Docker image provided by Cybus that requires a suitable license. You can check the current capabilities and permissions of your Connectware license in the Cybus Portal (https://portal.cybus.io). If your license is not eligible to use the example Docker image, please contact Cybus Sales (sales@cybus.io).

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
description: >
  Entire simulated machining demo setup

metadata:

  name: Simulated Machining Center
  icon: https://www.cybus.io/wp-content/themes/cybus/img/product-slide-img.png
  provider: cybus
  homepage: https://www.cybus.io
  version: 2.0.0

parameters:

  modbusPort:
    type: integer
    default: 10502
  dockerBridgeNetworkIp:
    type: string
    default: 172.17.0.1
    description: The IP address of the docker bridge network gateway, see "docker network inspect bridge"

definitions:

  CYBUS_MQTT_ROOT: cybus/baz-simulator

  defaultModbusAddress:
    fc: 3
    length: 2
    interval: 1000
    dataType: uint16BE

resources:

  machineSimulator:
    type: Cybus::Container
    properties:
      image: registry.cybus.io/cybus-services/baz-machine-simulator:0.0.1
      ports:
        - !sub '${modbusPort}:10502/tcp'

  modbusConnection:
    type: Cybus::Connection
    properties:
      protocol: Modbus
      targetState: connected
      connection:
        host: !ref dockerBridgeNetworkIp
        port: !ref modbusPort

  currentState:
    type: Cybus::Endpoint
    properties:
      protocol: Modbus
      connection: !ref modbusConnection
      topic: current-state
      subscribe:
        !merge
          defaultModbusAddress:
          address: 0

  currentTool:
    type: Cybus::Endpoint
    properties:
      protocol: Modbus
      connection: !ref modbusConnection
      topic: current-tool
      subscribe:
        !merge
          defaultModbusAddress:
          address: 2

  coolantLevel:
    type: Cybus::Endpoint
    properties:
      protocol: Modbus
      connection: !ref modbusConnection
      topic: coolant-level
      subscribe:
        !merge
          defaultModbusAddress:
          address: 4

  spindleSpeed:
    type: Cybus::Endpoint
    properties:
      protocol: Modbus
      connection: !ref modbusConnection
      topic: spindle-speed
      subscribe:
        !merge
          defaultModbusAddress:
          address: 6

  dashboard:
    type: Cybus::Container
    properties:
      image: registry.cybus.io/cybus-services/baz-dashboard:0.2.3
      volumes:
        - !sub '${dashboardData}:/root/.node-red'
      environment:
        MQTT_HOST: !ref Cybus::MqttHost
        MQTT_USER: !ref Cybus::MqttUser
        MQTT_PASS: !ref Cybus::MqttPassword
        MQTT_PORT: !ref Cybus::MqttPort
        HTTP_ROOT: /

  dashboardData:
    type: Cybus::Volume

  dashboardRoute:
    type: Cybus::IngressRoute
    properties:
      container: !ref dashboard
      type: http
      slug: dashboard
      target:
        path: /
        port: 1880

  dashboardLink:
    type: Cybus::Link
    properties:
      ingressRoute: !ref dashboardRoute
      href: ui/
      name: Dashboard