- 博客(61)
- 收藏
- 关注
原创 【EtherCATConfigPdo】- KRTS C++示例精讲(15)
EtherCATConfigPdo_dll.cpp :内核层源码。EtherCATConfigPdo.cpp :应用层源码。EtherCATConfigPdo.h :数据定义。
2025-03-26 13:30:06
290
原创 【InterruptCallBack】- KRTS C++示例精讲(14)
InterruptCallBack_dll.cpp :内核层源码。InterruptCallBack.cpp :应用层源码。InterruptCallBack.h :数据定义。
2025-03-13 10:36:43
259
原创 KRTS驱动切换至Windows驱动
在使用KRTS应用软件时,为保证数据传输的实时性,Kithara会接管Windows中的设备驱动包括不限于网卡驱动、CAN驱动、XHCI驱动等。想要解除驱动KRTS提供两种解决方案一种是注册表动态切换,动态切换在程序启动时接管,程序退出时解除。有两种方法可以实现自动切换驱动, 包括但不限于网卡驱动、XHCI驱动等。下面以网卡为例展示如何切换。4. 切换驱动完成。
2025-02-14 11:22:49
167
原创 KRTS有关【KSERROR APPLICATION LAYER ERROR】的错误信息查询?
下表显示了特定错误代码或状态的较低16位中的附加信息。EtherCAT错误代码。
2025-01-13 14:06:13
444
原创 【EtherCATBridge】- KRTS C++示例精讲(9)
EtherCATBridge_dll.cpp :内核层源码。EtherCATBridge.cpp :应用层源码。EtherCATBridge.h :数据定义。
2025-01-13 13:13:34
548
原创 【CanFDBasics】- KRTS C++示例精讲(5)
CanFDBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等;CanFDBasics_64: 内核层程序(实时层程序),主要用于实时数据处理;: 内核层中的数据、结构体需要一字节对齐,需要以MT方式构建。CanFDBasics.h : 应用层与内核层共用一个头文件。其余文件说明请查看【
2025-01-02 09:27:57
362
原创 【RealTimeCallBack】- KRTS C++示例精讲(4)
RealTimeCallBack:应用层程序,主要用于人机交互、数据显示、内核层数据交互等;RealTimeCallBack_64: 内核层程序(实时层程序),主要用于实时数据处理;RealTimeCallBack.h : 应用层与内核层共用一个头文件。: 内核层中的数据、结构体需要一字节对齐,需要以MT方式构建。其余文件说明请查看【
2024-12-26 17:07:39
419
原创 【TaskBasics】- KRTS C++示例精讲(3)
TaskBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等;TaskBasics_64: 内核层程序(实时层程序),主要用于实时数据处理;: 内核层中的数据、结构体需要一字节对齐,需要以MT方式构建。TaskBasics.h : 应用层与内核层共用一个头文件。其余文件说明请查看【
2024-12-26 10:16:49
311
原创 如何在KRTS内核中使用 STL
KRTS内核DLL是负责提供实时层功能实现。由于其核心地位,确保其稳定性和性能至关重要。然而,在早期版本中,KRTS内核DLL一直无法使用C++中的标准模板库(STL),这给开发带来了诸多不便,限制了开发者的生产力和代码的可维护性。现在我可以很高兴的告诉大家,我们解决了这一问题,在内核中使用STL、类等等变得简单和轻松。下面我将通过一些示例代码来展示该功能如何实现。
2024-12-25 13:13:06
413
原创 【EtherCATBasics】- KRTS C++示例精讲(2)
EtherCATBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等;EtherCATBasics_64: 内核层程序(实时层程序),主要用于实时数据处理;: 内核层中的数据、结构体需要一字节对齐,需要以MT方式构建。】,找到对应的项目打开即可。其余文件说明请查看【
2024-12-25 09:21:06
616
原创 【BaseFunctions】- KRTS C++示例精讲(1)
默认安装位置:【C:\Program Files\Kithara\RealTime Suite Demo\smp】,smp文件夹中。这是第一篇关于KRTS代码精讲,这里面会提及一些关于KRTS相关概念,详细说明可以查看。
2024-12-23 11:06:46
481
原创 KRTS 教程XHCI 模块
在本教程中,您将学习如何通过 XHCI 模块访问 USB 设备。我们假设您已经知道如何设置项目并打开驱动程序以开始工作。如果你不熟悉这个,你应该看看第一个项目教程。XHCI(可扩展主机控制器接口)是通用串行总线 (USB) 主机控制器的接口规范,能够访问 USB 1.x、2.0 和 3.x 兼容设备。
2024-12-19 12:57:55
777
原创 KRTS实时处理 LIN 消息
在打开 LIN 端口之前,您必须创建一个 LIN properties 结构并在调用之前分配结构的大小。函数 ‘KS_xmitLinHeader’ 有一个 LIN 句柄、一个没有奇偶校验的 LIN 标识符、一个有效载荷长度(可选)和作为参数的标志。结构和作为参数的标志。函数 ‘KS_xmitLinReponse’ 有一个 LIN 句柄、一个包含响应数据的缓冲区、数据的大小和作为参数的标志。函数 ‘KS_openLin’ 有一个指向 LIN 句柄的指针、一个设备名称、一个端口、一个属性结构和作为参数的标志。
2024-12-17 13:24:31
1011
原创 与 UART API 的串行通信
除了 USB 或以太网等更强大、更快速的通信接口外,串行通信仍然具有其优势。便宜的成本和较小的控制器空间以及简单性是串行通信仍在使用的一些原因。
2024-12-11 10:47:09
1047
原创 访问 USB 设备
作为 USB 设备或端点的句柄、指向数据缓冲区的指针以及要传输的数据长度作为参数。作为 USB 设备句柄的参数,需要端点地址、USB 数据包的大小和数量。与"KS_xmitUsb"USB 设备或端点的句柄类似,需要指向数据缓冲区的指针和要传输的数据的长度。作为参数,需要 USB 设备/端点的句柄、命令、可选对象索引、指向数据的指针和缓冲区大小。作为参数,需要 USB 设备/端点的句柄和事件代码。可以发出信号的对象句柄是可选的。传递多个参数,例如传输的字节数或错误的接收字节数以及 USB 数据包大小。
2024-12-09 16:06:49
335
原创 串口/UART 模块
Kithara RealTime Suite的串行模块提供了易于应用的功能,可通过串行UART和COM接口进行快速通信。UART 功能需要适当的 UART-16550 兼容硬件以及实时驱动程序。在实时模式下,UART 函数也可以从实时任务以及专用 CPU 上使用。对于 COM 通信,支持安装了 Windows 驱动程序的任何接口。由于 COM 函数在这种情况下通过 Windows 机制运行,因此无法应用实时功能。最多两个串行端口,以上需要串行端口扩展。
2024-12-05 14:33:32
952
原创 通过精密时间协议(PTP)对计算机网络中的多个设备进行时间同步
在本教程中,您将了解如何使用 PTP 协议在网络中设置时间同步。我们假设您已经知道如何设置项目并打开驱动程序以开始工作。如果你不熟悉这个,你应该看看第一个项目教程。精确时间协议 (PTP) 是遵循 IEEE 1588 标准的网络协议。使用此协议,可以同步计算机网络中多个设备的时间。Kithara PTP模块实现了PTP Version 2 IEEE 1588-2008的 “边界时钟”,它可以通过多个网络连接拥有多个端口。主时钟可以是 grandmaster、master 或 slave。
2024-12-05 12:41:39
1694
原创 KRTS实时存储
实时数据储存作为一种能够快速、高效地存储和管理实时产生的数据的关键技术手段,在当今数字化时代发挥着极为重要的作用。它犹如数据世界的高速枢纽,确保海量的实时数据能够有条不紊地被接纳与妥善安置。而 KRTS 数据储存更是在这一领域展现出卓越的性能与独特的优势。它通过精心设计的架构与先进的技术实现,为数据的快速落地提供了坚实保障。在硬件兼容性方面,KRTS 数据储存表现出色,能够支持大多数 nvme 的固态硬盘。
2024-11-25 15:23:25
765
原创 KRTS虚拟网络适配器和 Windows 连接
在本教程中,我们将了解使用网络模块和 Windows NDIS 连接进行通信的几个用例。我们假设您已经熟悉网络模块的基本功能。使用网络模块,可以创建多个虚拟网络适配器,这些适配器在内部与实际物理适配器或空适配器连接。此外,还可以打开与 Windows 网络堆栈连接的虚拟网络适配器。对于支持 Ethernet-over-EtherCAT (EoE) 的 EtherCAT 从站,也可以打开与数据包接口或 Windows 的连接。基于此功能,有几个用例。其中一些将在后面介绍。
2024-09-27 10:10:29
1273
1
原创 KRTS内嵌Lua脚本
KRTS内核中内嵌Lua解释器和编译器执行Lua脚本您需要了解KRTS任务处理的相关知识,我们假设您已经学习了相关知识。本实例主要实现的功能是内核成调用Lua脚本执行和Lua脚本调用内核函数并运行;
2024-09-07 09:43:47
1290
原创 KRTS网络模块:UDP通信
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它位于OSI七层模型中的传输层,并且使用IP作为底层协议来发送数据。UDP的主要特点是它提供了轻量级的数据传输服务,不保证数据的可靠性、顺序性和流量控制。这意味着使用UDP发送的数据报可能丢失、重复或乱序到达,而且发送端并不追踪这些数据报是否成功到达接收端。
2024-09-03 09:53:48
557
原创 KRTS 如何查找设备并切换到 Kithara 驱动
在本教程中,您将学习如何使用查找设备,以及如何使用获取更多设备信息。此外,还解释了 Kithara 设备实例字符串。最后,描述了如何将设备切换到 Kithara 驱动程序以使用它。
2024-08-27 11:02:07
1144
原创 KRTS实时处理 CAN 报文
用户定义的 CAN 报文过滤器可以通过安装事件代码为 ‘KS_CAN_FILTER’ 的 CAN 处理程序来实现。波特率由常数指定,例如 ‘KS_CAN_BAUD_125K’ 或 ‘KS_CAN_BAUD_1M’。使用事件代码 ‘KS_CAN_XMIT_EMPTY’ 可以安装’Transmit Empty’ 处理程序,如果发送方缓冲区为空,则会发出信号。对于 ‘KS_CAN_RECV’、‘KS_CAN_XMIT_RTR’ 和 ‘KS_CAN_FILTER’ 事件代码,相应的上下文结构为。
2024-08-27 10:27:38
945
原创 KRTS网络模块:TCP服务端、客户端实例
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP的主要功能包括:连接管理:建立连接:三次握手(three-way handshake)来建立一个TCP连接。终止连接:四次挥手(four-way handshake)来终止一个TCP连接。数据传输:可靠传输:通过序列号、确认应答、重传机制等确保数据可靠传输。流量控制:通过滑动窗口机制防止发送方发送速率过快导致接收方来不及处理。
2024-08-24 09:53:12
1261
转载 Kithara与2024机器视觉贸易博览会
在世界领先的机器视觉博览会上,将展示Kithara RealTime Vision的最新发展,这是一种基于PC的软件解决方案,用于实时捕获、处理和存储图像数据。在这些新发展中,包括对 10 GigE Vision 相机的支持,包括用于将多个 10 Gb 以太网流合二为一的链路聚合,从而实现更高的图像数据速率。在这里,参观者可以体验到最新的未来机器视觉技术的所有创新可能性,这些技术由领先的国际参展商展示最先进的软件、系统和组件。全面的系统库,用于硬件依赖的编程、通信、自动化和机器视觉。
2024-08-22 10:33:45
126
原创 KRTS 高速以太网:网络模块套接字 API
Socket模块基于Packet模块,实时提供更高的协议,如RAW-IP、TCP 和 UDP(参见。
2024-08-20 09:26:04
1000
原创 KRTS 高速以太网:网络模块
对于工业应用,通常需要实时操作以太网接口。KRTS网络模块可以提供这一点。它允许传输任何以太网数据包,包括 IP 数据包。也可以使用其他基本协议或原始以太网。在任何情况下,用户都可以创建数据包。对于 UDP 和 TCP 等更高级别的协议,请参阅本教程的第二部分 (
2024-08-14 09:21:13
833
1
原创 KRTS中Task的使用
调度器会考虑每个 CPU 内核的优先级,例如,优先级较低的任务可以在特定的 CPU 内核上运行,而不会被另一个 CPU 内核上优先级较高的任务打断。如果任务已请求信号量的优先级低于请求信号量的任务,则请求任务将从已请求信号量的任务中继承较高的优先级。因此,一个任务永远不会被优先级较低的另一个任务打断。另一方面,优先级较低的任务可能会被优先级较高的任务打断。如果不存在具有相同优先级的任务,则使用刚刚准备就绪的最高任务。此外,还支持动态优先级,即根据更改其他任务的优先级,可以阻止或启动任务。
2024-08-08 09:57:33
795
原创 32 位 Windows 和 KRTS 11.18
中宣布了我们的计划,在未来不再支持带有Kithara RealTime Suite的32位Windows。现在已经决定,这将在11.18版本中付诸实践,该版本将于今年秋天发布(请参阅。对于无法立即使用 64 位 Windows 的用户,计划在过渡期内提供旧版本。因此,KiK64 仍将照常适用。
2024-08-07 10:31:05
439
原创 KRTS中EtherCAT 从站热插拔
热插拔描述了在不关闭 EtherCAT 主站的情况下更换、添加或移除 EtherCAT 从站的功能。为了支持热插拔EtherCAT从站,Kithara EtherCAT主站提供了一些功能。最值得注意的是函数,其事件为 ‘KS_TOPOLOGY_CHANGE’。安装了带有“KS_TOPOLOGY_CHANGE”的事件回调后,上下文使用类型为,并且字段reason- 连接到拓扑的主站- 主设备与拓扑断开连接- 从站在线数量更改- 先前创建的从站在线- 之前创建的从站离线通过这些事件并调用。
2024-08-06 16:08:27
954
原创 KRTS与Dlib (二) - 人脸实时检测
Kithara RealTime Suite、OpenCV、Dlib与Qt结合使用ResNet进行实时人脸识别的流程可以概括如下:Kithara 实时图像采集:Kithara RealTime Suite 在操作系统内核层处理图像采集,确保低延迟和高精度的时间响应,这对于实时应用至关重要。它直接从摄像头或图像传感器获取图像数据,由于其运行在内核级别,可以避免用户空间程序可能引入的额外延迟。OpenCV 图像转换:OpenCV 是一个强大的计算机视觉库,用于处理图像和视频流。
2024-08-02 10:57:50
906
原创 KRTS与 Dlib(一) - 创建和使用
本指南将帮助您学习如何使用 Dlib 19.17 库在内核模式下进行实时图像处理。我们假设您基本上已经知道如何设置项目并打开驱动程序以开始您的工作。如果你对此不熟悉,你应该看看教程。Dlib 在内核层正在使用我们的实时 Windows 虚拟化。这种虚拟化在实时环境中模拟 Windows API 的最重要部分。只有在无法进行仿真或不合理的情况下,虚拟化才会离开实时环境并依赖于 Windows。此外,这种虚拟化是有限的,因此在实时使用Dlib时存在一些限制。
2024-07-29 16:01:38
738
原创 KRTS 11.18 即将支持 Windows 11 24H2
正如我们一段时间以来所做的那样,我们将再次努力确保Kithara RealTime Suite尽快与新的Windows更新兼容。因此,下一个 KRTS 版本 11.18 的发布目前计划在 24H2 到来后不久,几天内发布。早在 5 月,Microsoft 就作为内部计划的一部分提供了相应的预览版本以供测试。我们能够在测试系统上进行初步试运行,这使我们有信心能够在上述时间范围内实施支持。当然,我们对 2025 年更加期待,届时我们很可能会期待 Windows 12 的到来。
2024-07-25 10:12:23
319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人