Kithara简介
常用的实时Etherkat主站和从站有codesys,soem(免费)等。而KRTS也是其中小众的产品之一。 德国Kithara软件公司是业界知名的Windows实时拓展软件专家,他的模块化Windows实时拓展软件Kithara Realtime Suite(KRTS)支持Windows XP/7/8/10(32&64bit),为Windows平台提供优秀的实时性能,实现了EtherCAT工业实时以太网主协议站,支持通过图像信息实时采集和处理。
Kithara RealTime Suite用于Windows操作系统的实时拓展。目前,由20多种不同模块组成,除少数一些模块依赖于其他特定模块外,各模块间可任意组合。潜在的应用领域几乎无穷无尽,从研究中的测试配置到医疗应用和工业应用 见官网kithara.com/cn/solution…
实现背景
kithara软件安装后,在安装目录下有实现具体应用的demo可供使用,但是采用的编译器是VS2013和VS2015,因此需要把平台改到qt。
实现步骤
主要思想就是把VS中使用的相关依赖文件添加到QT中。相关的文件KrtsDemo.h KrtsDemo_x64.lib KrtsDemo_dyn.cpp
1 将kithara安装目录D:\ProgramFiles\Kithara\RealTime Suite Demo 10\dev下的以上三个文件复制到新建的工程目录下
2 将以上的.h .cpp文件添加到工程中 此时 编译会报错 所以执行一下 qmake,qmake后新添加的依赖关系才会被应用。
3 在mainwindow.h里添加文件包含 #include<KrtsDemo.h>
4 此时编译会报错、 报错信息如下
E:\QtProject\KitharaProj\kitharastudy\KRTStest\KRTStest\KrtsDemo.h:135: error:conflicting declaration 'typedef long long unsigned int ulong' typedef unsigned __int64 ulong;
因此要把 ulong这个类型的定义替换掉
文件krtsdemo.h line 135 把ulong的typedefine替换成其他名字即可