2024-07-19 20:51:02
勇哥注:以最简单的运动控制用的IO卡来说,想编写它的驱动就不是一件容易的事。但是想提升运控程序的实时性,就是想把运动逻辑搬到windows内核去执行,拦路虎就是这些硬件的驱动。厂家虽然写好了驱动,但是提供的只是用户层的dll调用。如果我能写出IO卡的内核驱动程序,就可以在内核层定时向用户层发布IO的状态,这样用户层就不用死循环监控IO状态了,而是可以根据IO状态进行函数回调。并且也唯有如此,才能把...
2024-07-17 18:10:59
勇哥注:学习驱动开发的目的,是为运控和视觉程序构建一个实时环境。这方面虽然有windows实时拓展的商业软件,但是价格贵得感人,特别是想实现一些简单实时需求的时候更不划算。虽然驱动开发学习难度较大,但是我把目标放低,先研究一下怎么构建实时性较高的ns级订时器,并调用用户层代码,期望以此方式来应用需要实时的操作。搭建win10、vs2022下的驱动开发环境(1)先查看系统版本号主要关注“版本号”和“...
2024-07-16 15:30:45
勇哥注:SOA的源起,就是解决企业系统的架构重构,避免信息孤岛,以及提高服务负载应对企业的业务发展需求。这个过程就涉及到了分布式应用。最早的是单体架构特点是:电商UI和订单等5个业务逻辑模块都是属于同一个项目的。业务增长后,数据库开始扩容,每个业务模块对应一个数据库当用户通过UI下单后,5个模块都得操作各自的数据库一次。 现在改为SOA,面向服务架构5个模块都以服务方式提供,它们可以在同一...
2024-07-15 21:02:47
勇哥注:com+技术已经是20年前的技术了,当初com的推出是为了解决跨语言之间的模块复用。后来在此基础上发展出DCOM(分布式组件对象模型)和MTS(Microsoft事务服务),这些加在一起就是com+了解这些老技术,即是对老旧系统支持的需要,也是对新技术产生的需求有更深刻的了解。COM+技术介绍COM+是Microsoft提出的一种组件技术,它并不是COM(Component Object...
2024-07-15 17:07:44
Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud并没有重复制造轮子,而是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。以下是对Spring C...
2024-07-15 16:14:42
在WCF(Windows Communication Foundation)中,Peer通常指的是对等网络(Peer-to-Peer,简称P2P)通信中的一个节点。WCF是一个用于构建面向服务的应用程序的框架,它支持多种通信协议和传输机制,包括对等网络通信。下面我将从几个方面介绍WCF中的Peer相关概念:一、Peer的基本概念对等网络(P2P Network):对等网络是一种分布式网络,其中的每...
2024-07-15 14:10:20
勇哥注:wcf可以是很多东西,这个主要是从不同角度来看。(一)wcf是windows下通讯技术集大成者统一编程模型:WCF为Windows平台上的各种通讯技术提供了一个统一的编程模型。在过去,开发者可能需要学习并应用多种不同的技术(如ASP.NET Web服务、.NET Remoting、WSE等)来满足不同的通讯需求。而WCF的出现,通过定义一个统一的编程接口和配置方式,极大地简化了这一过程。开...
2024-07-15 13:41:30
勇哥注:wcf主要用于.net framework中。这里谈一下如果想在.net core中应用,该怎么做?目前的wcf的hosting端只能用在.net framework里,.net core用不了。而client端,在两边都是可以使用的。在.net framework里,wcf功能主要引用System.ServiceMode。在.net Core里,引用的是System.ServiceMod...
2024-07-15 12:04:03
HTTPS和HTTP在多个方面存在显著的区别,这些区别主要体现在协议的安全性、连接方式、证书管理、连接状态、端口号、资源消耗以及兼容性等方面。以下是对这些区别的详细解释:1. 协议安全性HTTPS:是HTTP的安全版,它使用了SSL/TLS协议来加密数据传输,保证数据在传输过程中的安全性。这种加密方式可以有效防止数据被截获或篡改。HTTP:则没有这样的加密功能,数据在传输过程中是明文传输,因此存在...
2024-07-15 09:17:13
勇哥注:这篇贴子试图从四个方面来介绍wcf的全部知识点。这个目的是有点夸大,因为只是盘点没有细化。但是做为Wcf的完整功能介绍的总目录应该是可以的。wcf的知识回顾从下面的四个角度进行讲解:(1)首先是Wcf在SOA中的定位来谈(按发展时间的历史)如下图所示:(图1 wcf在soa技术中的定位)(2)然后是从wcf的架构方面来谈,如下图所示:(图2 wcf的架构)(图3 常见的绑定类型)(3)最后...
2024-07-12 15:41:26
勇哥注:这是因为默认情况下REST是启用了安全消息的。默认情况下,REST服务的传输数据是安全加密的。这个时候你用Fiddle抓包,看到resphonse部分是密文无法阅读。类似下面这样:CliperData后面就是一大串看不懂的密文数据。s:Body[u:Id=0]
e:EncryptedData
e:CliperData我们可以在服务端和客户端同时去掉安全项。要注意的是...
2024-07-11 21:43:42
勇哥注:halcon是不支持远程算子访问的。更别提分布式访问。它只能弄个监听tcp的死循环,然后跟据送进来的字符串进行case。所以这里说的分布式halcon服务,指的是勇哥正在开发的一套开源软件:SkHalconService。系列文章:分布式halcon服务:SkHalconService(一)项目介绍分布式halcon服务:SkHalconService(二)两种服务调用的方式:RPC和BA...
2024-07-10 16:09:02
产业互联网、物联网、AI(人工智能)、云计算之间的关系可以归纳为相互依存、相互促进的紧密合作关系。它们各自在数字化转型和智能化升级中扮演着不同的角色,但同时又相互协同,共同推动技术和产业的发展。一、物联网(IoT)定义与功能:物联网是物物相连的互联网,通过信息传感设备,如射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等装置与技术,将任何物品与互联网相连接,进行信息交换和通信,以实现智能...
2024-07-10 16:03:40
AI确实是产业互联网的重要驱动力量。这一观点可以从多个方面得到验证:一、AI在产业互联网中的核心作用数据处理与分析:在产业互联网领域,海量数据的收集、分析和利用是实现数字化转型的关键因素。AI技术在数据处理、分类、挖掘等方面拥有天然的优势,能够高效地处理和分析这些数据,为企业的决策提供有力支持。优化生产流程:AI技术可以通过对生产流程的智能化改造,实现生产过程的优化和效率的提升。例如,在工业机器视...
2024-07-10 16:00:28
1. 智能制造领域新特能源股份有限公司的“工业互联网+大数据硅基新材料制造试点示范项目”:该项目利用工业互联网和大数据技术,推动硅基新材料制造的智能化转型。通过数据驱动的生产过程优化,提高了生产效率和产品质量,降低了运营成本。(来源:人民网乌鲁木齐报道)金风科技股份有限公司的“风机故障智能诊断系统”:该系统通过物联网技术实时监测风机的运行状态,利用大数据和人工智能算法进行故障预测和诊断,提高了风机...
2024-07-10 08:52:51
勇哥注:物联网IoT,是互联网由消费互联网转向产业互联网浪潮下的下个风口。当前,互联网的发展确实正在从消费互联网向产业互联网转变,而物联网(IoT)作为这一转变的重要驱动力,
正依托互联网、云计算等技术栈,成为产业互联网实践的关键部分。
互联网从消费互联网到产业互联网的转变
消费互联网:主要围绕消费者展开,以电商、社交、搜索等领域的消费为主线,
极大地影响了人们的生活和消费习惯。它的主...
2024-07-09 22:44:56
vs2022是可以做为python的IDE环境的。而且可以创建解决方案时把python和C#的项目放在一起。也是比较方便的。另外,基本的断点调试方式、查看中间变量的方式也支持。安装python的包也比较方便。Pycharm,Jupyter,Spyder,VSCode这些传统的python IDE,勇哥还是不用了。(一)VS安装Python功能假设已经安装好了Visual Studio 2022,那...
2024-07-09 20:59:36
(一)顶级语句(C# 9)顶级语句是学的python这样的语言,如果是简单的控制台程序,就可以不用写命名空间、类、Main函数了,直接可以写代码。1。直接在C# 文件中编写入口方法的代码,不用类,不用Main。经典写法仍然是支持的。反编译一下可以了解到真相2。同一个项目中只能有一个文件具有顶级语句。3。 顶级语句中可以直接使用await语法,也可以声明函数Console.WriteLine($&q...
2024-07-09 11:10:02
勇哥注:windows下的实时拓展:RTX、INTime、Kithara、VxWinLinux下的实时拓展:Preempt-RT、RTAI、Xenomaiwindow下的实时拓展都是商业软件,大部分都是按装机台数授权,成本昂贵。Linux下的实时拓展都是开源软件,然后软件商集成+改进包装成收费软件,成本低些。一般可以考虑选择windows+实时拓展+软件主站的方式,详细原因见后面的解释。操作系统的...
2024-07-09 10:15:53
前言Kithara RealTime Suite是Windows的实时扩展程序,目前包含20多个不同的功能模块。在本教程中,我们会尽可能详细的解释每个功能和使用方法,从简单的程序开始认识Kithara。尽管Kithara RealTime Suite在大多数情况下是以用户定义的名称进行自定义驱动程序,但在本教程中我们称其为KrtsDemo,就像您可以在我们的下载页面上请求的测试版本一样。以下教程页...
2024-07-09 09:28:27
驱动程序安装开发者安装前往Kithara网站的服务门户,并安装您的定制驱动程序。请阅读许可协议并接受它。点击“下一步”。请插入您的定制驱动程序安装码。点击“下一步”。现在您的定制驱动程序的各种模块将显示出来。点击“下一步”。请等待安装过程完成。这可能需要几分钟时间。重新启动您的计算机。继续进行许可证激活。运行时安装将<Kithara>\RuntimeInstallation文件夹中的所...
2024-07-09 09:15:34
通用问题我的内核驱动程序已经签名了吗?是的,我们的实时驱动程序——通常包括我们所有的安装和应用程序文件——已经签名。特别是对于64位系统,这是正确使用软件的必要条件。然而,签名的驱动程序显示出可靠性。这也意味着我们的软件可以简单地用作您的PCI/PCIe或USB设备的驱动程序。为此,包含的INF文件必须按照记录的方法添加一条条目。这样做是为了在每个系统上安全地访问硬件。我们的建议是:将所需的硬件I...
2024-07-08 17:23:03
勇哥注:这些是官方带的demo程序,我整理了一下感兴趣的一些,做一些说明。说明内容也是官方的,这里仅翻译一下。BaseFunctions目的:这个简单的示例展示了基础模块(Base Module)中一些常用函数的使用。你可以查询你正在使用的驱动程序的名称和版本。你还可以向错误处理系统中添加自己的错误代码。InterruptCallBack目的:此示例代码演示了中断例程的编程,该例程将在内核级别(环...
2024-07-08 17:13:31
勇哥注:Kithara是一套运行在windows下的实时功能扩展套件。它是商业软件,放这里做一些功能性的了解。以便我们在做项目的时候知道有这么一个东西。从这些模块来看,确实是功能强大。这些模块都运行在ring0层,高精度定时器、多任务处理、直接硬件操作、EtherCAT主站、实时拍图。。。。令人叹为观止。。。base/kernel Module 基本模块,必选。System Modul...
2024-07-08 10:29:45
勇哥注:MemoryCache是.net framework或者.net core自带的缓存功能,功能弱鸡,只有基本的缓存功能。但是对于应用微软技术栈的朋友来说,官方的东西是必须先了解的。微软的技术栈,如果挨个拎出来对比,经常是被神仙群殴的体无完肤,但是只要它在项目上够用,还是会推荐用官方的。因为那些第三方的、社区的东西,论持久性是不能跟官方的比的。系列贴子列表:.NET的缓存(二).net的 M...
2024-07-06 20:08:11
勇哥注:先由在线商品销售这种高并发应用的场景聊起什么是缓存?作用是什么?系列贴子列表:.NET的缓存(二).net的 MemoryCachehttp://www.skcircle.com/?id=2437.NET的缓存(一)缓存、多级缓存的概念及用途的介绍http://www.skcircle.com/?id=2436多级缓存缓存可以理解为内存数据。主要目的是解决高速对象与低速对象之间的匹配问题。...
2024-07-06 15:50:46
勇哥注:条件获取:可以避免相同数据的重复传输,进而提高性能。条件更新:用于解决资源并发操作问题。 当我们对一个资源 进行修改或者删除的进修,通过条件更新的信息,我们可以知道在这之前该资源是否被其它人改动过。条件更新的流程:服务端: 2。返回body+(对等性判断值的)Etag报头 5。通过Etag报头与If-Match比较一致性,不一致就表示 被修改/删除的资源 已经被修改了,...
2024-07-05 18:16:05
勇哥注:条件获取(Conditional Retrieval):客户端访问一个资源会对它进行缓存,当再次访问这个资源的时候,如果资源相比缓存来说没任何变化,就不会返回真正的资源,而是回复一个“标识”,表明资源并没有改变。这个特性是http天生带有的,因此像wsHttpBind, webHttpBind, basicHttpBind,REST服务等,都可以使用。http的条件获取机制是这样的:下面是...
2024-07-05 16:26:10
一、本文创作于2019年4月,全文会占用你大量的时间,并且包含了许多不友善内容,但是有几点作者可以说明:1、作者是整个知乎从来没有被打脸过的房地产相关问题的回答者,并且作者的观点从始至终保持一致。2、作者有相对于其他回答更为丰富的实际操作经验,包括但不限于:看房选房、房贷流程、装修入住、房屋出租等相关问题。3、作者目前近18k的粉丝,有一大半是由于房地产相关问题关注。4、如果你能坚持看完,相信你会...
2024-07-04 20:43:21
勇哥注:并非wcf有一种专门的发布/订阅方式,它只是双工方式的一种变形。其实就是用一点编程技巧在双工方式上面改进而来的。如下图所示:上面是客户端,下面窗口是服务端。首先你在客户端点击两次“订阅”,服务端点“刷新”就可以看到最新的订阅客户列表。然后点“发消息”,客户端就能收到结果。客户端收到的结果是两个订阅者的信息。服务端winform代码:using System;
using System.C...