<?xml version="1.0"?>
<doc>
    <assembly>
        <name>RobotNet.Script</name>
    </assembly>
    <members>
        <member name="T:RobotNet.Script.ICcLinkIeBasicClient">
            <summary>
            Client CC‑Link IE Basic (SLMP over TCP/UDP) dùng để kết nối PC ↔ PLC Mitsubishi qua Ethernet thường,
            hỗ trợ đọc/ghi device, polling chu kỳ và gửi lệnh SLMP thô.
            </summary>
        </member>
        <member name="P:RobotNet.Script.ICcLinkIeBasicClient.IsConnected">
            <summary>
            Trạng thái đã kết nối phiên transport (TCP/UDP) tới PLC hay chưa.
            </summary>
        </member>
        <member name="P:RobotNet.Script.ICcLinkIeBasicClient.RetryCount">
            <summary>
            Số lần thử gửi lại khi lỗi tạm thời/timeout.
            </summary>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.DisconnectAsync(System.Threading.CancellationToken)">
            <summary>
            Ngắt kết nối transport và giải phóng tài nguyên liên quan.
            </summary>
            <param name="ct">Token hủy bất đồng bộ.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.ReadBitsAsync(RobotNet.Script.DeviceCode,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Đọc mảng bit (X/Y/M/L/S/B...) từ PLC.
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu.</param>
            <param name="count">Số bit cần đọc.</param>
            <param name="ct">Token hủy.</param>
            <returns>Mảng giá trị bit.</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.WriteBitsAsync(RobotNet.Script.DeviceCode,System.Int32,System.ReadOnlyMemory{System.Boolean},System.Threading.CancellationToken)">
            <summary>
            Ghi mảng bit (X/Y/M/L/S/B...) vào PLC.
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu.</param>
            <param name="values">Dãy giá trị bit cần ghi.</param>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.ReadWordsAsync(RobotNet.Script.DeviceCode,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Đọc mảng word (D/W/R/ZR/B...) từ PLC.
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu (đơn vị word).</param>
            <param name="wordCount">Số word cần đọc.</param>
            <param name="ct">Token hủy.</param>
            <returns>Mảng word (UInt16).</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.WriteWordsAsync(RobotNet.Script.DeviceCode,System.Int32,System.ReadOnlyMemory{System.UInt16},System.Threading.CancellationToken)">
            <summary>
            Ghi mảng word (D/W/R/ZR/B...) vào PLC.
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu (đơn vị word).</param>
            <param name="words">Dãy word cần ghi.</param>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.ReadDWordsAsync(RobotNet.Script.DeviceCode,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Đọc mảng double‑word (UInt32) từ PLC (áp dụng cho vùng hỗ trợ dword).
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu (đơn vị dword).</param>
            <param name="dwordCount">Số dword cần đọc.</param>
            <param name="ct">Token hủy.</param>
            <returns>Mảng dword (UInt32).</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.WriteDWordsAsync(RobotNet.Script.DeviceCode,System.Int32,System.ReadOnlyMemory{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Ghi mảng double‑word (UInt32) vào PLC (áp dụng cho vùng hỗ trợ dword).
            </summary>
            <param name="device">Loại device code.</param>
            <param name="startAddress">Địa chỉ bắt đầu (đơn vị dword).</param>
            <param name="dwords">Dãy dword cần ghi.</param>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.ReadRandomWordsAsync(System.ValueTuple{RobotNet.Script.DeviceCode,System.Int32}[],System.Threading.CancellationToken)">
            <summary>
            Đọc ngẫu nhiên nhiều điểm word rời rạc (mixed areas) trong một lần.
            </summary>
            <param name="points">Danh sách (device, address) cần đọc.</param>
            <param name="ct">Token hủy.</param>
            <returns>Mảng word theo thứ tự điểm yêu cầu.</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.WriteRandomWordsAsync(System.ValueTuple{RobotNet.Script.DeviceCode,System.Int32}[],System.ReadOnlyMemory{System.UInt16},System.Threading.CancellationToken)">
            <summary>
            Ghi ngẫu nhiên nhiều điểm word rời rạc (mixed areas) trong một lần.
            </summary>
            <param name="points">Danh sách (device, address) cần ghi.</param>
            <param name="values">Giá trị word theo thứ tự điểm.</param>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="E:RobotNet.Script.ICcLinkIeBasicClient.Polled">
            <summary>
            Sự kiện bắn ra sau mỗi chu kỳ polling hoàn tất.
            </summary>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.StartPolling(RobotNet.Script.PollOptions,System.Threading.CancellationToken)">
            <summary>
            Bắt đầu polling chu kỳ một hoặc nhiều vùng device.
            </summary>
            <param name="options">Tùy chọn polling (chu kỳ, vùng, giới hạn kích thước).</param>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.StopPollingAsync(System.Threading.CancellationToken)">
            <summary>
            Dừng polling chu kỳ.
            </summary>
            <param name="ct">Token hủy.</param>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.GetStatusAsync(System.Threading.CancellationToken)">
            <summary>
            Lấy trạng thái liên kết/SLMP gần nhất (end code, thống kê thời gian phản hồi...).
            </summary>
            <param name="ct">Token hủy.</param>
            <returns>Thông tin trạng thái IE Basic.</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.PingAsync(System.Threading.CancellationToken)">
            <summary>
            Kiểm tra liên lạc PLC (ví dụ node monitor) ở mức nhanh/gọn.
            </summary>
            <param name="ct">Token hủy.</param>
            <returns>true nếu phản hồi hợp lệ, ngược lại false.</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.IdentifyAsync(System.Threading.CancellationToken)">
            <summary>
            Truy vấn thông tin nhận dạng module/CPU (nếu PLC cho phép).
            </summary>
            <param name="ct">Token hủy.</param>
            <returns>Thông tin định danh CPU/module.</returns>
        </member>
        <member name="M:RobotNet.Script.ICcLinkIeBasicClient.SendSlmpAsync(RobotNet.Script.SlmpCommand,System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
            <summary>
            Gửi lệnh SLMP thô (mở rộng/đặc thù) và nhận phản hồi.
            </summary>
            <param name="command">Mã lệnh SLMP.</param>
            <param name="payload">Payload SLMP theo định dạng frame chọn (3E/4E).</param>
            <param name="ct">Token hủy.</param>
            <returns>Phản hồi SLMP gồm end code và payload.</returns>
        </member>
        <member name="T:RobotNet.Script.IeBasicTransport">
            <summary>
            Loại transport cho CC‑Link IE Basic (UDP hoặc TCP).
            </summary>
        </member>
        <member name="F:RobotNet.Script.IeBasicTransport.Udp">
            <summary>Giao tiếp qua UDP (thường dùng cho IE Basic).</summary>
        </member>
        <member name="F:RobotNet.Script.IeBasicTransport.Tcp">
            <summary>Giao tiếp qua TCP.</summary>
        </member>
        <member name="T:RobotNet.Script.SlmpFrameFormat">
            <summary>
            Định dạng frame SLMP.
            </summary>
        </member>
        <member name="F:RobotNet.Script.SlmpFrameFormat.Format3E">
            <summary>Khung 3E (Format 3E).</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpFrameFormat.Format4E">
            <summary>Khung 4E (Format 4E).</summary>
        </member>
        <member name="T:RobotNet.Script.DeviceCode">
            <summary>
            Device code (vùng thiết bị) cấp ứng dụng.
            </summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.X">
            <summary>Input (bit).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.Y">
            <summary>Output (bit).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.M">
            <summary>Internal relay (bit).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.L">
            <summary>Latch relay (bit).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.B">
            <summary>Link relay (bit/word tùy CPU).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.S">
            <summary>Step relay (bit).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.D">
            <summary>Data register (word).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.W">
            <summary>Link register (word).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.R">
            <summary>File register (word).</summary>
        </member>
        <member name="F:RobotNet.Script.DeviceCode.ZR">
            <summary>Extended file register (word).</summary>
        </member>
        <member name="T:RobotNet.Script.IeBasicLocal">
            <summary>
            Tham số logic phía local (PC/sender) khi gửi SLMP.
            </summary>
            <param name="NetworkNo">Số mạng logic.</param>
            <param name="ModuleIoNo">Địa chỉ I/O module logic (thường 0x03FF).</param>
            <param name="MultidropNo">Số đa điểm (nếu dùng).</param>
            <param name="StationNo">Số trạm logic.</param>
        </member>
        <member name="M:RobotNet.Script.IeBasicLocal.#ctor(System.Byte,System.UInt16,System.Byte,System.Byte)">
            <summary>
            Tham số logic phía local (PC/sender) khi gửi SLMP.
            </summary>
            <param name="NetworkNo">Số mạng logic.</param>
            <param name="ModuleIoNo">Địa chỉ I/O module logic (thường 0x03FF).</param>
            <param name="MultidropNo">Số đa điểm (nếu dùng).</param>
            <param name="StationNo">Số trạm logic.</param>
        </member>
        <member name="P:RobotNet.Script.IeBasicLocal.NetworkNo">
            <summary>Số mạng logic.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicLocal.ModuleIoNo">
            <summary>Địa chỉ I/O module logic (thường 0x03FF).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicLocal.MultidropNo">
            <summary>Số đa điểm (nếu dùng).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicLocal.StationNo">
            <summary>Số trạm logic.</summary>
        </member>
        <member name="T:RobotNet.Script.IeBasicRemote">
            <summary>
            Cấu hình đầu xa: địa chỉ IP/Port và tham số logic đích cho SLMP.
            </summary>
            <param name="Host">Địa chỉ IP hoặc hostname PLC/module.</param>
            <param name="Port">Cổng SLMP (ví dụ 5007).</param>
            <param name="NetworkNo">Số mạng logic đích.</param>
            <param name="ModuleIoNo">Địa chỉ I/O module logic đích.</param>
            <param name="MultidropNo">Số đa điểm (nếu dùng).</param>
            <param name="StationNo">Số trạm logic đích.</param>
        </member>
        <member name="M:RobotNet.Script.IeBasicRemote.#ctor(System.String,System.Int32,System.Byte,System.UInt16,System.Byte,System.Byte)">
            <summary>
            Cấu hình đầu xa: địa chỉ IP/Port và tham số logic đích cho SLMP.
            </summary>
            <param name="Host">Địa chỉ IP hoặc hostname PLC/module.</param>
            <param name="Port">Cổng SLMP (ví dụ 5007).</param>
            <param name="NetworkNo">Số mạng logic đích.</param>
            <param name="ModuleIoNo">Địa chỉ I/O module logic đích.</param>
            <param name="MultidropNo">Số đa điểm (nếu dùng).</param>
            <param name="StationNo">Số trạm logic đích.</param>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.Host">
            <summary>Địa chỉ IP hoặc hostname PLC/module.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.Port">
            <summary>Cổng SLMP (ví dụ 5007).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.NetworkNo">
            <summary>Số mạng logic đích.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.ModuleIoNo">
            <summary>Địa chỉ I/O module logic đích.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.MultidropNo">
            <summary>Số đa điểm (nếu dùng).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicRemote.StationNo">
            <summary>Số trạm logic đích.</summary>
        </member>
        <member name="T:RobotNet.Script.IeBasicClientOptions">
            <summary>
            Tùy chọn khởi tạo/kết nối IE Basic client.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IeBasicClientOptions.#ctor(System.String,System.Int32,System.Byte,System.UInt16,System.Byte,System.Byte)">
            <summary>
            Tùy chọn khởi tạo/kết nối IE Basic client.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.Transport">
            <summary>Transport: UDP hoặc TCP.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.FrameFormat">
            <summary>Định dạng frame SLMP (3E/4E).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.Local">
            <summary>Tham số logic phía local.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.Timeout">
            <summary>Timeout cho mỗi yêu cầu.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.RetryCount">
            <summary>Số lần retry khi lỗi tạm thời.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.AutoReconnect">
            <summary>Tự động reconnect nếu mất liên kết.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicClientOptions.LittleEndianWordOrder">
            <summary>
            Quy ước ghép cặp word trong DWord/Float (true: little‑endian word order).
            </summary>
        </member>
        <member name="T:RobotNet.Script.PollOptions">
            <summary>
            Tùy chọn cho polling chu kỳ các vùng device.
            </summary>
        </member>
        <member name="P:RobotNet.Script.PollOptions.Interval">
            <summary>Khoảng thời gian giữa hai lần poll.</summary>
        </member>
        <member name="P:RobotNet.Script.PollOptions.Areas">
            <summary>Danh sách vùng cần poll (device, địa chỉ bắt đầu, số lượng).</summary>
        </member>
        <member name="P:RobotNet.Script.PollOptions.MaxWordsPerCycle">
            <summary>Giới hạn số word tối đa mỗi chu kỳ (để tránh gói quá lớn).</summary>
        </member>
        <member name="P:RobotNet.Script.PollOptions.AlignAreasByDevice">
            <summary>Gom vùng theo từng loại device để tối ưu số gói.</summary>
        </member>
        <member name="T:RobotNet.Script.PollUpdatedEventArgs">
            <summary>
            Dữ liệu trả về sau mỗi chu kỳ polling.
            </summary>
        </member>
        <member name="P:RobotNet.Script.PollUpdatedEventArgs.Timestamp">
            <summary>Thời điểm khung dữ liệu được cập nhật.</summary>
        </member>
        <member name="P:RobotNet.Script.PollUpdatedEventArgs.Bits">
            <summary>Mảng bit (nếu có vùng bit được cấu hình).</summary>
        </member>
        <member name="P:RobotNet.Script.PollUpdatedEventArgs.Words">
            <summary>Mảng word (nếu có vùng word được cấu hình).</summary>
        </member>
        <member name="P:RobotNet.Script.PollUpdatedEventArgs.DWords">
            <summary>Mảng dword (nếu có vùng dword được cấu hình).</summary>
        </member>
        <member name="T:RobotNet.Script.IeBasicStatus">
            <summary>
            Trạng thái liên kết/SLMP để chẩn đoán và theo dõi.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.LinkUp">
            <summary>Liên kết hiện “đang lên” (có phản hồi) hay không.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.ConsecutiveErrors">
            <summary>Số lỗi liên tiếp gần nhất.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.LastEndCode">
            <summary>End code SLMP của lỗi gần nhất (nếu có).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.LastErrorText">
            <summary>Mô tả lỗi gần nhất (nếu có).</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.AvgRtt">
            <summary>Thời gian phản hồi trung bình ước tính.</summary>
        </member>
        <member name="P:RobotNet.Script.IeBasicStatus.MaxRtt">
            <summary>Thời gian phản hồi lớn nhất quan sát.</summary>
        </member>
        <member name="T:RobotNet.Script.ModuleIdentity">
            <summary>
            Thông tin nhận dạng CPU/module (nếu PLC cho phép truy vấn).
            </summary>
        </member>
        <member name="P:RobotNet.Script.ModuleIdentity.CpuSeries">
            <summary>Dòng CPU (ví dụ iQ‑R, iQ‑F).</summary>
        </member>
        <member name="P:RobotNet.Script.ModuleIdentity.CpuModel">
            <summary>Model cụ thể (ví dụ R04ENCPU).</summary>
        </member>
        <member name="P:RobotNet.Script.ModuleIdentity.Firmware">
            <summary>Phiên bản firmware.</summary>
        </member>
        <member name="P:RobotNet.Script.ModuleIdentity.Vendor">
            <summary>Nhà sản xuất (thường là Mitsubishi Electric).</summary>
        </member>
        <member name="P:RobotNet.Script.ModuleIdentity.AdditionalInfo">
            <summary>Thông tin bổ sung khác (nếu có).</summary>
        </member>
        <member name="T:RobotNet.Script.SlmpCommand">
            <summary>
            Mã lệnh SLMP rút gọn (có thể mở rộng khi hiện thực adapter).
            </summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.ReadDevice">
            <summary>Đọc device theo dải liên tục (bit/word).</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.WriteDevice">
            <summary>Ghi device theo dải liên tục (bit/word).</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.ReadRandom">
            <summary>Đọc ngẫu nhiên nhiều điểm.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.WriteRandom">
            <summary>Ghi ngẫu nhiên nhiều điểm.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.NodeMonitor">
            <summary>Node monitor / kiểm tra liên lạc.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpCommand.DeviceInfo">
            <summary>Truy vấn thông tin thiết bị/PLC.</summary>
        </member>
        <member name="T:RobotNet.Script.SlmpEndCode">
            <summary>
            Mã end code SLMP (hoàn thành/thất bại), gồm cả mã nội bộ ánh xạ lỗi transport/timeout.
            </summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.Completed">
            <summary>Hoàn thành thành công.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.InvalidCommand">
            <summary>Lệnh không hợp lệ.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.AccessDenied">
            <summary>Truy cập bị từ chối.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.DeviceRangeError">
            <summary>Lỗi phạm vi device.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.Busy">
            <summary>Thiết bị bận.</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.Timeout">
            <summary>Quá thời gian chờ (gán nội bộ).</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.TransportError">
            <summary>Lỗi transport/socket (gán nội bộ).</summary>
        </member>
        <member name="F:RobotNet.Script.SlmpEndCode.Unknown">
            <summary>Lỗi không xác định (gán nội bộ).</summary>
        </member>
        <member name="T:RobotNet.Script.SlmpResponse">
            <summary>
            Phản hồi SLMP thô trả về từ <see cref="M:RobotNet.Script.ICcLinkIeBasicClient.SendSlmpAsync(RobotNet.Script.SlmpCommand,System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)"/>.
            </summary>
        </member>
        <member name="P:RobotNet.Script.SlmpResponse.EndCode">
            <summary>End code của phản hồi.</summary>
        </member>
        <member name="P:RobotNet.Script.SlmpResponse.Payload">
            <summary>Payload nhị phân trả về (theo frame 3E/4E).</summary>
        </member>
        <member name="P:RobotNet.Script.SlmpResponse.Timestamp">
            <summary>Thời điểm nhận gói.</summary>
        </member>
        <member name="T:RobotNet.Script.IConnectionManager">
            <summary>
            Quản lý kết nối với device khác.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IConnectionManager.ConnectModbusTcp(System.String,System.Int32,System.Byte)">
            <summary>
            Tạo kết nối Modbus TCP đến một thiết bị với địa chỉ IP, cổng và ID đơn vị cụ thể.
            </summary>
            <param name="ipAddress"></param>
            <param name="port"></param>
            <param name="unitId"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IConnectionManager.ConnectCcLink(RobotNet.Script.IeBasicClientOptions)">
            <summary>
            
            </summary>
            <param name="option"></param>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.ILogger">
            <summary>
            Xuất thông tin ghi log cho các thành phần trong RobotNet.
            </summary>
        </member>
        <member name="M:RobotNet.Script.ILogger.LogInfo(System.String)">
            <summary>
            Xuất thông tin ghi log với mức độ thông tin.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:RobotNet.Script.ILogger.LogWarning(System.String)">
            <summary>
            Xuất thông tin ghi log với mức độ cảnh báo.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:RobotNet.Script.ILogger.LogError(System.String)">
            <summary>
            Xuất thông tin ghi log với mức độ lỗi.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:RobotNet.Script.IMapManager">
            <summary>
            Service quản lý các phần tử trong bản đồ.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IMapManager.GetElement(System.String,System.String)">
            <summary>
            Trả về phần tử theo tên trong bản đồ.
            </summary>
            <param name="map"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IMapManager.GetNode(System.String,System.String)">
            <summary>
            Retrieves a node from the specified map by its name.
            </summary>
            <remarks>This method performs an asynchronous operation to locate a node within the specified map.
            Ensure that the map and name parameters are valid and non-empty before calling this method.</remarks>
            <param name="map">The identifier of the map from which to retrieve the node. Cannot be null or empty.</param>
            <param name="name">The name of the node to retrieve. Cannot be null or empty.</param>
            <returns>A task that represents the asynchronous operation. The task result contains the node matching the specified name
            within the given map, or <see langword="null"/> if no such node exists.</returns>
        </member>
        <member name="M:RobotNet.Script.IMapManager.FindElements(System.String,System.String)">
            <summary>
            Tìm kiếm các phần tử trong bản đồ theo biểu thức.
            </summary>
            <param name="map"></param>
            <param name="model"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IMapManager.FindElements(System.String,System.String,System.Linq.Expressions.Expression{System.Func{RobotNet.Script.Expressions.ElementProperties,System.Boolean}})">
            <summary>
            Tìm kiếm các phần tử trong bản đồ theo biểu thức.
            </summary>
            <param name="map"></param>
            <param name="model"></param>
            <param name="expr"></param>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.INode">
            <summary>
            Thông tin về một nút trong bản đồ.
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.Id">
            <summary>
            Id của nút.
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.MapId">
            <summary>
            Id của map chứa nút này.
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.Name">
            <summary>
            Tên của nút
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.X">
            <summary>
            Tọa độ trục hoành của nút trong không gian 2D.
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.Y">
            <summary>
            Tọa độ trục tung của nút trong không gian 2D.
            </summary>
        </member>
        <member name="P:RobotNet.Script.INode.Theta">
            <summary>
            Hướng của nút trong không gian 2D, tính bằng độ.
            </summary>
        </member>
        <member name="T:RobotNet.Script.IElement">
            <summary>
            Quản lý thông tin của một phần tử trong bản đồ.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.Id">
            <summary>
            Id của phần tử.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.ModelId">
            <summary>
            Id model của phần tử này.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.ModelName">
            <summary>
            Tên của model mà phần tử này thuộc về.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.NodeId">
            <summary>
            Id của nút mà phần tử này thuộc về.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.Name">
            <summary>
            Tên của phần tử.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.OffsetX">
            <summary>
            Tạo độ trục hoành tương dối của phần từ so với nút mà nó thuộc về.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.OffsetY">
            <summary>
            Tọa độ trục tung tương đối của phần từ so với nút mà nó thuộc về.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.NodeName">
            <summary>
            Tên của nút mà phần tử này thuộc về.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.X">
            <summary>
            Tọa độ trục hoành của nút trong không gian 2D.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.Y">
            <summary>
            Tọa độ trục tung của nút trong không gian 2D.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.Theta">
            <summary>
            Hướng của phần tử trong không gian 2D, tính bằng độ.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IElement.Properties">
            <summary>
            Các thuộc tính của phần tử, bao gồm các thuộc tính bool, double, int và string.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IElement.SaveChangesAsync">
            <summary>
            Lưu các thay đổi của thuộc tính phần tử vào cơ sở dữ liệu
            </summary>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.IModbusTcpClient">
            <summary>
            Quản ký kết nối Modbus TCP tới 1 thiết bị.
            </summary>
        </member>
        <member name="P:RobotNet.Script.IModbusTcpClient.IsConnected">
            <summary>
            Trạng thái kết nối hiện tại với thiết bị Modbus TCP.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.ReadDiscreteInputsAsync(System.UInt16,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            Đọc các đầu vào rời rạc (Discrete Inputs) từ thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="quantity"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.ReadCoilsAsync(System.UInt16,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            Đọc các cuộn dây (Coils) từ thiết bị Modbus TCP.
            </summary>
            <param name="startingAddress"></param>
            <param name="quantity"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.ReadHoldingRegistersAsync(System.UInt16,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            Đọc các thanh ghi giữ (Holding Registers) từ thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="quantity"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.ReadInputRegistersAsync(System.UInt16,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            Đọc các thanh ghi đầu vào (Input Registers) từ thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="quantity"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.WriteSingleCoilAsync(System.UInt16,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Ghi viết một cuộn dây (Coil) đơn lẻ đến thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="value"></param>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.WriteSingleRegisterAsync(System.UInt16,System.UInt16,System.Threading.CancellationToken)">
            <summary>
            Ghi viết một thanh ghi đơn lẻ đến thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="value"></param>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.WriteMultipleCoilsAsync(System.UInt16,System.Boolean[],System.Threading.CancellationToken)">
            <summary>
            Ghi viết nhiều cuộn dây (Coils) đến thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="values"></param>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.WriteMultipleRegistersAsync(System.UInt16,System.UInt16[],System.Threading.CancellationToken)">
            <summary>
            Ghi viết nhiều thanh ghi (Holding Registers) đến thiết bị Modbus TCP với hỗ trợ hủy bỏ.
            </summary>
            <param name="startingAddress"></param>
            <param name="values"></param>
            <param name="cancellationToken"></param>
        </member>
        <member name="M:RobotNet.Script.IModbusTcpClient.ReadWriteMultipleRegistersAsync(System.UInt16,System.UInt16,System.UInt16,System.Collections.Generic.IReadOnlyList{System.UInt16},System.Threading.CancellationToken)">
            <summary>
            Đọc và ghi viết nhiều thanh ghi (Holding Registers) trong một lần gọi với hỗ trợ hủy bỏ.
            </summary>
            <param name="readStart"></param>
            <param name="readCount"></param>
            <param name="writeStart"></param>
            <param name="writeValues"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.IRobot">
            <summary>
            Service điểu khiển robot trong hệ thống RobotNet.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Collections.Generic.IDictionary{System.String,System.Collections.Generic.IEnumerable{RobotNet.Script.RobotAction}},System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ với action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="actions"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Collections.Generic.IDictionary{System.String,System.Collections.Generic.IEnumerable{RobotNet.Script.RobotAction}},System.Double,System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ với action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="actions"></param>
            <param name="lastAngle"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Collections.Generic.IEnumerable{RobotNet.Script.RobotAction},System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ với action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="lastActions"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Collections.Generic.IEnumerable{RobotNet.Script.RobotAction},System.Double,System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ với action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="lastActions"></param>
            <param name="lastAngle"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Double,System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ mà không cần action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="lastAngle"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Move(System.String,System.Threading.CancellationToken)">
            <summary>
            Di chuyển robot đến một nút trong bản đồ mà không cần action kết thúc.
            </summary>
            <param name="nodeName"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.AbortMovement">
            <summary>
            Hủy bỏ hành động di chuyển hiện tại của robot, nếu có.
            </summary>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.Execute(RobotNet.Script.RobotAction,System.Threading.CancellationToken)">
            <summary>
            Thực hiện một hành động ngay lập tức trên robot mà không cần chờ đợi.
            </summary>
            <param name="action"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.GetState">
            <summary>
            Lấy trạng thái của robot
            </summary>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.WaitForReady(System.Threading.CancellationToken)">
            <summary>
            Waits for the system to reach a ready state.
            </summary>
            <param name="cancellationToken">A token to monitor for cancellation requests. If the token is canceled, the operation will be aborted.</param>
            <returns>A task that represents the asynchronous operation. The task result is <see langword="true"/> if the system
            reaches a ready state; otherwise, <see langword="false"/> if the operation is canceled or the system fails to
            become ready.</returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.GetLoads">
            <summary>
            Trả về danh sách các tải trọng hiện tại của robot, bao gồm ID, loại, vị trí và trọng lượng.
            </summary>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.SimMoveStraight(System.Double,System.Double,System.Threading.CancellationToken)">
            <summary>
            Chức năng di chuyển robot giả lập theo tọa độ (x, y) trong không gian 2D.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobot.SimRotate(System.Double,System.Threading.CancellationToken)">
            <summary>
            Chức năng xoay robot giả lập theo một góc nhất định (đơn vị: độ).
            </summary>
            <param name="angle"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.IRobotManager">
            <summary>
            Service quản lý các robot trong hệ thống RobotNet.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IRobotManager.GetRobotById(System.String)">
            <summary>
            Trả về đối tượng điểu khiển robot theo ID.
            </summary>
            <param name="robotId"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobotManager.GetRobotState(System.String)">
            <summary>
            Lấy trạng thái của một robot theo ID.
            </summary>
            <param name="robotId"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobotManager.SearchRobots(System.String,System.String)">
            <summary>
            Tìm kiếm các robot trong bản đồ theo tên và mô hình.
            </summary>
            <param name="map"></param>
            <param name="model"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IRobotManager.SearchRobots(System.String,System.String,System.Linq.Expressions.Expression{System.Func{RobotNet.Script.Expressions.RobotState,System.Boolean}})">
            <summary>
            Tìm kiếm các robot trong bản đồ theo tên và mô hình.
            </summary>
            <param name="map"></param>
            <param name="model"></param>
            <param name="expr"></param>
            <returns></returns>
        </member>
        <member name="T:RobotNet.Script.BlockingType">
            <summary>
            Regulates if the action is allowed to be executed during movement and/or parallel to other actions.
            </summary>
        </member>
        <member name="F:RobotNet.Script.BlockingType.NONE">
            <summary>
            Action can happen in parallel with others, including movement.
            </summary>
        </member>
        <member name="F:RobotNet.Script.BlockingType.SOFT">
            <summary>
            Action can happen simultaneously with others, but not while moving.
            </summary>
        </member>
        <member name="F:RobotNet.Script.BlockingType.HARD">
            <summary>
            No other actions can be performed while this action is running.
            </summary>
        </member>
        <member name="T:RobotNet.Script.RobotAction">
            <summary>
            Mô tả một hành động của robot.
            </summary>
            <param name="ActionType"></param>
            <param name="BlockingType"></param>
        </member>
        <member name="M:RobotNet.Script.RobotAction.#ctor(System.String,RobotNet.Script.BlockingType)">
            <summary>
            Mô tả một hành động của robot.
            </summary>
            <param name="ActionType"></param>
            <param name="BlockingType"></param>
        </member>
        <member name="P:RobotNet.Script.RobotAction.ActionType">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotAction.BlockingType">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotAction.Parameters">
            <summary>
            Danh sách các tham số của hành động robot.
            </summary>
        </member>
        <member name="T:RobotNet.Script.RobotResult">
            <summary>
            Dữ liệu trả về từ các hành động của robot, bao gồm thông tin về thành công hay thất bại và thông điệp mô tả.
            </summary>
            <param name="IsSuccess"></param>
            <param name="Message"></param>
        </member>
        <member name="M:RobotNet.Script.RobotResult.#ctor(System.Boolean,System.String)">
            <summary>
            Dữ liệu trả về từ các hành động của robot, bao gồm thông tin về thành công hay thất bại và thông điệp mô tả.
            </summary>
            <param name="IsSuccess"></param>
            <param name="Message"></param>
        </member>
        <member name="P:RobotNet.Script.RobotResult.IsSuccess">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotResult.Message">
            <summary></summary>
        </member>
        <member name="T:RobotNet.Script.RobotLoad">
            <summary>
            Thông tin về tải trọng của robot, bao gồm ID, loại, vị trí và trọng lượng.
            </summary>
            <param name="Id"></param>
            <param name="Type"></param>
            <param name="Position"></param>
            <param name="Weight"></param>
        </member>
        <member name="M:RobotNet.Script.RobotLoad.#ctor(System.String,System.String,System.String,System.Double)">
            <summary>
            Thông tin về tải trọng của robot, bao gồm ID, loại, vị trí và trọng lượng.
            </summary>
            <param name="Id"></param>
            <param name="Type"></param>
            <param name="Position"></param>
            <param name="Weight"></param>
        </member>
        <member name="P:RobotNet.Script.RobotLoad.Id">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotLoad.Type">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotLoad.Position">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.RobotLoad.Weight">
            <summary></summary>
        </member>
        <member name="T:RobotNet.Script.IUnixDevice">
            <summary>
            Service để đọc và ghi dữ liệu từ các thiết bị Unix.
            </summary>
        </member>
        <member name="M:RobotNet.Script.IUnixDevice.ReadDev(System.String,System.Int32)">
            <summary>
            Đọc dữ liệu từ thiết bị Unix theo tên và độ dài yêu cầu.
            </summary>
            <param name="name"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:RobotNet.Script.IUnixDevice.WriteDev(System.String,System.Byte[])">
            <summary>
            Ghi dữ liệu vào thiết bị Unix theo tên.
            </summary>
            <param name="name"></param>
            <param name="data"></param>
        </member>
        <member name="T:RobotNet.Script.MissionState">
            <summary>
            Trạng thái trả về mỗi step trong quá trình thực hiện nhiệm vụ.
            </summary>
            <param name="Step"></param>
            <param name="Message"></param>
        </member>
        <member name="M:RobotNet.Script.MissionState.#ctor(System.Int32,System.String)">
            <summary>
            Trạng thái trả về mỗi step trong quá trình thực hiện nhiệm vụ.
            </summary>
            <param name="Step"></param>
            <param name="Message"></param>
        </member>
        <member name="P:RobotNet.Script.MissionState.Step">
            <summary></summary>
        </member>
        <member name="P:RobotNet.Script.MissionState.Message">
            <summary></summary>
        </member>
        <member name="T:RobotNet.Script.MissionAttribute">
            <summary>
            Khai báo một nhiệm vụ trong hệ thống RobotNet.
            </summary>
            <param name="isMultipleRun"></param>
        </member>
        <member name="M:RobotNet.Script.MissionAttribute.#ctor(System.Boolean)">
            <summary>
            Khai báo một nhiệm vụ trong hệ thống RobotNet.
            </summary>
            <param name="isMultipleRun"></param>
        </member>
        <member name="P:RobotNet.Script.MissionAttribute.IsMultipleRun">
            <summary>
            Cho phép nhiệm vụ này có thể chạy nhiều lần hay không.
            </summary>
        </member>
        <member name="T:RobotNet.Script.TaskAttribute">
            <summary>
            Thuộc tính để đánh dấu một phương thức là một tác vụ định kỳ trong hệ thống RobotNet.
            </summary>
            <param name="interval"></param>
            <param name="autoStart"></param>
        </member>
        <member name="M:RobotNet.Script.TaskAttribute.#ctor(System.Int32,System.Boolean)">
            <summary>
            Thuộc tính để đánh dấu một phương thức là một tác vụ định kỳ trong hệ thống RobotNet.
            </summary>
            <param name="interval"></param>
            <param name="autoStart"></param>
        </member>
        <member name="P:RobotNet.Script.TaskAttribute.Interval">
            <summary>
            Thời gian định kỳ để thực hiện tác vụ, tính bằng giây.
            </summary>
        </member>
        <member name="P:RobotNet.Script.TaskAttribute.AutoStart">
            <summary>
            Cho phép tác vụ này tự động bắt đầu khi hệ thống khởi động hay không.
            </summary>
        </member>
        <member name="T:RobotNet.Script.VariableAttribute">
            <summary>
            Khai báo biến được phép đọc giá trị từ ngoài hệ thống RobotNet Script
            </summary>
            <param name="publicWrite"></param>
        </member>
        <member name="M:RobotNet.Script.VariableAttribute.#ctor(System.Boolean)">
            <summary>
            Khai báo biến được phép đọc giá trị từ ngoài hệ thống RobotNet Script
            </summary>
            <param name="publicWrite"></param>
        </member>
        <member name="P:RobotNet.Script.VariableAttribute.PublicWrite">
            <summary>
            Khai báo biến được phép ghi giá trị từ ngoài hệ thống RobotNet Script
            </summary>
        </member>
    </members>
</doc>
