“Bearbeitungszentrum BAZ” - Multiple Files¶
This example show a BAZ setup split in three files. One file will express the resources needed for modbus machine simulation. Another one expresses the connectivity layer. The third file expresses the resources needed for visualizing machining data on a dashboard.
Download: simulated-shop-floor.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 | description: > This Service simulates a shop floor equipped with a single machine talking the modbus protocol metadata: name: Simulated Shop Floor icon: https://www.cybus.io/wp-content/uploads/2017/10/for-whom1.svg provider: cybus homepage: https://www.cybus.io parameters: modbusPort: type: integer default: 10502 resources: modbusMachine: type: Cybus::Container properties: image: registry.cybus.io/cybus-services/baz-machine-simulator:0.0.1 ports: - !sub '${modbusPort}:10502/tcp' |
Download: connectivity.yml
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 | description: > This service provides a connectivity to all endpoints provided by the simulated shop floor metadata: name: Connectivity Layer icon: https://www.cybus.io/wp-content/uploads/2017/10/connection.svg provider: cybus homepage: https://www.cybus.io parameters: agentName: type: string default: protocol-mapper 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: defaultModbusAddress: fc: 3 length: 2 interval: 1000 dataType: uint16BE resources: modbusConnection: type: Cybus::Connection properties: agentName: !ref agentName protocol: Modbus targetState: connected connection: host: !ref dockerBridgeNetworkIp port: !ref modbusPort currentState: type: Cybus::Endpoint properties: agentName: !ref agentName protocol: Modbus connection: !ref modbusConnection subscribe: !merge defaultModbusAddress: address: 0 currentTool: type: Cybus::Endpoint properties: agentName: !ref agentName protocol: Modbus connection: !ref modbusConnection subscribe: !merge defaultModbusAddress: address: 2 coolantLevel: type: Cybus::Endpoint properties: agentName: !ref agentName protocol: Modbus connection: !ref modbusConnection subscribe: !merge defaultModbusAddress: address: 4 spindleSpeed: type: Cybus::Endpoint properties: agentName: !ref agentName protocol: Modbus connection: !ref modbusConnection subscribe: !merge defaultModbusAddress: address: 6 |
Download: dashboard.yml
Note
The example file below uses an additional Docker image provided by Cybus, see comment at the topmost file for details.
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 | description: > This Service visualizes data of a the simulated-shop floor connectivity layer. metadata: name: Data Visualization version: 1.0.0 icon: https://www.cybus.io/wp-content/uploads/2017/10/for-whom3.svg provider: cybus homepage: https://www.cybus.io parameters: connectivityService: type: string default: connectivitylayer definitions: CYBUS_MQTT_ROOT: cybus/baz-simulator resources: 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 mapping: type: Cybus::Mapping properties: mappings: - subscribe: endpoint: !ref '${connectivityService}::currentState' publish: topic: !sub '${CYBUS_MQTT_ROOT}/current-state' - subscribe: endpoint: !ref '${connectivityService}::currentTool' publish: topic: !sub '${CYBUS_MQTT_ROOT}/current-tool' - subscribe: endpoint: !ref '${connectivityService}::coolantLevel' publish: topic: !sub '${CYBUS_MQTT_ROOT}/coolant-level' - subscribe: endpoint: !ref '${connectivityService}::spindleSpeed' publish: topic: !sub '${CYBUS_MQTT_ROOT}/spindle-speed' # debug - subscribe: endpoint: !ref '${connectivityService}::spindleSpeed' rules: - transform: expression: | { "value": $ } publish: topic: debug/spindleSpeed |