Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- PPMonitor dataflow diagram, showing how data gets from the various sensors to
- the users PC screen.
- Licenced as Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -- http://creativecommons.org/licenses/by-sa/3.0/
- v1.00 : 05APR2011
- Initial internal release.
- v1.01 : 05APR2011
- ROJ - Group sensors into cluster & group servers/clients into cluster. Also added "TCP/IP" link to SQL Database.
- JBJ - Split "Top Board" into components.
- v1.02 : 05APR2011
- Pubic Release.
- ROJ - Add distinct "Serial Sensor" path.
- ROJ - Add more clusters, they rock.
- ROJ - Tweak colours.
- ROJ - Add alternative path for SHT7x sensor.
- ROJ - Change CAN path to "dotted" to indicate old tech.
- TH - Spelling correction to "PPMonitor Unit".
- v1.03 : 07APR2011
- ROJ - Corrected spelling on "Formaldemeter" node label.
- ROJ - Added optional settings to scale down to A4 sized image.
- ROJ - Added version & date label to image.
- */
- digraph SensorToScreen {
- /* We really like Arial! */
- fontname = "Arial"; node [ fontname = "Arial" ]; edge [ fontname = "Arial" ];
- /* Brand the output with the following info... */
- label = "http://ppm-technology.com .:. PPMonitor DataFlow Diagram .:. v1.03 .:. 07APR2011\nhttp://creativecommons.org/licenses/by-sa/3.0/";
- /* Use these for PDF o/p to A4
- *
- * Comment them out for anything else to get the best resolution. */
- size = "8.3,11.7";
- ratio = fill;
- /******************************************************************/
- /* The PPMoniotr Node */
- subgraph cluster_A {
- /* Example Serial Sensor */
- subgraph cluster_0s {
- node [ style = filled ];
- as0;
- label = "Serial Sensor Assembly";
- color = "blue";
- fontcolor = "blue";
- }
- /* Example Voltage Sensor */
- subgraph cluster_VoltageSensor {
- node [ style = filled ];
- av0 -> av1;
- label = "Voltage Sensor Assembly";
- color = "blue";
- fontcolor = "blue";
- }
- /* Example Current Sensor */
- subgraph cluster_0c {
- node [ style = filled ];
- ac0 -> ac1;
- label = "Current Sensor Assembly";
- color = "blue";
- fontcolor = "blue";
- }
- /* ADC type Top-Board */
- subgraph cluster_TopBoard_ADC {
- node [ style = filled ];
- ADC -> ZERO -> LPF -> vIEEE754 -> SPAN -> Baseline;
- label = "Top Board (SPIADC Code)";
- color = "blue";
- fontcolor = "blue";
- }
- /* USART type Top-Board */
- subgraph cluster_TopBoard_USART {
- node [ style = filled ];
- Offset -> sIEEE754;
- label = "Top Board (SPIUSART Code)";
- color = "blue";
- fontcolor = "blue";
- }
- /* Main-Board */
- subgraph cluster_MainBoard {
- node [ style = filled ];
- PIC -> Relays;
- PIC -> ETRX2 [ label = "SPI", dir = both ];
- PIC -> CANBus [ dir = both, style = dotted ];
- SHT75 -> FGMD -> PIC [ label = "Serial" ];
- SHT75 -> PIC [ label = "I2C", style = dashed ];
- label = "Main Board";
- color = "blue";
- fontcolor = "blue";
- }
- labelloc = b;
- label = "PPMonitor Unit";
- color = "forestgreen";
- fontcolor = "forestgreen";
- style = rounded;
- }
- subgraph cluster_B {
- subgraph cluster_2 {
- node [style=filled];
- ETRX2USB -> ZigBeeService [ dir = both ];
- CANCntrl-> PPMService [ dir = both, style = dotted ];
- PPMService -> ZigBeeService
- label = "PC (Server Side)";
- color=blue;
- fontcolor = blue;
- }
- subgraph cluster_3 {
- node [style=filled];
- Screen -> Client [ dir = both ];
- label = "PC (Client Side)";
- color=blue;
- fontcolor = blue;
- }
- SQLDB;
- color=red;
- fontcolor = red;
- labelloc = b;
- label = "Users PC";
- style = rounded;
- }
- /*
- * Inter-Cluster connections.
- *
- *************************************************************************/
- /* Sensors to Top-Board */
- as0 -> Offset [ label = "Serial" ];
- ac1 -> ADC [ label = "4-20mA" ];
- av1 -> ADC [ label = "0 - 5V" ];
- /* Top-Board to Main-Board */
- Baseline -> PIC [ label = "SPI" ];
- sIEEE754 -> PIC [ label = "SPI" ];
- /* Main-Board to PC */
- ETRX2 -> ZigBeeNet -> ETRX2USB [ label = "SCAST", dir = both ];
- CANBus -> CANCntrl [ label = "CAN Bus", dir = both, style = dotted ];
- /* Clients & Servers */
- ZigBeeService -> SQLDB [ dir = both ];
- PPMService -> SQLDB [ dir = both ];
- SQLDB -> Client [ dir = both ];
- Client -> PPMService [ dir = both ];
- SQLDB -> Other [ dir = both, label = "TCP/IP Connection" ];
- /*
- * Node setup
- *
- *************************************************************************/
- /* Sensors and TXBoards. */
- av0 [ label = "Sensor\n(e.g. TVOC)", shape = "invhouse", color="yellow" ];
- av1 [ label = "Transmitter Board\n(w. Zero & Span Adjust)" ];
- ac0 [ label = "Sensor\n(e.g. CO, NO2)", shape = "invhouse", color="yellow" ];
- ac1 [ label = "Transmitter Board\n(w. Zero & Span Adjust)" ];
- as0 [ label = "Sensor\n(e.g. CO2)", shape = "invhouse", color="yellow" ];
- FGMD [ label = "Formaldemeter", shape = "invhouse", color="yellow" ];
- SHT75 [ label = "SHT7x Temp/Humi\nModule", shape = "invhouse", color="yellow" ];
- /* Top-Board and Main-Board Components */
- ADC [ label = "10-bit\nAnalgue to Digital\nConverter" ];
- ZERO [ label = "Subtract D.C. Level\n(ZERO)" ];
- SPAN [ label = "Apply Gain = RANGE / SPAN\n(convert to \"ppm\" value)" ];
- sIEEE754 [ label = "Convert to Floating-Point\n(using IEEE754 format)" ];
- vIEEE754 [ label = "Convert to Floating-Point\n(using IEEE754 format)" ];
- LPF [ label = "Apply Low-Pass Filter" ];
- Baseline [ label = "Subtract baseline\n(a floating-point value)" ];
- Offset [ label = "Subtract offset\n(an integer value -- ZERO)" ];
- PIC [ label = "Processor" ];
- Relays [ label = "Relay outputs", shape = "house" fontcolor = "white", fillcolor="slateblue" ];
- /* NIC and Communication */
- CANBus [ label = "CAN Controller", style = dotted ];
- CANCntrl [ label = "CAN Controller", style = dotted ];
- ETRX2 [ label = "ETRX2" ];
- ETRX2USB [ label = "ETRX2" ];
- ZigBeeNet [ label = "ZigBee Wireless Network", style = filled, shape = "doublecircle", color = "deepskyblue1" ];
- /* Services */
- ZigBeeService [ label = "PPMonitor ZigBee Service" ];
- PPMService [ label = "PPMonitor Service" ];
- SQLDB [ label = "SQL Database", style = filled, shape = "folder", fillcolor = "bisque" ];
- /* Clients */
- Client [ label = "PPMonitor Client" ];
- Screen [ label = "PC Screen", shape = "house", fillcolor = "slateblue", fontcolor = "white" ];
- Other [ label = "Other users\n& tools", style = filled, shape = "note", fillcolor = "bisque" ];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement