Network and SCADA integration
Automation Network
The BioDryer's automation system leverages industrial PCs and I/O devices (Plexus POD) that communicate over a network. This setup involves 100Mbps Ethernet switches located in strategic locations, such as inside electrical cabinets or junction boxes, connected using CAT6 or CAT5e cables. The network is divided into:
-
External Network (WAN): Enables communication between BFT equipment and the client's existing devices (e.g., PLCs or SCADA systems). Internet access through this network necessitates an IP gateway, ideally provided by the client. If unavailable, a 4G modem can be utilized to establish an internet connection, assuming satisfactory mobile data coverage.
-
Internal Subnetwork (BioDryer Automation LAN): A specialized network for internal communications between the industrial PC and I/O devices (Plexus PODs).
The requirement for an internet gateway stems from several needs:
- Remote control of the plant by both the client and Bioforcetech for adjustments or error responses, useful during testing and operational phases.
- Sending alerts or alarm emails in accordance with the automation system's coding.
- Synchronizing plant data with PlexusCloud for enhanced reporting, accessible to the end client.
Internet Connection
Considering the above requirements, if the client provides internet access, Bioforcetech must ensure direct access to the automation-controlling PC via:
- A VPN client with credentials.
- A fixed IP address plus port forwarding.
The internet connection for the BFT automation system must adhere to the following minimum requirements:
- Download speed: 10 MB/s
- Upload speed: 5 MB/s
If there is more than one BioDryer in the plant, the WAN internet connection should be connected at the General Panel using a CAT-6 cable.
SCADA and Automation Integration
The Bioforcetech system is designed to seamlessly communicate with other devices on the same WAN network. It supports a variety of communication protocols, including Modbus or Profinet TCP/IP interface, as well as HTTP REST API calls for integration flexibility.
Communication with Clean Contacts
Bioforcetech necessitates a clean contact exchange with PLCs and the customer's automation systems, particularly for sludge loading operations and filter/scrubber activation. A total of seven clean contacts are required for complete integration, detailed as follows:
Sludge Loading Operations
- Interconnection: From Bioforcetech Main Panel to WWTP Control Panel
- Total Contacts: 4 (2 IN + 2 OUT)
- Description:
- OUT 1: Request for ready status to the loading system
- IN 1: Confirmation from the loading system when ready to provide sludge
- OUT 2: Request for sludge receipt to the loading system
- IN 2: Confirmation from the loading system when in operation with sludge directed towards the BioDryer
Filter
Scrubber Operations
- Interconnection: From Bioforcetech Main Panel to WWTP Control Panel
- Total Contacts: 3 (2 IN + 1 OUT)
- Description:
- IN 1: OK status coming from the filter
scrubber - OUT 1: Activation request coming from the Bioforcetech General Panel
- IN 2: Feedback of actual operation coming from the filter
scrubber
- IN 1: OK status coming from the filter
This structured approach ensures that the BioDryer system can effectively interface with existing SCADA and automation systems, facilitating smooth operations and optimal control.
Communication via Modbus TCP/IP
Modbus TCP/IP provides a straightforward and easily configurable method for integration. Each Bioforcetech plant is equipped for Modbus communication right from the initial testing phases. This protocol operates over port 502, which can be customized as required, and facilitates the transmission of status parameters and alarms from all connected equipment.
Modbus Registers for BioDryers
Every BioDryer electrical panel includes an Ethernet switch for establishing a connection to communicate via the Modbus TCP/IP interface. Connections should be directed towards the BioDryer's assigned IP address, utilizing port 502.
The table below details the configured registers for both reading and writing operations, segmented by machine type.
(Note: The actual table listing the Modbus TCP/IP Registers, including register numbers, descriptions, and data types, should be included here, divided by machine type for clarity.)
| Register | Variable Type | BFT Internal Ref | Description | Read Write |
|---|---|---|---|---|
| 7001 | WORD | Bitmap alarm | LSB (7001.01): Load request timeout 7001.02: Error load position 7001.03: General safety 7001.04: Unloading error 7001.05: Water level alarm 7001.06: Loading error 7001.07: Position alarm 7001.08: Automatic unload error 7001.09: Automatic airflow error 7001.10: Unresponsive POD inside EP 7001.11: Automatic rotation error 7001.12: Compressed air missing or low 7001.13: Breakers alarm 7001.14: Rotation error 7001.15: Unresponsive POD inside body boxes MSB (7001.16): Unresponsive POD inside air box | R |
| 7002 | WORD | Weight | Net weight of sludge inside BioDryer | R |
| 7003 | WORD | System_status | Possible values 0: Error N.D. 1: Waiting 2: Dry cycle 3: Ready 4: Unloading 5: Loading | R |
| 7004 | WORD | Manual_auto | Possible values 0: Off 1: Manual 2: Automatic | R |
| 7005 | WORD | Dry_cycle | Dry cycle running | R |
| 7006 | WORD | Current_position | Possible values 0: Error N.D. 1: Airflow 2: Loading 3: Unloading 4: Rotating | R |
| 7007 | WORD | Average_temp | Sludge average temperature | R |
| 7008 | WORD | Air_mh | m3h air flowing | R |
| 7009 | WORD | air_in_temp_3 | Temperature of the air before the heat exchanger | R |
| 7010 | WORD | rot_FB | Actual rotation motor Hz | R |
| 7011 | WORD | loading_screw_FB | Loading screw status (0: Off, 1: On) | R |
| 7012 | WORD | press_air_in | Incoming air pressure mBar | R |
| 7013 | WORD | press_air_out | Outgoing air pressure mBar | R |
| 7014 | WORD | load_goal | Desired weight of sludge when loading finishes kg | R |
| 7015 | WORD | unload_goal | Desired weight of sludge when unloading finishes kg | R |
| 7016 | WORD | Goal_weight | Desired weight of sludge when drying finishes kg | R |
| 7017/7020 | WORD | spare | - | R |
| 7021 | WORD | bimap_q | LSB (7021.01): clockwise rotation activated 7021.02: counter-clockwise rotation activated 7021.03: fan 1 activated 7021.04: fan 2 activated 7021.05: loading screw activated (towards rear side) 7021.06: loading screw activated (towards front side) 7021.07: brakes (0: activated, 1: unlocked) 7021.08: brakes feedback (0: activated, 1: unlocked) 7021.09: biodryer OK status (0: emergency activated) 7021.10: emergency button status (1: pressed) 7021.11: water tank unloading command 7021.12: water tank unloading command feedback 7021.13: transfer gate command 7021.14: transfer gate opened 7021.15: transfer gate closed MSB (7021.16): spare 0 | R |
| 7022 | WORD | bitmap | LSB (7022.01): water tank wash command 7022.02: air exchanger wash command 7022.03: airlock command 7022.04: airlock proxy sensor 1 feedback 7022.05: airlock proxy sensor 2 feedback 7022.06: rotation proxy sensor 1 feedback 7022.07: rotation proxy sensor 2 feedback 7022.08: air pipe butterfly valve command 7022.09: air pipe butterfly valve feedback 7022.10: reactor butterfly valve command 7022.11: reactor butterfly valve feedback 7022.12: tank water level low detected 7022.13: tank water level high detected 7022.14: sludge gate 1 opening command 7022.15: sludge gate 1 status (1: Opened) MSB (7022.16): spare 0 | R |
| 7023 | WORD | bitmap_2 | LSB (7023.01): screw gate 1 command 7023.02: screw gate 1 opened 7023.03: screw gate 1 closed 7023.04: screw gate 2 command 7023.05: screw gate 2 opened 7023.06: screw gate 2 closed 7023.07: screw gate 3 command 7023.08: screw gate 3 opened 7023.09: screw gate 3 closed 7023.10: screw gate 4 command 7023.11: screw gate 4 opened 7023.12: screw gate 4 closed 7023.13: air box emergency button status (1: pressed) 7023.14: hot water valve command 7023.15: hot water valve closed MSB (7023.16): hot water valve opened | R |
| 7024 | WORD | bitmap_3 | LSB (7024.01): sludge gate 2 opening command 7024.02: sludge gate 2 status (1: Opened) 7024.03: sludge gate 3 opening command 7024.04: sludge gate 3 status (1: Opened) 7024.05: sludge gate 4 opening command 7024.06: sludge gate 4 status (1: Opened) 7024.07: sludge gate 5 opening command 7024.08: sludge gate 5 status (1: Opened) 7024.09: air gate 1 opening command 7024.10: air gate 1 status (1: Opened) 7024.11: air gate 2 opening command 7024.12: air gate 2 status (1: Opened) 7024.13: air gate 3 opening command 7024.14: air gate 3 status (1: Opened) 7024.15: air gate 4 opening command MSB (7024.16): air gate 4 status (1: Opened) | R |
| 7025 | WORD | fan_1_FB | Fan 1 usage feedback kW | R |
| 7026 | WORD | fan_2_FB | Fan 2 usage feedback kW | R |
| 7027 | WORD | fan_1_speed_set | Fan 1 speed set [Value range 0-100, translates to 0-50Hz] | R |
| 7028 | WORD | fan_2_speed_set | Fan 2 speed set [Value range 0-100, translates to 0-50Hz] | R |
| 7029 | WORD | rot_speed_set | Rotation motors speed set [Value range 0-100, translates to 0-50Hz] | R |
| 7030 | WORD | air_in_temp_1 | Temperature 1 through air pipes °C, free air temperature | R |
| 7031 | WORD | air_in_temp_2 | Temperature 2 through air pipes [°C] | R |
| 7032 | WORD | air_in_temp_3 | Temperature 3 through air pipes [°C], entering the reactor | R |
| 7033 | WORD | air_in_temp_4 | Temperature 4 through air pipes [°C], exiting from the reactor | R |
| 7034 | WORD | air_in_temp_5 | Temperature 5 through air pipes [°C], after the exchanger | R |
| 7035 | WORD | load_cell_1 | Weight read from load cell 1 (front corner 1) | R |
| 7036 | WORD | load_cell_2 | Weight read from load cell 2 (front corner 2) | R |
| 7037 | WORD | load_cell_3 | Weight read from load cell 3 (rear corner 1) | R |
| 7038 | WORD | load_cell_4 | Weight read from load cell 4 (rear corner 2) | R |
| 7039 | WORD | delta_p1 | Delta pressure between air coming in and out from the reactor. Range -2500/+2500, should read a value around 600 when moving 4000 m3h [Pa]. | R |
| 7040 | WORD | delta_p2 | Delta pressure between air coming in and out from the exchanger. Range -2500/+2500, should read a value around 0 anytime [Pa]. | R |
| 7041 | WORD | comp_air_low | Air compressed "low" circuit pressure feedback. Should be around 4 [bar]. | R |
| 7042 | WORD | comp_air_high | Air compressed "high" circuit pressure feedback. Should be around 7 [bar]. | R |
| 7043 | WORD | encoder | Position read from the encoder. Range 0-999. | R |
| 7044 | WORD | temp_1 | Temperature 1 inside reactor. Sector 1, under the sludge (when in air position) [°C] | R |
| 7045 | WORD | temp_2 | Temperature 2 inside reactor. Sector 1, over/inside the sludge (when in air position) [°C] | R |
| 7046 | WORD | temp_3 | Temperature 3 inside reactor. Sector 2, under the sludge (when in air position) [°C] | R |
| 7047 | WORD | temp_4 | Temperature 4 inside reactor. Sector 2, over/inside the sludge (when in air position) [°C] | R |
| 7048 | WORD | temp_5 | Temperature 5 inside reactor. Sector 3, under the sludge (when in air position) [°C] | R |
| 7049 | WORD | temp_6 | Temperature 6 inside reactor. Sector 3, over/inside the sludge (when in air position) [°C] | R |
| 7050 | WORD | temp_7 | Temperature 7 inside reactor. Sector 4, under the sludge (when in air position) [°C] | R |
| 7051 | WORD | temp_8 | Temperature 8 inside reactor. Sector 4, over/inside the sludge (when in air position) [°C] | R |
| 7052/7059 | WORD | spare | - | R |
| 7060/7070 | WORD | spare | - | W |
