945a1fa0c3da16d8f98ba7ef55d795153ba74024
Tech-dat/Network-dat/RTU-dat/RTU-dat.md
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | + |
|
| 2 | +# RTU-dat |
|
| 3 | + |
|
| 4 | +A **Remote Terminal Unit (RTU)** is a microprocessor-controlled electronic device that interfaces objects in the physical world to a distributed control system or SCADA (Supervisory Control and Data Acquisition) system by transmitting telemetry data to a master system, and by using messages from the master supervisory system to control connected objects. |
|
| 5 | + |
|
| 6 | +Key functions and characteristics of an RTU include: |
|
| 7 | + |
|
| 8 | +* **Data Acquisition:** Reading analog and digital inputs from sensors and field devices (e.g., temperature, pressure, flow, status of a switch). |
|
| 9 | +* **Control Output:** Sending digital and analog output signals to control actuators (e.g., opening/closing a valve, starting/stopping a motor). |
|
| 10 | +* **Communication:** Communicating with a central master station (often a SCADA master or a Distributed Control System - DCS) using various communication protocols (e.g., Modbus, DNP3, IEC 60870-5-101/104) over different media (radio, cellular, satellite, wired networks). |
|
| 11 | +* **Local Intelligence:** Modern RTUs often have processing capabilities to perform local control logic, data logging, and alarming, even if communication with the master station is lost. |
|
| 12 | +* **Ruggedness:** Designed to operate in harsh environmental conditions often found in industrial settings (e.g., wide temperature ranges, humidity, vibrations). |
|
| 13 | +* **Autonomy:** Can operate autonomously for periods based on pre-programmed instructions. |
|
| 14 | + |
|
| 15 | +**Common Applications:** |
|
| 16 | +RTUs are widely used in various industries for remote monitoring and control, such as: |
|
| 17 | + |
|
| 18 | +* **Oil and Gas:** Monitoring pipelines, wellheads, and remote facilities. |
|
| 19 | +* **Water and Wastewater:** Managing pumping stations, reservoirs, and treatment plants. |
|
| 20 | +* **Electric Utilities:** Monitoring substations, reclosers, and distribution networks. |
|
| 21 | +* **Environmental Monitoring:** Collecting data from remote sensor stations. |
|
| 22 | +* **Transportation:** Monitoring traffic signals and railway systems. |
|
| 23 | + |
|
| 24 | +In essence, an RTU acts as a bridge between the physical equipment in the field and the central supervisory control system. |
|
| 25 | + |
|
| 26 | +## ref |
|
| 27 | + |
|
| 28 | +- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/modbus-dat/modbus-dat.md
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | + |
|
| 2 | +# modbus-dat |
|
| 3 | + |
|
| 4 | +## Modbus: An Overview |
|
| 5 | + |
|
| 6 | +Modbus is a serial communication protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs). It has since become a de facto standard communication protocol in industry and is now one of the most commonly available means of connecting industrial electronic devices. |
|
| 7 | + |
|
| 8 | +**Purpose:** Modbus is typically used for transmitting information over serial lines or Ethernet between electronic devices. The device requesting the information is called the Modbus Master (or Client), and the devices supplying information are Modbus Slaves (or Servers). In a standard Modbus network, there is one Master and up to 247 Slaves, each with a unique Slave Address from 1 to 247. |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## How Modbus Works |
|
| 12 | + |
|
| 13 | +Modbus communication is based on a master-slave (or client-server in Modbus TCP/IP) architecture. |
|
| 14 | + |
|
| 15 | +1. **Master-Slave Architecture:** |
|
| 16 | + * **Master (Client):** Initiates communication. It sends a request (a "query") to a specific slave device. Only one master can initiate communication at a time on a Modbus serial line. |
|
| 17 | + * **Slave (Server):** Responds to requests from the master. It performs the action requested by the master (e.g., read data, write data) and sends a response back. Slaves do not initiate communication; they only respond. |
|
| 18 | + |
|
| 19 | +2. **Communication Layers & Variants:** |
|
| 20 | + Modbus has different variants depending on the communication layer: |
|
| 21 | + * **Modbus RTU (Remote Terminal Unit):** This is the most common implementation and uses serial communication (typically RS-485, but also RS-232 or RS-422). Data is transmitted in a binary format. It includes a Cyclic Redundancy Check (CRC) for error detection. |
|
| 22 | + * **Modbus ASCII:** Also uses serial communication but transmits data as ASCII characters. This makes it more human-readable but less efficient than RTU. It uses a Longitudinal Redundancy Check (LRC) for error detection. |
|
| 23 | + * **Modbus TCP/IP (or Modbus TCP):** This variant is used for communications over TCP/IP networks (like Ethernet). It encapsulates Modbus RTU messages within a TCP/IP wrapper. It doesn't require a checksum as TCP/IP already handles error checking. This allows for communication over standard Ethernet networks and the internet. |
|
| 24 | + * **Modbus Plus (MB+):** A proprietary, higher-speed, token-passing network developed by Modicon. Less common now. |
|
| 25 | + |
|
| 26 | +3. **Data Representation (Data Model):** |
|
| 27 | + Modbus defines a simple data model consisting of four primary data types or tables that can be accessed in the slave device: |
|
| 28 | + * **Coils (Discrete Outputs):** 1-bit read/write values. These typically represent on/off states (e.g., a relay, a lamp). |
|
| 29 | + * **Discrete Inputs:** 1-bit read-only values. These typically represent digital inputs (e.g., a switch status). |
|
| 30 | + * **Input Registers:** 16-bit read-only values. These typically represent analog inputs or other measured data from sensors. |
|
| 31 | + * **Holding Registers:** 16-bit read/write values. These can be used for various purposes, such as configuration parameters, setpoints, or general data storage. |
|
| 32 | + |
|
| 33 | + Each of these data types is addressed from 0 to 65535. |
|
| 34 | + |
|
| 35 | +4. **Message Structure (PDU and ADU):** |
|
| 36 | + A Modbus message frame consists of two main parts: |
|
| 37 | + * **PDU (Protocol Data Unit):** This is independent of the underlying communication layer. It contains: |
|
| 38 | + * **Function Code (1 byte):** Specifies the action to be performed (e.g., read coils, write holding register). |
|
| 39 | + * **Data (N bytes):** Contains the actual data for the request or response (e.g., starting address, number of registers, register values). |
|
| 40 | + * **ADU (Application Data Unit):** This includes the PDU plus additional information specific to the communication layer: |
|
| 41 | + * **For Modbus RTU/ASCII (Serial):** |
|
| 42 | + * **Slave Address (1 byte):** The address of the slave device the message is intended for (or from). |
|
| 43 | + * **PDU** |
|
| 44 | + * **Error Check (2 bytes for CRC in RTU, 1 byte for LRC in ASCII):** For detecting transmission errors. |
|
| 45 | + * **For Modbus TCP/IP:** |
|
| 46 | + * **MBAP Header (Modbus Application Protocol Header - 7 bytes):** Contains a transaction identifier, protocol identifier, length field, and unit identifier (similar to slave address). |
|
| 47 | + * **PDU** |
|
| 48 | + |
|
| 49 | +5. **Communication Flow (Example - Read Holding Registers):** |
|
| 50 | + 1. **Master Sends Request:** |
|
| 51 | + * Slave Address (e.g., 01) |
|
| 52 | + * Function Code (e.g., 03 for Read Holding Registers) |
|
| 53 | + * Starting Address of Registers (e.g., 00 6B for register 40108) |
|
| 54 | + * Number of Registers to Read (e.g., 00 02 for 2 registers) |
|
| 55 | + * Error Check (CRC) |
|
| 56 | + 2. **Slave Processes Request:** The slave device with the specified address receives the request, validates it, and retrieves the requested data. |
|
| 57 | + 3. **Slave Sends Response:** |
|
| 58 | + * Slave Address (e.g., 01) |
|
| 59 | + * Function Code (e.g., 03) |
|
| 60 | + * Byte Count (number of data bytes to follow, e.g., 04 for 2 registers * 2 bytes/register) |
|
| 61 | + * Register Values (e.g., 02 2B for the first register, 00 00 for the second) |
|
| 62 | + * Error Check (CRC) |
|
| 63 | + If an error occurs (e.g., invalid address, invalid function code), the slave responds with an exception code. |
|
| 64 | + |
|
| 65 | +6. **Common Function Codes:** |
|
| 66 | + * `01 (0x01)`: Read Coils |
|
| 67 | + * `02 (0x02)`: Read Discrete Inputs |
|
| 68 | + * `03 (0x03)`: Read Holding Registers |
|
| 69 | + * `04 (0x04)`: Read Input Registers |
|
| 70 | + * `05 (0x05)`: Write Single Coil |
|
| 71 | + * `06 (0x06)`: Write Single Holding Register |
|
| 72 | + * `15 (0x0F)`: Write Multiple Coils |
|
| 73 | + * `16 (0x10)`: Write Multiple Holding Registers |
|
| 74 | + |
|
| 75 | +## Key Characteristics & Advantages: |
|
| 76 | + |
|
| 77 | +* **Simplicity:** The protocol is relatively simple to implement and understand. |
|
| 78 | +* **Open Standard:** It's an open protocol, meaning manufacturers can build it into their equipment without paying royalties. |
|
| 79 | +* **Widely Adopted:** Supported by a vast range of industrial devices from many different vendors. |
|
| 80 | +* **Flexibility:** Can be used over various physical layers (serial, Ethernet). |
|
| 81 | +* **Reliability:** Error checking mechanisms (CRC/LRC) are built-in for serial versions. |
|
| 82 | + |
|
| 83 | +## Common Use Cases: |
|
| 84 | + |
|
| 85 | +* Connecting SCADA, HMI (Human-Machine Interface) systems to PLCs and other industrial devices. |
|
| 86 | +* Reading sensor data (temperature, pressure, flow, level). |
|
| 87 | +* Controlling actuators (valves, motors). |
|
| 88 | +* Monitoring and configuring device parameters. |
|
| 89 | +* Data logging. |
|
| 90 | +* Building automation. |
|
| 91 | +* Energy monitoring. |
|
| 92 | +* |
|
| 93 | + |
Tech-dat/Network-dat/network-dat.md
| ... | ... | @@ -62,6 +62,20 @@ and more - [[IBUS-dat]] - [[PPM-dat]] - [[FPort-dat]] - [[SPEKTRUM-dat]] - [[SUM |
| 62 | 62 | |
| 63 | 63 | - [[zigbee-dat]] |
| 64 | 64 | |
| 65 | +## Ethernet |
|
| 66 | + |
|
| 67 | +- [[ethernet-dat]] |
|
| 68 | + |
|
| 69 | +EtherCAT (Ethernet for Control Automation Technology) is a high-performance, real-time Ethernet-based fieldbus system. It was originally developed by Beckhoff Automation. |
|
| 70 | + |
|
| 71 | +## System and APPs |
|
| 72 | + |
|
| 73 | +- [[RTU-dat]] - [[modbus-dat]] |
|
| 74 | + |
|
| 75 | + |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 65 | 79 | |
| 66 | 80 | ## ref |
| 67 | 81 |
Tech-dat/acturator-dat/motor-driver-dat/FOC-dat/FOC-dat.md
| ... | ... | @@ -0,0 +1,31 @@ |
| 1 | + |
|
| 2 | +# FOC-dat |
|
| 3 | + |
|
| 4 | +**Field-Oriented Control (FOC)** is an advanced control strategy for electric motors, particularly permanent magnet synchronous motors (PMSM) and AC induction motors. It allows for precise and efficient control of motor torque and speed. |
|
| 5 | + |
|
| 6 | +Here's a breakdown: |
|
| 7 | + |
|
| 8 | +- Field-Oriented: The core idea is to decouple the control of the motor's magnetic field (flux) and its torque-producing current. This is analogous to how DC motors are controlled, where the field current and armature current can be controlled independently. |
|
| 9 | + |
|
| 10 | +- Control "of Current": FOC achieves this decoupling by transforming the stator currents (which are AC in their natural frame) into a rotating reference frame that is synchronized with the rotor's magnetic field. In this d-q reference frame (direct-quadrature), the currents can be thought of as DC quantities: |
|
| 11 | + - d-axis current (Id): Controls the rotor flux. |
|
| 12 | + - q-axis current (Iq): Controls the motor torque. |
|
| 13 | + |
|
| 14 | +- Benefits: |
|
| 15 | + - Precise Torque Control: Allows for smooth and accurate torque production, even at low speeds and during transient conditions. |
|
| 16 | + - High Efficiency: By optimally controlling the flux and torque currents, FOC can operate the motor at its highest efficiency points. |
|
| 17 | + - Good Dynamic Response: Enables fast changes in speed and torque. |
|
| 18 | + - Smooth Operation: Reduces torque ripple and noise. |
|
| 19 | + |
|
| 20 | +- Implementation: FOC typically requires: |
|
| 21 | + - Measurement of stator currents. |
|
| 22 | + - Knowledge of the rotor position (often from an encoder or sensorless estimation algorithms). |
|
| 23 | + - Microcontroller or DSP to perform the complex mathematical transformations (Clarke and Park transforms) and PI control loops. |
|
| 24 | + - A power inverter (like a three-phase bridge) to generate the necessary stator voltages based on the controller's commands. |
|
| 25 | + |
|
| 26 | +FOC is widely used in applications demanding high performance, such as robotics, electric vehicles, CNC machines, servo drives, and high-efficiency appliances. |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +## ref |
|
| 30 | + |
|
| 31 | +- [[motor-driver-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/acturator-dat/motor-driver-dat/motor-driver-dat.md
| ... | ... | @@ -253,6 +253,9 @@ A DC motor reverses direction by reversing the polarity of the voltage applied t |
| 253 | 253 | - [[CC-CCW-control-dat]] |
| 254 | 254 | |
| 255 | 255 | |
| 256 | +## Other Tech |
|
| 257 | + |
|
| 258 | +- [[FOC-dat]] |
|
| 256 | 259 | |
| 257 | 260 | ## ref |
| 258 | 261 |
app-dat/CNC-dat/CNC-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# CNC-dat |
|
| 3 | + |
|
| 4 | +- [[CAD-dat]] |
|
| 5 | + |
|
| 6 | +- [[CNC-system-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## ref |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +- [[CNC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/CNC-dat/CNC-system-dat/CNC-system-dat.md
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | + |
|
| 2 | +# CNC-system-dat |
|
| 3 | + |
|
| 4 | +## Mach3: CNC Control Software (Short Summary) |
|
| 5 | + |
|
| 6 | +**Mach3** is PC-based software that transforms a computer into a CNC machine controller. It's popular among hobbyists and small businesses for various machines like mills, routers, lathes, and plasma cutters. |
|
| 7 | + |
|
| 8 | +**How it Works (Simplified):** |
|
| 9 | +1. **Input:** Loads G-code (CNC program instructions). |
|
| 10 | +2. **Processing:** Interprets G-code and plans machine movements. |
|
| 11 | +3. **Output:** Sends electrical pulse signals to control the machine's motors and components. |
|
| 12 | + * **Interface:** Historically used the PC's parallel port. Modern setups typically use more reliable **external motion controllers** (USB/Ethernet) that receive commands from Mach3 and generate precise motor signals. |
|
| 13 | +4. **Control:** Manages axes movement, spindle speed, and other machine functions based on the G-code. |
|
| 14 | + |
|
| 15 | +It provides a user interface for loading files, manual control, and machine configuration. While older, it's known for its rich features and customizability. |
|
| 16 | + |
|
| 17 | + |
app-dat/app-dat.md
| ... | ... | @@ -12,7 +12,7 @@ |
| 12 | 12 | |
| 13 | 13 | - [[metal-detector-dat]] - [[portable-lights-dat]] |
| 14 | 14 | |
| 15 | - |
|
| 15 | +- [[EDC-dat]] |
|
| 16 | 16 | |
| 17 | 17 | ## Domestic Appliances |
| 18 | 18 | |
| ... | ... | @@ -48,7 +48,7 @@ |
| 48 | 48 | |
| 49 | 49 | ## motorlized |
| 50 | 50 | |
| 51 | -- [[e-bike-dat]] - [[ATV-dat]] - [[motorcycle-dat]] - [[scooter-dat]] - [[electric-kart-dat]] |
|
| 51 | +- [[vehicle-dat]] - [[e-bike-dat]] - [[ATV-dat]] - [[motorcycle-dat]] - [[scooter-dat]] - [[electric-kart-dat]] - [[AGV-dat]] |
|
| 52 | 52 | |
| 53 | 53 | |
| 54 | 54 | ## toys |
app-dat/gadget-dat/EDC-dat/EDC-dat.md
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | + |
|
| 2 | +# EDC-dat |
|
| 3 | + |
|
| 4 | +An "EDC light" refers to an **Everyday Carry flashlight**. |
|
| 5 | + |
|
| 6 | +It's a small, portable flashlight designed to be carried on one's person daily, typically in a pocket, on a keychain, or in a bag. |
|
| 7 | + |
|
| 8 | +Key characteristics of EDC lights usually include: |
|
| 9 | + |
|
| 10 | +* **Compact Size and Lightweight:** Easy to carry without being burdensome. |
|
| 11 | +* **Durability:** Often made from materials like aluminum, titanium, or stainless steel to withstand daily wear and tear. |
|
| 12 | +* **Sufficient Brightness:** Provides enough light for common daily tasks (e.g., finding items in a bag, navigating in the dark, emergency situations) but not necessarily extreme brightness like larger tactical flashlights. |
|
| 13 | +* **Good Battery Life:** Or at least reasonable runtime for their size, often using common battery types (AAA, AA, CR123A) or rechargeable cells (like 10440, 14500, 18650 in smaller lights). |
|
| 14 | +* **User-Friendly Interface:** Simple operation, often with multiple brightness modes. |
|
| 15 | +* **Reliability:** Designed to work when needed. |
|
| 16 | +* **Carry Options:** May include pocket clips, lanyard holes, or keychain attachments. |
|
| 17 | + |
|
| 18 | +EDC lights are popular among people who value preparedness, outdoor enthusiasts, and anyone who might need a reliable light source unexpectedly. |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## ref |
|
| 22 | + |
|
| 23 | +- [[gadget-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/gadget-dat/gadget-dat.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + |
|
| 2 | +# gadget-dat |
|
| 3 | + |
|
| 4 | +## gadgets |
|
| 5 | + |
|
| 6 | +- [[internet-radio-dat]] - [[ESP32-APP-dat]] |
|
| 7 | + |
|
| 8 | +- [[metal-detector-dat]] - [[portable-lights-dat]] |
|
| 9 | + |
|
| 10 | +- [[EDC-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/vehicle-dat/vehicle-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# vehicle-dat |
|
| 3 | + |
|
| 4 | +- [[e-bike-dat]] - [[ATV-dat]] - [[motorcycle-dat]] - [[scooter-dat]] - [[electric-kart-dat]] - [[AGV-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## AGV |
|
| 8 | + |
|
| 9 | +An AGV is an Automated Guided Vehicle. |
|
| 10 | + |
|
| 11 | +It is a portable robot that follows along marked long lines or wires on the floor, or uses radio waves, vision cameras, magnets, or lasers for navigation. AGVs are most often used in industrial applications to transport heavy materials around a large industrial building, such as a factory or warehouse. |
|
| 12 | + |
|
| 13 | +## ROS |
|
| 14 | + |
|
| 15 | +The document mentions "ROS" but doesn't define what a "ROS vehicle" is. |
|
| 16 | + |
|
| 17 | +However, **ROS (Robot Operating System)** is a flexible framework for writing robot software. A "ROS vehicle" would therefore be any vehicle (like an AGV, a drone, a robotic car, etc.) that uses ROS for its control, navigation, perception, or other autonomous functionalities. |
|
| 18 | + |
|
| 19 | +ROS provides: |
|
| 20 | + |
|
| 21 | +- Hardware abstraction |
|
| 22 | +- Low-level device control |
|
| 23 | +- Implementation of commonly used functionality (e.g., navigation, mapping, localization) |
|
| 24 | +- Message-passing between processes |
|
| 25 | +- Package management |
|
| 26 | +- Tools and libraries for obtaining, building, writing, and running code across multiple computers. |
|
| 27 | + |
|
| 28 | +So, a ROS vehicle is essentially a vehicle whose "brain" or software is built using the Robot Operating System. |
|
| 29 | + |
mechanics-dat/CNC-dat/CNC-dat.md
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | - |
|
| 2 | -# CNC-dat |
|
| 3 | - |
|
| 4 | -- [[CAD-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## ref |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -- [[CNC]] |
|
| ... | ... | \ No newline at end of file |