- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 西门子PLC与Unity3D通讯丨串口通讯
串口通讯前言通讯协议代码部分引用文件的准备数据类型的声明写接收数据函数DataReceiveFunction()写打开串口函数OpenPort()关闭串口ClosePort()发送数据WriteData(byte[] bys)对于PLC端参考自由口协议向上方式即可,未来遇到什么古怪问题会持续更新。前言U3D和plc或者是单片机等其他软件的串口通讯脚本就是需要在上位机写一个串口服务程序,可以实现开启串口、关闭串口、接收、发送这四块基本内容即可,对于有数据处理的朋友可以再开一个线程专门用来数据处理。这篇
2021-12-30 20:17:34 6720 3
原创 西门子PLC与Unity3D通讯丨PROFINET通讯
Unity 与西门子PLC通讯前言通讯协议通讯建立的细节期间遇到的两个主要问题总结前言想做这样的通讯太久了,从21年二月份陆陆续续到十一月份才正式做好,最开始想西门子1200系列与unity如果可以进行通讯,那么很多实验都可以做到虚拟仿真,未来做上位机的界面也会比传统的更丰富些。如今工控行业与IT行业密不可分,相似度也越来越高,零零散散试了几个通讯方式,最后还是在老师的帮助下找到了最为妥帖的通讯方式。== 特别要说明的一点是,下文所介绍的通讯方式仅在本人的计算机上调试成功,如果遇到特殊情况请特殊处理,
2021-11-04 14:37:55 18042 35
原创 西门子PLC丨PROFINET通讯仿真(虚拟通讯)
上位机与西门子博途TIA的自由口通讯仿真/@TOC更新于2021/2/25前言本次是采用TIA V15及集成在V15中的PLCSIM进行仿真,通讯是采用软件NetToPlcsim连接,通过国产的录波软件PLC-Recorder观察通讯的效果。因笔者也是接触不久,暂且实验了1200、1500两系列的PLC的仿真通讯。NetToPlcsim的原理是把电脑上网卡的数据与PLCSIM连接起来,因此plc的ip地址要与电脑的ip地址一致。TIA软件的组态...
2021-02-25 21:13:02 14866 2
原创 使用python制作pdf的格式转换程序
使用python进行pdf的格式转换前言两个关键功能转图片转docx前言在使用文本编辑软件时经常会想将PDF转为图片或者是文档格式,但大多要么得付费要么带有一些捆绑,不如自己写一下。这里使用了pdf2image和pdf2docx进行转换。两个关键功能转图片def file2Pic(): global i, pdf_name, file_format if pdf_name == '': tk.messagebox.showwarning(message='请选择
2022-05-13 20:01:03 681
原创 西门子PLC丨虚拟机运行仿真器供物理主机使用
虚拟机运行仿真器供物理主机使用前言虚拟机方的设置虚拟机内部设置仿真器的设置以太网端口映射软件NetToPLCsim的使用在物理主机上进行测试结语前言此教程目的是节省学习成本,可以不需要购买PLC主体进行开发,与西门子PLC丨PROFINET通讯仿真(虚拟通讯)这篇类似,区别在于博途仿真器的位置,一个是在物理主机上一个是在虚拟机上,本篇即是将博途布设在虚拟机达到节省C盘储存空间的同时充分利用虚拟机的优势进行低成本学习与应用于。虚拟机方的设置请参考VMWare虚拟机网络配置 这篇博文将介绍几种虚拟机网络
2022-02-18 22:39:46 2825 1
原创 Unity3D模型 | SolidWorks建模导入Unity
SolidWorks建模导入Unity前言使用的版本SolidWorks导入3DMax3DMax导入Unity结尾前言本篇主要作为个人经验记录,因项目需要将SW的模型导入Unity中使用,但SW中建模为实体而Unity多为面,以及在Unity支持的模型文件格式文档中并不支持SW的文件格式。所以需要先将模型导入3DMax中由其转换为.FBX或.3ds文件,其中二者的区别为FBX文件可以对源模型改动并同步至Unity中,但同时这样的方式很占空间。使用的版本SolidWorks 20193DMax 2
2022-02-12 15:18:48 12036
原创 Unity3D组件 | Excel导出
Unity3D导出Excel表格前言代码部分结论前言这篇文章实现的是根据一个Excel模板让软件自动导出表格。本次使用EPPlus.dll这个动态链接库,这个库中有OfficeOpenXml类库,使用其中函数即可实现从Unity3D中调用Excel。代码部分using OfficeOpenXml;//添加这两个类库using OfficeOpenXml.Style;public void Set_Up_Report(DateTime dt, DateTime dt1) {
2022-01-30 16:14:01 3107
原创 Unity 导出的EXE文件关闭时卡死崩溃
Unity 导出的EXE文件关闭时崩溃前言项目分析情况解决方法一结论前言这个问题出现在Unity导出的可执行文件发生在需要关闭应用程序时无法正常关闭,只能从任务管理器中直接杀死进程,虽然这一步的目的是关闭程序但无法走正常途径就很奇怪。期间的Bug表现为使用Profile分析并没有内存爆满的情况,使用WinDbg分析后发现报错为0xC000005(这个的形成原因很复杂)所以本人这里并无法判断错误出现在哪里。项目分析情况这个项目是在Unity使用海康威视的SDK,当应用程序调用过实时预览再关闭就会出现无
2022-01-21 20:36:02 4328
原创 Unity3D组件 | 绘制比较柱状图
在Unity3D中绘制柱状图前言前期准备脚本代码修改定义对list进行填充填充结语前言上篇是绘制静态柱状图,这篇是将柱状图中最大值作为1。其他值根据与最大值的比例进行绘制。前期准备同Unity3D组件 | 绘制静态柱状图,这篇是从下向上填充柱状图。如果柱状图方向为从左向右,则需将锚点预设在左侧。右侧的99.99|99.99将最大值和当前设备实际值进行显示。脚本代码修改定义//在脚本开头使用gameobject定义//或者可以通过Using UnityEngine.UI;定义image类型
2022-01-16 15:05:46 2477
原创 Unity3D组件 | 绘制静态柱状图
在Unity3D中绘制柱状图前言准备工作脚本代码修改定义类型初始化及填充循环方式结语前言Unity中并没有直接的柱状图绘制方式,但我们可以用改变图像的矩阵变换中参数的值来达到一种静态柱状图的效果。准备工作首先将柱状图能显示的最大值放置在Canvas中。我这里做的是两值的比较,红色柱为速度,蓝色柱为压力,横轴是时间。柱的高度为80对应速度最大值为10m/s,压力最大值为4000N。首先,为了之后方便计算,将柱(image)的矩阵变换参数中的锚点设为下。如下图这样之后,可以通过代码修改Imag
2022-01-16 14:38:05 2386 2
原创 Unity 串口接收的报文不完整?处理方式在这
Unity 串口通讯接收完整报文并处理串口通讯Read()函数的处理解决问题的过程对Read()函数的应用弊端结束串口通讯Unity 中的串口通讯和C#的处理方式基本一致,Serial.Read(); 可以读取缓存区中的十六进制数Serial.ReadLine();可以以字符串的方式读取Read()函数的处理但是Read()函数有一个大坑,就是他不是一次性全读取,而是将缓存区中的数据分多次(一般是两次)读取,这个情况的产生不是因为对方以两次发送过来,而是一次发送过来会放在缓存区,通过R
2021-10-26 14:30:32 2354
原创 Unity 对GPU的基础性能优化
Unity GPU 性能优化遇到的问题分析工具解决方法1.不在代码层面的优化方法2.部分在代码层面进行优化特别说明遇到的问题因为项目中采用的主机为工控机,不带有独立显卡,CPU采用的是i7-8750H,集显型号620在运行中GPU长期处于高占用、高功耗运行。分析工具Unity自带的Profiler(虽然有很大误差,但只是作为分析帧数和卡顿脚本的话是够用的)。windows的任务管理器,在性能中可以看到大致的占用率。解决方法1.不在代码层面的优化方法上图中右侧为对系统启动环境的设置,
2021-10-19 18:38:46 7445 1
原创 【一站式】虚拟机中运行博途V15
【一站式】虚拟机中运行博途V15所使用的的软件步骤一、安装虚拟机二、安装一个Win 10系统的虚拟机三、对客户机进行网络设置四、对客户机系统内部进行设置结尾可供参考的相关文章所使用的的软件物理主机系统:Windows 10 PRO虚拟机:VMware 15.5 PRO虚拟机系统:Windows 10 PRO博途:PORTAL V15步骤一、安装虚拟机进入VMWare 官网下载 或 VMware15。打开.exe文件,即可开始安装;点击下一步。勾选我同意点击下一步选择安装路径(不要
2021-09-23 21:08:47 15150 8
原创 还在为ACCESS取平均时出现0困扰吗?
ACCESS计算字段平均值时排除0值,同时避免全为零的情况(以下命名方式为下划线命名)如果需要先排除0后计算平均值,可以试试这样select sum(column_name)/(sum(iif(column_name>0,1,0)))from table_name这样在计算平均值的时候就不会将0参与计算了,原理就是求和并将字段中小于0的值替换为零后求和,如果需要负值可以做绝对值。上面这种方法适合字段部分值为零的平均值计算,但对一个全为0的极端情况并没有做排除。(当分子为0时会出现无法计算
2021-09-14 19:31:49 425
原创 ACCESS查找空值并替换为0的方法(非SQL,修改原表)
目录ACCESS查找空值并替换为0的方法(非SQL,修改原表)原因更改查询表中的空值进入正题ACCESS查找空值并替换为0的方法(非SQL,修改原表)原因想要将ACCESS数据库中的空值填但发现往上多为SQL查询表。图为更改前状态,因为我将这两个字段从字符串改为双精度型,所以原本填的空值在后面的计算出现了错误。在网上寻找到的几个都是教怎么对查询表进行修改的并没有更改原表的方法。更改查询表中的空值select iif(isnull(字段),0,字段) from 表类似这个方法是可以将查询表中
2021-09-07 20:33:10 6587
原创 论快捷关机的自我修养(正经的程序员多半是直接关机而不是这么花里胡哨)
两种自定义快捷键的一键关机(有趣的小技巧)两种关机方式一、新建TXT文档二、对TXT的修改1、一键关机2、滑动关机三、将TXT格式文件更改为bat文件四、主题到来!快捷关机大家还有什么有意思的方式呢?两种关机方式两种关机方式大同小异,都是用.bat运行系统命令行,只是UI有点不同,一种是滑动关机一种则是直接关机,下面按顺序说一下两种不同的地方。一、新建TXT文档第一步都是新建一个TXT文件,可以选择自己觉得方便的地方,我这里选择的是在桌面新建,改一下名字以免混淆。二、对TXT的修改1、一键关机
2021-09-05 22:29:28 1602 2
原创 家中闲置旧电脑改装家用NAS(入门教程)
家中闲置旧电脑改装家用NAS(纯小白入门教程)什么是NAS?NAS的基本知识在国内的常用品牌NAS品牌的配置问题作者的硬件配置装机正文准备工作旧电脑的准备工作(已经完成或无这方面问题的可跳过)引导盘的制作旧电脑的设置调试电脑进行调试结尾什么是NAS?NAS的基本知识NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从
2021-09-03 00:41:13 81957 27
原创 unity生成的exe文件点了却没反应?(其中一类解决方案,希望大家可以一起来完善)
unity生成的exe文件点了却没反应?问题的描述、形成原因及三种处理方式问题描述一、分辨率太低二、QQprotect(即Q盾程序)三、“以管理员身份运行”(目前没找到问题原因但确实对问题有用)结尾问题的描述、形成原因及三种处理方式问题描述笔者近期遇到了unity生成的exe文件点了却没反应或运行一会就启动UnityCrashHandler64.exe进行拦截。奇怪的是在别人电脑没有这样的情况但在Unity的OutPut_Log.txt也未找到错误原因。从网上找到的结果大概有一、分辨率太低窗口
2021-08-05 20:44:48 12071 1
原创 怎样精准定位并解决Unity中出现两台电脑显示状况不同的问题
解决Unity中出现两台电脑显示状况不同的问题问题表述问题的图示程序功能解决思路代码出错?Modbus通讯出错?TCP/IP通讯协议出错?数据库访问出错?ini配置文件出错?结尾问题表述在做工程中,我这里出现了我的电脑显示状态和别人电脑显示状态不同问题的图示状况如下两张图程序功能如上面两张图,需要做的功能是有信号过来是展示一个类似电缆经过的Shader,判断条件如下面的代码图片开始进行判断后,根据XIA_Index的数量进行判断并显示不一样的速度、程度等变量。其中用到的有ini配置文件、M
2021-08-03 22:36:15 839 2
原创 关于UNITY中System.Drawing引用失败的处理方法
关于UNITY中System.Drawing引用失败的处理方法今天在使用EPPlus中,遇到一个处于This type has been forwarded to assembly ‘System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a’ .You must add a reference to assembly ‘System.Drawing, Version=2.0.0.0, Culture=
2021-07-02 22:48:41 3083 4
原创 UNITY改变数据库导出时间的时间间隔
UNITY改变数据库导出时间的时间间隔用C#将数据库中时间列改变分布间隔并导入Unity的UGUI下拉列表代码展示实现效果结语用C#将数据库中时间列改变分布间隔并导入Unity的UGUI下拉列表在数据库中是以五秒为间隔写入的,应甲方要求需要对数据库数据进行十分钟一整合,并导出为Excel表格,对时间的选择就不知道怎么写合适下面,是我按我的笨方法来的。代码展示Start_Time.ClearOptions();//清空下拉列表选项End_Time.ClearOptions();sql = "
2021-07-01 23:02:50 474
原创 UNITY 编辑器或游戏卡死
解决问题后的记录UNITY 播放卡死1、检查脚本引用是否有误2、定向关闭主要的脚本,找到可能出问题的脚本,检查其Update中有没有陷入死循环的代码
2021-05-31 14:23:31 2862
原创 解决问题后的记录 \[Microsoft\]\[ODBC 驱动程序管理器\] 未发现数据源名称并且未指定默认驱动程序
解决问题后的记录 在unity中 [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序文章目录解决问题后的记录 在unity中 \[Microsoft\]\[ODBC 驱动程序管理器\] 未发现数据源名称并且未指定默认驱动程序前言在unity中的 \[Microsoft\]\[ODBC 驱动程序管理器\] 未发现数据源名称并且未指定默认驱动程序一、遇到的问题1.刚开始是发现使用的电脑没有ODBC驱动管理器(在Microsoft官网可以下载到下面有连接)2.在之后我的电
2021-04-13 17:39:14 1190
unity访问Access数据库demo
2021-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人