技术分享
文章平均质量分 79
!chen
WMS WCS 自动化系统
展开
-
ABB 变频器ACS800 PPO5通讯
.总线组态:右键点击通讯模块,选“insert dp master system”,生成PROFIBUS总线,再把Catalog中的RPBA-01拖动到PROFIBUS总线上,双击从站模块,设置PROFIBUS地址为4,再设置PPO类型(假设为PPO5)。.在装好RPBA-01后变频器上电,即可自动检测到新模块,将对模块进行初始化设置,只要按“FUN”开始设置,并按提示,出现“RPBA-01、ABB DRIVE、PROFIBUS DP”等选“OK”即可,直到出现提示“进一步设置到51GROUP”为止。原创 2024-09-18 14:04:48 · 581 阅读 · 0 评论 -
AB 1756-L62 与 AB 5069 通过串口通信
PLC Compactlogix 5069-SERIAL 配置。PLC AB L62 控制器。原创 2024-09-13 22:52:41 · 292 阅读 · 0 评论 -
yarn install error Error: certificate has expired SSL证书过期
包管理器从远程仓库下载包是通过HTTPS协议进行,而HTTPS协议基于SSL/TLS协议,客户端与远程服务器进行安全通信,就需要进行SSL证书验证。执行命令: yarn config set strict-ssl false。原因:SSL证书过期。原创 2024-09-11 10:33:30 · 210 阅读 · 0 评论 -
C#实现国产Linux视频录制生成mp4
我们使用跨平台的 C# .NET Core ,跨平台的UI框架Avalonia,再借助 Oraycn.LinuxCapture 和 Oraycn.MFile.NetCore 这两个组件,就很容易采集到麦克风和摄像头的数据,并且将它们编码写入到mp4文件中。(4)采集得到的数据,将通过相应的事件(ImageCaptured、AudioCaptured)暴露出来,我们预定这些事件,即可拿到采集的数据。点击“开始”按钮,麦克风和摄像头将开始采集数据,并录制生成mp4文件(在运行目录下)。(1)麦克风数据采集。原创 2024-08-19 12:34:44 · 751 阅读 · 0 评论 -
鲲鹏ARM+麒麟V10离线部署K8s和Rainbond平台
本篇文章将详细介绍如何在国产化信创环境下部署 Kubernetes 以及 Rainbond,希望能够为用户提供实用的指导,减少在部署过程中的困扰。原创 2024-08-17 10:13:08 · 1066 阅读 · 0 评论 -
EF Core连接PostgreSQL数据库
PostgreSQL是一个功能强大的开源对象关系型数据库管理系统(RDBMS)。最初于1986年在加州大学伯克利分校的POSTGRES项目中诞生,PostgreSQL以其稳定性、灵活性和扩展性而著称。它支持丰富的数据类型、复杂的查询、事务完整性、多版本并发控制(MVCC)、存储过程等高级功能。PostgreSQL完全遵循SQL标准,支持ACID属性(原子性、一致性、隔离性、持久性),适用于高并发和数据量大的应用场景。此外,它具有广泛的可扩展性,允许用户定义自己的数据类型、索引方法、函数、操作符等。原创 2024-08-16 14:45:45 · 736 阅读 · 0 评论 -
SpringBoot 整合线程池
有时候,一个项目中如果配置了多个线程池,那需要在 @Bean后面加上线程池的名称。在使用 @Async注解时就需要指明具体使用的线程池,如下格式。默认的线程池配置如下。原创 2024-08-14 11:39:09 · 331 阅读 · 0 评论 -
G120 EPos配置方案及应用场景
但是对于位置控制,位置值首先需要使用编码器计算出电机旋转的圈数,然后通过减速比的计算,从而得出位置的反馈值。这是一个自动化立体仓库的巷道堆垛机,它可以快速精准的完成立体仓库取货和放货的工作,它的行走控制采用的就是配置方案三,位置环使用的是安装在负载侧的激光测距仪,速度环使用的是安装在电机轴上的HTL增量编码器。图5中位置控制器的反馈值来自安装在负载侧的编码器,转速控制器的反馈值来自安装在电机轴上的编码器,这种位置控制的配置方式就是位置控制使用负载侧的编码器,转速控制使用电机轴上的编码器。原创 2024-07-29 22:15:18 · 955 阅读 · 0 评论 -
VMware Cloud Foundation ESXi 主机
中了解了 VCF 将按照 Excel 参数表中所选择的 Profile 配置文件,并根据 Profile 配置文件对 ESXi 主机所用于 VCF 网络流量的网卡进行分配,比如 Profile-2 配置文件将 ESXi 主机的 vmnic0 和 vmnic1 网卡用作管理网络和 vMotion 网络,将 vmnic2 和 vmnic3 网卡用于 NSX Overlay 网络和 vSAN 网络,而这里所创建的两个端口组的可以达到分离的目的;另外四个端口组分别用于这几种网络类型的虚拟网关。原创 2024-07-25 13:17:21 · 795 阅读 · 0 评论 -
巨量数据表分页问题
通过实施上述策略,你可以显著提高数据库分页的性能,尤其是在处理大量数据时,每种方法都有其适用场景,因此我们需要根据具体需求和数据库环境来选择合适的优化策略。原创 2024-07-24 18:52:22 · 948 阅读 · 0 评论 -
Centos7下安装配置最新版本Jenkins
http://服务器Ip地址:8080/jenkins/根据页面提示,管理员密码设置在【/root/.jenkins/secrets/initialAdminPassword】,使用cat命令查看:12(2)将密码粘贴到页面上,解锁Jenkins,并进入插件配置页面:左下角显示Jenkins的版本。这里建议直接选【安装推荐的插件】。原创 2024-07-24 18:48:59 · 1046 阅读 · 0 评论 -
C# 开发监控方法执行耗时
MethodTimer.Fody 是一个功能强大的库,可以用于测量 .NET 应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。这个工具是基于.NET的 weaving 技术,通过修改IL(Intermediate Language,中间语言)代码来插入计时逻辑,从而在方法调用前后记录时间戳,进而计算出方法的执行时间。它使用 Fody 插件框架可以无缝集成到项目中,所以向代码中添加性能测量功能变得非常容易。原创 2024-07-23 21:21:14 · 1283 阅读 · 0 评论 -
Spring Boot中Schedule
在实际的业务开发过程中,我们经常会需要定时任务来帮助我们完成一些工作,例如每天早上 6 点生成销售报表、每晚 23 点清理脏数据等等。如果你当前使用的是 SpringBoot 来开发项目,那么完成这些任务会非常容易!SpringBoot 默认已经帮我们完成了相关定时任务组件的配置,我们只需要添加相应的注解@Scheduled就可以实现任务调度!虽然默认的情况下,@Scheduled任务都在 Spring 创建的大小为 1 的默认线程池中执行,但是我们也可以自定义线程池,只需要实现类即可!原创 2024-07-19 15:26:21 · 279 阅读 · 0 评论 -
如何解决 CentOS 7 官方 yum 仓库无法使用
CentOS-Base.repo:这是 CentOS 的基础仓库,包含了大部分用户安装软件时需要的包。CentOS-CR.repo:CR 仓库包含了新的 CentOS 点版本发布后,下一个版本在发布前的一些新的更新和改进。CentOS-Debuginfo.repo:这个仓库包含了用于调试的包,一般用户不会使用到。CentOS-fasttrack.repo:FastTrack 仓库包含了一些新的,可能不完全稳定的包。这些包是为了提供一些新功能而提前发布的。原创 2024-07-18 21:28:56 · 1205 阅读 · 0 评论 -
拯救SQL Server数据库事务日志文件损坏
-无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。数据库停服后,将testdb数据库 的ldf事务日志文件改名或者移到其他路径,重新启动SQL Server 服务,可以看到,testdb 数据库处于“恢复挂起”状态。因为在停服时候,还有未提交的插入事务保存在ldf事务日志文件,需要在数据库启动时候把事务日志捞出来做crash recovery。最后提醒一下,附加没有ldf事务日志文件的数据库,并重建日志文件,有以下方法,其中有些方法已经废弃。原创 2024-07-18 21:19:54 · 816 阅读 · 0 评论 -
二叉树、B树/B-树
它是一种常用且特殊的二叉树,它具备一个特有的性质,left node(左结点)始终小于 parent node (父结点),right node 始终大于 parent node。二叉树是诸多树状结构的始祖,至于为什么不是三叉树,四叉树,或许是因为计算机只能数到二吧,哈哈,开个玩笑。上述的概念有些抽象,但是这是理解B树关键的地方所在,后面在B树的插入讲解,会有更多具象的动图来解释这些概念。若除最后一层外的其余层都是满的,并且最后一层要么是满的,要么在右边缺少连续若干 node,则此二叉树为。原创 2024-07-16 21:54:28 · 868 阅读 · 0 评论 -
抵抗超高并发的秘密武器缓存策略
缓存的认识还是停留在简单的存储数据上,没有对使用缓存背后的场景和实现逻辑进行深层次的思考。在互联网大厂项目中,缓存也是一种必不可少的组件,那使用缓存仅仅是为了缓存热点数据,提升读性能吗?如果你对缓存的认识只是停留在这里,那就未免太浅显了。今天就以高并发、大流量业务场景中最具代表性的秒杀系统为例,采用市面上大家都比较熟悉的技术,一起探究下秒杀系统背后是如何设计和使用缓存的。原创 2024-06-08 23:08:00 · 935 阅读 · 0 评论 -
MySQL查询某个字段含有字母数字的值
如果我们只想匹配那些恰好包含一个字母和一个数字(不考虑顺序和数量)的字符串,那么正则表达式会变得更加复杂,并且可能不太实际,因为我们需要列举所有可能的情况。如果我们只是简单地想查询包含至少一个字母和一个数字的字段值(不要求是连续的),那么之前的“查询至少包含一个字母和一个数字的字段值”中的正则表达式就足够了。在MySQL中,正则表达式是一个强大的工具,可以用来搜索和匹配字符串中的特定模式。使用“查询至少包含一个字母和一个数字的字段值”的查询,我们会得到ID为3、4、5、8和9的记录,因为它们的。原创 2024-05-25 20:05:03 · 551 阅读 · 0 评论 -
微服务实践k8s&dapr开发部署调用
访问http://http://localhost:5002/swagger/页面运行如下就成功了。访问http://localhost:30002/swagger/index.html。添加backend的k8s配置文件dapr-backend.yaml。添加backend的k8s配置文件dapr-backend.yaml。添加nuget包:Dapr.Client。启动批处理文件start-all.bat。停止批处理文件stop-all.bat。显示下图表示运行成功。新增docker支持。原创 2024-05-23 10:09:18 · 548 阅读 · 0 评论 -
Spring boot Redis配置
在springboot的yml配置文件中配置。原创 2024-05-07 23:02:25 · 287 阅读 · 1 评论 -
C#标签设计打印软件开发
多少像素/// 多少毫米/// 把毫米换算成像素/// 多少毫米多少像素原创 2024-05-07 09:24:16 · 1232 阅读 · 0 评论 -
实现非侵入性审计日志功能
利用 AOP 思想实现了审计日志功能现在已经可以实现对业务代码完全无侵入的审计日志了,在需要审计的接口上加上[AuditLog]特性,就可以记录这个接口的操作日志,还有相关的实体变化记录,还算是方便。原创 2024-04-29 20:26:44 · 359 阅读 · 0 评论 -
Echarts X轴类目名太长时隐藏显示全部
interval:坐标轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略显示标签。可以设置成0表示强制显示所有标签。如果设置为 1,表示『隔一个标签』可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:// index表示该类目名的下标// string表示该类目名return 1},如果返回的是true,表示显示该类目名;也就是说:可以返回数字或者布尔值xAxis: {interval:2, // x轴间隔2个类目名},原创 2024-04-24 18:06:24 · 1008 阅读 · 0 评论 -
ECharts海量数据渲染解决卡顿
slider:这种类型会在图表的一侧添加一个滑动条,用户可以通过拖动滑动条来改变数据窗口的范围,从而实现数据的缩放。inside:这种类型缩放组件是内置于坐标系中的,用户可以通过鼠标滚轮、触屏手指滑动等方式来操作数据的缩放。简单点说:slider会产生一个滚动条,inside不会xAxisIndex: 可以是一个数字,表示特定的X轴索引;也可以是一个数组,表示同时控制多个X轴。xAxisIndex: 0, 控制第1条数据开始start: 0, 数据窗口范围的起始百分比。原创 2024-04-24 18:03:47 · 1275 阅读 · 2 评论 -
物联网需要什么样的消息技术
本文分三个部分深入探讨了 RocketMQ 5.0 关于物联网消息技术的应用与优化,第一部分概述一个典型的物联网技术架构,并重点阐述消息队列在此架构中的关键作用。第二部分,探讨了物联网场景对消息技术的特殊要求,并分析这些要求与服务端应用中的消息技术之间的差异。第三部分,深入介绍了 RocketMQ 5.0 的 MQTT 子产品,阐释其如何有效应对物联网领域的技术挑战。旨在为大家提供一个全面的视角,理解消息队列在物联网中的重要性及其解决方案。原创 2024-04-24 17:58:06 · 1143 阅读 · 0 评论 -
在RockyLinux 9.3环境RPM模式部署Oracle 19C
小技巧:修改.bashrc 而不是.bash_profile的原因是可以支持非登录模式执行shell。显示所有的依赖项,说明在部署预安装RPM过程中,检查3个文件和31个rpm的依赖关系。在开发数据库系统时,可以验证功能是否与Oracle的表现一致,验证正确性和兼容性。本次初始化耗时6分钟,对比没有禁用CDB的一次实验,初始化耗时15分钟。注意:安装完成后重新启动系统,确认所有的系统参数已经应用。小技巧,先不忙着启动系统,先手工启动服务进行验证。注意:修改了内核参数,需要重新启动。原创 2024-04-20 11:39:27 · 1154 阅读 · 0 评论 -
Python网络编程方式:Socket和HTTP协议
两种主要方式:Socket编程和基于HTTP协议的网络编程。首先,我们了解了Socket编程,它是一种底层的网络通信方式,可以实现自定义的通信协议,具有灵活性和高度控制性。我们通过示例演示了如何使用Socket编程在服务器端和客户端之间进行简单的通信,并介绍了如何使用多线程来处理多个客户端的连接请求,以提高服务器的并发处理能力。其次,我们介绍了基于HTTP协议的网络编程,这是一种更高层次的抽象,适用于构建Web应用、访问API等场景。我们使用了requests。原创 2024-04-16 14:23:08 · 571 阅读 · 0 评论 -
InnoDB常用行锁、间隙锁、临键锁、表锁
这种锁是查询时根据查询条件锁定的一个范围,这个范围包括间隙锁和记录锁,左开右闭,即不锁住左边界,但会锁住右边界。临键锁的主要目的,也是为了避免幻读(Phantom Read),在事务隔离级别为可重复读的情况下,InnoDB存储引擎默认使用临键锁。假设没有间隙锁,则可能够插入成功,而之前的select事务,会发现检索的结果集莫名多了一条记录,即幻影数据。间隙锁,它封锁索引记录中的间隔,或者第一条索引记录之前的范围,又或者最后一条索引记录之后的范围。操作中,锁影响的范围还是有区别的,下面就详细讨论下。原创 2024-04-16 14:16:44 · 888 阅读 · 0 评论 -
Oracle 到 MySQL 数据库迁移
添加一套针对MuSQL数据库CRUD的Dao和Mapper代码,同时我们写了一个注解以切面的方式实现根据配置实例化Oracle的Dao、MySQl的Dao、同时调用Oracle和MySQLDao的功能。我们有额外的数据核对方案,通过应用读Oracle,再异步读取MySQL并进行对比的方式进行业务表的数据核对。Oracle和MySQL的函数有一定对的相似性也要有一定的区别,下面表格列出了Oracle和MySQL常用函数的对比和区别。将正式环境的机器的数据库读取的配置设置为从MySQL数据库读取。原创 2024-04-11 22:37:25 · 1113 阅读 · 0 评论 -
ARM架构麒麟操作系统安装配置Mariadb数据库
麒麟操作系统默认都自带mariadb,可以通过执行 rpm -qa|grep mariadb命令查看机器是否安装mariadb,如果有类似返回值表示机器已安装mariadb,如果机器mariadb包版本不符合需求的话需要卸载机器mariadb并自行下载指定版本的mariadb rpm包。如果麒麟操作系统默认安装的openjdk 1.8不符合需求的话,可以卸载机器安装的openjdk 1.8并按需安装所需的openjdk版本,此步骤本文不再赘余。(1)检查机器mariadb rpm包。(5)修改服务端配置。原创 2024-04-06 16:12:22 · 989 阅读 · 0 评论 -
S7-1500PLC与ABB机器人RobotStudio调试演示
为传送带的Smart组件添加一个do0输出,并将传感器与do连接。将吸盘的传感器拖到吸盘上。创建完成后重启工作站。原创 2024-03-30 20:18:49 · 1668 阅读 · 0 评论 -
消息队列经典应用场景
笔者心中,是高并发解决方案三剑客。在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列。这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。原创 2024-03-29 12:03:22 · 960 阅读 · 0 评论 -
SpringCloud微服务集成Dubbo
Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。原创 2024-03-28 21:57:39 · 955 阅读 · 0 评论 -
Redis为什么快
纯内存操作Redis利用内存进行数据存储,其操作基于内存读写,由于内存访问速度远超硬盘,使得Redis在处理数据时具有极高的读写速度。特别是对于简单的存取操作,由于线程在内存中执行的时间非常短,主要的时间消耗在于网络I/O,因此Redis在处理大量快速读写请求时表现出卓越的性能。单线程模型Redis采用单线程模型处理客户端请求,这一设计确保了操作的原子性,避免了多线程环境下的上下文切换和锁竞争问题。原创 2024-03-27 21:17:35 · 1341 阅读 · 0 评论 -
在 .NET 中使用 OPC UA 协议
OPC UA(OPC Unified Architecture,开放平台通信统一架构)是 OPC 基金会应用在自动化技术的机器对机器网络传输协定。OPC UA 不依赖于特定的操作系统或平台,可以在 Windows、Mac、Linux 等多种系统上运行,而传统的 OPC(如 OPC DA)通常只能在 Windows 上使用。该协议提供了一个更为先进、安全和灵活的解决方案,适用于现代工业自动化和物联网环境中的设备间通信。OPC UA 通过一个统一的信息模型。原创 2024-03-25 22:28:19 · 1347 阅读 · 0 评论 -
AOP原理和切面应用
我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需侵入到业务代码中,使业务与非业务处理逻辑分离。以Spring举例,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。匹配符合条件的方法(Pointcut)对匹配的方法增强(JDK代理、cglib代理)原创 2024-03-24 22:42:48 · 300 阅读 · 0 评论 -
博途建立S7-1200PLC与HMS AB7013Profinet通讯
11、下载硬件配置组态信息到PLC。原创 2024-03-24 21:51:56 · 420 阅读 · 0 评论 -
游戏幸存者学习VC源码
/ 0表示左 1表示右。// 初始化玩家当前方向。// 初始化随机数种子。// 初始化玩家的位置。// 初始化玩家当前帧。// 武器围绕主角旋转。// 初始化玩家速度。// 初始化一个武器。原创 2024-03-19 06:54:06 · 917 阅读 · 0 评论 -
西门子TIA中配置Anybus PROFINET IO Slave 模块
在下图示例中,用一个PROFINET IO/Modbus RTU 网关,PROFINET IO Slave配置成8字节I/O数据,Modbus RTU Slave也配置成8字节I/O数据。在项目视图中选择“Add new device”,在添加新设备窗口中选择PLC型号,如:CPU 315-2 PN/DP 6ES7 315-2EH13-0AB0,点击“OK”确认。如果有错误,需先排除后再继续。添加PLC后导轨也自动添加了,此时在软件右侧硬件目录中找到所使用的电源型号,并将其拖到提示的槽位中,如下图所示。原创 2024-03-16 21:48:34 · 1123 阅读 · 0 评论 -
排查 DotNET Core 内存暴涨问题
调查 objBaseResponse 得知,里面手搓了类似于导航属性的玩意儿,而且还有循环依赖,这样一旦走到这个打日志的地方,就会遍历对象的属性,与此同时还会触发从数据库获取数据的操作,也就是会导致入站流量飙升。搜索一番之后,得知这是 Pod 没有足够的权限去执行 Dump 操作,因此修改了 Rollouts(或者 Deplotment) 的 YAML 定义,添加对应的。新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示 OOM 异常,随后 Pod 直接崩溃无限重启。原创 2024-03-08 19:37:45 · 1328 阅读 · 0 评论