随笔分类 - C#工控上位机编程
摘要:
-Begin- 前言 NSIS是什么? NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑
阅读全文

摘要:
-Begin- 前言 QQ和微信作为日常使用最广的CS客户端程序,可能我们以后习惯了这种操作: 点击最小化,将程序最小化到任务栏中 点击关闭,并不是真的关闭,而是缩小到托盘里 从托盘中找到图标,双击,将程序展示出来 从托盘中找到图标,右击,退出,才是真正的退出程序 今天跟大家分享一下,Winform
阅读全文

摘要:
01 前言 众所周知,在工控自动化领域,西门子、三菱、欧姆龙是应用最广泛的PLC品牌之一,对于很多PLC工程师来说,PLC与PC之间的通信一直是一个相对比较困难的话题。 今天,主要分享一下如何基于三菱官方提供的MX Component,实现PC与三菱各个系列PLC之间的通信,由于MX Compone
阅读全文

摘要:
前言 什么是单例模式? 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例) 上面是百度百科给出的解释。 大家都知道,面向对象的思想就是我们可以把一个类实例很多次,每次实例出来的都
阅读全文

摘要:
-Begin- 现在高分屏的电脑越来越多,2K屏,4K屏层出不穷,对于.net开发人员来说,尤其是Winform开发者,分辨率一直是个比较头疼的事情,屏幕分辨率高了,如果仍然设置显示100%,会导致字体非常小,影响观看,因此很多时候推荐的都是150%,200%,如果主显示器设置不是100%,打开Wi
阅读全文

摘要:
-Begin- 前言 现在有很多企业将Git或Svn使用作为一项工作技能体现在招聘要求中。 相信大家都听过Github或Gitee,无论是Github还是Gitee,都是一个基于Git的代码托管平台,但是一般的免费用户只能使用公开仓库,建立私人仓库是需要付费的。 今天这篇文章是跟大家分享一下,如何自
阅读全文

摘要:
-Begin- 前言 有一个项目使用的是西门子的PLC,你开发了一个上位机,现在有一个第三方软件也想要获取西门子PLC的数据,希望你能提供一个接口,该如何实现。 我相信你们应该会遇到这种问题,其实解决方案很多,今天跟大家分享一种方式——提供ModbusTCP接口,提供ModbusTCP接口其实就是开
阅读全文

摘要:
前言 相信大家都遇到过这种情况,我们的软件运行时,如果涉及到文件或者数据库操作的时候,可能会提示权限不足。一种比较简单的办法,就是右击以管理员权限运行,但是每次这么操作,又会比较麻烦,有没有什么更好的办法呢?今天跟大家分享一下WinForm程序以管理器权限运行的几种方法。 采用Process.Sta
阅读全文

摘要:
前言 在上位机开发过程中,有时候会遇到需要提供数据接口给MES或者其他系统,今天跟大家分享一下,如何在Winform等桌面应用程序中,开发WebApi接口,提供对外数据服务。 为了更好地演示应用场景,本案例以读取ModbusTCP设备为例,开发好WeiApi接口后,第三方系统可以通过该接口读取到设备
阅读全文

摘要:
-Begin- 前言 使用SQL Server 2019有一段时间了,今天跟大家分享一下SQL 2019的安装及部署过程。 安装 安装包已经提前准备好,公众号后台回复SQL2019或012: 我们选择的是SQL 2019 Express版本,安装过程很简单,直接下载安装包,双击安装即可,类型选择基本
阅读全文

摘要:
引言 本文是一篇综合性比较强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够让我们很好地将所学知识结合起来。 开发平台 采用西门子TIA Portal V16编程软件编写运动控制程序,实现PLC
阅读全文

摘要:
前言 相信大家在安装西门子PLC软件的时候,都遇到过要手动删除注册表的情况。 注册表对于软件开发来说,可以用于存储一些关键信息,这样一般是不会被删除的,所以可以用它来做授权相关,,今天跟大家分享一下关于C#操作注册表的使用。 注册表 系统注册表里包含了大量的系统和软件安装信息,所以如果想要对注册表进
阅读全文

摘要:
-Begin- 上位机开发过程中,当自己编写通信类库的时候,包含ModbusRTU协议、ModbusTCP协议、各种PLC协议或其他自定义协议,都会涉及到报文的拼接;另外,如果大家做过一些配方管理的项目,也会遇到一些将各种数据类型转换成字节数组,然后进行拼接之后,统一发送给控制器的情况。对于这些情况
阅读全文

摘要:
前言 最近一段时间,越来越多的小伙伴开始学习上位机,学上位机必须要配套PLC硬件,如果不想购买,又想学习,只能用软件搭建仿真环境了。但是很不幸的是,由于系统原因或者其他未知原因,经常会遇到各种各样的问题,因此本文主要针对博图V16安装、PLCSIM-Advanced安装及授权进行详细说明。 虽然博图
阅读全文

摘要:
前言 初学者学习编程时,很容易因为多线程出现各种问题,导致不敢使用多线程。但是多线程技术在做开发中,是不可忽视的一个技术,基本上我们实际应用中,每个项目都会使用多线程,所以多线程技术必须掌握。 为什么要用多线程 随着工业的进步,现在的笔记本、台式机大都是双核的,4核、8核甚至16核,也很常见,如果是
阅读全文

摘要:
-Begin- 前言 众所周知,WinCC本身是可以利用C脚本或者VBS脚本来做语音报警,但是这种方式的本质是调用已存在的音频文件,想要实现实时播报报警信息是不行的,灵活性还不够,本文主要介绍基于C#开发语音报警插件,集成到WinCC中,实现更加灵活的语音报警功能。 开发思路 如果想实现C#开发语音
阅读全文

摘要:
-Begin- 前言 当我们进行以太网通信时,需要进行数据抓包时,我们通用会使用Wireshark软件,但是如果我们进行串口通信时,需要进行抓包分析呢? 串口精灵 其实串口也有一个串口监听软件,叫CommMonitor 串口监控精灵,这个软件挺好用的,我也会经常使用这个软件,曾经在做一个单片机的项目
阅读全文

摘要:
-Begin- 前言 很多初学者学习C#时,遇到ref和out关键字,会不太理解其中的原理和使用,一直都稀里糊涂的。对于稀里糊涂的知识,最好的办法就是直面它。那么今天就带大家直面ref与out关键字。 面试题 先给大家出个面试题,代码如下所示: 这道题表达的含义其实就是创建了一个变量a,然后调用了一
阅读全文

摘要:
-Begin- 前言 C#是微软推出的一门面向对象的通用型编程语言,它除了可以开发PC软件、网站(借助 ASP.NET)和APP(基于 Windows Phone),还能作为游戏脚本,编写游戏逻辑。SMTP是一种提供可靠且有效的电子邮件传输的协议,是建立在FTP文件传输服务上的一种邮件服务,主要用于
阅读全文

摘要:-Begin- 前言 前面我们对ModbusRTU协议、ModbusTCP协议、欧姆龙FinsTCP协议、三菱SLMP协议都做了说明:今天我们来分享一下关于西门子S7协议的通信分析。西门子作为一个老牌工控企业,在中国市场拥有很高的市场占有率。如果要说起西门子的通信协议,相信大家多多少少能说出一些,比
阅读全文